wordpress_plugin_levantine_month_names

تواريخ بلاد الشام ومواقع ووردبريس العربية

نستخدم في سوريا وفي بلاد الشام عموماً أسماءً لِشهور السنة الشمسية، وبالتحديد لشهور التقويم الغريغوري، مختلفة عن تلك المعتمدة في ما يسمى باللغة العربية المعيارية الحديثة والمنقولة عن اللغة اللاتينية مثل يناير، فبراير، مارس، أبريل. وبقصد إحاطة القارئ غير الملِمِّ بأسماء الشهور هذه، أنقل عن الأَزهري الذي عاش في العهد العباسي قوله: “العرب تقول: السنة […]

pytest-minio-mock

Introducing pytest-minio-mock

As head of engineering professionally and as a contributor to Open Source projects, I am involved in several WebApp projects, where I put a large emphasis on code quality, smooth CI/CD pipelines as part of my dedication to DevOps principles. Some of the projects involves interactions with S3 storage via the Minio package for python. […]

Secure PDF Redactions: a Script Based Approach using ImageMagick

In today’s digital landscape, PDF documents have become a ubiquitous medium for sharing information, ranging from professionally generated reports to scanned copies of vital documents. There are numerous scenarios, be it for privacy concerns, security protocols, or compliance with legal requirements, where redacting certain pieces of information from these PDFs becomes necessary. A common method […]

Setting up SAML for Odoo with Google Workspace

Many companies and organisation uses Google Workspace as the provider of their productivity and collaboration apps. The Gmail webmail service, Google drive, Google Documents, Google Meet, The calendar and many other apps are simple great tools for small and medium-sized organisations. Odoo is an open-source suite of business applications that assists companies in managing various […]

docker-compose-certbot

A Docker-first solution to running NGINX reverse proxy with automatically updated Let’s Encrypt SSL certificates using nginx-proxy and acme-companion

In a previous blog post, I presented a solution to use docker-compose to obtain and renew a Let’s Encrypt SSL certificate and configure NGINX to use it. The solution depended on using two docker-compose files, one for the initialisation and the second for operation, as well as a cron job, and a couple of very […]

Migrating a self-hosted manual deployment of Rocket.Chat to a deployment based on docker-compose without losing data

Docker and docker-compose provides an amazing way to quickly setup complicated applications that depends on several separate components running as services on a network. This is evident in the amount of time and effort docker-compose spare when deploying a certain web-app like Rocket.Chat, the open-source business communication platform that provides many features such as persistent […]

Using docker-compose to quickly deploy Rocket.Chat

Rocket.Chat is an open-source business communication platform that provides many features such as persistent chat rooms (channels) organised by topic, private groups, and direct messaging. The platform can be self-hosted. In this blog post I will detail the steps I used to quickly and reliably deploy Rocket.Chat platform on a Linux machine running Docker. Rocket.Chat […]