The LSP Revolution

Remember the days when you had to look for plugins for your editor to support your favourite programming language? Or even the language that isn’t your favourite, but which for some reason you need to write in? Well in case you didn’t notice, those days are gone. They aren’t “long gone,” but the are gone. I thought they weren’t gone, but they are. Gone. For real. Because there’s LSP.

Continue reading “The LSP Revolution”

Bargaining with my left-wing indulgence

Yesterday I read Rutger Bregman’s excellent opinion piece in The Correspondent, and today is Tuesday. Tuesday, in my household, is the recycling day. Why Tuesday? Because the island we live on only has 2 paper trash containers. They are emptied on Tuesdays midday-ish, so on Tuesday evenings I pack all the paper trash in the house (along with all the glass and plastic) into the trunk, and I put them into the container before it gets full (it’ll be full by Wednesday night at the latest). And then, feeling that my duty as a responsible, eco-conscious citizen has been fulfilled, I reward myself with a short drive over to the Polish store in a different part of town, where I buy 4 cans of Poland’s finest honey beer.

A-HA! But hold on there just a second, why did I put trash in the trunk? (Ok that’s an easy one, because it’s bulky and I don’t have a bakfiets) Why do I drive, especially in a city like Amsterdam? Why do I even have a car? Didn’t Bregman write just about that?

I’m talking about the idealist who, as soon as personal responsibility comes up, starts shouting that we have to talk about the structures before anything else. That we first need an analysis showing that it can all be blamed on the fossil industry and the multinationals, advertisements and algorithms, capitalism and neoliberalism – anything and everything that lets us avoid looking in the mirror.

Ah, so it’d seem all the French and American socialist thinkers of the XXI century have been lying to me all along! I do have to change my ways!

But to what degree?

Continue reading “Bargaining with my left-wing indulgence”

Bad Weather

Much like many other people, I dislike rain and cold. Sadly, where I live, autumn and winter weather is often exactly that: rainy and a bit cold. But it’s not that bad, and in order to stop feeling bad about it, I configured all my phone weather apps to display, apart from the weather for my current location and my hometown, an assortment of places where the weather is much worse. 

The purpose of this blog entry is two-fold: one, I want to show people living in A’dam and similarly depressing cities of Northern Europe that they have nothing to complain about, two, I want to share my bizarre passion for finding places with truly abhorrent weather. 

Continue reading “Bad Weather”

Intel supremacy days are over (it seems)

Hey, remember when you could buy a computer, or a workstation, or a server, that didn’t run on x86, or at least Intel? Remember those violet Sun Fire servers with SPARC processors? How about AMD Athlons and Opterons?

Some weeks ago I read an insightful article about the “untimely demise” of workstations and how the rise of commodity hardware killed vertically integrated, high-end computers, the same way it killed non-x86 servers. HN comments section came up with many explanations and arguments as to why this happened, naturally, but no one disputes the fact: even on the lower end of consumer desktop PCs, Intel reigned supreme for decades. Until now.

Continue reading “Intel supremacy days are over (it seems)”

Software utilities I cannot live without

CLI:

  • jq: you don’t need anything else than this to manipulate JSON data. Well perhaps gron if you need to grep through JSON, but for anything else jq does the job.
  • autojump: it’s a utility that learns path patterns in your filesystem. So if you frequently visit a very/nested/directory/with/long/path, all you have to do is j foo where foo is any part of the path name, to “jump” there.
  • fzf: a fast fuzzy finder. I use it with my shell (for browsing command history) and vim (for finding files or, yes, browsing history). I recently realized I rely on fzf to such a degree that I stopped writing down complex commands anywhere, I just enable maximum history size in my shell and fzf takes care of the rest. And yes, it’s that fast.
  • rg/ag: you can use either of those to search for a string in a given directory (recursively). Both utilities are very fast.
  • mc: I’m old ¯\_(ツ)_/¯

macOS:

  • divvy: of all the “tiling” window management utilities for macOS, I found divvy to best suit my needs because it’s simple and I can assign keyboard shortcuts to position windows on a grid. And it lets you define that grid, with padding and all. Unobtrusive, simple, fast, and just works.™
  • pastebot: the best clipboard manager for macOS.
  • backblaze: not a “utility” per se, but an off-site backup solution that, again, just works. It’s very simple, flat rate, reliable, and it backs up your whole drive and any external drives too, if you wish. They never let me down.
  • timeout: I can’t live without this in times of corona. Normally, you go to a meeting room every now and then during your day, or you go grab a coffee with your colleagues. But working remotely I notice I have a tendency to just sit my ass down for hours, and not move at all. Time Out reminds me to stretch for 15 seconds every 30 minutes, and to get up and walk around the house for 10 minutes every hour. You can of course customize everything in this app.

The Four Stages of Staycation

Planning

I’m gonna read a book a day. I’m gonna go through SICP (including all the exercises) and Kurt’s new Haskell book. I’m gonna learn how to play bass. I’m gonna buy that wardrobe for the guest room so that we could get rid of the ugly coat hanger there.

Depression & self-loathing

