Contributing to my first Rust crate

My Rust journey continues and I wanted to sink my teeth into a crate that's relatively popular and well maintained.  One such project is also by Jon and is called tsunami.
This lets you orchestrate cloud services using Rust SDKs, and my first PR is one to add VPC support to the AWS provider.  Here I'm meshing my Cloud Ops experience and Rust, and it feels good!
Checkout the PR for details, it's still in its infancy though!

My first contribution to the Rust language

Earlier this week, Jon dropped his screencast on "Crust of Rust: functions, closures, and their traits". When he covered dyn Fn towards the end of his talk, he noticed this had not been implemented on Arc.
I was curious and reached out to him over Twitter and set about looking into extending this, and did this intentionally so as to get my feet wet within the inner workings of Rust.
Just by going through this process, I was able to setup my local dev environment to compile the bootstrapped Rust compiler as "Stage 1", and I was off to the races.
First, I wanted to try and solve the missing implementation ...(continued)

Elaborating on use of Rust in a professional capacity

I was recently asked the following:
  1. can you point to an implementation of an actor model in Rust that you've built
  2. example of how you've used Tokio
  3. What have you built that uses async/await
I will reflect on a tool that I built in a professional capacity during my time at E-Accent BV. The team had long abandoned Nagios for many reasons, but mainly due to management complexity overhead (and decided well before I joined). Our production stack was running a MySQL production DB and this had a DB 'slave' with replication enabled.
We started to experience instances where the DB slave would fall out-of-sync with the master DB and do so without alerting anyone, and I decided to use Rust to fix this as I was the only person on the team with C/C++ skills.

Rust Trait Objects Demystified

I recently picked up Programming Rust: Fast, Safe Systems Development (2nd Ed) by O'Reilly and one section that I particularly enjoyed is where it covered the approach on using generics vs. Trait Objects.
When I first picked up Rust, I was looking to approach the "any-type" problem with the generics hammer, and this leads to a rather severe design
struct Salad<V: Vegetable> { veggies: Vec<V> }
We can however take advantage of dyn Trait. The dyn keyword is used to highlight that calls to methods on the associated Trait are dynamically dispatched. To use the trait this way, it must be 'object safe'.  The dynamic dispatch means a dyn Trait ...(continued)

This Rails blog gets a complete overhaul

Monoliths are back in vogue.

It all started on 29th October 2011 when I created my first "TODO" app equivalent of the ubiquitous "Hello World" that many of us programmers are familiar with.
Its domain modal was a simple case of User and Post.  That's it.  And Rails 3.1.1.  Back then I wanted a workflow that was primarily markdown driven and Zurb Foundation was my go to frontend of choice, mainly for its grid system etc.  Twitter bootstrap was well, starting to become rather common and I wanted to go with something different.
Much of its later years were spent on integrating a 'Newsletter' style module integrating Mailchimp and OmniAuth for user login.  My User's table started to acquire a few users along the way, although I've purged all of that along with this new reboot.

...and we thought microservices were a good thing, right?< ...(continued)

This is the ESP32 Thing Plus C "Extended" Prototype

Taking inspiration from SparkFun's SparkX creation, the Thing Plus C - ESP32 WROOM, this is an "Extended" version. Here's a quick summary of the improvements I have made:
- Honeywell HumidIcon Digital Humidity/Temperature Sensor (HIH6130) / (Datasheet)
- Microchip ATECC608A (SOIC8) / (Datasheet)
- Microchip ATECC508A (UDFN) / (Datasheet)
- Onboard breakout for the Thermocouple IC 

2019 Homelab: Network Rebuild

Homelab: Network Infrastructure

This covers a "rebuild" of an existing network, which previously occupied a single sub-net. This is coupled with 10G hardware from Ubiquity and a pfSense router to provide advanced capabilities to various VLANs.

pfSense: Interfaces & VLANs

The following were configured inside pfSense which acts as the primary router/firewall designated pfsense-master.

Hardware & Interfaces

  • Intel 6700K CPU
  • Asus Z170 Prime-A mainboard
    • em0
  • Dual Port PCI Express (PCIe x4) Gigabit Ethernet Server Adapter - 2 Port Network Card - Intel i350 NIC - GbE Network Card (ST2000SPEXI) (Amazon)
    • igb0
    • igb1
  • Intel X550-T2 10G NIC
    • ix0
    • ix1


Physical LAN:

  • WAN em0 // 1G NIC on mainboard
  • LAN ix0 //
  • UniFi //
    • UniFi Cloud Key //
  • LAN2 igb1 // -- This is purely a convenience 'console' port for tro ...(continued)

Post Archive