Index | Archive | Tags | Atom Feed | RSS Feed

Splitting >4 GB ISO files for isostick

This is more of an archival post for myself since part of the documentation for [cached]isostick (a USB stick that can emulate optical drives) is down and the project does not seem maintained any more.

Since isostick only supports FAT32 filesystems, ISOs larger than 4 GB need to be split up into multiple parts.

Here's the explanation for how to do this from the now offline isostick forum:

The isostick can only read files from FAT32 partitions. Unfortunately, FAT32 has a maximum file size of 4GB. To overcome this, isostick can read ISO files which are split into multiple …

Kanji Poster

This weekend, I started building a Python script to make a poster using the 2200 kanji included in jōyō kanji list as well as the extra kanji covered in [cached]WaniKani.

Kanji Poster

I'm still experimenting with different ways of ordering and coloring the kanji; for now I've ordered them according to how they appear in Heisig's Remembering the Kanji, and colored them by the log of their frequency in some texts I had.

You can find an example pdf in my github project.

Debugging Android devices with adb on Ubuntu

Just some notes for myself next time.

Either download the [cached]Platform Tools package or directly install adb from the repository:

sudo apt install adb

If you are running Ubuntu, make sure that you are in the plugdev group (sudo usermod -aG plugdev $LOGNAME [cached]if not). You may have to create a udev rule to ensure the device is mounted under the right group.

To do so, create a file /etc/udev/rules.d/51-android.rules:

SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d002", MODE="0660",
GROUP="plugdev", SYMLINK+="android%n"

Where vendor and product id must match your …

Lonely Planet on Kindle - The Cheap Way

Lonely Planet guidebooks are nice to get a quick overview of a place, or find some things worth seeing and doing around where you are traveling. However, lobbing around an extra half a kilo or more isn't great.

I'm already carrying my e-reader, so wouldn't it be great if I could just save the relevant sections there?

However, while they do sell an official Kindle edition, I prefer using the paperback versions when planning my trip. So instead of buying it twice, I simple scanned the relevant pages at the office, then cropped them into a single paged pdf with …

VPN with Wireguard

Today I spent some time setting up a Wireguard VPN on a Linode VPS.

Overall the process is not too complicated, but there are some things I was confused about initially. Initially I followed the [cached]guide on the Linode website, but then I switched over to this excellent article: [cached]How to setup a VPN server using WireGuard (with NAT and IPv6).

My biggest confusion was about the distinction between the private IP assigned to the server/client within the VPN, and the externally visible IP of the server (the client does not need a public IP). Importantly, the …

Master one skill at a time instead of learning many at once

Every skill has both a cost to maintain and a cost to learn. Take the case of learning a language: You need to spend some time every day rehearsing vocabulary and grammar you already learned so you don't forget (maintain), then you can also study new words and grammar points (learn).

The maintenance is a fixed cost - you need to spend this time just to not forget what you already know. As you get better, this cost goes down. Either because you can integrate the skill in your normal routine - read news in foreign languages - or because it has become …

xmodmap and Umlaute

If you speak German but prefer using an English keyboard layout for programming (dvorak in my case), then you will frequently face the issue of how to conveniently enter Umlaute.

Luckily, there's an easy solution with xmodmap, just add the below to your .Xmodamp config:

clear mod1
keycode 108 = Mode_switch
add mod1 = Alt_L

keysym a = a A adiaeresis Adiaeresis
keysym o = o O odiaeresis Odiaeresis
keysym u = u U udiaeresis Udiaeresis
keysym s = s S ssharp

Where 108 is the keycode returned by xev for your Alt key.

Reading July - September 2018


Computer Architecture: A Quantitative Approach, John L. Hennessy and David A. Patterson. Great book covering low level details of computer architecture, from instructions sets, memory architectures to custom machine learning accelerators. I definitely recommend this for anyone with an interest in computing or software engineering.

The Age of Comfort, Joan DeJean. Interesting content, but way to verbose and repetitive. Stopped reading half way through.

Hight Output Management, Andrew S. Grove.

Why We Sleep, Matthew Walker. This book got me to take my sleep cycle a whole lot more seriously, there's hardly a night now that I sleep less than …

Remap Caps Lock to Tab

Don't want to waste prime keyboard real estate on a key you never use?

First, find out the keycode of your Caps Lock key: run xev, repeatedly press Caps Lock, note the keycode you see in the logs.

Next, create or append to the .Xmodmap file in your home directory:

clear Lock
keycode 66 = Tab

Where you replace 66 with whichever keycode you saw in the output of xev.

Finally, load the map: xmodmap .Xmodmap.

You can of course replace it with any other key as well, not just tab.

Ubuntu and Japanese Input

This is more a note to myself, but to easily type japanese on Ubuntu, install ibus-anthy (sudo apt-get install ibus-anthy), make sure ibus-daemon is running.

Then you can add Japanese in Anthy's 'Input Method' tab, make sure to select 'Japanese - Anthy'. If you use dvorak like me, also make sure 'Use system keyboard layout' in the Advanced tab is checked.

© Julian Schrittwieser. Built using Pelican. Theme by Giulio Fidente on github. .