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?

When ALTER TABLE doesn't work

We’re all used to being able to change things whenever we want. Heck, I put on a different pair of socks just to write this blog post! They’re my bloggin' socks. But, back to the topic at hand, we’re used to being able to use ALTER TABLE commands to change tables in SQL Server. And, in fact, most of the time that just works. In-Memory OLTP and ALTER TABLE Way back in SQL Server 2014, when we first got In-Memory OLTP, it wasn’t possible to change a table once you’d created it.