Pull to refresh

All streams

Show first
Period
Level of difficulty

Compilable configuration of a distributed system

Reading time17 min
Views1.5K

In this post we'd like to share an interesting way of dealing with configuration of a distributed system.
The configuration is represented directly in Scala language in a type safe manner. An example implementation is described in details. Various aspects of the proposal are discussed, including influence on the overall development process.


Overall configuration management process


(на русском)

Read more →

Notifications: action required for take profit / stop loss. In case your Broker doesn't support those orders

Reading time4 min
Views1.4K
There is a Russian Broker — Tinkoff Bank. Now here is the problem: the broker doesn't support take profit and stop loss orders. At all. If you want to feel more convenient while trading, then you need some workaround for this situation, until Tinkoff Bank developers finally release those orders as the killer feature. In the article, I will show you my workaround.
update:2019-03-22, the Broker published platform 3.0.0 (a major update) in Google Play. The changelog features take profit/stop loss orders
Read more →

Using Linux Kernel Sequence Files

Reading time6 min
Views5.1K
A characteristic feature of modern programming is the use of the global network as a source of reference information, in particular, a source of patterns for solving unknown or little-known problems for a specific programmer. Such an approach saves a lot of time and often gives quite qualitative results. However, the solutions laid out in the network although usually correct, do not always take into account all the subtleties of solving a problem, which leads to the appearance in the source code of sections that usually work correctly, but under not quite standard circumstances become sources of unpleasant surprises.

Consider the topic of using sequence files in the Linux kernel, such files are considered to be the most convenient mechanism for printing from kernel mode. But in practice, using them correctly is much more difficult than you would think.

A lot of materials on this topic are available online. The best is the source code of the kernel itself which has quite detailed comments. The problem with this source of information is its volume. If you do not know exactly what to look for, it is better if you only have limited time, not to try at all. For me, when I became interested in the topic, Google provided several seemingly excellent sources of information relating to my search: the famous book The Linux Kernel Module Programming Guide and a series of articles by Rob Day. These sources are not new, but very solid.
Read more →

Weak UI, weak programmer

Reading time2 min
Views3.1K

UI facepalm


Why do so many programmers hate UI work? Because it is tedious. Especially, for the Web, but other types of UI are only slightly easier. Layouts, margins, paddings — neverending stream of little tweaks to make it look OK on all sane environments, and somehow this freaking button sometimes overlaps that input field. Rrrr! And yes, it should not hang on button clicks, which means a lot of asynchronous programming, which is a nightmare.


And don’t even speak about aesthetics and usability! Choose right colours, element sizes and locations, find/draw images and put them where they fit, think about user workflows — isn’t it a designers’ or Ux specialists’ job?! Leave me alone, I’m a programmer. I work with backend layers, where everything is straightforward and linear, there are no buttloads of different environments to adjust to, and design is guided by mere logic without pesky fussing with ‘user friendliness’ and ’beauty’!

Read more →

How I Created Perfect Wiki and Reached $250K in Annual Revenue Without Investors

Level of difficultyEasy
Reading time6 min
Views90K

Hi, my name is Ilia. I founded Perfect Wiki — a SaaS product for creating internal company knowledge bases that works directly within Microsoft Teams. We created a simple and convenient tool for storing, editing, and sharing knowledge within companies. It all started with the idea to resolve one specific pain point: the built-in Wiki in Microsoft Teams offered was inconvenient, and there was no worthy alternatives with full integration to the platform.

In this article, I want to share how the idea came about, the mistakes I made, how I found my first customers, and how I gradually grew to a steady income of $250,000 a year over five years. All of this — without investors, a 20-person team, or a “Series A” round.

Read more

Yandex huge privacy issue or not?

Reading time2 min
Views1.9K

Hi to everyone!

I'm new here. Someone told me that Habr is like russian reddit for developers (and maybe not). And I'm here today to share my story and get opinions from you, part of this community.

In August 2024 I visited Moscow, and got Russian starter pack, even if foregneir :-)
Will be useful later because I'm moving here, Русский язык coming soon, извините!

So let's start with getting a new bank account, make a new mobile number and start to register to some essential service platforms like Metro, Gorod, ВВ, Perekrostak and Yandex for delivery and taxis. And in every service I found something strange. A certain "Ivan" (I've changed the name for privacy) is present in all my accounts where I try to register.
That's it! The phone number that my bank gave me was just.... recyled! So I could start to get personal data through all these existing account on this new phone number of mine but the most shocking thing occured today!

Alarm on 9:00, I woke up and I got a message by Yandex:

Read more

