28 Aug, 2023
This is about how I’ve read a book while being on a holiday trip.
I use Airbnb when I travel. I do like hotels but in some places there are no hotels. And overall apartments are cozier than most of the hotel rooms I’ve spent time in.
The thing about Airbnb apartments is the owners will try to fill the apartments with things: some for decoration others for entertainment. The other thing is the guests will bring their own things with them and if the things are considered temporary the guests will leave them for the next guests to appreciate. It can be extra pack of sugar or salt, coffee or coffee filters, condiments, magazines, and books. And since the guests are all random tourists, business travellers, migrants the books are all random.
And this is why I always check the piles and rows of books - if there are any - in every Airbnb apartment I’m staying. Actually, in any apartment I’m in but people don’t ask me to come over often.
During this one particular holiday - planned as always by my wife - I’ve been staying in a nice apartment on an Atlantic Ocean coast, Tenerife island. I had my collection of ebooks with me with two books in progress, but… there were two shelves with books. This was the last apartment of the trip - the first two only had books in Spanish or German. The books were Spanish, German and even Polish. I don’t read in any of these languages… yet. But this time there was one English book. It really didn’t look like it was planned to be there: it wasn’t about the Canary Islands, Tenerife, Spain or something generically holiday themed - diving, biking, easting. The front cover had a picture of a yellow spotted lizard drawn simply as by an amateur artist or a really talented kid, the background was a blurry photo of desert looking landscape and blue sky. It was a very cheap looking book from the era when books where not trendy yet bit have already became a mass produced item that not many people appreciated really.
The title was “holes”. Yeah, lowercase. The author name was “louis sachar”. I’m guessing his name was written in a consistent manner to the title and that in reality he would write his name with first letters in capital but who knows, I didn’t care enough to double check. There were the usual quotes from the famous periodicals that I know from the movies but have never actually read. The description was vague and useless as all descriptions that they put on paperback covers. I wonder why they bother and I would really like to know of anyone is choosing a paperback based on the description written on the back cover… or those generic quotes - “Fantastic!”.
There were nothing to choose from. I had stuff to read but I’ve still opened the first page and started reading. I just came in from an hour long bus ride, it was hot and sunny outside, the balcony was open and the ocean was all cool and wavy and the wind was all salty and also cool, so why no sit in the shade of the balcony with a book, a paper book. After going all the way to ebooks I have less and less time spent with paper books. So I guess it was kinda like an extra luxury of the last leg of the trip.
And I couldn’t stop reading for the next day and a half.
Sometimes I will start reading a book and I know right away I will enjoy it. And sometimes I do if the author doesn’t mess it up. And sometimes they do.
The thing about this book is it’s about young people. And I’m a sucker for books about young people: Stand by Me, It (the first half), Papertowns (or pretty much anything by Green, but this one is the best), The Fat Kid Rules the World… I can probably think about more but it’s not about them it’s about “holes”. I guess I’d like to think that I have never really became an adult - I did grow up into a big harry man with serious face, serious thoughts, serious interests. But I have always felt like a teenager whenI had to talk to other people, like my opinion is probably silly and wrong and I can easily be controlled, ignored or punished. Maybe that’s why I like books about young people, struggling young people, and friendships. When young people struggle together and there’s no moral being jammed into readers’ eyes, that’s what I like to read. And no, I don’t need the characters to struggle through a magic maze or and endless fight to the death or wiggle their wands in a school of magic (I did enjoy the story of HP though).
Anyway, this is that kind of book. The main character is someone I cared about, his friend - the same. The struggles are real, the adventures are there. But there’s something else. I adore Steinbeck’s “Cannery Row”. “Holes”… sorry, “holes” reminds me of that book. It’s also full of folklore, modern folklore weaved into the main story, only unlike Steinbeck, Sachar kept the folklore extremely tight and related to the main story. Everything ties into everything into everything. I had to stop and think many times: “Did Sachar had a giant map of sticky notes with strings connecting them? How did he kept everything so neat and didn’t lose a single line?” Once, I’ve tried to be a writer and even after five years of practice and learning the trade I could never come close to such level of not having random things in the story.
I’m going to try and give hints about the plot. This is not that kind of show. I’m just going to say “Fantastic!”.
25 Jul, 2023
I'm working on three main projects at the moment. All personal / hobby / education projects.
Project 1: Writing an 8086 simulator. A very naive simulator. It's pretty much homework from Casey Muratori's course. This is cool a cool homework. We probably had similar homework at the university but I was too busy not paying attention to teachers that couldn't put words into a coherent sentence. The simulator is in Zig. I was extremely slow at first thanks to Zig. Zig after Clojure feels very slow and it is very slow. Zig doesn't have strings API. Zig's compiler wants everything to be precisely defined. After "typeless" Clojure it was very frustrating. I had to google everything. Now, the simulator is pretty much done according to part 1 of the course and I feel very comfortable writing Zig. Even though I haven't used all the goodness that it provides. No comptime, no build system. Everything is arena allocated.
Project 2: I don't want to spoil it cause it's not done yet. But it's an experiment that I was playing with in my head. Something I wanted to have when working on my previous job with Clojure and ClojureScript. Something for ClojureScript but written in Go. Writing Go after writing Zig is easier than after Clojure but still... The languages are similar enough syntax-wide that I keep mixing the two. One requires semicolons the other doesn't. The loops are different. The if-statements are similar but look different, etc. But with Go you can pretend memory doesn't exist (and pay for it in performance) when you need to get a prototype working fast. The compiler is not as nearly as strict as Zig's but I'm getting way more seg faults with Go trying to use a nil reference. In Zig that can happen but usually you have to explicitly say where you want this to potentially happen. So it's easier to narrow down on the place where it happens in the code.
Project 3: Making an iPhone app. I've had an idea for a yet another workout app that's tailored to only one user - me. I have my own way of programming workouts and I want and app that lets me do that without using pen and paper. I also wanted to do a native app. So it's XCode and Swift and SwiftUI. Swift feels similar to Zig in a lot of ways: optionals for example. Since there are no optionals in Clojure getting some experience with them from Zig was very helpful. Swift is... a programming language. At this point in my programming life I really don't care that much. I can complain about any programming language. Even about Clojure. But XCode is... slow. I have a big MacBook Pro. It's not super new, _only_ from 2019. It has 64 gigs of RAM and the CPU is just silly. And still XCode feels sluggish. Also being spoiled by fast hot-reloading in ClojureScript land the hot-reloading in SwiftUI is very slow. It's so slow it's not even hot-reloading. Some of my other projects are faster to recompile and rerun from scratch then waiting for XCode to show the changes in the preview. I have to Google everything. Trying to use SwiftUI (yeah, I know it's slow and buggy) just cause it seems to be the "official" way Apple wants us to write them apps. It's a learning experience. If I work on the app for a day or two non-stop I get used to the "logic" of things and can almost feel fluency. If it wasn't for the sluggish XCode. I have tried to code in Nvim, but having to jump back and forth between XCode and Nvim was a bit tedious. Also sometimes I would edit something in XCode cause I was already there looking at a preview and then going back to Nvim and forgetting to reload the buffer with the updates from the file and having some conflict errors... Was a bit messy. Maybe I should just hide the coding pane (if it's possible) in XCode and only keep the preview pane and edit only in Nvim... I've seen an Emacs plugin that allows one to see the SwiftUI preview right in Emacs. But that's GUI Emacs. And I'm all terminal NeoVim.
Anyway, I've been busy. My wife keeps telling our friends that I'm working more now when I don't have a job. And it feels almost right. I did code to exhaustion in my last months before getting restructured away. But that's a sad story that a lot of developers (and other workers across the world) share: you can work as hard as humanly possible and still be an number that's too big in a spreadsheet.
20 Jul, 2023
Had my birthday loop recently. That probably explains these thoughts...
Birthdays are stupid. So are new years. A birthday - if you think about it - can only happen once. There is no real way to be born and then to be born again. Yes, there are born again . But for those people it's just a way to translate the significance of what happened to them. No actual birth was happening when someone re-discovered Jesus. Also people coming back to life after a clinical death are not born again. They are saved, medicated, doctored from a near-death experience.
Birth is a very specific process. At least for humans. We all know (I hope) how it happens. It's extremely physiological and concrete. We can argue about the soul, the mind, vim vs emacs but we cannot argue about the actual process of being born or giving birth. So knowing that we must know that you, me, everyone get one birthday: the day when your mom pushed you out through pain and suffering. Or maybe you've been pulled out like me but these are details. Still happened only once and will never happen again.
Now. New years. Stupid. Just a thing that someone invented and everyone followed along. A way to count.... something I guess. The idea itself is okay. We've got a lot of this kind of not-real things humans came up with to make life measurable. But a new year as an event? I lived in Thailand for a few years. We had three new years in one... year? See? Already confusing. There was the Chinese new year, the Thai new year and the boring ol' 1st of January new year (aka let's spend the night eating as much food as possible, cause why not). So it's a hack. You can have it every day for all I care. If you like celebrations the new year is great but it still makes no sense.
What makes even less sense is the new year's resolutions. BTW, when I was 15 or even 20 years old there were no resolutions for new years. No one made plans to start exercising and quit smoking. We just ate all night and then had a full fridge of leftovers. And that was the new year. The new year tree (yeah, it's not a Christmas tree where I'm from) was disassembled or thrown away. People went on with their unhealthy unproductive gray post-soviet lives. BTW, there was (and still is) an old new year. So I guess when I was in Thailand I've had four new years to celebrate. Like I've said. Stupid.
So how to fix this mess? Of course I have a solution. Why else would I spend time writing this down.
Hear me out.
The only new year that makes sense to celebrate is your new year. Your personal new year. You lived for one more year and you're starting another year. So you're getting a chance of living some more. So instead of having a birthday, you're having a new year. When you wake up that day you're thinking "my new year is starting, should I do anything differently?". And that's when you do your new year's resolutions. On your personal new year. Not with everyone else on 1st of January.
I am not saying we need less holidays and reasons to celebrate. We just need to celebrate things that make sense even more. The nonsensical celebrations are basically cheat days to be free and silly for a second.
10 Jul, 2023
Dark background. Dark thoughts. Tokyo nights.
It's been more than a month of me not working. Cause I don't have to. Cause I've been restructured away.
This if fine it happens everywhere now. I was really sure I'm super valuable so it can't happen to me. Well. I'm not that valuable and anything could happen to me. This is at least a good reminder of that.
I have been busy though. I haven't just spent this month watching Netflix and thinking how everyone is wrong and how everyone will be sorry they don't have my brilliant mind now. Nah. Not my style. At least not any more. Not at the moment.
I have been coding. At first it was frantically doing exercises. LeetCode style. Interview style. Trying to remember the data structures I've never used in my actual professional life. But then I've gotten into this grove of things: work on the 8086 simulator, read on a data structure or an algorithm that actually sounds interesting, try to implement it, try to learn from it, read a book, make notes, go through some Anki decks based on those notes, have dinner, read some fiction, sleep, wake up, workout, repeat.
I have been growing my interest in all things computer. Like that time when I was a little boy and didn't have a computer and had to watch at computers in movies and TV. I was really interested then but I didn't know how to learn.
So it's been kinda both stressful and valuable at the same time. I have time to just look at some functions, try different languages, do weird shit. I'm still stressed that I don't have a job. I'm still stressed that I feel betrayed and left behind. I'm still stressed from not knowing what will next month look like. But this last part is really dumb. I didn't ever know how next month looks like. Or next day. I had assumptions. Now I just have less of them and it's making me nervous. But also... free in some sense. It means there's room for anything. Even for something good.
Anyway, if you want to read something more coherent slide into my LinkedIn. I've been also writing articles there for nobody really.
Here? Oh I'm writing this for myself. I suck at journaling cause I write slower than I type. So here. I type.
13 Jun, 2023
My ex-colleague has started a blog. Or maybe the blog was always there and was simply waiting for my ex-colleague to get re-structurized out of a full-time employment (together with me). But anyway, the blog is good. It has topics on gamedev and software development in general. It has even a serious analysis of the dating sites/apps industry with constructive criticism and words like "grit" and "idealism". It has pictures and videos of the work he has done. And it only has four posts at the moment. And it made me scared and jealous when I saw it.
How I found out about the blog is that I've received a message from him with the link. And I've read it and recognized the smartness I had to deal with on the daily basis for the last two and half years. "I have a blog too", I thought and sent him my link. But then I've started thinking. When people, potential employers for example, see his blog they will read the thoughts of a smart and experienced engineer who's passionate about software development in general not only in his 9-5 (or in his schedule 11-whenever) time. And when they open my blog they will see random thoughts, bare emotions, typos riding typos into the typos, sometimes tech related stuff, complaining. And don't get me started about the UI/UX of his blog vs mine.
So I've jumped out from my sofa and ran to my computer chair (well, not my chair, I'm renting the apartment with everything in it) and was about to delete my blog, create something nice and technical, with links and screenshots. And then I though: "Wait! You are how old? Put the console down and go have some tea, you idiot!". (Yep, I call myself idiot, I do it a lot). If people see my blog and think that they don't like it, it means they would probably not like me, the author, as well. I'm me. I think how I think, I write what I write. I am full of emotions and failed attempts of being a writer, a musician, a crossfitter, a ninja, a lead singer and many other things (yes, I'm that old). I've created my blog the way I wanted it to look and feel. It's not the reflection of me but it gives a reader a glimpse of the original. I didn't invent a smart and funny persona, I didn't post more about my good days. I've just... shared. I share a lot. That's what I do.
In closing. (Yep, stole this phrase from his blog). This blog stays. Until it's not needed to me anymore.
26 Mar, 2022
You wake up. Small and transparent. And weak. And everything and everyone are bigger and pushing you down and away and out. And you find your heroes. Someone who gives you power. Someone with big shoulders to stand on. You find them in movies, books, playgrounds, dreams, school, music. And then they help you grow and not end it too soon. You cry with them and laugh with them. And they don't know you exist but they fell you exist. And then you get older. And you get to see them die one by one by one by one. And only after they are all gone and your world is shattered and your heart is fucking broken. You get to die too.
19 Jan, 2022
The human brain: so powerful, it can talk itself into killing itself.
29 Nov, 2021
And here we are friends, in 2D. Everything is in 2D. Even the cashiers in the supermarkets are behind a wall of clear plastic, imitating a screen. Don't worry. It's just like a Zoom window. Don't forget to unmute yourself.
Flat faces, muted claps, thumbs up, raised hands.
Click to buy, click to share, tap to subscribe, slide to fuck.
The EPOCH keeps increasing with the same speed while we are balancing between our virtual life and our virtual work, while we're paying with pixelated numbers for pixelated art, while we're learning how to hustle, how to live purposefully, how to eat mindfully and exercise correctly... from nineteen-year-olds.
Where's your mask? Where's your QR code? Where's you ID?
Wash your hands, wash your clothes, don't touch, stay away, stay safe, stay home, stay 2D on someone's screen. Don't forget to unmute yourself.
10 Aug, 2021
I get motivated from watching other people work. Even if it's
Randy banging on a keyboard and yelling at a badly rendered 3D figure. I will watch his video and immediately want to code something myself. Most of the time it's... work stuff but sometimes it's a graphical timer written in C or yet another web app for budgeting, guitar training, progress tracking...
I even get motivated by reading about other people's work. I've been recently going through "The Dream Machine" and the prologue itself made me excited about getting back to the good ol' 'puter and program something new and exciting (probably a bugfix for that pesky browser back button).
And now I'm thinking. I get motivated by seeing other people doing stuff. And since I'm definitely not special, others are motivated the same way. That means... A long-long-long-long-really-freaking-long time ago there was a mutated monkey standing upright twiddling its thumbs, cause what else are they good for. But unlike all the other mutated monkeys it's suddenly started to do something... creative. Maybe a rock was looking less like a rock and more like a.... round thing... that's really good at rolling, so if you bang it against another rock to make it even more round like... Nah, it wasn't probably the wheel or a wheel at first. It was probably something to do with sticks... That's it, the monkey was making the world's first ever shit-on-a-stick! It doesn't really matter, the point being, it was doing something creative. Not working, but creating.
And there were several mutated monkeys standing beside the creative one. They were all twiddling their thumbs of course, thinking: "What a waste of thumbs twiddling thumbs..." And maybe even yelling something loud in a primal feat of existential rage: "Stop being creative! It will all end badly!" And there was probably on more mutated monkey, probably the one in the back row, that was feeling that it too wanted to attach shit to a stick. It was itching to try it and it did. And then it did it another way, or tried to attached two shits to one stick and then two sticks to one shit...
I am pretty sure that this whole creativity bit started like that. And now we have computers that can show us videos of other computers dancing. None has any wires attached.
05 Aug, 2021
This is one of those posts when I'm feeling all smart and stuff cause I have discovered this magic thing called water.
But I do want to write this down. For the sake of writing it down.
I've been thinking about success lately. My success. Humble, not-generating-any-headlines success. And also failures. Cause you cannot have one without the other. And I've noticed a theme. I have been successful, in a big life-changing way, twice: 1. I've became a software developer (a coder, a programmer, a question-mark-shaped-button-pusher, an engineer, although that last point is still being argued questioned and laughed at by the real engineers); 2. My fitness level at 37 is not... terrible, especially for being a professional benchwarmer (I literally get paid for sitting on my ass... productively). I have also failed so many times, that my ego won't let me give any examples here publicly (also, it's boring to write and read about things-that-could-have-happened-but-did-not). But one of those: I wanted to be a writer. As in, writing fiction, stories for people to read and enjoy. I've spent 5 years doing that (writing daily in the mornings and sometimes evenings, making everything else second priority to my writing, etc.). I wrote one good short story and got published and got me _some_ very-very-very-very narrow recognition at a retreat for young writers (I wasn't 37 back then, more like.... 31).
And I think I know why success happened and why failure happened. In those particular cases. It's easy... and a bit hard to admit. But, I've became a professional software engineer because I liked coding. I wasn't good at it, but I liked the process. I was getting into the mythical flow state, I was losing track of time, I enjoyed reading computer science books instead of a yet another Stevie King's novel. I didn't care if I ever become a software engineer. I just wanted to code. And when I got an opportunity to do this _and_ I got paid for it... well, that just meant that now I can write code even more! No worrying about paying bills, helping mom, buying shit I don't need to prove to myself I'm not poor anymore (oops, psychological problems overflowing, must. stop. must. focus.) I am also one of those weird mutant people that actually truly enjoy working out. As in, intensive, "I is gonna puke nowz!", working out. Not because I "want to look good nekkid" but because I really-really like the process, how I feel during the time I workout, how I feel before, after. And it's the same deal as with programming: I enjoy reading training manuals and memoirs of some coach or athlete, I read through forums on muscle-building obsessed websites, I spend more money then the most people on things like supplements, kettlebells, resistance bands, push-up handles, ab-rollers, massage and mobility doodads. I even had an olympic size barbell in my apartment. Apartment! Like, small one! (The length of an olympic barbell is 220 cm and it weights 20 kg... and if you don't understand the metric system... I mean, it's 2021... there's this things called science... anyway... enjoy your new pickup truck).
And I failed as a writer cause at some point, quite early actually, I've stopped enjoying the process and started pursuing this vision of... me being a famous author that people recognise on the street, come to book stores to meet and get a signed copy of the latest super-bestseller that only my brilliant mind could produce. And it's very hard, at least for me, to do anything good enough if I don't enjoy the process and only looking for the rewards, the outcomes of that process. It's like washing dishes... I'm not going to concentrate and make sure every plate is clean and rinsed and dried and placed in a correct sizing order on a correct plate holding place... I'm just going to rush through it and then wonder the next day why the food tastes so soapy.
I guess the morale, if there is any, is that: enjoy the process. And if you don't enjoy the process, don't bother hoping for great things to happen. Also try to bail out and try something else. Or even a crazier idea... maybe try to learn to like the process you're already doing. Maybe stop waiting for the pay day. Is it possible? I don't know. I've hated programming for many years (yep, when I was the brilliant writer no one knows about), I've found a way to enjoy it again. The outcome doesn't really matter. It's the same for everyone. There's no surprise ending. You're not in a M Night Shyamalan's flick.