Error Handling in Rust

I’ve been doing some programming in Rust recently. First was a flake generator and then the second is a rudimentary implementation of the ls command (dir to Windows people) - I submitted a pull request to uutils/coreutils: a replacement for the UNIX coreutils suite of software. Error handling plays a big role in both of these chunks of code - making sure users don’t get a nasty surprise requires making sure you let them know when things go wrong.

Installing Rust on Windows

UPDATE 2020-10-25 This post is over 4 years old. You don’t need it. Go to Do whatever that tells you. You don’t need the rest of this. Installing Rust can be as easy as pulling down an installer and double clicking. For developers working with more complex tools or who need to build unsafe C/C++ libraries from source, there’s a little bit of extra work that needs to be done, but it’s nothing that a savvy person can’t handle.

It's a Sabbatical!

Way back in December, I started a new adventure and went on sabbatical. It’s been four months and things are progressing nicely. Here’s what’s happened over the last fourth months. [caption id=“attachment_1010” align=“alignright” width=“300”] Sabbaticalling the shit out of these trees[/caption] Took a Month Off I spent December doing nothing and it was glorious. The whole month was a personal vacation. I was still at home, but I played video games, wore pajamas all day, and basically did whatever I wanted to do.

Setting up Docker on Windows

Containers give developers a way to rapidly re-create their environment at the drop of a hat. Containers are coming to Windows really soon. Docker is a great tool to help you manage all of those magical containers. I recently set up Docker in my desktop and I lived to talk about it. Here’s the scoop: If you haven’t already, install Hyper-V Make sure you have an external Hyper-V switch. You can check using Get-VMSwitch | where { $_.

The Cloud: Operations for the Lazy

Look, operations can be a lot of work if you’re doing it wrong. Nobody wants to do busy work. That’s why we invented computers and robotic servitors, right? [caption id=“attachment_986” align=“alignright” width=“416”]This is not a helpful robot[/caption] Being Lazy the Right Way It’s said that laziness is one of the three great virtues of a programmer. But why let programmers have all the fun? Think about all the things that happen in operations that you wished you never had to do again.

Friends Don't Let Friends Use DATETIME

I know you love your Pontiac Aztek, but it’s time to move on from SQL Server 2005’s limited set of data types. Unless, of course, you’re stuck on SQL Server 2005. If that’s the case, then you should get working on your migration. For the rest of you, let’s talk about why you should stop creating new DATETIME columns. Microsoft Says So What a great reason to do it! The people who made your database don’t even want you using DATETIME for new applications.

I'm speaking at SQLintersection 2016

I’ll be speaking at SQLintersection this spring in Orlando! It’s gonna be fun on a bun. [caption id=“attachment_982” align=“alignright” width=“300”] Totally not giving away free taquitos[/caption] Two Regular Sessions I’m presenting two regular sessions - Database Lies We Tell Ourselves and Database Design for Software Architects. In Database Lies We Tell Ourselves, I’m going to shed light on common misconceptions that permeate our industry and provide high level solutions to these problems.

Cores is Cores

CPU cores are all made the same, right? Hyper-Threading is just a fancy way of saying “Push the turbo button harder!” Actually, Wikipedia informs me that I’m wrong and Hyper-Threading is a fancy (and trademarked) way of saying “You can do more than one thing on a core at the same time because computers are a pack of lies.” [caption id=“attachment_978” align=“alignright” width=“300”] I can assure you, these are not the same core dog.

Memory Optimized Tables and Columnstore

Let’s follow up on When ALTER TABLE doesn’t work. To summarize: while messing around with SQL Server 2016 CTP 3.2 I was unable to issue ALTER TABLE statements on a memory optimized table that has a clustered columnstore index. What Will Work in SQL Server 2016 It turns out that SQL Server 2016 CTP 3.2 doesn’t have full support for this combination of features. As far as what will be working when SQL Server 2016 is released… I don’t have the answer to that question.

Everything Fails

Everything is horrible! Wait, that’s not the message I want to send at all. [caption id=“attachment_972” align=“alignright” width=“300”] I wonder if these guys have an HA/DR plan…[/caption] Planning for Failure Should Be Comprehensive Think about the last time you thought about high availability and disaster recovery… You’re lying, nobody ever thinks about HA and DR. Not until something is already on fire, at least. Now, pretending you did think about HA and DR at some point in the distant past, how far down the rabbit hole did you go?