After experiencing an international peering issue that affected some websites for a few hours, we deployed a new experimental service for web hosting named AlwaysUp. This free and optional service can be activated by the customers to ensure their websites will always be accessible. It’s particularly useful for websites that require high read-only availability, such as blogs, magazines, and newspapers. These sites may not be ready to invest in an expensive infrastructure/architecture or in an full-cache CDN, but they can tolerate not being able to edit their content in the event of a failure.


When the service is up, the requests are handled with RR DNS to either the master or the failover, which are geographically distant from each other. The failover proxies the requests to the master and caches them if they don’t include cookies. In case of a failure in reaching the service, the DNS will direct the requests to the failover, which has already cached most of the active pages.

شاركنا قبل أسبوعين في برمجان التطبيقات القرآنية، كوننا نعمل على مشاريع في هذا المجال، وهو تحدٍ استمر لنحو يومين وكان يجب فيها العمل على فكرة محددة تخدم مساقات معينة هي التلعيب والذكاء الاصطناعي وإنترنت الأشياء والواقع الممتد. وينبغي تطوير نموذج تجريبي لها.

Continue reading

King Fahd’s Complex (KFGQPC) has made significant contributions to Quranic fonts. One such example is Warsh’s font, which adheres to the traditional Maghrebi style. This style incorporates:
– Maghrebi calligraphy (الخط) and dotting systems (الإعجام)
– As well as Warsh’s orthography, and diacritics (الضبط).


https://qurancomplex.gov.sa/en/warsh/

 

Continue reading

One of our clients uses a SPIP website and began to lose pages from Google’s index. The Google Search Console reported 500 errors on many of the pages, but the pages were visible to users. When investigating the logs or simulating a Googlebot browser-agent, I found that SPIP was sending HTTP error 429 (too many requests) to Googlebot and other search engine crawlers. This was because SPIP uses the server load average function to determine if it should allow bots’ crawling, however shared hosting providers have usually ultra performant CPUs with a high load value.

Continue reading

You can use hooks in SolusVM 2 to automatically run custom scripts before or after specific events take place. Hooks should be set under this directory: /usr/local/solus/hooks/, they can be written using Bash, PHP, Python or else.

 
Basically what it does is whenever there is an event it sends in stdin a json snap with the event and the action (e.g.: new installation, os reinstall, restart, etc) to all files under the hooks’ folder.
 
Example of JSON code:
{  "action": "server-restart",  "stage": "pre",  "data": {    "uuid": "915b5ca2-ff02-45ab-ba73-2e90793e6819",    "virtualization_type": "vz"  }}

Continue reading