Utilities for work and play.

"Instead of planned obsolescence, there should be planned longevity."
- viznut

trabant

The daily driver.

A mid-2015 MacBook Pro that runs linux with Ubuntu and Regolith alongside a selected range of software for light or text-based projects, communication and traveling.

It replaced my mid-2012 model in 2023 to be able to use it with the drawing tablet.

I found it online in almost new condition for 450 EUR.

trabant 2015 specs

Issues

Most of the issues I had on the 2012 model didn't appear, but getting individual resolution scaling to work took some figuring out.

Resolution Scaling

Ubuntu kept setting the same scaling for both monitors. I used xrandr to fix this:

xrandr --dpi $DPI --fb "$full_X"x"$full_Y" \
--output $MAIN --mode "$MAIN_X"x"$MAIN_Y" --scale "$MAIN_SCALE"x"$MAIN_SCALE" \
--output $WACOM --mode "$WACOM_X"x"$WACOM_Y" --scale "$WACOM_SCALE"x"$WACOM_SCALE" --pos 0x"$mainY"

Webcam Not Detected

The internal webcam didn't work out of the box and the instructions found online were opaque and hard to find. After some trial and error I modified a set of instructions found in an article online:

$ cd /usr/local/src
$ sudo git clone https://github.com/patjak/bcwc_pcie.git
$ sudo git clone https://github.com/patjak/facetimehd-firmware
$ cd facetimehd-firmware/
$ sudo make
$ sudo make install
$ cd ../bcwc_pcie/
$ sudo make
$ sudo install
$ sudo depmod
$ sudo modprobe -r bdc_pci
$ sudo modprobe facetimehd

Power Save Settings

gsettings set org.gnome.desktop.screensaver idle-activation-enabled false

Disables automatic screensaver.

gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 0

Disables automatic sleep activation when plugged into the AC adapter.

Also make sure to turn off Automatic Screen Lock hidden in Settings > Privacy > Screen.

Pre 2024

A mid-2012 MacBook Pro that runs linux with Ubuntu and Regolith alongside a selected range of software for light or text-based projects, communication and traveling.

It was out of use for a few years because of a broken graphics chip that was bridged in late 2022. The nVidia graphics chip is now not usable anymore which means that it cannot run graphics intense software and the HDMI and Thunderbold outputs are useless.

trabant 2012 specs

There are a few things to get everything working right with ubuntu.

Regolith is a desktop environment that can be either installed on top of Ubuntu or with a custom installer image.

Issues

Backlight Brightness

xrandr --output eDP-1 --brightness value

The value is between 0 and 1.

Wrote a bash script and mapped it to brightness keys XF86MonBrightnessUp/Down in i3 config file.

Startup Chime

To decrease the volume of the startup sound, edit the EFI variable SystemAudioVolume-7c436110-ab2a-4bbb-a880-fe41995c9f82.
Drop to root access using sudo -su, then change directory cd /sys/firmware/efi/efivars/.
To overwrite the variable content, first change the immutable bit of the file with chattr -i SystemAudioVolume-7c436110-ab2a-4bbb-a880-fe41995c9f82.
Now change the content with printf "\x07\x00\x00\x00\x00" > SystemAudioVolume-7c436110-ab2a-4bbb-a880-fe41995c9f82.

Change the immutable bit again with chattr +i SystemAudioVolume-7c436110-ab2a-4bbb-a880-fe41995c9f82.

Alt/Cmd keys switched

Use Gnome Tweaks to switch the keys.

rosinante

The work horse.

With the introduction of the 2015 model of Trabant, Rosinante was retired. I keep this page for archive purposes.

Rosinante was a stationary laptop located in my workstation that I used for projects with high performance demands such as developing Gibbon: Beyond the Trees. It was setup to be able to boot into Windows, but usually runs linux with Ubuntu and Regolith alongside a selected range of software.

It had no communication capabilities and was intended for deep focus work only.

rosinante specs

tablets

preonic

An ortholinear keyboard with 60 keys.

For day to day work on trabant I use the OLKB Preonic v3, a 5x12 orthographic keyboard with Gateron Aliaz Silent MX mechanical switches and the Acute keycap set.

It runs the QMK firmware that allows custom key mapping. To do so, the firmware along the configuration file are compiled and flashed onto the keyboard. To install QMK CLI run:

python3 -m pip install --user qmk

Clone the qmk_firmware repository. Then run the setup with the repository as a path and install all dependencies:

qmk setup -H /path/to/qmk/

Set the default configuration:

qmk config user.keyboard=preonic/rev3 user.keymap=rostiger

Note: If the user configuration doesn't write over the ini file, open $HOME/.config/qmk/qmk.ini and enter the information manually:

[user]
qmk_home = /home/rostiger/projects/keyboards/qmk
keyboard = preonic/rev3
keymap = rostiger

Use the online configuration tool to configure the mapping to your liking, name it preonic/rev3/rostiger and download the .json file. Store the file at qmk/keyboards/preonic/keymaps/rostiger/rostiger.json.

Navigate to the above directory and convert the json file to C:

qmk json2c rostiger.json > keymap.c

Build the keymap layout and flash the keyboard by running

qmk compile

If the build was successful, use a pin to push the reset button on the underside of the PCB. This will put the keyboard in flash mode. It is not functional in this mode and must not be unplugged.

