µ-Posts
(What is this?)
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!
Previous | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Next
Massive news for #Haskell, its main compiler #GHC will soon have the option to compile to #JavaScript!
This was previously only possible by using GHCJS which was a fork of GHC, a couple of versions behind GHC in features, etc.
https://engineering.iog.io/2022-12-13-ghc-js-backend-merged/
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
- Samarabalouf
- Kalandra
- 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!
- Apple Is Not Defending Browser Engine Choice
Reshared https://infrequently.org/2022/06/apple-is-not-defending-browser-engine-choice/
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 lazygit
and 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 goyo.vim
and 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-easymotion
, vim-fugitive
and vim-vsnip
. I would also use telescope.nvim
if had a higher version of NeoVim. 🙂
Why have I not used #Vim snippets earlier? I especially like that with vim-vsnip I can have snippets to write other snippets :-).
Also the command :VsnipOpen
is really handy, to add/edit snippets on the go.
#inkscape, #latex, #tikz, #vim
I admire when somebody perfects their set-up of something they do regularly. When I was writing my thesis I needed to draw a few images and I didn't want to spend whole days of making it in TikZ by hand. For that reason I found out that I can use Inkscape with svg2tikz to draw the diagrams in Inkscape and convert the resulting SVG into a TikZ source. The caveat of this is that if I wanted to have LaTeX formulas in the Inkscape image and svg2tikz script would escape them, making them rendered incorrectly. As a simple fix, I just patched svg2tikz by changing what characters need escaping. All that was needed was to change the definitions
SPECIAL_TEX_CHARS = ['$', '\\', '%', '_', '#', '{', r'}', '^', '&']
SPECIAL_TEX_CHARS_REPLACE = [r'\$', r'$\backslash$', r'\%', r'\_', r'\#', r'\{', r'\}', r'\^{}', r'\&']
to just
SPECIAL_TEX_CHARS = ['%', '#', '&']
SPECIAL_TEX_CHARS_REPLACE = [r'\%', r'\_', r'\#', r'\{', r'\}', r'\^{}', r'\&']
This worked beautifully. I added a couple of simple bash scripts to automate the whole process but it wasn't anything fancy. I used this set-up a couple of times when making slides and also in my thesis where I only had 9 images, so why bother perfecting it further? :-)
Today I discovered this fantastic blog post by Gilles Castel, who takes a very similar approach to the next level. He doesn't use svg2tikz but instead uses the internal Inkscape tool that creates a TeX template to be included in the document. But then he creates a really smart collection of Vim, Inkscape and other scripts to make the process of creating SVG images, storing them at the right place, generating the required LaTeX code, and importing it where it's needed really seamless. It is really wonderful and if I ever find myself needing to create dozens of TikZ images, I'll definitely copy a lot from that approach.
I also highly recommend looking at Gilles's other blog posts, where he also explains how he streamlines his other LaTeX and research related tasks. Also, on the topic of TikZ, I also recommend quiver helps with making TikZ diagrams. For converting svg to TikZ there's also pictikz but I haven't tried that one before.
Just learned about F*. Looks very interesting. I wonder how it compares to Coq, Agda, Lean, ...