What's New in Postgres Pro Enterprise 17: From Proxima to Intelligent Data Management

Level of difficultyEasy
Reading time5 min
Views441

Postgres Pro Enterprise 17 introduces major improvements in performance and scalability. The key feature of this new release is the proxima extension, which combines connection pooling, proxying, and load balancing within the database core. Developers also gain improved tools for managing message queues, optimizing queries, enhancing security, and utilizing smart data storage. Want to know how these and other features can impact your applications and simplify database administration?

This article provides a brief overview of the release, accompanied by the links to more detailed information.

Read more

How to bypass CAPTCHA the smart way: hybrid strategies for success

Level of difficultyEasy
Reading time14 min
Views2.3K

Automation can be an exhilarating, albeit exhausting, journey‑especially for those just dipping their toes into it. The tasks are often labeled as “interesting” or “non‑standard,” which, let”s be honest, often translates to “challenging” or even “impossible.” Among these challenges, one question halts around 50% of novice automators in their tracks: How to bypass CAPTCHA!

Read more

GSN vs Account Abstraction: Blockchain Superheroes in Search of Savings

Level of difficultyMedium
Reading time6 min
Views947

In the world of blockchain, where the word "gas" is most often associated not with gas stations, but with fees for transactions in Ethereum, the search for ways to minimize these costs is becoming increasingly relevant. Less heartache for an empty wallet and more time to solve really important issues... for example, what to cook for lunch =)

Similar to the epic Batman vs Superman battle, compare GSN and Account Abstraction. As in any superhero story, each of them has its own unique abilities and disadvantages, which we will look at in detail.

Read more

Modern X-ray detectors

Level of difficultyMedium
Reading time11 min
Views3.6K

Wilhelm Röntgen discovered X-ray November 8th 1895, when he did experiments with cathode rays in a vacuum tube. To capture and save images of the shadows from the X-rays, he used ordinary photoplates. Fortunately, sensitive to visible light silver based photoemulsions turned out to be sensitive to the X-ray too. These photoplates became the first X-ray detectors.

More than 100 years of scientific progress led to the creation of a number of various detectors for recording X-ray images. Developments of the microelectronics and semiconductor manufacturing technologies are crucial for development of the modern X-ray detectors. These detectors can transform the energy of the X-ray photon directly to the electrical signal. They allow capturing detailed, digital, high-resolution X-ray images.

Digital images are easy to work with. For example one can merge multiple macro images into an image of the whole object and represent monochrome images in false colors like Simon Procz did with this X-ray image of a flower he did in 2012.

Read more

Formal verification of smart contracts in the ConCert framework

Level of difficultyMedium
Reading time11 min
Views1.3K

Hey! My name's Kirill Ziborov and I'm a member of the Distributed System Security team at Positive Technologies. In this article, I'll be continuing the discussion of methods and tools for the formal verification of smart contracts and their practical application to prevent vulnerabilities. The main focus will be on the deductive verification method, or more precisely, the ConCert framework for testing and verifying smart contracts.

Read more

Hashicorp Vault — gcs + gcpckms

Reading time5 min
Views742

Secret Management and Why It’s Important

Hi! My name is Evgeny, and I work as a Lead DevOps at Exante. In this article, I will discuss the practical experience of setting up a high-availability HashiCorp Vault with a GCP storage backend and auto unseal in Kubernetes (K8s).

Our infrastructure used to consist of thousands of virtual and physical machines hosting our legacy services. Configuration files, including plain-text secrets, were distributed across these machines, both manually and with the help of Chef.

We decided to change the company’s strategy for several reasons: to accelerate code delivery processes, ensure continuous delivery, securely store secrets, and speed up the deployment of new applications and environments.

We decided to transition our product to a cloud-native model, which required us to change our approach to development and infrastructure. This involved refactoring our legacy services, adopting a microservices architecture, deploying services in cloud-based Kubernetes (K8s), and utilizing managed resources like Redis and PostgreSQL.

In our situation, everything needed to change—from applications and infrastructure to how we distribute configs and secrets. We chose Google as our cloud provider and HashiCorp Vault for secret storage. We've since made significant progress on this journey.

Why HashiCorp Vault?

There were several reasons:

Read more

Top 10 Google Sheets Features to Enhance Your Productivity

Level of difficultyEasy
Reading time3 min
Views1.5K

It's been a while since my last appearance, but I'm excited to be back and to share something truly special with you. In this article, we'll explore my top 10 Google Sheets features that are guaranteed to boost your productivity, speed up your workflow, and make your data handling more efficient. So, without further ado, let's dive into these game-changing tools!

Read more