A Hoverbear's Musings

Articles primarily relating to science and technology.

A Rust Heroku Buildpack

I’m happy to introduce the first stable version of my Rust Heroku Buildpack! Just looking to get your hands dirty? Look here. The project was a really interesting learning experience about how Heroku does things, on bash scripting, and about multirust, which I’d not used before but now am quite a fan of! (I previously just rustup‘d the newest nightly every few days.) Features Cached multirust, Rust toolchain. Caching of previous build artifacts to (potentially dramatically) speed up similar builds. Configurable version selection inside of the Cargo.toml. It’s unit tested using Heroku’s official testrunner every commit (using homu) and includes...

Posted on , into Rust .

The Way Forward

In April, I will be graduating from University. It’s pretty darn exciting! Once that’s happened I’ll officially have a Computer Science Degree with a Networking option, meaning I focused primarily on networking for my upper year studies. I’ll be completing my degree with (approximately) a 7.75 (out of 9.00) GPA and I’m pretty proud of that! I’ve been placing a lot of thought into what comes next for me, and the only solid decision I’ve come to is that it’s dependent on external factors. The problem with trying to build a plan is that many of the factors I have...

Posted on , into Personal .

It's a Let's Encrypt Beta!

I was privileged to recieve one of the early Let’s Encrypt beta certificates for https://hoverbear.org. I had an easy and fun time setting it up this evening on my Funtoo Container and wanted to quickly jot down how to! Get ‘er Done I first needed some prerequisites (I already had nginx installed): sudo emerge -vqa augeas python-augeas dialog Then, following the instructions provided: git clone https://github.com/letsencrypt/letsencrypt cd letsencrypt ./letsencrypt-auto --agree-dev-preview --server \ https://acme-v01.api.letsencrypt.org/directory auth From here you’ll be brought to something that looks like a make menuconfig when building your own kernel… But a lot easier. From here you have...

Posted on , into Tooling .

Understanding Over Guesswork

Evolving How We Learn Systems with Lessons from Programming in the Large Some bugs are just that—a one off. A wayward moth that just happens to be innocently fluttering through the wrong relay at the wrong time. But some kinds of bugs aren’t like that. Instead, they have risen to superstar status, plaguing veterans and newcomers alike. But what if these aren’t bugs at all? What if they are actual deficiencies in safety and robustness offered by the C programming language as a consequence of the degree to which guesswork is introduced. Here we explore a more explicit approach to...

Posted on , into Rust and UVic .

Photos: San Fransisco Trip

A selection of images from my trip that I thought I’d share with the world. If you want to use one of these for anything at all, just fire me an email and ask! Day 1 Day 2 Day 3

Posted on , into Rust , Raft , and Events .

The Raft-rs Rust Meetup

Wow. Was that ever fun! I hope that those that came had an equally enjoyable time and everyone got something useful out of it! I sure did! Slides Yvonne Coady Diego Ongaro & Visualization Andrew Hobden Dan Burkert Alex Newman

Posted on , into Rust , Raft , Events , and UVic .

Exciting Times

The next few weeks are full of excitement and busy-ness! First up is the Meetup in San Fran (See our planning). I can’t wait! It will be so fun to meet many people I’ve already met in IRC and through the community! If you’d like to do something, or show me around the city, let me know! I’ve never been to the USA before, let alone San Fransisco. After that I’m moving into a new place! A friend and I landed a great location for the next year and we’re looking forward to the changes ahead. Once I’m settled in...

Posted on , into Rust and Raft .

Blog Changeover

I’ve moved my feed over from Ghost to Jekyll! It took several hours spread across several days to transfer all of my posts out of Ghost since it’s (experimental) export functionality just dumps a bunch of junk into a JSON document. In this move most page links should still map to the same thing as before. This does not hold for images, diagrams, etc (but you should have hosted your own copy anyways). For now, tags don’t work, but I’m working on that. Jekyll doesn’t have that functionality built in and I don’t know Ruby well. I’m going to work...

Posted on .

Trackpad Drivers for Linux on a Mac

If you’re like me and have Mac hardware but run Linux you might also run into the slight annoyance with the trackpad drivers X.org defaults to. If you haven’t explored, there is a fantastic replacement called mtrack that I’ve had great luck with. Here’s an example of my configuration in vim /etc/X11/xorg.conf.d/10-mtrack.conf Section "InputClass" MatchIsTouchpad "on" Identifier "Touchpads" Driver "mtrack" Option "Sensitivity" "0.5" Option "IgnorePalm" "on" Option "IgnoreThumb" "on" Option "FingerHigh" "15" Option "ClickFinger1" "3" Option "ClickFinger2" "2" Option "ClickFinger3" "0" Option "TapButton1" "1" Option "TapButton2" "3" Option "TapButton3" "2" Option "SwipeDistance" "1400" Option "Swipe4Distance" "1400" Option "SwipeLeftButton" "9" Option...

Posted on , into Arch Linux .

Raft Progress & Examples!

We’ve also got couple nice working examples! Yes, they’re ready to play with! Can’t wait, need code? Visit Raft and check out the examples/ directory! Progress Report The core Raft consensus algorithm now is quite functional! We’re still lacking log compaction (but have support for snapshotting already prepared) and have not implemented dynamic membership changes. These things are on our road map! We’ve been building more tests and examples recently, Dan landed this bundle which got us into a good state! Next I landed query and some example expansion which gave us some examples that work! Examples There are now...

Posted on , into Rust , Raft , and UVic .