Weather is really shit, I should have and could have gone somewhere nice. COVID-19 situation in Spain cannot be as bad as they say, people travel after all. Can’t get drunk in a pub with Ivan and Félix. SICP is really hard. Haskell tooling sucks. Bass arrived, I tried playing scales; it’s really hard to press those thick strings. I wish I could have a bass with violin strings (wat). Laptev Sea hasn’t frozen and Donald Trump could still stage a comeback (again) (why do I even pay for that subscription). Oh and my homeland is on the verge of a civil war, it seems. I don’t like the novel I’m reading now, it’s very disappointing even though it’s written by one of my favorite authors. And Karolina recommended it to me, it’s all her fault.

Everything sucks.

Continue reading “The Four Stages of Staycation”

How not to interview software engineers

  1. Don’t ask them to do an overly time-consuming assignment, unless you’re going to pay them. If they need to spend more than a couple of hours and you expect the solution to ship a full suite of tests, you’re doing it wrong.
  2. Live-coding is fine, but tell them in advance. Some people get very stressed during those interviews, so make sure they can prepare, technically and emotionally (also they may need a drink or seven, which I think is totally fine).
  3. Don’t make the live-coding or any technical interview into a dick contest. It’s meant to test your candidate’s coding and thinking, and to be a discussion about technology, programming, and software design. You’re not there to prove the interviewee wrong or to show them who’s smarter.
  4. To that point, try not to make it about a particular programming language or a particular technology. Make it generic, skills are transferrable. (There are exceptions of course).
  5. Don’t come to the interview unprepared. Have a plan for what you expect from that interview and, ideally, tell it to the interviewee.

See? Not that hard, or at least it shouldn’t be. It’s unbelievable that only few companies are able to heed to that advice. Remember that if you’re a software engineer involved in recruitment, you have a say about the design and execution of this process.

Be an agent of change! 🙌

Yes, I’ve been interviewing recently. I went through many interviews. I am astounded how many companies fail miserably at recruiting.

Contesting

In fact, tried and tested is the best. Here’s a list of the top TV series, for example. Notice that the #1, Breaking Bad, ended in 2013. If people are still talking about it after so many years, it must be really good. Whatever effect marketing or “coolness” have has dissipated after some years.

Enjoy the Best, Not The Latest, Media – Kartick’s Blog

I’ve heard this sentiment before: “I don’t go for the latest, I only read classics.” Or: “There’s no point in wasting time on new TV shows, just watch ‘The West Wing.'” Admittedly, there’s value is coming back to classics, be in literature, music or movies and television, but while being a safe option, it leaves little room for formulating one’s own opinion. No matter what people say, it’s hard to approach “The Brothers Karamazov” with a “clean slate” sort of mind, unless of course you haven’t heard about it before (which can’t be the case if your goal is to reach for the classics).

I say: don’t.

Go to the contemporariest of contemporary art galleries, watch latest movies before you get the chance to read their reviews, read latest novels. That way you can contest, evaluate on your own, be part of the community that establishes what is to become “a classic,” what is good and what isn’t. Or better yet, screw the community and formulate your own judgments.

Experiencing culture without being able to contest it kills half of the experience.

“Twilight of Democracy”

Here’s what’s good about Anne Applebaum’s new book: it’s anecdotal in all the right places.

Note the soft carpet of my living room and the greasy fingerprints on the cover.
That’s realism for ya.

This is a book that attempts to explain the authoritarian turns across Europe and in the United States, and Applebaum, as you’d expect from her, provides a convincing, well-reasoned and insightful explanation as to why they are happening. And since she’s a well renowned international journalist and a wife to Poland’s former minister of foreign affairs, she’s been at the center of many of the important political events of the last decades (hence the anecdotes). It’s a very good book, well worth a read if you’d like to get a better understanding of what’s going on with the world, and it’s so up-to-date that it even covers the beginning of the pandemic.

One caveat though: Applebaum is what American political scientists would call a neoconservative, and thus her view of the events of the last 20 years is McCainy a bit. It’s not wrong and I’d say she keeps relatively neutral. But if you want a very different take, try Monbiots “How did we get into this mess?”—a worse book, but a somewhat fresher (i.e. left wing) view on things.

Ah and one final note: this book is short. Not too-short short, but short enough for people like me who use Piketty as a monitor stand. Digestible, that’s the word I was looking for. This book is digestible for software engineers.

VS Code

The best, most entertaining and immortal topic in software engineering is back! Editor Wars!

After reading Roben Kleene’s blog post I realized that I’ve been using VS Code all-day every-day for over a year now. I’m not willing to admit it because in my mind I’m a die-hard (n)vim user, but the reality is this: VS Code is brilliant. Kleene makes many great points about key ingredients of VS Code’s success (popularity/MS backing, plugin ecosystem, client-server architecture), and you should read his post.

Then today I read about “modernizing” Emacs, I saw the discussion on HN, and this comment in particular made me think:

I think VSCode is more than yet another editor, it’s more than what Textmate and Sublime were. There are two major reasons.

Continue reading “VS Code”