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.

Background

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...

Read more

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

Whitaker's Words

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