Bystroushaak's blog / English section / Weekly updates / Newsletter 2021-10-29; Monster post

Newsletter 2021-10-29; Monster post

Yeah, I know. It took me 10 months to write this. One of the reasons, and it's an idiotic one, so be prepared, is that I told myself that I'll publish the next newsletter when I'll make tinySelf rewrite into Java work in symbolic execution mode, and able to at least add two numbers together. After 10 months, I've decided that it would be better not to wait for that.

A second and more important reason can be seen through this whole monstrous update, on many places, and explained in detail at the end of the next chapter.

Life update

If you wonder why it took me so much time to write the next update and finish all blogs I've been promising, here is the story:

Old job

I've quit my job, because they forced me to go from working as a contractor to regular employee, and they couldn't be bothered to match my salary.

It was all quite weird. The Company suddenly fired something like 50 people in management and gave their positions to people from different country, most of whom never even saw the product we were making.

17:30, thursday, I get the call from the manager of my manager (MoMM). Basically saying "Sorry, we don't want contractors anymore, you are fired. By the way, that contract you have for two more months, yeah, fuck you. You have five days to finish your work and then bye."

Naturally, I was quite shocked. I asked if it was because I did something wrong, or if there are some performance problems with my work and stuff like that. No, I didn't and there wasn't. "We just don't want contractors anymore."

Weird. Super weird considered that thanks to the tax system here in the Czech Republic, contract workers are for the company usually cheaper than regular workers. Anyway, I complain to my manager, who offers me the only remaining "job slot" to go work as a regular employee. But I only have three days to consider it because there is some other guy who also wants that job.

