<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Eli Lap</title><description>Writing on engineering leadership and AI infrastructure.</description><link>https://elilap.dev/</link><language>en</language><item><title>Riga Cursor Hackathon 2026</title><link>https://elilap.dev/blog/riga-cursor-hackathon-2026/</link><guid isPermaLink="true">https://elilap.dev/blog/riga-cursor-hackathon-2026/</guid><description>An event that happened this weekend was really great. Overall it was chill, friendly and felt like the main goal of the hosts was to provide a platform.

Rules? Yes, bare minimum. Guidelines and flexibility were dominating. And it reduced the atmosphere of competition. And guys were gathered around their project and ideas. Building.

And the finale reminded me hard truth: I can do anything, but not everything. In 24 hours we have built a local-first working real-time speech assistant that listen</description><pubDate>Sun, 10 May 2026 19:43:31 GMT</pubDate></item><item><title>Why you should not „hire AI”</title><link>https://elilap.dev/blog/why-you-should-not-hire-ai/</link><guid isPermaLink="true">https://elilap.dev/blog/why-you-should-not-hire-ai/</guid><description>With AI emerging in a few years it became a hot topic. Lots of new terms that has appeared proves we are facing something new. Language is a perfect mirror, that reflects the reality. New terms means reality requires new abstractions to deal with it.

While „vibe coding”, „agentic coding” and other definitions that indicates software development (coding) happens with AI - it does not reflect the entire shift. And it is not yet happening, rather it’s something that stops us.


Why we can’t hire A</description><pubDate>Thu, 30 Apr 2026 14:17:53 GMT</pubDate></item><item><title>Why we got obsessed with building for AI</title><link>https://elilap.dev/blog/why-we-got-obsessed-with-building-for-ai/</link><guid isPermaLink="true">https://elilap.dev/blog/why-we-got-obsessed-with-building-for-ai/</guid><description>Back in times people tried to build a tower to reach the sky. When God learned about it - he disrupted people’s plan making everyone speaking their own language. This way people could not understand each other anymore.

This story is known as the story of Tower of Babel. And I have mentioned it earlier in my blog. I have more to say and present a different perspective on this metaphor.


The AI revolution

I’ve seen many bold promises, like “the most popular programing language will be English”.</description><pubDate>Tue, 28 Apr 2026 19:01:16 GMT</pubDate></item><item><title>AI driven dev: effortless engineering or delusional degradation?</title><link>https://elilap.dev/blog/ai-driven-dev-effortless-engineering-or-delusional-degradation/</link><guid isPermaLink="true">https://elilap.dev/blog/ai-driven-dev-effortless-engineering-or-delusional-degradation/</guid><description>It’s hard to see we are trading complex thinking for potential miracles of effortless engineering.


The dying culture

It’s hard to see we are trading complex thinking for potential miracles of effortless engineering.

Modern AI hype reminds me games and movies, where humanity has lost access to all the knowledge and technologies. And instead of prosperity - it has fallen back into undeveloped tribes. A limited access to ancestor technologies is the last reminder of advanced engineering.


The </description><pubDate>Wed, 01 Apr 2026 09:54:40 GMT</pubDate></item><item><title>The cost of &quot;perfect&quot; stack obsession</title><link>https://elilap.dev/blog/the-cost-of-perfect-stack-obsession/</link><guid isPermaLink="true">https://elilap.dev/blog/the-cost-of-perfect-stack-obsession/</guid><description>Technical battles are favorite approach how to talk about technologies for many software engineers, who are often “geeks”. It may happen on any level: hardware, operating systems, window managers, distributions, IDEs and text editors and of course - software technical stack. There is nothing wrong to discuss, disagree and prove your own point. The problem starts when rationality is replaced with beliefs.

The perfect stack does not exist. Each and every decision is a trade-off: solving one probl</description><pubDate>Mon, 15 Dec 2025 21:55:10 GMT</pubDate></item><item><title>How to choose the right tech when building solo</title><link>https://elilap.dev/blog/how-to-choose-the-right-tech-when-building-solo/</link><guid isPermaLink="true">https://elilap.dev/blog/how-to-choose-the-right-tech-when-building-solo/</guid><description>Building solo gives us complete freedom. Including freedom of choosing technologies. How to make best decision and choosing wisely - avoiding mistakes, keep the journey interesting and still deliver? In this article I will share my point of view on the technological aspects of solo building and share my perspective of making a choice.

