Benki → All Posts

next page ⇢
Matthias #

How to use Yomitan on Android

  1. Install and open Microsoft Edge Canary.
  2. On the browser’s about page, which you can find in the settings menu, tap the build number 5 times to enable developer mode.
  3. In the developer mode settings, select extension install by ID and input idelnfbbmikgfiejhgmddlbkfgiifnnn.

The extension ID is found as the last part of the URI of the Yomitan extension page in the Microsoft Edge add-on store.

You can combine Yomitan with ッツ Ebook Reader to read ePub books with dictionary support. This makes extra sense when the Android device is a Boox ebook reader.

Static website generator based on the zettelkasten idea and the Ema Haskell library.

Matthias #

Apple’s virtualization framework and APFS compression do not like each other

The setting: You are running a virtualized GNU/Linux instance on an Apple computer. You are in an APFS folder shared with the guest by way of the virtiofs support built in to Apple’s virtualization framework.

Compress a file (any compressible file, but it helps if it has at least a few non-zero bytes in it or the effect will not be particularly impressive) on the host:

host$  afsctool -vc -T LZFSE example.txt

Make a copy of the file using GNU cp inside the guest:

guest$  cp example.txt copy.txt

Observe that the copy contains only zeros:

guest$  od copy.txt
0000000 000000 000000 000000 000000 000000 000000 000000 000000
*
0016020 000000 000000 000000 000000
0016027

Digging deeper using strace, observe that in the cp run, lseek(3, 0, SEEK_DATA) fails with ENXIO (which indicates that the file is sparse and consists of a single big hole) when the correct return value would be 0:

openat(AT_FDCWD, "example.txt", O_RDONLY) = 3
...
lseek(3, 0, SEEK_DATA) = -1 ENXIO (No such device or address)

The assumptions that GNU cp makes seem to be in line with the specifications of the system calls involved. I infer that there must be a bug somewhere between Linux’s virtiofs driver, Apple’s virtualization framework, and APFS.

Adds additional bounds (such as Send) to Rust methods returning impl traits (including async fn).

Another Scala 3 library for direct-style asynchronous programming. Made for today (whereas Gears is made for the future). Targets the JVM only.

A (research) Scala 3 library for direct-style asynchronous programming. Supports both the JVM and Scala Native.

Lists of books and movies, graded by language difficulty. Japanese, Korean, German, Spanish.

A wiki with pointers to comprehensible input in many languages.

Comprehensible input – input that you can comprehend but is still difficult enough to be challenging – is what you need for language acquisition.

A strongly-typed programming language that targets WebAssembly.

A native code compiler for Python that uses type hints for optimization.

A community fork of the defunct software forge Phabricator.

next page ⇢