I take it, after some consideration, even though the pay is less than what they actually offered me 2.5 years ago, when they also wanted me as an employee (I couldn't accept even if I wanted because I used personal agency). I warn them, that I'll give it a try, but I probably won't be happy. They don't believe me. "We are so glad to have you as an employee! Now you have job security." Yeah. Sure.

The cherry on top of all that is that MoMM is fired month after me, because of restructurizations.

Team split

Then someone decided that it would be a nice idea to split our team, which makes one product and several backend services, into three subteams. Nothing weird here, 15 people can be split into three teams quite nicely, right? Oh, but they don't want three smaller teams, no. They want three "verticals", which is apparently the new buzzword.

It means that each team will have something like 3 programmers, one tester, one database specialist and so on. What a lovely idea. Except we don't have enough testers. And we don't really need 3 database specialists, one in each team. But whatever, these are surely just pains that will be addressed later. Oh, and each of the new "verticals" will have a new manager, from Croatia, whom you've never seen before, and who never seen our product, and have literally no idea what it is and how it works. Isn't that great?

What is really weird is the focus they pick for each of the teams. I can't explain without going to the details I prefer not to, but in short; it doesn't make any sense. Allow me a car analogy:

Imagine, that we were making a car. Each team member knew how to do something, although there was some overlap. One guy knew everything about wheels. Other was good with motors. And so on. You could help anyone you wanted, and learn a new specialty if you wanted, or if it was needed. People around you recognized this and gave you relevant tasks because you were the most effective person who could make them work. We were really quite effective. It was often said, that we are the only team in the whole company, who always delivers on time, and we had the lowest number of bugs (this is true, not just for the purpose of analogy).

Now, they split us into teams based on the location of the component in the car. First team will do everything in the left. Second team, everything in the middle. Third team, everything in the right.

I am not talking about frontend / middleware / backend separation. No. I am talking about you now being responsible for the left part of the frontend, middleware, and backend.

You were wheels guy before? Bad luck. Now you have to know everything about left wheel, front and back, about the (left part of) bodywork, car seats, driving wheel, left part of the motor. Oh, and also a car battery. What? You notice that the guys from the "everything on the right" team are having troubles installing their share of wheels because they never did it before? Too bad, you don't have time to help them, you have enough tasks working on the left side of the car.

I can see the model of how this will work, the giant train full of clusterfucks, which is going straight at as from the time horizon. Other people are at least trying to be optimistic. "It won't be that bad." "It can work." "I like it."

Fast-forward three months and everything is in pure chaos. Our "vertical" with three programmers is planning 170 story-points each sprint (2 weeks), even though we realistically know that we can make maybe 70, if we try really hard. We are missing all the deadlines. One of the other "verticals" is like paradise. Almost no work. The other is like hell. They are missing even more deadlines, their new manager tells them that he expects them to work weekends and stuff like that. Pure madness, everywhere.

New managers don't know what's going on. How to do their job. What even is their job. One of them even tells me, that he never wanted this job. He knows nothing about python, and he is still managing two C# guys he managed before. People are starting to get tribal "that's not our problem, it's not in our vertical, and fuck them." Now they want us to work during weekends, and to take calls when something fails during the night.

Pay "rise"

I take this nice time to go to my new Croatian managers, to tell them, hey I want a pay "rise".

Not really a rise, I just want at least similar money (slightly less actually) I had before they forced me to go to work as a regular employee. My new manager is confused. He never had to deal with thing like this before. Moreover, he literally sits a thousand kilometers from me, and knows nothing about Czech law, or how the Czech branch of the company works when it comes to salary negotiation. "I'll get to you in a few days", he promises.

I am really surprised that he does. I have several calls with him and the guy who is managing him. The can't quite believe me. "You want more? No way." They think I am just bluffing. I try to explain to them, that I make so much less money now, that I literally can't afford my apartment and all my commitments. They still don't believe me. So I quit.

I am still in trial period after the forced move from contractor to employee (3 months here in the Czech Republic), which means that I can quit any hour, just by telling them "I quit." I try to be professional, and at least give them two weeks notice.

Now they start to panic. But they quickly discover that they can't really do anything. The budget is locked. We have some new CTO or whatever, and he wants to do full audit after the old one, so he locked all expenses. There is a meeting at highest levels, literally with the CEO of the whole company, but still, they can't do anything. They can't even promise. At the end, they ask me to stay at least two weeks longer than I should (a month after the date I told them I quit). I agree.

I was somewhat expecting the last two weeks to be quiet. But they are quite the opposite. I am working 12 to 16 hours a day, fixing stuff I know no one else will fix, and trying to document some of the things I did. I also give lectures to several other people, mostly about OpenShift. I am working and working, and I don't have time for myself, for my blog, or my family.

Then the date of my department from the company finally comes, and I am free. Or so I think.

Looking for a new job

Here, I've made another mistake, thinking "oh nice, now I'll have some time to relax". I don't. I am talking with a dozen of companies, doing interviews all the time. And I am talking about real interviews, an hour or more of programming, solving puzzles, not "friendly chat with HR" interviews.

First interviews are stressful, but then it becomes a routine. Sometimes I wake up twenty minutes before the interview, take a quick shower and then do the interview, without even thinking about it. Sometimes I have three interviews in a row. Sometimes the interviews are an hour and half long, even though they should take 30 minutes. Doing an interview stopped being something special, it became a state of mind, into which I am ready to switch at any time.

It's weird, but most of the interviews don't stress me, really. But stress is getting to me anyway because I don't have a job, and because I am on home office for a year, and now I don't even have to work, go to morning standups, talk with colleagues via video.

At the end, I was talking business with four companies, which all wanted me and gave me an offer. I've rejected four other companies because I didn't like them. One company rejected me, right after I've sent my CV. Apart from that, I've talked with several dozens of recruiters and HR people, who want me for something, but have only promises or really inflexible schedules at that time (our first interview is in two months, can you wait?).

The interview process is weird this year. Maybe because of the corona, maybe because they fear remote interviews, all companies I've talked with try to play it safe. That is, to have 7 or more rounds of interview.

Imagine speaking with HR for an hour, then doing programming interview, four times, all of them at least an hour long. Then doing tests, and projects. Then speaking with managers.

It's really extreme. When I say "I am talking with four companies", I mean "I've spent at least seven, but probably more hours with each". So just these four took something like thirty hours of my time. Some of them want me to create projects for them and then sent them one week later. This takes an absurd amount of my time.

It's like everywhere I go, they think that they are Google, so they can have huge amount of the questions and rounds of an interview. But when I later ask them how many candidates they are getting, they say they can't get any. Duh. They seem generally surprised when I tell them that Google uses this strategy because they can pick people from a huge pool of interested programmers. They are using it to filter most of the people out because they have to get rid of them. But when you struggle with the first step of the interview process (find people who are interested in talking with you), why are you forcing them trough this? They don't know.

Long story short, when I thought I'll have some time for myself, I was gravely mistaken. In the end, I have almost none. The little I have, I spent procrastinating because stress is slowly, but surely getting to me.

New job

The company number four surprises me the most. I don't know them, and I am not even sure why I am talking with them. Most probably because they asked nicely on LinkedIn, and I've just took it as a challenge. The interviews are quite good, even though a bit hard.

My friend later tells me that he tried them too and couldn't make it. That surprises me because he is superb at mathematics and generally stuff you need for interviews. When I think about it, the interview process was hard, but I was too busy to notice. I did so many interviews, that I don't even remember the exact number. For a month and half, "doing the interview" was my daily mode of existence.

The whole process of their interview took a month, and the whole time, we didn't talk about money. Like literally, I have no idea how much were they offering. When I passed the seventh round of interview process, HR finally asked me what I want. I told them some number. Then they asked me if I had other offers, and at what price range.

I was surprised for a while because I wasn't expecting this question, but then I decided to tell them the truth. Usually in the past, when this happened, people wanted to talk me down to take less money. "We know that they offer you more, but we have so much benefits, it will be much better for you!" HR asks me if someone else offered me stocks. I tell them that they offered me stock options. The HR tells me they'll get back to me. I was quite skeptical and expecting the worst.

When they got back to me, they offered me the best offer yet, and also considerable amount of RSU stocks, which really surprised me. I was expecting them to try to talk me down, not offer more.

So, I accepted, and started working there.

It's a big USA-based company, no one here ever heard about, but they are growing like crazy and have a niche enterprise product where they don't have much competition. The company culture is quite different from what I am used to, and I have to speak in English with everyone. But I really enjoy it.

Burning out

And to add cherry on top of this, I almost burned out. Not because the work is so demanding, but more than a year at home office, combined with no vacations (I was a contractor, remember), and stress from relationship problems did its worst.

One day I woke up, and noticed that I don't know myself anymore. All of my passions, hobbies, and everything seemed gray. I had nothing to look forward to. I've realized, that I've spent several weeks, or maybe even months, just surviving, not living. Stressed constantly. Work. Take my daughter outside. Return home late in the evening, watch youtube or maybe some movie. Repeat.

I've tried to start working on tinySelf and objWiki, but I couldn't find any motivation. Hard problems anywhere I've looked. I've tried some simpler projects, found some pleasure in them, but it was just temporary. I've read many books, but felt almost nothing. I've tried 3D modeling for fun, and it was fun, but then I just stopped. I stopped pushing my todo, writing blogs, even the most simple things like going to the post office seemed to be too much to bother.

Especially the relationship problems added a lot of the stress. I know that it would be better not to talk about this publicly, but meh. I could write whole books about what went wrong. The more I've tried, the more it failed. It was like trying to juggle five chainsaws at once, and every time I blinked, one or more of them cut me. And I blinked a lot.

One day, after an exceptionally nasty fight, I just had enough. Not enough, like "I don't feel like it", but "I am not even on the edge of the abyss, no, that was a long time ago, I am falling into it and still trying to juggle five chainsaws. I am loosing my shit, and there is no possibility that this can continue like this anymore, so stop that stupid juggling and make a parachute, NOW". So I stopped everything. Juggling the chainsaws, and maybe even falling. At the moment, I am playing an ostrich with his head in the sand. Not talking, not seeing my daughter. Trying very hard not to think about how I'll have to deal with this in the future. Because sooner or later, every ostrich has to get his head from the sand.

My life was for quite some time a weird blur. Get up from the bed. Deal with work. Deal with everything that can't be postponed anymore. Waste some time trying not to think about anything. Get some sleep. Again and again. Now it is slightly better, but not good. Some days are better, some worse.

I would like to end this story with some nice ending, but I don't have one. I am aware of my problems, trying to change some things, go outside more, meet with more people, introduce some change, be more social. Ideally, also talk with some professional help. It should get better, at least I hope so.

OpenSource / other coding

I think I've hit my lowest point in years. I've just .. stopped, and did almost nothing from 2021-01 to 2021-05, when I've started in my new job and suddenly got unblocked. For a short time, but then I fell into the old routine and did nothing again. Since October, I've been able to start working on some things again, but my progress is absurdly slow.

tinySelf progress

Contrary to expectations you probably have after reading everything above, I did some work on tinySelfEE, how I am (jokingly) calling the next version of tinySelf written in Java.

One of the reasons why it took me so long to publish the next newsletter was because I've promised myself, that I'll post the next update when I publish tinySelfEE as a public repository. But I also promised myself, that I'll publish it when I implement symbolic execution. And then I had almost no time and definitely no willpower to work on it.

One day, I just sat in front of my wiki, and emitted a free flow stream of ideas on the topic of working on tinySelfEE, like what's wrong with symbolic eval code. Suddenly, I got unblocked and in a wave of productivity, I threw away all the symbolic code and implemented non-optimizing bytecode compiler, internal object representations, and a big part of the VM.

Anyway, today I've decided to break my stupid promise. In the πŸ“‚tinySelf section are some new articles and here is the new repository for the Java version:

At the moment, it can't do anything useful, not even add two numbers together. I still have a lot to do before it will get to that point. And I have no idea when I'll feel like hacking on it. When I have precious moments of drive to work on something, I work on objWiki.

Object wiki progress

I've been getting depressed from Qt. I've hinted before, in my previous newsletters, that I would like to rewrite the graphical interface in a different framework. Well. It happened; Qt bugs and shitty documentation finally broke me, and I've decided to stop working on it. I mean on the PyQt client, not on the objWiki itself.

Several weeks ago, I've found Python framework for react-like applications. The idea is that you write the code in python, on the server, and it gets transported to the browser via web socket.

I was quite skeptical at the beginning, but I've decided to give it a try, and just see how bad it is. Projects like these tend to be pretty messy and broken, when you want to do something authors didn't expect.

To my surprise, it is actually great. I've just tried the tutorial and created this in a few hours of just playing with it:

Now, I can imagine your thoughts; it doesn't look like much. And sure, it doesn't, but what you see is just mocked data, and the most basic layout.

The page in the "center" is just a static HTML page. That means, that it renders pretty quickly, even if you've got a lot of text. When you move your mouse cursor on top of any element container in that page, you'll get an WYSIWYG editor. That's the weird red line you see in the middle, and you can also see the Grammarly button on the right. You can edit the headers, paragraphs, whatever you move your mouse over. And when you move it out, it turns itself back into ordinary HTML <p>aragraph or <h>eader. This means low memory footprint, as it doesn't have to create an editor line for every element, or hold everything in one giant editor.

This is by the way what got right; don't represent everything as a page of text (like in Word). Represent it instead as a (more or less) linear list of simple editors. Then you can do cool things like structural edits, drag and drop paragraphs, easily position two things next to each other and so on. If you've never tried this, it may sound silly, but trust me, once you'll try that, you'll understand. It is also much smarter from the perspective of how you think about internal representation, as you are not working with text, but trees of elements.

I've implemented basic user interface code behind the editors, but I've still got countless things to do. The end product should work like the editor, which I won't screenshot here because the beauty of it is that it's all context dependent and by default invisible.

What really impresses me is how justpy is using various Vue components (Quasar) and maps them seamlessly to the python code. Compared with PyQT, the code is super simple (and I don't just mean widgets, but also the callback hell you get with Qt) and super customizable. Anything and everything can be changed with inlined CSS and you can always inject some HTML if you don't like how the original widget works. Much better than implementing drawing on the buffer in Qt, pixel by pixel (see Active widget in PyQT5 / QTextEdit).

The development is super quick and satisfying. I am able to do in minutes things that in Qt took me several weeks of trying and debugging because everything just works. And what's more, it has great documentation, and the layout is mobile / tablet / Hi-DPI friendly. Hell yeah.

This is what I needed from the beginning. Don't get me wrong, I like desktop applications, but with frameworks like these, desktop development is dead. Yeah, I know. I don't like it either, but this is so much better than any GUI framework I've ever tried, and it runs across all the devices. The math looks simple;

webapps have higher level widgets than desktops + documentation doesn't suck + they are easier to develop + they run everywhere = classic desktop aplications are dead

Yes, I know that desktop apps are better regarding responsibility, gui consistency, and performance, but the development is slow and in general, horrible. Believe me, I sunk maybe 3/4 of the last year into trying to develop one non-trivial desktop application, and I worked on one PyQt desktop application for three years professionally, so I should know.

Anyway, for the moment, I want to work on the editors, basic content widgets, and in general, user experience. When this will be ready, I can actually join it with the backend code of objWiki pretty quickly, and start working on the "obj" part of the objWiki. You know, the fun parts;

The API for editing, FUSE and REST "harbors" for incoming and outgoing data, P2P synchronization, automated blog sync, structured diffs, scripting, date triggers, rich set of widgets for everything and anything, from mind maps to custom widgets and forms, timelines created from various sub-nodes and life logs, import skelets, which should allow you to interact with forums, reddits and websites in general, so you can build your custom infosphere manager, which will mirror all of your data streams.

Blog improvements

I've replaced πŸ“„ unicode character with πŸ“„ emoji, which is loaded from Noto font subset (see Unicode font subset for details). It should now work everywhere. I've also fixed typos and broken links in some older blogposts.

I've tried to make the CSS work better on 4k displays, and the blog should now autoscale depending on the resolution, but some elements are too small, and I am so tired of CSS, that I don't even want to touch it anymore. I'll probably try to contract someone to fix that.

I am thinking about throwing away the notion CSS layout, and replacing it with some framework. Maybe Tailwind.

A lot of my old Czech blogs were successfully back-ported from all kinds of places where I've blogged before. Some are still missing, and I am back-porting them when I feel like it.


I've published:

Prusa MK3S+ 3D printer - assembly and first prints - I bought a 3D printer and I love it.

3D printing exhibit 1; Headphone holder - first item from the 3D printing TODO list I've created.

Geometric center of Prague - short story about looking for a geometric center of Prague polygon.

How to set Blender for 3D printing - short blog about template file I use for 3D printing.

Reasons why I decided to abandon RPython in tinySelf

tinySelfEE 2021-07; let's throw away the Symbolic eval code

I have written many other blogs, which are like 70-90% done, but often I have troubles to force myself to finish them. You can expect some blog dumps in the future. Small teaser;

Some time ago, I've seen Joscha Bach tweet this:

Wolfram's Mathematica is the closest approximation to Hesse's "Glass Bead Game" we've got. No open source effort comes close to it. We have much to learn from it if we want to build a unified computational language for science, philosophy and art.


And I started thinking about Glass Bead Game technology. Since then, I've started to work on at least ten blogs on this topic. Computational languages (don't mistake this with regular programming languages), the idea of exocortex, info-cabinets, everything-CADs, and in general, stuff Alan Kay and Bret Victor talks a lot about.

Some of them are about existing technologies, some of them are about crackpot ideas, some of them are reverse-future essays, talking about the past which is in our distant future, and how "they" got there.

Microtron blogpost

I have finally published Microtron under the VΓ­tkov Hill. Some time ago, I've tried to approximate how much time I've put into it;

Several (>3) hours of getting all the notes together. Hour or two of editing the pictures (resize, blur, and whatever). At least ten hours of writing, maybe more, dissolved to a year of life. Hours of looking for all references and technical details. Contracting professional correction for the Czech version. Several weeks of working on 3D model.

Contracting a cheap English translator, thinking "hey, I'll save some time", and then cursing during five or six hours of rewriting from a completely shitty translation. It was in many ways worse than Google Translate, which I know because I've looked at the output to see if it was the source of weirdness in the text, and it wasn't (β‡’ Google Translate produced better output than paid translator).

There is so much work in unrelated and seemingly little things, that I feel exhausted even thinking about it. This blog almost broke me. Huge amount of effort, huge amount of time, huge amount of work to make it right. It made me think about hard questions. Like, why am I writing blogs? What is the point, why am I doing this?

When I started writing the blog, I wanted to give something back. I really liked the tour, and I thought that the people working there were really underappreciated. They deserved some recognition and I wanted to give them that. But it cost me more than I expected. In hindsight, I probably shouldn't spend so much time on that.

It didn't help, that no one cared. I posted the link to several subreddits, people generally liked the blog, but the discussion was .. weird, and not relevant.

Overall, the number of patrons on Patreon shrank to two. And I can't say I don't see why. Most people probably subscribed when I was actively working on tinySelf, and I didn't publish much about it for a while. Well. It was an interesting experiment while it lasted.

Book report

Ouch. I've read 46 books since last update, and I don't have the willpower to write about all of them here. You can see them in my Goodreads profile:

Here are the books I can recommend:

Lockdown Tales

I've enjoyed Lockdown Tales by Neal Asher very, very much. More than I should, but it was the right book at the right time. I absolutely loved the story about an old man trapped on a strange planet full of mutants and biotech weirdness, after a spaceship crash. And when he is slowly dying of old age and diseases, reflecting on his past, he finds an old android buried in the ground. I kid you not, I almost cried when reading this. Almost.

The Great Mental Models: General Thinking Concepts

Firmware for your brain. Without any bullshit, in the concentrated form. Buy a hardcover edition and treasure it, it is charming.

This book has my highest seal of approval.

Envisioning Information

Book about how to visualize information in 2D space. Basically, a list of dozens of infographics, with text analyzing why and how they work.

Recommended by Alan Kay somewhere, I think maybe on Quora.

Rationality: From AI to Zombies

Book about rationality, with countless examples. This is a mixed bag; excellent in some parts, almost boring in others, definitely several times longer than it should be. Memorable quotes:

What is true is already so.
Owning up to it doesn't make it worse.
Not being open about it doesn't make it go away.
And because it's true, it is what is there to be interacted with.
Anything untrue isn't there to be lived.
People can stand what is true,
for they are already enduring it.

β€” Litany of Gendlin

If the box contains a diamond,
I desire to believe that the box contains a diamond;
If the box does not contain a diamond,
I desire to believe that the box does not contain a diamond;
Let me not become attached to beliefs I may not want.

β€” Litany of Tarski

Now It Can Be Told: The Story Of The Manhattan Project

Story about Manhattan Project, development of atomic bomb. Very interesting.

Recommended by Alan Kay.

GΓΆdel, Escher, Bach

Here is my google-translated (and slightly corrected) review, as I can't be bothered to translate it properly. Sorry:

Unexpected pleasure, intellectual encouragement, but disappointment in the end. I'll try to explain it:

I bought this book shortly after it was published in Czech language, sometime in 2012, to find that I just couldn't get past the specific part that for me was somewhere around the page two hundred. At some point, I simply got lost, and every attempt to read further resulted in my loss of understanding what it is talking about. But I persevered, read several other books from Hofstadter (Strange loop, GΓΆdel's Proof), improved in mathematics, logic, computer science, artificial intelligence, and learned about paradoxes in axiomatic systems.

