Hi, friends. This is my writing experiment. I want to write five times a week, every workday. It doesn’t have to be good or interesting. It just has to be. Here we go.
I feel it's time to make some changes with my writing experiment and to move forward in a slightly different direction. It's been an interesting experiment to just write whatever comes to mind every day, but I feel I'd like try and making my writing:
To be more useful to someone, and have a bit more impact.
I'd like to write less frequently, but go a little bit deeper into the topics I'm writing about.
I'll try doing this:
Once a week, post a more in-depth tweet on X/BlueSky about software engineering/indie hacking.
Continue writing this personal blog, but post only when I have something on my mind. I'll think through and research the topic I'm writing about a bit more than I have for the daily posts.
Going through my posts, it seems many of them could have been personal Instagram of Facebook posts. I won't do anything with this for now. I'm afraid it might require too much time and energy that I don't have to spare at the moment.
I’m eager to see how this turns out.
After reading this post by Ingrida Šimonytė, the Prime Minister of Lithuania, I thought it would be useful to have a website that lists all politicians, their expressed views on various topics over time, and how they voted on important laws in the past.
This evening, totally be chance, stubmled upon an opening event of an exhibittion of my favourite gallery in Vilnius: 8 akys ir ausys. I couldn't resist a good vibe, and free wine, so I stayed. The event was in a nearby BREW.
The exhibition showcased works by local Ukrainian refugees, and two refugees from Iraq and Tunisia performed traditional music.
After the introductions and the music ended, I introduced myself to Kadim, the Iranian musician who played the Oud (the other instrument was the Qanun). I asked him about the instruments they played and their music. Their music employs a different chord system, with intervals distinct from those in the Western musical tradition.
Kadim is a refugee who arrived in Lithuania by crossing the Belarusian border in 2021. We had a long discussion about immigration, refugees, and the situation in Iraq. However, that’s such a sensitive and complex topic that it wouldn’t be fair to try to describe it briefly in this post. All I can say is that, although our views didn’t always align, I felt a great deal of empathy for the situations many people face in countries like Iraq and Syria.
That said, I do believe that anyone who can play the oud or qanun should be allowed to cross the border and live here! I truly appreciate the cultural richness and diversity that immigrants bring to this country.
I've been self-teaching piano music for a while now. This year, I've mostly practiced sight reading, but a couple of months ago, I started doing a course called Petter for Producers. I'm not a music producer, but I felt I needed a down-to-earth, practical way to study and practice piano chords, and this course felt like it was.
It's really, really challenging, but also very rewarding. Studying chords is just pure love. Doing chord drills is the best escape. I really enjoy exploring chord colors, their character, and emotion of each variation. I wish I had a wider musical vocabulary and a better understanding of musical harmony to be able improvise, to tell a story with sound. I hope some of that will come with practice.
I just solved the Day 3 puzzle in Advent of Code. After completing it, I cleared Cursor's memory and copied and pasted Part 1 and then Part 2 of the puzzle into its AI chat.
The instructions were as follows:
Please solve this coding puzzle. The solution should read its input from input.txt
and output the solution to the console. Here's the puzzle.
Okay, now here's Part 2 of the puzzle. Rewrite this code to solve it.
Cursor solved both parts correctly! My code was more elegant and concise, but it took a lot longer to write. I'm sure I could have improved the AI's code readability with a few additional prompts.
As I expected, AI is not too bad at coding when the task, input, and output are very clearly defined. I also wonder how well it would handle completely unique tasks, as I suspect AOC puzzles are variations of classic computer algorithm problems.
I didn't save my own part 1 solution, so I've got only part 2.
Just got my second star on Advent of Code. I'm solving the puzzles in Cursor. I'm not copying and pasting the assignments into the AI chat, so I was surprised that Cursor knew exactly what I wanted to do when I just typed const
and it immediatelly suggested the function name:
I already had a function called isSafe
, but I gave no indication of what I'm going to do next.
Guessing this puzzle isn't unique.
I've always thought Schrödinger's cat was a hypothetical experiment meant to demonstrate his own theories on quantum physics.
Wrong. I recently learned that while it was a gedankenexperiment devised by Schrödinger, it was actually meant to highlight the absurdity of Heisenberg's and Bohr's theories. Schrödinger—and, in fact, Einstein—detested quantum mechanics, or at least its probabilistic aspects.
Einstein expressed his discontent with these theories through his famous phrase: "God does not play dice."
Probability is indeed such a fascinating aspect of everyday reality.
In a large green field surrounded by trees, with a few structures and masts scattered around, a caesium-133 atom, immersed in a microwave resonance, vibrates 9,192,631,770 times per second.
This is how three atomic clocks, operated by Germany's National Metrology Institute, generate a time signal with a deviation of less than one second over a million years.
The exact time from these atomic clocks is encoded and transmitted via longwave signals using the DCF77 frequency of 77.5 kHz. The signal has a range of around 2,000 kilometers and reaches my bedside alarm clock in Vilnius without any difficulty.
At exactly 3:00 in the morning, my clock receives the time signal, ensuring it doesn’t deviate by more than one second in a million years—provided you set up the time zone correctly. I learned this the hard way.
Anyway, longwave signals and this timekeeping technology are pretty fascinating.
Sometimes, I want to dive deeper into research and write longer texts, which I can't accomplish in just 15-20 minutes. So, from now on, I’ll occasionally spend multiple days working on the same text, while still sharing my progress every day!
I’ve taken on a new project: improving my sleep quality. Waking up tired and seeing my Oura ring consistently report very little deep sleep confirms that my sleep needs work.
I usually browse my phone and listen to podcasts until I fall asleep, but I suspect this isn’t helping me rest.
It’s not just the blue light; I also think listening to someone else talk may prevent my brain from processing its own thoughts and memories before falling asleep.
So, I’ve decided to keep my phone away from my bed, read a book until I feel sleepy, and then do a body scan meditation with the lights out until I fall asleep. It worked surprisingly well yesterday!
A fantastic list of currated DX resources:
https://github.com/workos/awesome-developer-experience
Trump's victory represents a serious crisis in the concept of manhood and what it means to be a man. I'm worried his victory will reinforce the belief that, to be a respectable man, you must emulate figures like Donald Trump—individuals who are devious, disrespectful and abusive to women, narcissistic, greedy, corrupt, impulsive, and bullies.
I keep thinking that the idea of a "good man," as we understand it today, is lost. Someone needs to redefine what it means to be a man—someone who is none of those things but can still win an election.
By the way, here's a great podcast on the issues men are facing by Ezra Klein:
The Men — and Boys — Are Not Alright
I'm seriously considering getting a GeForce Now subscription on Black Friday to spend some time playing No Man's Sky. That is, if I can overcome the feeling that playing computer games isn't "productive."
An X (Twitter) alternative, BlueSky, has now exceeded 20 million users. I'm trying to find a subsistute for X, because I'm just so tired of Kremlin bots and Maga crazies. There's also a flood of fake accounts (mostly posing as beautiful women) that follow me every time I interact with content related to Ukraine. I suspect these are bots trying to gain algorithmic legitimacy, which happens if real people follow them back.
P.S. Many of the public figures I follow on X are now on posting BlueSky (e.g. Gabrielius Landsbergis, Anne Applebaum), and many are posting they BlueSky accounts on X.
Reminder to self: Get some of Anne Applebaum's books: Autocracy Inc and Twilight of Democracy. Anne Applebaum is an American historian and journalist who has been living in Warsaw for a long time. On podcasts where she's a guest, she always seems to discuss topics that, unfortunately, are becoming increasingly relevant.
From Benda Ueland's "If you want to write":
Everybody is original, if he tells the truth, if he speaks from himself. But it must be from his true self and not from the self he thinks he should be.
Occasionally, when I'm feeling rebellious, I make grammar errors when writing on purpose. Most often just because I think it conveys what I want to say better than the grammatically correct version.
More so when I write in Lithuanian, which has stricter rules than English.
I participated in a protest today against the inclusion of a party in Lithuania's new coalition government whose leader has previously violated the constitution and is known for anti-Semitic rhetoric.
Around 4,000 people attended, even braving bad weather to make our voices heard. Though it may seem like a small number, a protest like this has a powerful impact.
It shows that we, as citizens, care deeply and won’t remain silent. With extensive news coverage, it sets an important tone for the half of the country watching on TV.
It was also nice to see friends there and have a chance to socialize while standing together.
I walked the Striečiukai trail today just before sunset, covering 4.5 kilometers and passing only one person—and his dog.
Even though forests surround Vilnius, escaping the sounds of civilization isn’t easy. I stopped occasionally to listen, and I could always hear the hum of cars on the nearby main road or a dog barking in the distance.
Here’s something interesting: Google Maps street view covers the entire trail, and in every location, you’ll spot the same man carrying his child in a carrier on his back. A recent dad took a walk and mapped the trail himself. Sweet. What a cool thing to do.
Attended a UX Salon event today at Vinted.
Reminder to self: in presentations, the story is everything.
Pablo Stanley gave a motivational talk on creativity, telling the story of Morgan, a burrito cook on a quest to save the land of Creativia. The rest of his presentation featured about 20 slides of, well, butts (yes, actual behinds) — and it was great!
Jonas Bučinskas shared a captivating story about how Ovoko opened a real scrapyard to dogfood their own product. It reminded me of my own approach, using Dhub to create content on this website.
You can watch the full video on youtube.
Went to a meetup today in Vilnius. Some great guests. Oleksii Rezinov have some brutal advice. Lots of thoughts about autonomous drones. But it seems some of the biggest hurdles in Europe to advance defense tech are slow institutions, lack cooperation between countries, lack of urgency, low of production capacity.
I'm reading If You Want to Write by Barbara Ueland. It was first published in 1938, and my copy was printed in 1984. I got it second-hand, and I've already spilled coffe on it, adding to its vintage character.
Reading it feels like forming a deeply human and personal connection with the author. Here's the author's promise in the introduction:
You will never be working from grim, dry willpower but from generosity and the fascinating search for truth.
Through some reverse engineering—and simply asking my weightlifting coach—I’ve gathered the following information: the system they use to track clients' data and progress over time is built with Next.js, hosted on Vercel, and uses Mantine for the UI.
I was told they "have a coder", so the system is custom-made.
Not only do coaches have access, but all clients have a login that lets them enter data, track both their body weight and the weight they lift. The system also tracks body measurements (handy for online clothes shopping) and allows you to explore various charts.
Apparently, my weightlifting coach follows the Starting Strength program. I only discovered this during my seventh training session.
I’ve been wanting to do Starting Strength for a long time—I even have the book on my Kindle—but I never managed to learn it on my own. Maybe it’s for the best, as weightlifting can be harmful if not done with proper form.
Here's how to create and configure a Next.js project with MDX and Prose UI.
Soon you'll be able to start a Prose UI project from a template and make the process of project creation quicker and more DX-friendly. Stay tuned.
Start by creating a Next.js project, choosing defaults in the prompts.
Enter your project’s folder and install the dependencies for rendering MDX and Prose UI. I'm using pnpm, but feel free to use your preferred package manager.
Create an mdx-components.tsx
file in the root of your project, or inside the src
folder. This file will be used to override the default components used by MDX.
Next, go to your src/app/globals.css
and import Prose UI styles at the top of the file:
Configure your project to use mdx with Prose UI by modifying the next.config.ts in the following way:
Go to your app/layout.tsx
and replace the content with the code below to ensure that your pages have the correct fonts and styles applied.
Rename src/app/page.tsx
to src/app/page.mdx
and replace the content with your Markdown/MDX. For example:
That's it! Run pnpm dev
and open your project in the browser.
I'm approaching the first release of the open-source UI library I've been working on: Prose UI. This website uses Prose UI.
Briefly put, it's a collection of components for building content-centric websites. I'm going to write more about why I'm building it, and how to use it in the coming days.
Meanwhile, here's an image of a blob generated using generative AI by Domas.
What’s the name of the feeling when you look at something—a product, a design, a text—and it has a simple, subtle, and unobtrusive beauty in both form and function? It's as simple as it can be, and not more complex than it needs to be. Is there a word for that?
I spent over an hour today trying to get my Jest tests to work. I tried everything: followed the documentation, asked ChatGPT, but nothing solved the issue. It was frustrating. The setup for jest
, ts-jest
, and tsinfo
felt overcomplicated for something that should have been simple—just running some TypeScript code to check if a function’s response matched what I expected.
In a moment of frustration, I typed this whole rant into ChatGPT. Like a patient therapist, it understood and suggested I try vitest
instead of jest
. And it worked! I was up and running in 3 minutes.
There’s a skill to asking the right questions to get the best answers from AI.
I wonder how to deal with the fact that I don’t have the time or mental capacity to write each day. I’m thinking I could try writing more than one text on a good day, so I can publish something on the a bad day when I’m not able to write.
It’s important to stick to the schedule, even if what I write isn’t great.
Writing is hard, so I don't. But I want to.
I want to write so I can understand the world and myself more clearly.
I want to write because putting thoughts and ideas into words and structure gives me a certain type of joy and a feeling of safety.
I want to write so I can remember my thoughts and ideas better.
I want to write as a form of communication with friends and random people who happen to read what I write (if I'm lucky).
I will write a short text every workday, and this is the first one.