Nice blog where can I subscribe

Suomalainen Dvorak-näppäimistö / Finnish Dvorak keyboard layout

03 August 2017

Finnish Dvorak layout

(click here to skip to English)

Olen jo useamman vuoden ajan kirjoittanut Dvorak-näppäimistöasettelulla tavallisen QWERTY:n sijaan. Vaihdoin alunperin lähes hetken mielijohteesta erään irkkituttavan mainittua käyttävänsä Dvorakia joskus 2010-2011 paikkeilla. Ajatus ergonomisemmasta kotirivistä oli houkuttava, ja saahan Dvorakilla nyt enemmän hipsteripisteitäkin, kuin QWERTY:llä.

Ongelmana vain oli, ettei suomenkielistä Dvorakia oikein ollut olemassa, ainakaan miltään “viralliselta” taholta. Netistä löytyi pari olemassaolevaa layouttia, tosin nykyään niistä enää ArkkuDvorak näyttää olevan olemassa. ArkkuDvorakissa on vähän, tai oikeastaan todella pöljästi aseteltu Ä ja Ö -merkit samaan näppäimeen, tuohon <>| -näppäimeen Z:n ja Shiftin välissä, siten että napista tulee tavallisesti Ä ja shiftiä painamalla Ö, ja noiden isokirjaimiset versiot jostain AltGr:n takaa. En tykännyt ideasta lainkaan, joten päätin tehdä oman Dvorak-variaationi.

Read more

irssifying WeeChat

19 March 2017

After long hours spend messing with the settings, here's how my WeeChat now looks like

I recently changed shell providers from to myself, and with that I changed my IRC client of choice from irssi to WeeChat.

I didn’t go all cold turkey; I’d already used WeeChat for about a year as a secondary client because it has a really good bouncer-esque proxy thing that lets you connect mobile clients (or regular clients, if you so desire and find one that supports it) to the main WeeChat client. This gets me mobile IRC, with my main nickname and backlog and everything, without having to deal with the annoyances of mobile SSH. It really is a great feature, and is by itself enough to make WeeChat better than irssi in my books.

There are some other nice features, too, like the support for graphical client-like nick- and channel lists, better search functionality, a more robust and interactive UI (you can, for instance, scroll the topic bar with hotkeys so you can see long topics without typing /topic), better scripting language support, etc. There’s mouse support, too, and it even works over SSH (I didn’t know that’s even possible), if that’s your thing. I don’t use it. Ultimately it’s fairly minor stuff compared to the convenience of the mobile client as far as I’m concerned, though.

Even then, I had an itty bitty problem with WeeChat: it was butt ugly out of the box.

Read more

Blog migration to Jekyll

19 March 2017

Hello my inexistent readers.

I worked hard yesterday and today to set up Jekyll and migrate my blog from Tumblr to the same server the rest of runs on. It’s finally more or less finished now.

Jekyll is a Ruby-based simple CMS solution that generates static webpages out of a mixture of various configuration and content files. Compared to WordPress and its ilk, it’s very lightweight, secure (it uses no web-facing logins or databases or anything), and easy to set up and use. The main con is that all the content is statically generated, and updating it requires regenerating the entire site from scratch. It’s not a big deal because it takes like 0.3 seconds, but it does mean that you can’t just log in to an admin panel to post new things. Posting requires writing the article locally (using Markdown, a syntax that I used to quite dislike, but have since come to accept that it’s good for what it does), then recompiling the site (using a virtual machine, because all these hip development environments like Ruby are always a pain in the dick to set up on Windows, and almost as much of a pain to set up on Debian-stable because the update cycle on these things is a little too fast for Debian to keep up with), and then uploading the product to the server.

In other words, it does exactly what I need it to do, and I’m okay with compromising on a little ease of use if that means not having to install the GAPING_SECURITY_HOLE that is WordPress.

The main hurdle with these things is always getting a nice blog theme. The stock themes are usually pretty ugly, so I always find myself doing a lot of tweaking to the layout of the site until it looks exactly like I want it to. This time around I based the theme on the Tumblr theme I used on the old blog, because I quite liked it. As a bonus a simple single-column theme like this is very easy to implement; it “only” took me like 10 hours of work to make this one. I’m not very good at web design.

This Jekyll deployment is missing some of the more fancy features the Tumblr blog had, notably comments, but I don’t need those. And since no one but me reads this blog anyway, my opinion is the only thing that matters.

A thing I hate: the concept of opportunity cost

28 March 2016

In a series of things everyone else probably hates too.

A common fallacy I hate seeing on the internet, among all the other fallacies on the internet, is misusing the concept of opportunity cost. This commonly crops up in MMORPG discussions, used by people who are obsessed with amassing virtual wealth, and probably read Economics For Dummies or something thinking it’d help them to that end.

If you don’t know what opportunity cost is, it’s the age-old economics adage of “time is money” taken to its logical extreme. It refers to the lost (or gained) potential profit when choosing between actions A and B with different profitabilities. In simple terms, unless you are spending your time doing the most profitable thing possible, you’re wasting your opportunity cost. The fallacy lies in — typically of economics — oversimplifying the situation and assuming that the potential profit is the only thing one should consider when comparing activities.

The typical opportunity cost fallacy in internet context goes something like this:

Guy 1: I can’t figure out how to make money in this game, anyone got any pointers?

Guy 2: Start by doing your dailies for a little bit of easy income. If you need more, level up a gathering profession; even low-level things like Steelium Ore are in high demand and are easy to gather.

Guy 3: NOOOOOOOOOOOO! That’s a complete waste of time! Get at least three extra accounts for max skill crafting mules, and use your crafting profits to buy out all competition at the auction house and relist their goods at a higher price! Alternatively get a minimum wage job at McDonald’s and just buy gold from the Chinese. Think of the opportunity cost!!

Dear Guy 3: stop immediately.

Here are some examples of situations where the concept of opportunity cost is a worthwhile consideration:

Here are a couple of examples of situations where the concept of opportunity cost is ABSOLUTELY FUCKING DISGUSTING and should be killed forever:

A comic to go with the post:

Force a program to run as non-administrator even if it has the requireAdministrator flag set on Windows7/8/10

18 February 2016

A pet peeve of mine is programs that want to run using administrator rights even though there’s no need for them to. This is usually caused by the developer of the application being a retard and setting the requireAdministrator flag in the program manifest. In most cases this is completely unnecessary, a security issue, and most importantly causes annoyances such as push-to-talk not working for VoIP programs running in the background when the game window is in focus.

Windows has no easy way of blocking this, but there are a number of hidden ways. Here’s a couple of them:

1) A batch script that invokes the program using a special flag. Save the following as runasuser.bat or something:

set __COMPAT_LAYER=RunAsInvoker
start "" "%~dpnx1"</code></pre>

Then either drag-and-drop the executable you want to run as user on top of this .bat file, or open Windows Explorer and type shell:sendto in the address bar and put the .bat in this folder. Then you can right-click the executable, and select the .bat file under “Send to” to run it as user.

2) A registry edit that adds a context menu option for this (courtesy of this SuperUser thread):

Save this as a .reg file, then run it. You should now see “Run without admin rights (UAC)” in the right-click dialog menu of executable files.

Windows Registry Editor Version 5.00

@="Run without admin rights (UAC)"

@="cmd /min /C \"set __COMPAT_LAYER=RUNASINVOKER && start \"\" \"%1\"\""

3) Use a tool like Resource Hacker to manually change the requireAdministrator flag from the program manifest to asInvoker. I can’t be arsed to document this right now because you really should just use the above two methods.