Exploring TestMySearch.com’s Virtual Shopper System | August 15 2025, 04:27

As part of the TestMySearch.com project, I am creating a “virtual shopper” system that simulates the behavior of a real user in an online store: it starts with an abstract goal (for example, “something bright and sexy for the gym”), turns it into a specific search query, performs the search on the site, and depending on the results, may either continue browsing or, with a certain probability, reformulate the query if the findings do not match the original goal; the system then evaluates the pages for their alignment with the initial idea, opens product cards, randomly changes parameters such as color or size, makes decisions about adding to the cart and placing an order, and may also leave the site, which allows generating many sessions similar to real ones overnight for testing search, filters, and recommendations even before live users arrive.

The system is fully automatic. That is, the browser in the video opens by itself, the search field appears by itself (i.e., independent of the site), the system itself concocts the text based on that very initial goal, then the facets and search results are displayed, which may also be in a form unpredictable to the system — but it still understands what is what, and makes decisions about whether to rephrase the query, select a facet or click on a search result. There is a certain probability that the virtual user will leave the site. If the query is reformulated, for example, this virtual user does not repeat queries that have already led to empty or irrelevant results, so within the session there is “memory”.

Navigating Code Generation with AI: Essential Skills for Programmers | August 04 2025, 14:28

I am currently using Gemini extensively for code generation, and I see a skill that programmers need to have to be successful in this field. It’s the ability to quickly read and understand someone else’s code, as well as explain why AI generation needs to be redone and how. For the former, you simply need to know the language very well and read “from the sheet,” because there will be little time to ponder. For the latter, you need to know patterns well and understand where they apply and where they do not. AI will still mess up using patterns inappropriately for a long time.

Moreover, a person will still need to understand “as a whole” 90% of the code generated by AI, and also manage to find time to comprehend each generated line of code. If you relax and miss it, the system may produce even working, but very poorly maintainable code. For instance, there is an unwritten rule that individual files should not contain so much code, and if it grows, you need to refactor, breaking one large into two or three. Sometimes this requires rewriting logic, but this rewriting is always aimed at one task – to simplify maintenance. And AI, while rewriting, also “improves” the code at the same time. And this is quite difficult to prohibit.

In addition, the very concept of LLM implies the limitation of the contextual window. Which gets filled with code very quickly. To create an illusion for the user that everything is working even with a large volume of code, LLMs are able to do preliminary processing, extracting only relevant pieces for processing and setting aside irrelevant ones, so that the relevant ones fit into the actual contextual window. But this process is very unreliable, and once it works, and the second time it turns out that something important was set aside, and as a result, the system did not see the whole picture and generated code, which includes a function very similar to the function set aside, and now we have two almost identical ones.

Besides, currently logic is distributed between the DB and the code. That is, data often controls the code. And data in LLMs simply often do not fit. There is too much of it. In the end, without programmers, current LLM architectures cannot cope. But the requirements for programmers’ qualifications will only increase with LLMs, not decrease. So yes, juniors should be worried, but leads not so much 🙂

DIY Wireless Reaction Game: Building Interactive Button-Based Activities | July 28 2025, 22:26

Who knows their way around electronics? Any recommendations?

I want to make a thing some weekend. A big bulbous button. It lights up – you smash it. The app records the time from when it lights up to when it’s smashed. There might be several buttons and they could be scattered – on walls or the floor. WIRELESS. They might light up randomly – this is controlled by the app (phone or computer). Metrics like average reaction time are calculated on the fly for different understandings of the word ‘average’. For instance, you could place buttons on the ground a few meters apart and invent a moving game for the kids. Or attach them to a wall and smash them with a ball. Basically, it’s a technical question.

How would you do it – dumb buttons on an nRF24L01+ chip or smart buttons on an esp32 microcontroller?

In the first case, every such module listens to the radio: as soon as a command with its ID arrives from the central node, it turns on the light. After the button is pressed, it sends back a “pressed” message. The timer is on the side of the central node. Each button has an Arduino Pro Mini + nRF24L01+, but there will also be a central hub with either nRF24L01+ and Arduino Uno, Mega or ESP32, which collects the data and is connected to the computer (Bluetooth or WiFi).

In the second case, the buttons are connected via Bluetooth (BLE) or WiFi. The brains of the button is the ESP32, which needs to be programmed through a programmer.

