Lucy's Portfolio
I've done tons of work - mostly open source - over the years. If you're interested in what I've done, you've come to the right place!
Hobby work
nanorand (Rust)
nanorand is a zero (required) dependency library providing PRNGs and an CSPRNG, written in Rust.
It has over half a million downloads on crates.io, and is used in some popular libraries such as flume
.
I wrote this library without really looking at the source of any other Rust RNG libraries - I instead used implementations in other languages such as C and Lua as a reference.
Currently, nanorand provides the WyRand and Pcg64 PRNGs and the ChaCha CSPRNG. My WyRand implementation is the fastest one available in Rust (last I checked), clocking in at around 16.4 GB/s on an M1 Macbook Air.
It is licensed under the Zlib license, and available on GitHub.
sweetpaste (Rust)
sweetpaste is a pastebin written in Rust, with zero JavaScript, and full support for syntax highlighting (all rendered server-side).
It is available on my GitHub, under the MPLv2 license.
Xenon (Rust, Objective-C, Swift)
Xenon is an jailbroken iOS tweak that allows you to access your device's filesystem from a PC.
I'm not the proudest of it, as it tends to be buggy for some people and I'm not entirely sure why, but it has proven very popular, with over a thousand purchases so far.
The partial source is available on GitHub, and the tweak itself is available for purchase on Chariz.
chippy (Rust)
chippy is a CHIP-8 emulator I wrote while bored. It fully supports the base CHIP-8 instruction set, the CHIP-48 instruction set, and it also has unfinished SUPER-CHIP support. It also features a fully fledged debugger GUI, using the egui
crate!
It is available on GitHub.
tracing-oslog (Rust)
tracing-oslog is a library for the tracing Rust logging library, that provides a tracing
Layer for the Apple os_log logging system that is available on macOS and iOS!
It is licensed under the Zlib license, and is available on GitHub or crates.io.
xpc-serde (Rust)
xpc-serde is a Serde serializer/deserializer that allows serde types to be (de)serialized into native XPC (a macOS/iOS cross-process communication API) messages. This allows two Rust programs to communicate using XPC, without the additional overhead of converting to/from bincode or msgpack or the like.
It is licensed under the MPLv2 license, and is available on GitHub.
Crabapple (Rust with ObjC runtime usage)
Crabapple was a framework for creating iOS runtime tweaks using Rust, through objc runtime bindings and macro magic. I never really finished it, due to the fact it didn't work on arm64e, but it kinda works!
It is available on GitHub under the Zlib license, albeit not in a finished state ofc.
PongoKit (Rust)
PongoKit is a framework for running Rust code on pongoOS, a preboot OS ran by the checkra1n exploit for pre-A12 iOS devices. It provides access to pongoOS's various APIs, and is even used for a basic libstd implementation for pongoOS! I've also written a demo using PongoKit, which is a fully playable version of the classic game Pong!
Sadly, the repository has been lost (had to learn to take backups of my git repos the hard way), but here's a funny little thing I did with PongoKit when it was still around:
Brimstone (Rust, C)
Brimstone is a security suite that provides code tampering protection for iOS runtime tweaks and software, including data protection, code encryption, code verification, etc. It has heavy amounts of both C and Rust code - C is used for the actual protection itself, while Rust is used for the "processor" that applies the protection to a binary.
Brimstone is not open source, however I would be happy to share snippets to anyone trustworthy.
System76 work (Dec 2021 - Sep 2022)
cosmic-settings
I helped initially develop cosmic-settings
It is still WIP, however you can see a preview on this It's FOSS article, or just compile it yourself!
It is available on GitHub under the GPLv3 license.
launch-pad
I developed launch-pad, a Rust crate for helping manage background processes in an application
It is available on GitHub under the MPL-2.0 license.
cosmic-session
I developed cosmic-session, the session/process manager for the COSMIC desktop.
It is available on GitHub under the GPLv3 license.