Eric

Eric

Eric Smith is a software architect and developer. He currently works for StorageCraft, and graduated with a computer science degree from Brigham Young University back when the World-Wide Web was a new thing. He is also a husband, father, and member of The Church of Jesus Christ of Latter-day Saints.

Latest Posts

Time Warp in VirtualBox

Here are a couple of tips for manipulating the clock in Oracle's VirtualBox.

Sometimes you need to tweak a virtual machine's clock for some kind of test or another. With the VirtualBox Guest Additions installed, you'll have trouble because the service will keep the guest's clock synchronized with the host's …

Granular Profiling in PyCharm

PyCharm added profiler integration in version 4.5, which I thought was pretty cool. Used as documented, though, it hasn't been terribly useful. Here's a way to improve on that.

In my case, I was interested in profiling a web service -- specifically requests to a particular resource. I started up …

Solipsistic Backups

I noticed this banner ad the other day from Mozy:

Slow Down!

Um... I actually do prefer to have background processes (such as backup) defer to the real work I'm trying to do on my computer.

Run/Debug as root in PyCharm

I'm working on a Python project that needs to run as root in order to work properly. Previously I've just run the whole PyCharm IDE as root, but this has some down-sides, and I think I have a better approach now.

The biggest hassle with running the IDE as root …

Password Management

It's been two years since Wired's Mat Honan declared the age of passwords over, but somehow the successor hasn't yet found its way to the throne. That being the case, this is how I currently manage my passwords.

The challenge with security is that it tends to be in direct …

git-flow with Cmder

"Git Flow" is a branching model using the Git version control system. There is also a set of extensions for Git that make using Git Flow easier, but there aren't installation instructions specifically for use with the excellent cmder Windows shell replacement. Here's how to do it...

These instructions are …

Public Key Cryptography Made Easy

Learning about cryptography can be discouraging. You get so bombarded by "don't invent your own", "you're doing it wrong", and "even really smart people screw this up" that you wonder why you even bother to try. For me, the answer is because if you don't learn it, someone who knows …

Your right margin is telling you something

The recommendation to keep lines widths less than 80 characters is a surprising part of the Python style guide (PEP 8). Really, 79 characters? Is it still the 1980's in Python-land? Maybe it's time to upgrade that monochrome CRT and get some screen real-estate.

Acting a bit on faith, and …

The First Rule of Test Code

Software is kind of cool in that you can write programs that verify that your other programs work correctly. These testing "meta programs" tend to get short-shrift though, because it's not like the code is actually part of the shipping product. So who cares about cleanliness or good style or …

Deceiving Your Readers

APIs are user interfaces for programmers. I came across a function recently that had a couple of user interface issues that serves as a great example of this principle.

The function is internal to an HTTP client class, taking care of the common logic independent of the HTTP method, and …