Then the Coronavirus came, and I started to read it again, after eight years. After a few months of continuous effort, I finally managed to finish reading it. Sometimes I laughed, sometimes I was blown away by the thoughts, mathematics, axiomatic systems, paradoxes, stories about the turtle and the Achilles, gramophone records destroying gramophones, machines for making machines, genies who get their wishes granted by meta-genies.

And although it was so beautiful that my soul of a programmer danced with joy from intellectual plays, interesting observations and unexpected point of views on the ideas, or even the whole world, I was disappointed in the end.

That feeling of disappointment is hard to define, and I can only blame myself for it. Basically, I was expecting something more. As if I was listening to a constantly graduating piano song, until I've somehow started expecting it to end with an orgasm that would change my life. But when the music ended, I've found that nothing had happened.

GEB definitely changed my life, but it was mostly because I had to taught myself a lot to understand it, not because the book itself would hide some surprising secret or message. Which it never promised, yet somehow I subconsciously expected it. It was still a beautiful experience, something to which I'll return nostalgically in the future. But basically, it's just a short snapshot showing the wonderful mind of the author. It reminded me of some Asian wisdom I had read somewhere, and which I now dare paraphrase;

This book is like a flower; beautiful, and bringing pleasure to the eyes. But it's just a flower. Her beauty is fleeting, and insignificant.

