There has been some noise in the mass media about the 996.ICU (official website) recently. That’s good, but I think we can do better. So, spread the word!

Here are a few bits to get you started:

The name 996.ICU refers to “Work by ‘996’, sick in ICU”, an ironic saying among Chinese developers, which means that by following the “996” work schedule, you are risking yourself getting into the ICU (Intensive Care Unit).

What is 996?
A “996” work schedule refers to an unofficial work schedule (9 a.m.–9 p.m., 6 days per week) that has been gaining popularity. Serving a company that encourages the “996” work schedule usually means working for at least 60 hours per week. Visit 996 working hour system on Wikipedia for more details.

GitHub and Microsoft works support the 996.ICU initiative, as well as many other companies and teams.

BitBucket: 10 million users

BitBucket is celebrating an important milestone – 10 million registered users. With 28 million repositories and 3.5 million build minutes every week, BitBucket is a vital tool for many teams.

I am (and have been) a member of several teams and projects, which heavily rely on BitBucket (and BitBucket pipelines) for their day-to-day operation.

Happy 10 million milestone, BitBucket! Keep it the great work!

Zabbix in the Munich subway

Zabbix blog shares a very inspiring post “Zabbix in the subway. Munich Transport Corporation Case Study“, which shows how Zabbix is used for the monitoring of the trains and trams in Munich. Here are some implementation details to get you started:

Currently, there are 3796 devices monitored by the Zabbix server, which in turn houses the MySQL database and the web front-end. This server is operated virtually with 8 CPU’s and 32GB RAM supported by SAS storage system. 105818 items are queried by the Zabbix server from those devices, where 23820 triggers detect whether certain items deviate from their target state. This results in 298.48 NVPS with an average of approx. 7 people (actively) using the system concurrently. General overview:
* Each device inside a tram/subway is treated as a host and is monitored for availability.
* Each tram/subway is managed as a host group.
* Host groups are nested and organized by the tram/subway lines (using the host group nesting feature introduced in Zabbix 3.2).
* All devices depend on the connectivity of the MRCU (Mobile Radio Control Unit in subways) or LTE router (LTE G4 Connectivity in trams)
* Maps are automatically created for each tram/subway (using the Zabbix API).
* Maps use sub-maps to link to a specific tram/subway view.

There’s also a video from the Zabbix conference, presenting the case study.

Earthquakes of the 20th Century

National Oceanic and Atmospheric Administration (NOAA) has this excellent visualization of the earthquakes recorded between January 1, 1901 and Decemeber 31, 2000. Each earthquake is shown as a circle, where the size indicates the strength and the color indicates the depth. Interesting, how most of these make up lines, showing the tectonic plate borders.

StackOverflow: Developer Survey Results 2019

This year’s results for StackOverflow Developer Survey are in. This is probably the largest survey of IT professionals, with nearly 90,000 participating this year.

As always, there are plenty of insightful findings and correlations in the results. But one that I was somewhat glad to see was the attitude towards Blockchain technology.

While the mainstream media continues to confuse Blockchain with cryptocurrencies, technical people do understand the difference. And the majority (29.2% + 26.2% = 55.4%) of the survey respondents think it is useful for a variety of things outside of the cryptocurrency.

And with all the hype around cryptocurrencies and Blockchain, the majority of the organizations are not working with the technology just yet. Furthermore, of those that do work with Blockchain, the majority is NOT using it for the cryptocurrency.

That is pretty close to my mental picture of what’s going on.

How to disable IPv6 on CentOS / RHEL 7

Sometimes I miss the good old days …

Recently, I had an issue with one of the servers, where a bunch of services were attaching to IPv6 ports instead of the IPv4 ones. Rather than editing the configuration of each of these services, I wanted to simply disabled IPv6 on the machine.

In the old good days, things like these were easily done via the sysctl. I surely tried that option too, but it wasn’t enough. Turns out, the proper way these days is to do this via Grub, as per this blog post:

  1. Vim /etc/default/grub file
  2. Change: GRUB_CMDLINE_LINUX=”ipv6.disable=1 crashkernel=auto rhgb quiet”
  3. Regenerate and overwrite Grub config with: grub2-mkconfig -o /boot/grub2/grub.cfg
  4. Reboot.

That sounds a bit too excessive. But then again a reboot is also required for the proper disabling of SELinux, so I guess its’ fine.

Chrome Extensions: PHP Console and JavaScript Errors Notifier

Here are a couple of handy Google Chrome extensions that I came across the other day.

PHP Console

PHP Console can display PHP errors and var dumps in the Google Chrome Developer Console and notification popups. It can also execute PHP code remotely, with the help of this server side library.

JavaScript Errors Notifier

JavaScript Errors Notifier lets you know of any JavaScript errors either with an icon highlight, or with a popup window. This makes things a lot easier to notice.

You Don’t Need jQuery

You Don’t Need jQuery is a GitHub repository with a collection of code snippets that show how to do the most common jQuery bits in native JavaScript. The collection covers a whole range of subjects, like:

  • Query selector
  • CSS and style
  • DOM manipulation
  • AJAX
  • Events
  • Promises
  • Animations
  • … and more.

All examples should work just fine in all modern browsers.

Additionally, have a look at the You Might Not Need jQuery website.