This Hourglass project looked promising, but unfortunately is now discontinued and still has very low compatibility.

The only alternative i’ve found is via virtualization, so i’ve tried the latest version of the usual big players: VirtualBox and VMWare Workstation (VMWare Player has no snapshots support).

Saving and restoring snapshots in virtual machines is not exactly as quick as savestates in Retroarch, since they do not support shortcuts and require you to give each snapshot a name for no reason.

The snapshots themself also take a lot of disk space and cannot be overwritten, so avoid taking too much of them and delete them when they are not needed anymore.

The first product i’ve tried is VirtualBox, being open source and based on Qemu i had good hopes for it. Unfortunately it quickly turned them down:

Then i’ve switched to VMWare Workstation and i’ve soon noticed much better 3D acceleration performances: i was getting 60fps in most games, with only occasional slowdowns.

Snapshotting saving/restoring is as fast as VirtualBox, but i’ve experienced less issues after restoring them.

Overall, if you are looking for an easy way to have savestates in Windows games, VMWare Workstation seems the best choice.

In this post i’ll do a quick review of the controllers i often use with my shmup gaming sessions.

IMO to be a good choice for shmups a controller should have: short-travel 8-way d-pad, turbo feature, and should be lightweight to hold. Digital triggers and rumble support are also nice to have.

The controllers i currently use are:

Controllers i am no longer using:

I’ve just made these bash functions to play with combinatorics from the commandline:

Example usages:

$ setintersection "1 2 3" "2 3"

['3', '2']

$ setproduct "1 2 3" "a b"

[('1', 'a'), ('1', 'b'), ('3', 'a'), ('3', 'b'), ('2', 'a'), ('2', 'b')]

$ permutations "1 2 3"

[('1', '2', '3'),
 ('1', '3', '2'),
 ('2', '1', '3'),
 ('2', '3', '1'),
 ('3', '1', '2'),
 ('3', '2', '1')]

$ powerset "1 2 3"

[(),
 ('1',),
 ('2',),
 ('3',),
 ('1', '2'),
 ('1', '3'),
 ('2', '3'),
 ('1', '2', '3')]

$ permutationspartial "1 2 3" 2

[('1', '2'), ('1', '3'), ('2', '1'), ('2', '3'), ('3', '1'), ('3', '2')]

$ combinations "1 2 3" 2

[('1', '2'), ('1', '3'), ('2', '3')]

Grab these functions and more from my macinit script.

For casual music listening at low volumes i’ve been using for a while an old Aiwa XR-M121EZ amplifier + my 90s Panasonic boombox speakers. The power consumption of this setup was approx. 10W (measured from the wall plug with a BroadLink SP3S).

After watching this yt video i discovered there are more efficient class-D amplifiers like this based on a PAM8403.

Continue reading