I will start with common advices, the ones you have most probably heard already. First of all: trendy, bleeding edge and hyped technologies are not meant for solo</description><pubDate>Fri, 05 Dec 2025 17:25:31 GMT</pubDate></item><item><title>Which skills I had to develop to become a great software engineer</title><link>https://elilap.dev/blog/which-skills-i-had-to-develop-to-become-a-great-software-engineer/</link><guid isPermaLink="true">https://elilap.dev/blog/which-skills-i-had-to-develop-to-become-a-great-software-engineer/</guid><description>“Trust me, I’m an engineer!” - this was used to be my favorite joke years ago. When I was following my gut feeling and people around me were in doubt. Later I started to notice people are doubting less. Maybe not really, but I was caring much less. This was directly related to my professional growth and complexity of the problems I was confidently solving.

Analyzing detail, noting weak points and identifying missing information became my daily drivers. Everything requires structure, everything </description><pubDate>Wed, 03 Dec 2025 15:27:45 GMT</pubDate></item><item><title>How AI makes engineers more human-friendly</title><link>https://elilap.dev/blog/how-ai-makes-engineers-more-human-friendly/</link><guid isPermaLink="true">https://elilap.dev/blog/how-ai-makes-engineers-more-human-friendly/</guid><description>Wandering around social medias I found myself in the buble of engineers, vibe-coders and many others who’s been sharing their positive experience with the latest AI models. I joined that voice, because upgrade to Claude Max last weak made me done so many great things within a week.

Despite I got sick I can’t resist and use agents to do the coding part. With Claude Max plan I’m using Claude Code with Opus 4.5 and it works great. And now, when it can write quite a good code, only sometimes making</description><pubDate>Mon, 01 Dec 2025 21:13:35 GMT</pubDate></item><item><title>Why builders fail from context switching</title><link>https://elilap.dev/blog/why-builders-fail-from-context-switching/</link><guid isPermaLink="true">https://elilap.dev/blog/why-builders-fail-from-context-switching/</guid><description>Early in my carrier I was trying to do as much as possible in a shorter period of time. It is a common pitfall for engineers and non-engineers. But the more complex is the mechanism and tools we need to work with the bigger is the impact of negative context switching. At the end of the day it’s exhaustion, not productivity.