Which is a bit unfair because I can definitely recommend it to everyone. But if you're expecting a deeper thought, enlightenment, or a change of worldview, you won't get it, even though the book is full of ideas that are deep and worldview-changing.

Why was I actually expecting something like that? Hard to say. Maybe it was because when I've read other books from Hofstadter, they changed my view of the world. Maybe I shouldn't have read I am and Strange loop first.

Or maybe I wanted back the feeling I had in 2012, after I gave up the GEB, and started reading an entirely different article, Lisp as the Maxwell's equations of software, where after several months of reading and studying it, I not only got enchanted, but also enlightened by very similar ideas as in the GEB.

I still remember how I walked through the city, completely lost in my head, in thoughts about recursive meta-interpreters based on a few axioms. In the end, I took away the strangely alchemical secret of how to fold something into itself and make it a living thing. And when I finished reading GEB, there was no secret, just a beautiful play with ideas.

Daemon & Freedom

And I've also read the Daemon, and the Freedom. Again. For like .. fifth time.

I don't really want to write anything about them. Mostly because I've written three reviews of the Daemon in Czech language, gave away 10 copies I've bought in sale so that I would increase the chance that the book will get to some inquiring mind. But also because one of my blogs in progress (which will probably stay in progress for several years), is detailed analysis of the Daemon. And I mean both the book, and also the Daemon, the software described in the book.



