Jimmy Theis

Cutting S3 Costs With Metadata

Having GitHub Pages provide free hosting for this static blog is a huge blessing, but it obviously does come with some limitations. Specifically, a free GitHub account only gives you 0.30 GB (300 MB) of storage space. Even with a Micro Account (free through GitHub educational accounts), there’s a limit of 0.60 GB (600 MB). This is obviously plenty of space for source code, pages, etc., but is simply not suited for hosting media like videos, slide decks, or large images.

As a result, I, like many others, have turned to Amazon S3, a service actually geared toward hosting media and other non-text content. With S3’s Free Usage Tier, I actually haven’t had to pay a dime yet (it lasts for one year), and when I do, it’ll be a very small amount.

S3 uses a pay-for-what-you-use style of billing, where you’re billed based on how much storage you’re using, how many requests are made for files you’ve uploaded, and how much data actually gets transferred. It’s changed a few times, so I won’t bother copying down the billing plans, as they’ll likely be outdated quickly. Instead, I’ll just link to them for anyone interested.

Because S3 bills based on how much data gets requested per month, anything we can do to reduce that number actually saves money. Is there something we can do? Well, yes.

Side Effects of a Paleo Diet

For the past few months, Kevin has been practicing a Paleo diet, which includes cooking a lot of bacon. Because neither of us use the back stove burner, it’s been slowly coated by the splattering bacon grease. This is what happened when I turned it on for the first time.

Solving One Tough Puzzle

This year for Christmas, Emilie’s grandparents got each family member a different puzzle or game. One in particular that really caught my eye was Emilie’s sister’s gift: a three-by-three puzzle that claims to have “300,000 wrong ways, but only one right way to assemble.”

The puzzle is called “One Tough Puzzle” (available from Amazon and others) and consists of 9 puzzle pieces, each with four interlocks (two in and two out). The interlocks are shaped like each of the four suits in a conventional deck of cards, so a positive heart interlock can link with a negative heart interlock, and so on. Below is a picture of what the puzzle pieces more or less look like.

Image credit: Official Product Page

To solve the puzzle, one must arrange the pieces such that they form a three by three square when interlocked. The outer edges don’t necessarily have to be neat or uniform in any way, but the box does specify that there will be six interlocks protruding from the edge of the finished puzzle. Because of this lack of an edge, the puzzle offers basically no hints as to whether or not you’re headed down the right path, making it especially frustrating and probably near impossible for someone without tons of time on his or her hands.

After a lot of trying, I did solve it (though not necessarily by conventional means). So, for the impatient (or the Google searchers), here’s the solution (assuming your puzzle pieces match the ones I worked with):

Five Less Mushy Technical Interview Tips

First, a disclaimer: I am in no way any kind of an expert on interviewing. I’m writing this because I’m completing my senior year of undergraduate engineering school and I’ve watched myself, my friends, and my peers go through the internship/new hire interview process for lots of companies with vastly different results. I’m simply interested in making note of what seems to work, and what doesn’t seem to work, specifically within the scope of programming students applying for actual real world programming jobs.

This post has nothing to do with me other than the fact that my experiences are one of the data points. In fact, this could probably more accurately titled Things I Wish Someone Had Sat Me Down and Told Me Four Years Ago.

Before we begin, let’s assume that you’ve already heard the standard job interview advice: be yourself, dress up, make eye contact, ask them questions, etc. I’m not proposing that we throw out any of the age-old wisdom of folks in university career services offices. Rather, I’d simply like to offer up a few addenda:

Accelerating Rose-Hulman Schedule Lookup With Google Chrome

Yes, this is a Rose-Hulman specific post. If you’re not a member of the campus community, this is not the post for you.

Mike Lester gets the credit for this idea. I wasn’t aware of this feature in Chrome until he showed me. So thank him.

If you’ve been a student at Rose-Hulman for more than a day, you know all too well the blessing and curse that is the Schedule Lookup Page. We’re all thankful that our college can be so close knit and trusting that we can share this information with each other, but we also generally don’t like the schedule lookup page. I don’t need to list complaints here, but one of the biggest ones is the number of clicks and the amount of typing it takes to find any one student’s schedule.

The good news is that (because of Google Chrome’s awesome features) we can speed up your boring old Schedule Lookup workflow and make you a real Rose-Hulman power user, and it will look something like this:

To accomplish this, we’ll set up a Custom Search Engine in Google Chrome that will let us search the schedule database directly. It’s pretty easy, so let’s get started.

Yet Another Reload

Here we go again. If you’re someone who has ever followed my blogs in the past, you know that about once a year I just scrap everything and start over, usually due to a system upgrade or because I broke something. Well, that time of the year has come again, but for some slightly different reasons.

First off, I have noticed this pattern of never having a blog that’s more than a year old, and I do see it as a potential problem, because I may eventually have something interesting to say that may be useful more than eight months in the future. I’m not saying that it’s happened yet, but I’m not ruling out the possibility.

Second, I think I’m finally growing out of this idea that I need to play system administrator for all the things I depend on, so I’ve decided to move my blog to “The Cloud” where it can be safe from my sometimes very stupid hands. This is probably the best decision I’ve made in a while. Part of this decision includes switching from Wordpress to Octopress, which I have to admit, makes me feel very comfortable writing posts so far.

Third, I did have a lot of posts about my work at Microsoft as a summer intern, and while there was nothing particularly top secret about the content of those posts, it’s probably easier if I don’t claim responsibility for things I say or infer about the company, especially now that I’ll be going to work full time for a company besides Microsoft. I’m sure I’ll mention it from time to time, but we’ll take that as it comes.

I’m excited to be making big decisions about my social media life, and I really like the Octopress platform so far. I’m sure I’ll have more to say about it, and I imagine I’ll configure it some more and discuss my thoughts on it in the future once I’ve actually used it some more.

Cheers, and Happy Thanksgiving.