Pull to refresh

Development

Show first
Rating limit
Level of difficulty

Tips and methods for conducting user research with children

Level of difficultyEasy
Reading time5 min
Views1.4K

When creating an app or any other software product for children, one of the hardest parts of the process is conducting user research correctly. Although working with kids might seem fun and entertaining, it takes certain skills to get them engaged in testing your product and voicing their opinion so you could gather all the necessary information. It’s important to understand that mentally kids function differently than adults, so working with a young target audience requires a different approach. Treating children like adults in the UX research process can lead to serious mistakes: they might not get a proper understanding of your product and you might end up getting wrong results, only wasting your time and budget. In order to avoid that, we’ve collected a few tips below that might help you communicate with kids more effectively for a productive and fruitful research session.

Read more

One-click Postgres Pro optimization with pgpro_tune

Level of difficultyEasy
Reading time4 min
Views568

Imagine a familiar situation: it’s Monday morning, tasks are piling up, and you need to quickly spin up a new service using Postgres Pro. Or maybe you’ve just upgraded your database server over the weekend — added more CPUs, more RAM.

Here’s how to get your database tuned and ready to make the most of the new hardware and workload, without wasting time.

Read more

Database performance analysis using pg_profile and pgpro_pwr

Level of difficultyEasy
Reading time4 min
Views238

DBAs often struggle to identify the most resource-hungry processes that degrade system performance. Back in 2017, DBA — and now Postgres Professional engineer — Andrey Zubkov faced the same challenge. This led him to develop pg_profile for PostgreSQL, which has since evolved into pgpro_pwr.

In this article, we’ll dive into strategic database monitoring and show you how to pinpoint bottlenecks in your databases using our tools.

Read more

How to Fail Those Students Who Rely on ChatGPT

Reading time3 min
Views2.2K

We at Verilog Meetup constructed an exam/interview problem that has an interesting property: if a student tries to figure out a solution by thinking by himself, he usually succeeds; however if he dumps the problem on ChatGPT, the solution fails (does not pass the automated test), and the student goes into a death spiral of futility, kicking ChatGPT to get the solution right.

There is nothing weird about the problem, we do this in the industry all the time:

Read more

Google ADK: Easiest Way to Build an AI Agent

Level of difficultyEasy
Reading time7 min
Views2.8K

In this tutorial, I’ll explain in simple terms what AI, AI agents, and workflows are, and then I’ll walk you through building your very first AI agent in Python using Google’s Agent Development Kit (ADK). By the end, you’ll understand the differences between these concepts and have a working content-assistant agent you can run from your terminal or a web interface.

Read more

By next year, we'll be talking to databases in natural language

Level of difficultyEasy
Reading time4 min
Views676

According to Gartner, natural language queries will replace SQL as early as 2026. 

While Gartner's prediction may be optimistic, the shift toward natural language interfaces for databases is inevitable. The timeline may vary, but the transition itself is a certainty.

Read more

What is DPI Engine?

Level of difficultyMedium
Reading time25 min
Views1.5K

For people familiar with the term DPI (Deep Packet Inspection), it often carries an unpleasant association: blocking, regulators, censorship, tightening controls. In reality, DPI is simply the name of a technology whose essence lies in the deep analysis of network traffic. Deep traffic analysis involves identifying protocols, extracting the most significant fields and metadata, classifying internet services, and analyzing the nature of network flows. I will explain how such solutions work in this article.

Read more

GeeTest CAPTCHA Bypass: How to Solve a Sophisticated Anti-Bot System

Level of difficultyEasy
Reading time13 min
Views1.7K

One could write, “Experienced developers working on parsing and automation often face the need to bypass modern CAPTCHAs.” But that’s too boring… I’d rather start like this—continuing to explore the amusing world of CAPTCHAs, I finally stumbled upon the Chinese variant of protection: the GeeTest CAPTCHA. Let’s break down what this beast is, where it dwells, and why you should (or shouldn’t) fear it… You’ll understand as we go!

GeeTest is one of the advanced anti-bot systems combining user puzzles with behavioral analysis. I decided to take a close look at recognizing the GeeTest CAPTCHA under real-world conditions and figure out how to bypass GeeTest with various methods. But first—a classic introduction (which, by the way, may be more interesting than the practical part of the article, since bypassing the GeeTest CAPTCHA is already a non-trivial task for many readers).

Read more

Yandex huge privacy issue or not?

Reading time2 min
Views1.8K

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

Top 11 Free AI Image Generators: Best AI Image Tools of 2025

Level of difficultyEasy
Reading time8 min
Views7.3K

Admit it, how many times have you wanted to quickly create an image for a post or presentation, but instead got stuck in an editor or endless searches for a suitable image on Google? Wouldn't it be great if the picture in your head could just appear instantly? Time is money, inspiration is on pause, and that's where AI comes to the rescue. Neural networks can generate anything you want, including the craziest ideas. No need to spend hours searching when, with a few clicks, you can see what was in your thoughts just a second ago.