This is why I love open source; gtoolkit now scales to anything you want.


I've created Mikrotron MT25 page on Czech wikipedia.

Old project

Fixed Docker / PIP problems in WA-KAT, one of my older projects, which is used by people in Czech National library.

Beef jerky

I've tried to make a beef jerky, but it wasn't good. I'll have to try that again sometime.

Goodreads import

I've imported most of my list of the books I've read since 2010 to Goodreads:


I've read for a fourth or fifth time prediction, that the inflation here in the Czech Republic will be really brutal (4.1% so far, 6% expected by some, bad tongues even talk about 10%). Then I've got a message from all of my banks telling me that the interest rate on my savings accounts will be basically zero (0.1% in some cases).

Some time ago, several friends and my gf told me about investing, but I couldn't be bothered. I finally decided to study how it works, create trading accounts on relevant platforms and put some of my money into something that won't lose value, and preferably even make some.

In the end, I've decided to invest into different ETFs. I've bought Vanguard S&5 500, a bit of some Chinese ETF, mostly because it lost most of its value. Also, a tiny bit of stock of a local drone-making company.


Registerkartenverlustfreiheit; German word for the complex emotion of losing 225 browser tabs. I have lost so much, but I know not what, and there's a sense of a new beginning.


For some reason, Firefox looses my browser tabs from time to time, and it pains me greatly.

