What I learned yesterday:
- Programming Gtk apps is horrible. Gtk leaves far too much fiddly detail up to the programmer, and doesn’t have sensible defaults.
- Programming Gtk apps with OCaml has an impedance mismatch (Gtk is imperative and highly mutable, OCaml is functional and mostly immutable). Luckily this isn’t Haskell, so we can drop into mutable code when we need to.
- Programming with threads and locks is time-consuming for even the simplest things.
- On the other hand, it is possible to write a decent multi-threaded app which accesses libvirt and libguestfs and leaves the user interface responsive. Here is a proof by existence of that.
Exercises for the programmer:
- Display the mount point of each partition.
- Double click on partition to display the tree of files inside.