Now flash the keyboard:

qmk flash

planck ez

An ortholinear keyboard with 47 keys.

A small, portable and highly configurable keyboard that I use with RASP/UTIN and the pocketchip. It features a 4x12 layout and Cherry MX Brown mechanical switches with double ring silencers.

To make up for the few keys, it can be configured to activate different layouts with a press of the "raise" or "lower" keys.

Keymap

The keymap is configured to be as versatile as possible while leaning torwards programming.

,------------------------------------- 0: Base -------------------------------------.
|  Tab |   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  | Bksp |
|------+------+------+------+------+-------------+------+------+------+------+------|
|  Esc |   A  |   S  |   D  |   F  |   G  |   H  |   J  |   K  |   L  |   ;  |   '  |
|------+------+------+------+------+------|------+------+------+------+------+------|
| Shift|   Z  |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |   /  |Enter |
|------+------+------+------+------+------+------+------+------+------+------+------|
|Extend| Ctrl | GUI |  Alt |Lower |    Space     | Raise| Left | Down |  Up  |Right |
`-----------------------------------------------------------------------------------'
,------------------------------------ 1: Lower -------------------------------------.
|   ~  |   !  |   @  |   #  |   $  |   %  |   ^  |   &  |   *  |   (  |   )  | Ins  |
|------+------+------+------+------+-------------+------+------+------+------+------|
|  Esc |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |   _  |   =  |   {  |   }  |  |   |
|------+------+------+------+------+------|------+------+------+------+------+------|
| RCtrl|  F7  |  F8  |  F9  | F10  | F11  | F12  |      |      |      |      |Enter |
|------+------+------+------+------+------+------+------+------+------+------+------|
|      |      |      |      |      |             |      | Home | PgDn | PgUp | End  |
`-----------------------------------------------------------------------------------'
,------------------------------------ 2: Raise -------------------------------------.
|   `  |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  | Del  |
|------+------+------+------+------+-------------+------+------+------+------+------|
|  Del |      |      |      |      |      |      |   -  |   +  |   [  |   ]  |  \   |
|------+------+------+------+------+------|------+------+------+------+------+------|
|      |      |      |      |      |      |      |      |      |      |      |      |
|------+------+------+------+------+------+------+------+------+------+------+------|
|      |      |      |      |      |             |      |BRGTH-|BRGTH+| Vol- | Vol+ |
`-----------------------------------------------------------------------------------'
,------------------------------------ 3: Adjust ------------------------------------.
|      |      |      |      |      |      |      |      |      |      |      |      |
|------+------+------+------+------+-------------+------+------+------+------+------|
|      |      |      |      |      |      |      |      |BRGTH+|BRGTH-|      |      |
|------+------+------+------+------+------|------+------+------+------+------+------|
|      |      |      |      |      |      |      |      |CLRTGL|LGTTGL|      |      |
|------+------+------+------+------+------+------+------+------+------+------+------|
|      |      |      |      |      |             |      |      |      |      | Prnt |
`-----------------------------------------------------------------------------------'
,----------------------------------- 4: Extend -------------------------------------.
|      |      |      |      |      |WheelU|WheelD|      |      |      |      |      |
|------+------+------+------+------+-------------+------+------+------+------+------|
|      |      |      |      |      |LClick|RClick|      |      |      |      |      |
|------+------+------+------+------+------|------+------+------+------+------+------|
|      | MLeft| MDown| MUp  |MRight|      |      | MLeft| MDown| MUp  |MRight|      |
|------+------+------+------+------+------+------+------+------+------+------+------|
|      |      |      |      |      |             |      |      |      |      | Prnt |
`-----------------------------------------------------------------------------------'

pocketchip

A handheld single-board computer for making PICO-8 games

The PocketChip production was discontinued in 2017, the company producing it entered insolvency in 2018. By now, all documentation and data went offline, but there still is an active community around the device.

I found it used online for 40EUR in 2021. Unfortunately it died in 2022 after little use.

Specifications

A small touch screen pen made from a bamboo chopstick

printer

An ET-2720 printer with re-fillable ink tanks.

3in1 printer bought second hand in 2019.

Install Generic drivers

sudo apt install cups

In the Gnome settings, select the printer and set it as the default printer.

If the host can't be located, try

service cups-browsed restart
service cups restart

Printing

Print from command line

lp filename

Adjust columns per inch and lines per inch to control output size.

lp -o cpi=14 -o lpi=8 filename

Cancel all print jobs

cancel -a

I added a bash function to .bash_aliases for a printing template:

lpt() { margin=60; marginTB=30 lp -o cpi=14 -o lpi=8 -o page-top=$marginTB -o page-left=$margin -o page-bottom=$marginTB -o page-right=$margin -t "$1" $1; }

Refilling the Tanks

Simply open the lid and fill the corresponding color tank with ink up to the top most line. In the printer menu, head to Maintenance>Reset Ink Level and follow the navigation.

Power Cleaning

The printer like to skip lines which aren't fixed with the regular cleaning programs and require a "power cleaning".

Turn off the printer and press the ? button. Keeping it pressed, press the power button until the green ring starts blinking.

software

trabant runs as much open source software as possible.
[$]: Financial expenses indicator

Utilities

Command Line

Communication

Email

Image & Video Editing

Abandoned

incoming(3) | workstation | workstation | inventory