Drawing crazy nonsensical schema images on the street

I was waiting on the street with my daughter, and we found out a piece of brick. And suddenly I've got an inspiration straight from the Laundry files.

I can only assure you, that I've downloaded a list of interesting schema images, which I want to interlace with occult and in general, weird symbolism. Why? To make the world a more interesting place.

Stuff I didn't like

Hahah. I really love my "newsletter" blog template. But from the top of my head:

  1. Stress.
  1. Relationship problems, arguments which turn into fights longer than four hours.
  1. Myself. Oh yeah, I didn't like myself a lot.
  1. Czech government, and its utter stupidity when it comes to thinking about future. We'll have lockdowns, again, in no time, after they patted themselves on the back how they solved corona the whole summer. Again. And they are surprised, really, honestly, like it's hard to see that when it gets colder and kids go to school again, there will be more corona cases, not less. Like last year.
  1. Being awake more than 36 hours. Oh, and driving car when you are awake more than 20, that really sux.
  1. People who don't appreciate other human beings, or maybe even hate them, so they intentionally or unintentionally avoid documentation of their projects. And I am not talking just about (Py)Qt, no. I deal with this in my job all the time, and sometimes it takes me days to understand and reverse engineer how the legacy code actually works.

Plans for immediate future

Don't burn out. Continue to work on existence threatening tasks, like eating, and making money, and ideally also process lower-priority commitments in time. Simple, right?