Human brain is single-threaded. We can’t process multiple ideas in our conscious mind at the same time. Moreover it is not enough to process just the idea. We must “load” in</description><pubDate>Sat, 29 Nov 2025 08:31:09 GMT</pubDate></item><item><title>Ghost 6.0 - migrate, again [updated]</title><link>https://elilap.dev/blog/ghost-6-0-i-hope-it/</link><guid isPermaLink="true">https://elilap.dev/blog/ghost-6-0-i-hope-it/</guid><description>Recent server migration might turn out to be a perfectly timed moved, as now with containerized environment it shall be super easy for me to upgrade</description><pubDate>Tue, 26 Aug 2025 15:00:44 GMT</pubDate></item><item><title>The Market Doesn’t Want Juniors Anymore</title><link>https://elilap.dev/blog/market-doesnt-want-juniors-anymore/</link><guid isPermaLink="true">https://elilap.dev/blog/market-doesnt-want-juniors-anymore/</guid><description>Juniors seems to be a bad fit for modern software development market. How can we ensure young talents have enough chances to join IT space and grow?</description><pubDate>Mon, 05 May 2025 09:40:37 GMT</pubDate></item><item><title>Software is a mix of art, engineering and dreams</title><link>https://elilap.dev/blog/software-is-a-mix-of-art-engineering-and-dreams/</link><guid isPermaLink="true">https://elilap.dev/blog/software-is-a-mix-of-art-engineering-and-dreams/</guid><description>When you can afford to publish anything on your company&apos;s website you play a slightly creengy uniqueness card. This is what I did. This article is meant to remind me how it all began.</description><pubDate>Mon, 10 Feb 2025 16:51:20 GMT</pubDate></item><item><title>Adding a blog to my homepage</title><link>https://elilap.dev/blog/adding-a-blog-to-my-homepage/</link><guid isPermaLink="true">https://elilap.dev/blog/adding-a-blog-to-my-homepage/</guid><description>A recap of how I started a Ghost platform and how well I integrated it with my homepage.</description><pubDate>Mon, 30 Dec 2024 22:46:49 GMT</pubDate></item><item><title>Ordering abstract JSON in Go</title><link>https://elilap.dev/blog/ordering-abstract-json-in-go/</link><guid isPermaLink="true">https://elilap.dev/blog/ordering-abstract-json-in-go/</guid><description>In this article I am sharing the way I extended OrderedMap lib to handle arbitrary JSON to preserve the original structure and order.</description><pubDate>Tue, 10 Dec 2024 10:50:35 GMT</pubDate></item><item><title>How I: Analytics and Monitoring for Indie Developer</title><link>https://elilap.dev/blog/how-i-analytics-and-monitoring-for-indie-developer/</link><guid isPermaLink="true">https://elilap.dev/blog/how-i-analytics-and-monitoring-for-indie-developer/</guid><description>Starting a solo journey requires adjustment of the tooling to the current needs. High availability and the degree of how “cool” software is does not matter anymore. Today I am sharing my way to get aware of what&apos;s going on with the traffic and uptime at (almost) no costs!</description><pubDate>Mon, 25 Nov 2024 14:00:00 GMT</pubDate></item><item><title>The Job in IT Problem</title><link>https://elilap.dev/blog/the-job-in-it-problem/</link><guid isPermaLink="true">https://elilap.dev/blog/the-job-in-it-problem/</guid><description>While attending local DevClub focused on hiring I could not miss a chance to reflect on the problems we are facing. Because I&apos;ve been wearing many hats before I introduced a co-dependant perspective of the existing market (2024).</description><pubDate>Fri, 08 Nov 2024 10:44:00 GMT</pubDate></item><item><title>How (and why?) to order maps in Go.</title><link>https://elilap.dev/blog/how-and-why-to-order-maps-in-go/</link><guid isPermaLink="true">https://elilap.dev/blog/how-and-why-to-order-maps-in-go/</guid><description>I&apos;ve build go-omap and it&apos;s tiny library, that provides convenient wrapper around go maps and slices to provide  a more convenient API for managing items that needs fast access, but also must be ordered at the same time.</description><pubDate>Fri, 18 Oct 2024 10:26:31 GMT</pubDate></item><item><title>What&apos;s &quot;unique&quot; in Go std</title><link>https://elilap.dev/blog/whats-unique-in-go-std/</link><guid isPermaLink="true">https://elilap.dev/blog/whats-unique-in-go-std/</guid><description>Go v1.23 has been released just yet. With iterators being the most discussed feature there are couple more changes. Today I made a tiny experiments with the freshly baked unique library, that is now a part of std.




What problem is it addressing?

It is simple and short: comparison. The unique is working with comparable interface and it is here to improve the way we compare what&apos;s comparable. In reality it might be easy to compare ints, floats and strings and do not even consider any improveme</description><pubDate>Thu, 29 Aug 2024 08:40:50 GMT</pubDate></item><item><title>How I improved my application configurations</title><link>https://elilap.dev/blog/how-to-organize-your-applications-configuration/</link><guid isPermaLink="true">https://elilap.dev/blog/how-to-organize-your-applications-configuration/</guid><description>How I thought I found a silver bullet for application configs, but it turned out I overcomplicated things again for my tiny application.



By the way there is a Youtube video I made recently where I show all the details of my Pkl experiments and it is based on the same notes this article was written.




Years ago, when I started working as software developer I had no major choice of how to configure my application. I was using PHP and Javascript and mostly frameworks or platforms, like Symfony</description><pubDate>Thu, 30 May 2024 08:23:29 GMT</pubDate></item><item><title>How to structure Go repository</title><link>https://elilap.dev/blog/go-folder-structure/</link><guid isPermaLink="true">https://elilap.dev/blog/go-folder-structure/</guid><description>The condensed introduction with real-life examples so you could organize your Go repository the easy way.



While browsing different groups and communities around the Internet I often spot a question about structuring the repository of application written in Go. I remember how confusing it was back those days when I’ve been switching from PHP and JS development, writing Go code. Mostly because working with PHP and JS I used to use boilerplates, templates or framework init scripts to set things </description><pubDate>Mon, 27 May 2024 13:11:05 GMT</pubDate></item></channel></rss>