Index | Archive | Tags | Atom Feed | RSS Feed

Taking Notes

Recently, I was once again looking for a note taking solution. Over time, I had used many: Evernote, a markdown based one I wrote myself, Joplin. For one reason or another, I had stopped using each of them in turn.

My requirements were simple:

  • Linux and Android support
  • Markdown first, with syntax highlighting
  • Automatic synchronization of all my devices
  • Plaintext backup to simple files, for easy migration
  • Copy & paste to insert images
  • Full-text search.

And the most important: Does it spark joy?

The best note-taking solution is of no use if you don't consistently use it. After trying many alternatives …

The Case Against the Singularity

From Musk's "Potentially more dangerous than nukes." tweet, increased funding for the Machine Intelligence Research Institute (MIRI) to the founding of cross-industry groups like the Partnership on AI, AI is being taken more seriously.

One worry that is sometimes cited, as in the book [cached]Superintelligence by Nick Bostrom, is that once we reach human-level AI, it might rapidly improve itself past anything humans can envision, becoming impossible to control. This is called "Singularity", because anything after such a point is unforseeable.

The argument for a Singularity rests on the fact that a hypothetical AI could devote all its resources …

Open-Source MuZero Implementations

I'm sometimes asked if I'm aware of any open-source implementations of [cached]MuZero. In addition to the [cached]official pseudocode, a variety of researchers have made their own implementations and shared them online.

I have not checked these for correctness or completeness, but I still believe that you may find them useful. In no particular order:

If you know any others, please let me know and I'll add them!

If you want to replicate MuZero or try other RL ideas on …

MuZero - Mastering Atari, Go, Chess and Shogi by Planning with a Learned Model

I'm excited to finally share some more details on what we've been working on since AlphaZero.

Recently, we made our latest paper - Mastering Atari, Go, Chess and Shogi by Planning with a Learned Model, aka MuZero - available on arXiv:

Constructing agents with planning capabilities has long been one of the main challenges in the pursuit of artificial intelligence. Tree-based planning methods have enjoyed huge success in challenging domains, such as chess and Go, where a perfect simulator is available. However, in real-world problems the dynamics governing the environment are often complex and unknown. In this work we present the MuZero …

Installing CUDA on Ubuntu 19.10

I just installed CUDA on my Ubuntu 19.10 desktop, and it was a pretty quick process, if non-obivous.

  1. Installed base CUDA with apt install nvidia-cuda-toolkit
  2. Downloaded libcudnn from [cached]nvidia and installed with dpkg -i. (I couldn't find it in the official Ubuntu repo, let me know if it is there)
  3. Set XLA_FLAGS=--xla_gpu_cuda_data_dir=/usr/lib/cuda/ so JAX can find the installed libraries.

Fixing stuck login screen for Ubuntu 19.10 and i3

Since upgrading to Ubuntu 19.10, I've had the issue that Ubuntu would just get stuck before or after the login screen.

After some searching I found the recommendation to remove quiet splash from the grub options, and indeed that fixes the issue for me!

Specifically, at the stuck login screen, change to a terminal by pressing e.g. ctrl+alt+f4, login, then run sudo nano /etc/default/grub to edit the configuration for grub (the bootloader). Find the line that says


and change it to


save the file, then run sudo update-grub …

Ubuntu Audio over Display Port

I just upgraded my desktop to the new AMD Ryzen 3900X and on that occasion also replaced my decade (!) old GPU with a recent Nvidia RTX 2060. Initially I couldn't get it to output audio to the speakers in my monitor (connected using DisplayPort).

Finally, using pavucontrol to switch of the other HD-Audio Generic device did the trick.

After some more research I also discovered [cached]volumeicon, a small app that shows a volume control in the system tray (i3 in my case). It can be configured to open an external mixer on click (pavucontrol) and can also be directly …

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 …

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