Random stuff

Neal Asher's short story Snow in the desert in Love, Death & Robots. And oh my god, it was beautiful, almost 1:1 representation, with great visuals.

Absolute masterpiece:

I've been watching this series from the beginning, even wrote a blog about it in Czech language umami (youtube kanΓ‘l). This episode just took my breath. The animation, the story, but most importantly, the music. The music alone is brilliant.

Lovely anime. I really liked the concept, animation and story. Story telling itself, not so much (it is weirdly reversed in time and confusing).

Ian Hubert, who creates great one minute blender tutorials released first episode of his series Dynamo dream:

I've been watching his tutorials since 2019, and I fell in love with his style of animation. He is the mystical 10x developer, except for 3D art. Really, check some of his tutorials.

Valentines from the Oort has this beautiful valentine card in the spirit of Blindsight:

Reverse Engineering the source code of the BioNTech/Pfizer SARS-CoV-2 Vaccine. I can't even say how much I love this article.

Don't ask whether something is true or false, right or wrong, try to find out what's going on.
Try to get past to what our common sense is trying to make of the world, and try to find a way of modeling things that our brains were not set up to model by nature. That's what's powerful.
It has some of the things that are powerful about the printing press, about mathematics, and about science. But the level of reality that you can actually start probing, because you have a computer to helping you see .. it's like the world's greatest microscope and world's greatest telescope, but intellectually.

β€” Alan Kay,

Side note; I am astonished, in how Joscha Bach and Alan Kay actually say the same idea, but in completely different ways and have different solutions.

Alan Kay wants a personal dynamic medium, that would actually allow you to model everything. Joscha wants AI's, that would do the same.

Become a Patron