Category: Blog

Another round of applause: we store Unicode strings 30-60% more compactly than UTF-8

If you are a developer faced with the task of choosing an encoding, Unicode will almost always be the right choice. The specific representation method depends on the context, but most often, there is a universal answer — UTF-8. It's good because it allows the use of all Unicode characters without consuming too many bytes in most cases. However, for languages that do not […]

Running the Linux Command Line on iOS

Did you know that you can run a Linux command line on an iOS device? You might ask, "Why would I want to use text applications on my iPhone?" A fair question. But if you are reading Opensource.com, you probably know the answer: Linux users want to be able to work with it on any device and prefer to use their own settings. But more than anything, they […]

Perl 5.32.2

This version is the result of four weeks of development since the release of 5.33.1. Changes were made by 19 authors in 260 files, totaling approximately 11,000 lines of code. However, only one key innovation is noted in perldelta: the interpreter can be built with the experimental flag -Dusedefaultstrict, which includes the corresponding pragma by default. This setting does not apply to one-liners. […]

Localization Testing: Why is it Necessary for an Application or Website?

Imagine this scenario: you developed an application and then released it in multiple languages simultaneously. But after the release, you discovered errors in different language versions: a developer's worst nightmare. That's exactly why localization testing exists, to avoid such unpleasant situations. Today, the USA is no longer the largest player in the mobile app market. China […]

Why it is important to check the software on your high availability storage system (99.9999%)

Which firmware version is the most "correct" and "functional"? If the storage system guarantees 99.9999% availability, does it mean it will operate continuously even without software updates? Or conversely, to achieve maximum fault tolerance, should you always install the latest firmware? We'll attempt to answer these questions based on our experience. A brief introduction We all understand that in every […]

Release of the Nextcloud Hub 20 collaboration platform

The release of Nextcloud Hub 20 is now available, providing a comprehensive solution for organizing collaboration among enterprise employees and teams working on various projects. At the same time, the underlying cloud platform Nextcloud 20 has been released, enabling the deployment of a cloud storage service with synchronization and data sharing support, allowing viewing and editing of data from any device from anywhere on the network (with […]

Is it possible to generate random numbers if we do not trust each other? Part 2

Hello, Habr! In the first part of the article, we discussed why it may be necessary to generate random numbers for participants who do not trust each other, the requirements for such random number generators, and examined two approaches to their implementation. In this part of the article, we will take a closer look at another approach that uses threshold signatures. A bit of cryptography To […]

PostgreSQL Antipatterns: "Infinity is not the limit!" or A bit about recursion

Recursion is a very powerful and convenient mechanism when the same actions are performed 'deeper' on related data. However, uncontrolled recursion is evil that can lead either to an infinite execution of the process or (which happens more often) to the 'consumption' of all available memory. Databases operate on the same principles — 'you told me to dig, so I dig'. […]

Google will disclose information about vulnerabilities in third-party Android devices

Google has introduced the Android Partner Vulnerability initiative, which aims to disclose information about vulnerabilities in Android devices from various OEM manufacturers. This initiative will make it more transparent to users about vulnerabilities specific to firmware modified by third-party developers. Until now, official vulnerability reports (Android Security Bulletins) only reflected issues in the main code provided by [...]

Release of virt-manager 3.0.0, an interface for managing virtual environments

Red Hat has released a new version of the graphical interface for managing virtual environments — Virt-Manager 3.0.0. The Virt-Manager shell is written in Python/PyGTK, is a wrapper around libvirt, and supports management of systems such as Xen, KVM, LXC, and QEMU. The project code is distributed under the GPLv2 license. The program provides tools for visualizing performance statistics and resource consumption of virtual machines, [...]

Release of Stratis 2.2, a toolkit for managing local storage

The release of the Stratis 2.2 project, developed by Red Hat and the Fedora community to unify and simplify the setup and management tools for a pool of one or more local storage devices, has been published. Stratis offers features such as dynamic storage space allocation, snapshots, integrity assurance, and layer creation for caching. The project code is written in Rust and is distributed under the [...]

History of Dodo IS architecture: early monolith

Or every unfortunate company with a monolith is unhappy in its own way. The development of the Dodo IS system began as soon as the Dodo Pizza business started — in 2011. The foundation was the idea of complete and total digitization of business processes, done in-house, which even back in 2011 raised many questions and skepticism. But now, after 9 years, we continue on […]

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster