I'm starting a journal here to document what I've been up too. I'm hoping its going to spur me into doing more as I considering what I am going to write this month. It will be personal and probably not interesting unless you want to get to know me better.
I did learn Go in the end, I spend a good two weeks on it. I could see that it is a powerful language and I didn't exactly become an expert but honestly I got bored. If I wanted a high performance multithreaded webserver that I could write quickly, It's incredible. I was bit surprised how lazer focused it is on making webservers. You can do other things with it but it always felt like hacking. Another thing that put me off was that, although it compiled to wasm, the binary size was quite large (3mb minimum from what I can tell) because it had to compile its GC in with the app. On these notes I decided to suck it up and start learning rust again. I'm a little annoyed at myself for giving up on Go so fast after all the brilliant points I made last month, but it simply wasnt meant to be. A lot of the points that I wrote about leaning Go also apply to Rust, it's just that Rust is a lot harder but hopefully more powerful and flexible.
I find rust quite hard. I see a lot of people online saying it's not that bad but I struggle a fair bit fighting the compiler. Every variable has so much context to keep track of: its ownership, its lifetime, its mutability, its type, what traits it implements. Remembering to keep track of that is very alien compared to JS where I'm only concerned with it's shape and truthyness. The work I did with go was a nice stepping stone here.
I have read the book cover to cover twice, made my own app in leptop, done the majority of the rustlings exercises and now I'm about to starting working with wgpu (which is ultimately my final distination). I'm trying to trust in the process.
Dev3 is boring. React Native is awkward. I think I'm filling the gap with learning rust and collecting magic the gathering cards.
p.s. fuck winter
The website went live so I guess I got it done. It does infact use the Next'js app router with prefetching should be (and feel) very fast. Which is what I wanted. There should also be less resistance to writing now as I just make a new markdown file and if I want any custom components I can make them as jsx and import them. It's a system I'm happy with.
With the end of my Septemer I went on holiday to Madeira. Its incredible. It's essentially a tropical island with a hot european city plonked around the edges. The view from the tops of the mountains may have been some of the most beautiful I have ever seen. Holidays are always a great time to reflect on your life and what you want to do and with this I (and Lins) made some somewhat large decisions.
The first decision I made was that I'm going to put a lot of effort into learning the Go programming language and possibly persuing a career in that direction. I have many reasons but the main ones I can see are:
- I want to be able to code in a faster and more memory efficient way - It irks me that I have to write wasteful systems due to the ineffeciencies of the primary language I chose. I see Go running on a fraction of the processing power and think thats a lot closer to how it should be. On the other hand C and C++ memory unsafety seems like too much for me (although I see the advantages).
- Increasing TypeScript domination - I don't like TypeScript. I see the advantages for large teams but the hoops you have to jump through to make the compiler happy don't seem with the tradeoff for me. I see some absolutely mental type leveraging and I want nothing to do with it.
- I hope using a fast backend language will open the door to more meaningful work - Im sort of 'over' UI development. I was drawn to it because of a love of 'flashy' design and being able to see my work better but as I get older I think the real high impact work is so rarely front end. I think the nuts of bolts of server systems are where the innovations have the greatest impact and the UI is often just flash. I see the importance but I feel the need to do more 'engineering' type work. The UX importance of good UI is clear and I dont dispute that but often animations are gratuitous. Very few life changing products I can think of (only Uber?) have complex UI experiences.
While I was away I was dreaming of making youtube videos about the transition and learning period. A blocker for me is how I hate how I look and sound on camera/mic but everyone gets that apparently. It's mostly how I look. I have considered using some kind of rigged mocap system in UE5 to make a digital self/vtuber setup but I'm still figuring it out. I think it would be a fun project to work on.
Final holiday thought is after we are married renting out the house and trying digital nomading. Surprisingly this takes a lot of pressure off money because I means it doesn't make sense for me to buy a new car if mine breaks. I will likely just scrap it before we go. Tentative timeline is 1yr from now.
Winter feels like its here. Fuck winter.
At the start of the month we had just passed a big deadline at Dev3 so it took a little recoiling from that before I got in the swing of things again. I spent a huge amount of time this month gaming - more specifically playing Baldurs Gate 3. I have been waiting for year for this release and have been very excited to play. I decided, so that it wouldnt dominate my life for took long to try and complete it over the extended bank holiday. With some late nights and alarms to keep my cycle in check I actually managed it. Great game, legitimately a 10/10 for me but I'm a big fan of D&D so I was the exact target audience. Cant fault the execution though.
The rest of the month I spent catching up with sleep and errands and tackling small things like how I feel about god. This ended up quite a rabbit hole of self reflection and religious research. I learned new words like pantheism and panentheism. ChatGPT is surprisingly useful for this kind of research as it presents information really unbiasedly so you can drill down to some theory. I'm not sure I'm any closer to real answer here but I did get quite fixated on it and read a lot
I need to start focusing on work/project again. Money is an issue at the moment with me buying a house and getting married. To make matters worse my car is breaking and likely needs replacing soon. It is 16 years old so not unexpected. One goal for next month is to get a new website up and running. Probably Next.js app router as I love the link prefetching tech to make page transitions rapid. I'll have to migrate blog posts manually from ghost to markdown as my ghost blog has some demons in the code that are crashing backups. If youre reading this I succeeded as my old blog didnt have a journal.