This is the holy grail of underground detection: since you can predict where
a rider is, you can show them where they are on a map, update their ETA, and
tell them when to get off at the right station.
What’s even more wonderful? Our station counting works completely offline.
Both of our models (the motion classifier, and the mixer) have been
compressed into tiny files that run on your phone, without sending any data
to Transit’s servers.
No tracking. No cookies. Your vibration data is your own damn business!
Not only did they make it run offline, on your own device, but they also didn’t
use the term “AI” at all in the post. When so many other companies are rushing
to brand everything slightly more complicated than if-then-else as “AI” this is
refreshing. Kudos to them.
In part one I left
you with a cliff hanger regarding page calls. And I particularly like this
little note:
This shouldn’t be hard
Like it’s a radio from 1993. Easy right?
That was nearly 7 months ago.
Page calls are text messages sent between radios. Essentially SMS for radios.
Or I guess WhatsApp(?) messages for radios. The protocol is very similar to
the selcall protocol, just with the message spliced in…. however…..
Codan decided that page calls should be locked down. My assumption here is
that the 93xx series of radios were the first by Codan to be advanced enough
to allow paging and to keep a market edge they wanted to make it harder for
competitors to provide interoperability (pretty sad imho). So page calls
include two extra bytes that are validated before receiving.
The rest of the post details the process taken to reverse engineer the
generation of these two bytes, including the development of not one, but two
8051 emulators.
Alessandro Pignotti writing on the Leaning Technologies blog:
WebVM is a full Linux environment running in the browser, client-side. It is
a complete virtual machine, with support for persistent data storage,
networking and, as of today’s release, Xorg and complete desktop
environments. In an instance of WebVM, everything executes locally within the
browser sandbox.
WebVM runs on any modern browser, including mobile ones, thanks to
WebAssembly, HTML5 and CheerpX: a novel x86 virtualization engine for
browsers, developed by us at Leaning Technologies.
You may have seen other sites that run operating systems in the browser.
Typically these compile an emulator to WebAssembly and host that in the
browser. This works quite well with the light demands of older systems but can
be a bit slow for more demanding systems.
WebVM takes a different approach. The CheerpX engine is a JIT compiler from x86
to WebAssembly and is able to run Linux binaries unmodified. WebVM adds a
browser based Linux syscall implementation that allows it to run binaries,
including graphical ones in the browser, much faster than using a whole system
emulator.
WebVM running i3 on Alpine Linux with XTerm and GVim running.
On October first, I was diagnosed with pancreatic cancer. Because of vascular
involvement, surgery is not possible. I am taking weekly chemo treatments to
shrink the tumor before surgical resection. I am tolerating the chemo pretty
well, and I am in good spirits. Every day I make a point of getting out in
the sun and walking with Cai and Poppy.
Bill Atkinson, the author of Quickdraw and the main user interface designer,
who was by far the most important Lisa implementer, thought that lines of
code was a silly measure of software productivity. He thought his goal was
to write as small and fast a program as possible, and that the lines of code
metric only encouraged writing sloppy, bloated, broken code.
This lead to a Wikipedia rabbit hole that started with Andy and Bill co-founding
General Magic along with Marc Porat, and concluded with me discovering that
the Nautilus file manager used in GNOME was created by Eazel, a company
Andy Hertzfeld founded after General Magic. Eazel didn’t succeed, but as it
laid off most of its 75 employees, 1.0 of Nautilus was released. This 1.0
version was included in GNOME 1.4, released on 13 March, 2001.
I was able to track down a virtual machine image of Red Hat running
GNOME 1.4 and after a little but of massaging was able to run it in QEMU on my
much newer Linux system. Incidently GNOME Files—Nautilus’ successor—is my file
manager of choice on Linux. Please enjoy these screenshots I took of that
surprisingly usable 23 year old system.
Start Here
About Nautilus
GNU Image Manipulation Program
Early version of the GNOME website in the Mozilla browser
Linux Orbit website in the Mozilla browser
Nautilus Help
If you’d like to try it out yourself, follow the steps below to run it with QEMU.
Alternatively, if you use Virtual Box you can import the .ova directly:
If Bluesky is your jam, the Linked List Mastodon account is now bridged to
Bluesky as: @linkedlist.org thanks to Bridgy Fed. I’m also
subscribed to the notifications feed, so I should also see any replies to that
account.