Hello World in Rust for m68k with #[no_core] and compiler patches
Rust is great for some many practical purposes in modern software development. But who needs any of that? What are the oldest things we can target with standard Rustc?
ARM is a pretty well supported architecture, right? ARM is older than you might...Read more
Rust: safe and unsafe as theorems and axioms
UPDATE: I would probably talk about this different now that I know a bit more about how something like this would actually be formalized, but this post is an analogy more than an actual formal model, even if a variation can be formalized.
There is...Read more
Experimenting with WebAssembly dynamic linking with clang
NOTE: Currently the standard way to compile C or C++ to WebAssembly is to use Emscripten. Additionally, my loader code here is a quick test, and not complete nor necessarily entirely correct.
With LLVM 8.0.0, the WebAssembly back-end is...Read more
Cross-compiling Rust code to Minix
TLDR: Scroll down for a pretty screenshot and a GitHub link.
I’ve decided to take a look at Minix, which is an interesting microkernel OS.
Naturally after building Minix from git, the first thing I decided to try was porting Rust’s
std to Minix so...
Canon DSLR Bluetooth Remote Protocol
This is a continuation of my earlier reverse engineering work.
This time, I’ve succeeded in duplicated all of the remote’s functionality, other than things like firmware updating.Read more
Exploring Rust fat pointers
I’ll begin with a word of warning: relying on the particular way fat pointers are implemented is bad, and may break. How bad?
Except worse than that. What’s worse than a Velociraptor attack? Use your imagination. So beware that at any point the...Read more
Reverse Engineering Creative Sound Blaster E1
The Creative Sound Blaster E1 is a USB DAC and headphone amplifier. Additionally, it has a built-in microphone, and has two seperate headphone jacks, one of which can be used as a microphone input instead, if it is set as such in Creative’s software...Read more
Reverse engineering the Canon t7i's bluetooth (work in progress)
The new Canon Rebel t7i includes Bluetooth; it can connect either to the Canon Camera Connect app, or to the BR-E1 remote control.
TLDR so far, I have only gotten it to pair, either as a phone or remote. But shutter release and the other features...Read more
Google Summer of Code
Perhaps I could write a blog here…
But as a start, my post GSoC Project: Making Redox Self-hosting, Final Summary on the Redox OS blog descibes the Google Summer of Code project I did this summer, and links to my eariler posts there about it.Read more
Well, I haven’t been posting here much (or at all) have I? Well, I’ll start now. Maybe. But I am writing here now anyway. Whitaker’s Words is an interesting old command line program for analyzing the morphological form of latin words, as well as providing...Read more
Static Site Generators
There are essentially two ways to create a website. The most popular method is to use a CMS such as Drupal, Joomla, Wordpress, etc. This method allows for web-based WYSIWIG editors for site content, extensions, user login, comments, and various other...Read more