By the way, notice the cover with the dinosaur? Let's call him Rex. Rex is himself a product of neural network creation. Today he'll be the main star of our experiments. But what will we do? Remember I mentioned crazy ideas? Well, to understand all the possibilities of generation, let's give AI a difficult task. We'll send Rex somewhere in space, for example to the Moon, let him put on a spacesuit and and have him grill some barbecue with Earth in the background. Interested? Then buckle up, we're heading into the world of image generation.

Read more

Firebase Studio Explained: Features and How to Get Started

Level of difficultyEasy
Reading time4 min
Views2.4K

I recently tried using Firebase Studio, and it has been an interesting experience that I want to share with you. It's a free, browser-based tool from Google that allows you to build full-stack web apps with AI assistance. Want to know more? Then read this article until the end.

Read more

Custom structure serialization in Unreal Engine

Level of difficultyMedium
Reading time3 min
Views1.6K

Let’s say you’ve created your own USTRUCT in C++ and now you want to serialize it.

Usually, it’s enough to simply mark the desired fields with SaveGame. But here’s the problem — in order for this to work, the fields themselves must support serialization.
Unfortunately, one of our variables doesn’t.

In my case, it’s a struct called FNonSerializableStruct. Because of that, only the second struct gets serialized, even though we marked both with SaveGame.

Read more

The Armenia Opportunity: EDA, ASIC, FPGA + connections with USA, China and Russia

Reading time9 min
Views1.9K

Armenia is a lucky country. Back in the 1990s somebody lobbied Synopsys, the #1 leader in the Electronic Design Automation market, to create a division there. It was joined by Mentor Graphics / Siemens EDA, another EDA leader, then NVidia. Synopsys Armenia became the largest Synopsys division outside the US Silicon Valley and Boston, although the Taiwanese may tell you otherwise. Since Synopsys and Mentor make software used by chip designers in Apple, Samsung, AMD and all other electronic companies, Armenia has an unfair advantage over all their neighbors in Caucasus and Central Asia.

In addition, Armenia has friendly relations with Russia, and most Armenians speak Russian as well. This has facilitated the move of many Russian companies to Armenia, for example, a RISC-V semiconductor IP provider Syntacore. Finally, as we can see from the recent conference EDA Connect, Armenia is attracting the attention of electronic and EDA companies from China.

EDA Connect featured not only academic and industrial papers but also a hackathon on FPGA design, attended by local students from Yerevan State University, the American University of Armenia, the Russian-Armenian University, the French University in Armenia and others.

Read more

UENUM iteration in Unreal Engine

Level of difficultyEasy
Reading time3 min
Views1.2K

I needed to create a category panel for placeable items in the UI — like the ones you see in city-building games. As a legacy, I inherited a ready-made UENUM, which may be modified in the future.

Naturally, I didn’t want to manually create and tweak every single widget — especially knowing that the list of categories might change later. I wanted something simple and reusable: just run a For each loop, generate everything on the fly, and ideally make it work for any enum, not just this one.

And there was a way! When you define a UENUM, Unreal automatically generates all the metadata and creates a corresponding UEnum object, which is a UObject. All you have to do is use that data properly.

Read more

Building Debian Packages for PHP Extensions

Level of difficultyMedium
Reading time19 min
Views1.3K

Historically, we’ve ended up using a few rather obscure PHP extensions—written and barely (if at all) maintained by their original authors—that aren’t available in standard Debian package sources.

We stick to the principle of “do it right, and it’ll work right,” which means Slackware-style dropping binaries into the system outside of package managers is frowned upon.

So instead, we’ll be building proper .deb packages for PHP extensions—without breaking compatibility with the existing environment.

Let’s go do us some compilin’, shall we?

A Tale of How Not to Turn Your Cisco Router into a Public DNS and NTP Server by Accident

Level of difficultyEasy
Reading time6 min
Views974

The Cisco IOS/IOS-XE operating system is a source of inspiration for many other vendors. The internet is full of guides on how to configure a typical Cisco router for SOHO scenarios. However, unlike consumer-grade routers, configuring something like Cisco IOS requires caution. If you don’t think things through, the router may start "living its own life" and end up, for instance, as a DDoS amplification tool.

Let’s dive in

A Quick Guide to Setting Up SNMPv3

Reading time7 min
Views1K

Setting up a v3 user on the server-side agent for the default Linux snmpd (net-snmp package). Out of scope: SNMP traps and read-write (rw) users.

SNMP version 3 allows packet transmission in encrypted form, making it safe to transfer telemetry over public networks without the risk of exposing either authentication information (analogous to a community string) or the data stream itself, which is encrypted using a symmetric algorithm with a shared key.

Let me figure it out →