Ask me anything
For real. Ask. Anything.
Write a comment and I’ll add the question and the answer to this post. Comments can be anonymous, and even if you put your email I don’t store it anywhere, it’s only used for avatars (using Gravatar).
What’s your favourite book?
“Fingersmith” by Sarah Waters. There is an amazing screen adaption as well, directed by Park Chan-wook.
For someone interested in getting into Plan9/9front, where would you recommend they start?
Definitely the fqa first when it comes to installation and usage. qwx’s posts and sl’s stuff might be useful too. Then there are several groups that you can join to get some grasp of what’s cookin’, maybe learn something and get answers, which are 9gridchan, 9fans discord and #cat-v on freenode (I am not a member of the latter).
Seems like most people do that by reading K&R, so I’d say that’s the way.
I like 9front and plan9 and I want to use it as my daily driver. It is really distraction free and wonderful. However, my daily work involves doing something on a GNU/Linux box and use programming languages whose implementations are not in 9front. Long term, perhaps 9front would become popular enough that someone would port language runtimes into it. But what are any short term solutions to deal with this “mismatch”?
tl;dr use both GNU/Linux and 9front.
There are a few ways to go here, listed in no particular order.
- run 9front in a VM, connect to it through drawterm, all host OS files are accessible through
- run 9front on another computer and use
sshfs(1)to access your files on the computer with GNU/Linux
- run 9front on another computer and set up vmx` with GNU/Linux emulated
All these options may involve connecting to GNU/Linux using a combination of
vt(1) in a script like so:
#!/bin/rc vt -rab 'ssh -r <LINUX_HOSTNAME> tmux new-session -A -s 9front'
I myself use 9front running in a VM on OpenBSD or another one running on a desktop (when I have access to it) to write code (eg Java or Haskell). The idea is to use 9front as a full blown development environment.
What are your recommended programming books besides K&R?
Why is C your preferred language?
It’s very simple and provides a lot of freedom (including the freedom to shoot yourself in the foot ofc). It’s fast to (cross)compile programs in C, on any platform. Plan 9 C specifically is much better standard library-wise than POSIX so that is also a factor.
How did you get skilled with C? Was it constant practice? Going to C for solutions for problems?
It was constant practice and my work involved a lot of low level embedded programming so that helped as well. Later on switching to backend development made me keep C as my hobby and as a refuge for my mind of some sort, where I don’t have to deal with the “amazing technology” of today.
Now when I want to do anything I evaluate the possibility of doing that in 9front, and if it requires writing a new program there is a high chance I’m going to do that, and it will be in C.
What tips and tricks would you recommend to someone wanting to improve their C skills beyond what you wrote previous.
There is really not much to recommend beyond writing a lot of C, trying different solutions to the same problem to figure out the ones you like the most. One (perhaps uncommon) suggestion I have though: learn one functional programming language, it will help you reason better and might even change the way you write C a bit (to the better).
What do you do for work?
Mostly writing backend services in Go atm.
Why did you close down your Spotify account?
I don’t want Spotify to become The Music just as I don’t want Google to become The Internet, it’s not a good place. It’s impossible for small artists to get paid for their art on platform like Spotify. I want to be able to pay the artist for something I genuinely like, and so far the best way to do that was to buy their music in physical form (vinyl, tapes) or get their merch. Even downloading tracks in high quality from Bandcamp is better than nothing (Spotify).
Spotify desktop application degraded significantly over the years, to the point of being absolutely unusable. Using it with your local tracks is just terrible. There is no way to run Spotify on any low resource platforms like Raspberry Pi unless you’re willing to use unofficial clients that might stop working at any point because the company will just feel like dropping support for yet another protocol for no apparent reason.
Do you like reading fiction? What’s your favorite genre?
I do, but very selectively. Considering the skew, I’d say horror fiction would be my favorite genre.
Who would win in a fight?
A black hole would win any fight.
What forums, if any, do you frequent?
None anymore. Perhaps Mastodon is the closest to forums that I still read. Otherwise I prefer online chat with specific groups of people.
What do you like and dislike about living in Sweden?
I like the nature, the air. Not so much the cold that lasts for too long.
I love Allemansrätt because I like being outdoors a lot.
I’m not a huge fan of the language. I hate Swedish politics, racism (yes it’s all there, despite someone telling you otherwise) and white-cis-centristic ignorance. Swedish laws regarding any mind-altering substances (such as alcohol as well) and snus do not make any sense whatsoever. I only have hope for younger generations.
Have you tried learning Colemak or Dvorak?
No. I want to get a grid layout keyboard and experiment a bit though.
Like who? (“Otherwise I prefer online chat with specific groups of people.”)
9gridchan mostly, and 9fans discord. Topics do not necessarily include Plan 9 at all times.
Can you touch type?
Yes. With Swedish and Russian layouts.
What font is in this picture
It’s VGA. Default font in 9front.
If you’re dealing with a problem you can’t solve, and you hit a wall, how do you overcome? How do you get unstuck?
I usually switch to something else (for a few days perhaps), then try again. That clears up the mind from the past assumptions and forces me to kind of “restart” so I might notice something new (or old, if that’s a bug lol).
What are some items you’d consider BIFL (Buy It For Life)?
A stand mixer, coffee grinder, coffee maker, analog camera, amplifier.
What are some of your favorite programming books?
- Hacker’s Delight, Henry S. Warren, Jr.
- SICP, Gerald Jay Sussman, Hal Abelson.
- Learn You a Haskell for Great Good!, Miran Lipovača.
- Type-Driven Development with Idris, Edwin Brady.
- The SPIN Model Checker, Gerard J. Holzmann.
- Z80 CPU User Manual, Zilog.
Do you play any video games? If so, what are your favorites?
I’d say most favourite would be BioShock series. In general I play(ed) shooters mostly, so the list is long. Quake 1 and 2 are great, Half-Life 1 and 2, Unreal Tournament 99, Left For Dead 2, RTCW.
Beyond shooters I really liked Warcraft 2 and Starcraft, Don’t Starve Together, Need For Speed Underground.
What are your favorite board games?
Backgammon, Barjis (Syrian version of Pachisi), Clue, Luxor, Game of Thrones, of the ones I have.
What does your work station and bedroom look like?
You mentioned you do back-end development. Are you working mostly in Go? How do you like it? It’s no C, but is it worth learning?
Yeah, I write a lot of code in Go. I’m not a huge fan tbh (after going through functional programming) but then again I’d pick Go over any JVM-based one. It is worth learning. It’s very simple and prototyping anything in it is very fast.
Thoughts on Rust? Is it a meme, or do you think it’s worth learning?
On a more serious note:
- too verbose
- too complex
- the compiler requires a supercomputer to compile (fast)
- cargo is the new npm
- too much of “REWRITE IN RUST!” evangelism
If your work requires very fast and low resource applications running natively and there is absolutely no way you want to do it in C or Go, sure, try Rust. Otherwise: just say no.
Reason to use Rust: if you want to become popular and get lots of stars on GitHub, followers on Twitter etc etc, start doing useless rewrites and periodically post “C is insecure!”-style “infosec”-kind of quotes on social media. That seems to work for many people. And please don’t forget to use an anime girl avatar, that is very important.
Last update: June 26, 2020 11:45AM