RSSAmplifier

Blog

Aba Search and Replace blog

Search tips and tricks, regular expression tutorials, announcements about new versions of Aba Search and Replace.

abareplace.comRSS feed ↗10 posts

Latest posts

The age of fast food

An analogy came to my mind this winter: vibecoding is fast food. You can cook at home (write the code yourself), you can go to a good restaurant (hire a programmer), or you can buy yourself a hamburger (use AI tools). AI works in the short term, but in the long term, it s as unsustainable and unhealthy as eating fast food for every meal. It can quickly generate a lot of code that nobody fully…

Regex for phone numbers

Phone numbers in the US and Canada consist of ten digits: a three-digit area code, a three-digit central office code, and a four-digit line number. These components may be separated by dashes, spaces, or dots; the area code is often written in parentheses: 619-555-0167 (619) 555-0167 619.555.0167 There are some limits on the area code: the area code cannot start with 0 or 1 (these digits are used…

On coding with LLMs

It looks like we are near the peak of the AI mania. The usefulness and the limitations of this technology are clear now. What we see now are attempts to overstretch the idea and apply it where it will never work, much like with blockchain and cryptocurrencies several years ago. The ubiquitous AI startups will fail and we will see a decline in stock indexes, as well as a re-evaluation of AI…

When msvc::musttail attribute silently fails

Python developers recently reported a 15% speedup when using the new MSVC musttail attribute to create a threaded interpreter . Unfortunately, I found that MSVC does not always generate a tail call when you use this attribute, which can potentially lead to stack overflow when interpreting a complex program. Background The musttail attribute, also supported by clang , forces the compiler to…

Mnemonics for hidden controls

As you may know, you can switch between Windows controls using mnemonics. If you see an underlined character in any Windows application, you can press Alt + this character to set focus to this control or to click a button. For example, in this window, you can press: Alt+D to go to the Decoded JSON Web Token field, Alt+C to click the Copy button, or Alt+F to uncheck the Format JSON option. The…

Unix and JavaScript timestamps

Unix time is the number of seconds elapsed since midnight UTC on January 1, 1970. For example, Unix time was 17‍56684800 on September 1, 2025 at midnight UTC. The counter is independent of the time zone, holding the same value at the same moment in different timezones. It is widely used in C and C++ programming languages, databases (MySQL, PostgreSQL, and SQLite), and file systems (ext3, HFS+,…

Replace only the Nth match

Here is another practical task. We need to replace only the second or following match in each file. For example, we want to insert <a name="..."> tags before the second and any subsequent headers in each HTML file. There are multiple headers in each file: And we want to insert a name to be able to refer to each header. The final result should look like this (the added tag is bold): <a…

Aba 2.8 released

The new version goes beyond just search and replace; it allows you to convert text and images to and from Base64, encode and decode HTML entities like < , encode and decode percent-encoding (also known as URL encoding), decode JSON Web Tokens, and convert Unix/JavaScript timestamps to dates and vice versa. Other new features and fixes include: Fixed: a long file name was cut in the combobox (many…

Anonymizing a dataset by replacing names with counters

Sometimes, you need to remove personal data from a dataset, such as when preparing examples or unit tests. With Aba Search and Replace, you can mask names, addresses, and other personally identifiable information by replacing them with counters. Let s use the following CSV file with information about Alice in Wonderland characters as an example: Name,Address,Favorite Color Alice,Near the Rabbit…

Automatically add width and height to img tags

If you set the width and height attributes for your img tags, the browser can allocate the correct amount of space for the image before loading it. This prevents content below the image from shifting around as the page loads. The layout becomes stable, which means that: your users won’t accidentally click a wrong button because of layout shift; the performance is better because the browser doesn’t…