This is a stream/feed/river (or whatever you want to call it) of short posts that I write over time. If I feel like it I also repost to my Mastodon and/or Twitter account. Such posts are marked with and/or , respectively.
Comments, likes and other responses to the posts can be shown after clicking on . Add your responses too!
Alexis King gave a killer presentation about Demand and Suspension in Haskell (aka the strictness analysis/optimisation). I can't recommend this enough, it has completely overwritten how I think about Haskell evaluation. It makes me think that strictness/laziness annotation in Haskell programs is actually possible (more precisely it would be called the demand annotation 🙂).
Since January 2019 I'm on Mastodon and since early 2020 I'm using Matrix and IndieWeb standards. And I am really happy to see that decentralised protocols are finally gaining some traction on many fronts. Meta has been rumoured to play with ActivityPub in with their Project 92. The EU through the Digital Markets Act (DMA) will force important online players to adapt some degree of interoperability by March 2024. This might finally (and I hope slowly) start the new era of decentralisation of social networks.
However, this requires a mental shift in how we understand and practice our online interactions. There is a nice article about this at the Atlantic: Ben Franklin Would Have Loved Bluesky, which draws an analogy with how it was also initially difficult for Americans to get used to their new constitution, back in the 17th century.
I like this blog post by Alexis King about types in Haskell. In particular the way she argues that "
newtypes are not for type safety" and that the type system should be used pragmatically, as a tool. It makes me think if I'm also guilty of using types too dogmatically sometimes, rather than solely pragmatically.
This was previously only possible by using GHCJS which was a fork of GHC, a couple of versions behind GHC in features, etc.
And now Pocket tells me I'm one of their top 1% readers! Wow, I didn't really think I read all that much. 🙂
My Deezer 2022 statistics surprised me. I listened to 7987 different tracks, out of which 5289 I discovered this year! I listened to 58286 minutes of music (i.e. 971 hours), which makes me a top 3% streamer. I also listened to 2675 different artists, with the most popular five:
- Joseph Trapanese
- The HU
- Bear Mc Creary
Joseph Trapanese and Bear Mc Creary are there probably for their The Witcher and The Rings of Power soundtracks, respectively. And Deezer says that I'm a "superfan" of Samarabalouf.
Lastly, I've listened to 331 hours of music from the USA, which is a bit more than I expected. I wouldn't necessarily count in the serbian-style Emir Kusturica & The No Smoking Orchestra :-)
The shocking thing about getting a laptop in 2022 is that its suspend works worse than what I was used to, in a laptop from 2015! Current laptops often go to sleep but then overheat and completely drain battery. It took me a while until I understood that in the latest Windows laptops the firmware does not support S3 sleep anymore and instead only implements S0 sleep. The point is that then the default sleep on Windows is the so called "Modern Standby" which is not really a sleep mode but instead makes use of a low-power mode of the CPU and allows Windows to update itself even when the laptop is "sleeping"... (LTT made a great video about it)
The worst part about all this is that because of Windows' poor implementation of updates which requires this hack, linux users have to suffer too as this is all done on the firmware level and can't be disabled. And it doesn't even matter much which brand of laptops you get. Basically all new laptops are affected by this.
It seems that I've managed to find a solution to this on Linux. Ubuntu 22.10 runs on a version of the Linux kernel that somehow magically prevents the overheating and battery draining during "sleep" in S0. However, I'm running on Ubuntu 22.04, which is a version with long term support, and I do not want to upgrade from 22.04 to the "unstable" 22.10 release. From what I've heard the new kernel is going to land in 22.04 only a few months before the next release. Since I don't want to wait that long, I've decided to to upgrade the kernel myself. This used to be quite complicated in the past but I found that there is an excelent tool called Mainline (Gtk) which allows you to do just that with a few clicks of mouse!
To whoever says that Microsoft loves open source I have three words: Microsoft Exchange Online!
What? Google Drive refuses to let you download a file until you enable third party cookies! What the heck?
The new online #EU legislation, the DMA, is a very good reason to be proud of the EU this time around. Although, it's not perfect, we're setting the right trend.
I'm usually against laws that aim to completely change some industries from ground up, instead of doing careful incremental improvements. However, this needed to happen at some point because the key global players failed to do the right thing over and over again, in exchange of some parts of their profit. Playing nice is not cool, so we have to make it mandatory.
Next target, repairability!
Well-written explanation of what Apple's policies do to the internet ecosystem. (All arguments supported by evidence.) The conclusion is quite clear, here are some key points:
... there's reason to think that Mozilla would not have suffered layoffs if Apple were an ally of engine choice. Apple's policies have made the web a less compelling ecosystem, and its anti-competitive behaviour has driven up costs for browser makers while starving them of revenue ...
Okay, so I've added also
vim-startify to my NeoVim set-up and started playing with
fzf. This is precisely the reason why avoided plugins in the first place, there is no end to this. I will not do any customisations of my set-up for at least a month, I promise! 😅
Up until a week ago, the only Vim plugins that I was using were
lightline. It all changes suddenly and my no-plugin life I've been living since ever has changed upside down. Now I'm also adding
vim-vsnip. I would also use
telescope.nvim if had a higher version of NeoVim. 🙂