Cost-wise, both approaches are roughly the same minus the cost of arcade buttons and 3D printing, somewhere around $10-15 per button.

Exploring the Technological Marvels of Tesla’s Full Self-Driving Capabilities | July 11 2025, 03:59

I read various engineering blogs about Tesla’s autopilot (FSD) — simply because for the last month and a half I’ve been almost constantly riding as if in a taxi — you set the destination and hardly ever need to intervene, the car travels from point A to point B completely independently. This is certainly the future.

Such systems exist not only at Tesla. For example, Mercedes has one (Drive Pilot). Others only help in traffic jams at best. Though Tesla seems to be the only one that works on all roads.

So, returning to engineering curiosities. Tesla has an AI model production on its “farm” called Dojo — an exaFLOP supercomputer on Tesla chips. Videos from cameras are fed into it, and it trains models that are then sent out for autonomous operation across the entire fleet of Tesla cars.

The FSD architecture comprises about 48 specialized neural networks, trained on Dojo, which together form about 1,000 different prediction tensors. Tesla is gradually moving from modular networks (object recognition + planning) to end-to-end training — directly converting video frames into steering trajectory/action. This is akin to a “black box” — the neural network learns directly from human behavior, without manual tuning of knobs; an extremely cool engineering solution, but, I suspect, complex to debug.

By the way, it is claimed that Tesla has switched from C++ to Python. And that this shift to end-to-end training has made 300,000 lines of C++ code unnecessary, where various corner cases and rules for resolving different scenarios were accounted for — now it’s at the model level.

Tesla has abandoned radar and ultrasonics, switching to purely camera solutions (Vision Only) with “Hardware 4” (HW4, FSD Computer 2): 16 GB RAM, 256 GB flash memory, performance 3–8× higher than HW3.

Assess the performance: 22 milliseconds to create a 3D scene with cars, pedestrians, cyclists around — information is collected from 8 cameras 36 times per second.

85 ms for the entire cycle from receiving the image to changing the plan and commands to the wheels. Fantastic!

More than 4 million Teslas on the roads collect data daily, and in the FSD Beta version, more than a billion miles of autonomous driving have been recorded. This “live” dataset is used to train networks on the most real-world scenarios, including rare “edge-case” incidents (strange accidents, road conditions, etc.).

In June 2025, Tesla for the first time delivered a Model Y from the factory in Austin to a customer’s home without a driver or remote operator — fully autonomously. This is very cool.

The Vision network not only analyzes the current frame but also stores features from previous ones (at a distance of ≈1 m). This allows it to remember recently crossed markings/signs, even if they have already left the field of view – very similar to human memory.

Advancing Full-Text Search: Testing and Refining with Multi-User Platforms | July 06 2025, 04:35

I have developed expertise in full-text search testing. Essentially, it’s a turnkey multi-user platform that, given roughly 1000 queries and several search engine configurations, can produce reports with graphs, metrics, and conclusions by morning, showing why configuration A performs better than B, and here’s why. It calculates all those NDCG@k, MAP, precision, recall, and about a dozen other metrics. It uses LLM, but only at the final stage, after all the math is done.

So, here’s my question. I’m looking for someone who has faced the same issue in their project, to understand the demand and the ask.

The problem the system solves is defined as follows: there is a functional search for goods, documents – Solr, Coveo, Elasticsearch, Algolia – it doesn’t matter, and there are hypotheses on how to improve it, but there is also the fear that improving one aspect might break another. Well, my thing helps to see this in numbers and graphs, providing a conclusion with justification, including statistical significance and other metrics.

It also acts as a virtual search assessor. For each search result, it can give a rating, assessing how well each document matches the query. This is a very non-trivial task (especially for large documents), involving chunking, embeddings, LLM evaluation of relevant chunks, etc. Non-trivial, but it works.

It also can analyze search queries and break them into groups based on similarity. For instance, such segmentation might show that users sometimes separate the words forming a brand name with a space, and sometimes not. These different variants would be grouped together.

I would like to discuss this with someone who knows more about this topic than I do, someone who has/had such problems and has somehow solved them.

I currently feel like my product is unique in the market. Actually, it’s not even on the market yet. But I really don’t see anything similar out there. Maybe nobody needs it?

I won’t publically post screenshots yet. The picture is merely for attracting attention.

Please share if there might be relevant people in your network.