Relax, srsly.

August 13th, 2010

My daily routine generally corresponds to the following list:

1) wake up groggily and turn off alarm
2) stare at the ceiling for a bit
3) get the dog out of his cage and feed him
4) feed myself (maybe) and get dressed
5) read reddit/hacker news

Really there should be some exercising in there now that I think about it but that’s not what I’m writing about today.

I am actually more interested in discussing Alan Sugar, the Aussie lad, who has become a millionaire with his multiple start-ups. An article was posted on Reddit (and probably Hacker News) with the caption of “This kid is only 16 years old. Also, he has already made more money than you will probably make in your entire life time.” That’s cool I guess. If your goal in life is to make money, and unfortunately for so many of us in the tech industry, we dream of being the next Gates/Jobs/Fried/Graham/Whoever and lose sight of what it was that brought us into the industry in the first place. I’m not saying that people shouldn’t go out and start new companies doing innovative and interesting things, I’m just saying that you ought to make sure that when you do join a start-up, especially as a founder, you do it knowing that you want to do those things involved in that process.

I’m not a start-up kind of person and probably never will be. Its not that I’m too lazy to do a start-up, so much as, I have thought long and hard about it and observed friends doing it and noticed a common trend: less problem solving, more people solving. I’ve never been particularly great with people outside of a technical context. You want to talk compilers, operating system design, Turing’s Halting Problem or automated theorem proving? Sure, I can do that. You want to talk about how you feel and how we can negotiate to make this a better deal? Mmmm… not so with you on that one. I relate to problems in a technical manner almost exclusively. When my girlfriend tells me one of her problems (she works for Microsoft too as an SDE) at work or with people, I tend to look at it from one direction: how can I effect the most utilitarian outcome. I honestly have little interest in solving people-to-people problems. I want to solve people-to-technology problems.

So what does this previous paragraph mean in regards to the topic of Alan Sugar? Well, first of all, I can’t be him. I probably never will create a start-up and make $1 Million dollars. And chances are, neither will you. Even when you try, your start-up is likely to fail. You’ll probably even drag it out longer than you ought to have in hopes that someone, anyone, will think that that really revolutionary and awesome product you and your co-founder made is awesome. Sadly, it probably isn’t.

So what can we do now that we know we’re destined to a life of ordinary? Well, you can suck it up and say I’m full of shit and continue trying to make that million dollars. For those of you that have what it takes to do a start-up and be successful, this is what you’ll likely do. For those of you that are determining your self-worth by how much money you make or whether you do a start-up or not, you’re doing it wrong. So incredibly wrong and you don’t even know it. The people that are successful in start-ups are successful because they LOVE what they’re doing. There are many people out there trying to do start-ups that don’t love what they’re doing, they love the idea of what they’re doing and what it will potentially result in (millions of dollars earned).

So here’s the deal: relax. You live once, do what you enjoy, even if it doesn’t make you a million dollars. I love the problems that I solve in my job, even if most of the engineers within Microsoft say “You work on COM? Ugh, I’m sorry.” I’m not, and its because I’m learning. All I want out of a job is to be continually learning. If I reach a point in my current position where I am no longer learning then I’ll move to another part of the company and learn something new. If you love the challenges connected with starting a business, then start one. If you love solving technological problems, then solve some. Don’t jump ship to a start-up because it might make you millions. Money is great, but you can’t take it with you when you die. No use amassing huge amounts of it to the detriment of your own enjoyment.

TL;DR: Do what you love, not what you think you love.

Writing is Cathartic for Developers (or at least me)

July 22nd, 2010

As a developer, I’ve found that one of the best ways for me to clear my brain when I’m having trouble with a problem is to write. I hadn’t made this connection before as I somewhat avoided writing after many years of AP English. I’ve never been a fan of literary analysis as I am not particularly gifted with trying to draw meaning out of words that I believe isn’t there. I tend to take things a little more literally, but such is the life of someone that enjoys math and computers. If it isn’t explicitly there, you can make no assumptions.

Sadly, although I say writing is cathartic for us developers, I have about 5-10 unfinished drafts of posts that I’ve been working on over the last couple months as topics come to mind. Perhaps this is a reflection of how busy I am. More likely, this is a reflection of my incomplete and blossoming ideas while I grow as a developer. It seems I have gone through many ups and downs in my opinions of how development should take place, language constructs and usage, and most importantly of late, refactoring.

So back to the title, how is writing cathartic? I should note, writing is not only cathartic for developers but everyone. Writing allows us to lay out that which is on our minds in a semi-organized format. Only the most disciplined individuals can think through a problem entirely in their head. For us mere mortals, we are relegated to working things out on paper, chalkboard, editor, word processor, whiteboard or any surface that is capable of being marked.

As professional or amateur developers, we face problems all day, every day. We have chosen a life of problems to solve and we love it. At least, I hope you love it, because if you don’t then you’re in the wrong industry. Developing your skills as a writer enables you to more clearly state your ideas and thoughts in a structured and well-reasoned manner. As a developer, the ability to articulate your thoughts clearly into the code you write is key. Too many times, I have encountered code that quickly descended into spaghetti code because the author didn’t take the time to think through his/her problem. Thus, if you spend the time developing your writing skills and thinking through the problems you have in your daily career, you will likely improve those skills as a developer.

I know some developers that spend their time writing in a journal daily, thinking through their problems and writing out their thought processes on paper. Other developers may have an entire hobby of writing literature on the side. Perhaps they are amateur novelists hoping some day to publish a book.

So take time, even if its only thirty minutes, to write something. Maybe just a couple paragraphs about something you’re passionate about. It can be cathartic, incredibly so in fact, when you’re stuck on a difficult problem. You may come to realizations you hadn’t previously realized because you were thinking too much in code and less in concepts and abstractions. I find that nothing clears my head better than sitting down to write out my thoughts and process what I learned that day and what I hope to learn the following day about my present problem.

I write on this blog because its an outlet of my daily frustrations and learnings. I don’t write nearly enough on it, but I write, none the less, behind the scenes and publish infrequently. My passion is software development processes and programming languages, two incredibly interrelated topics that many people don’t often see the connection between. To be able to write about these things as I learn more about them allows me to keep track of my past opinions and learn from may have been a “whim”.

Podcasts – Now I’m Addicted O_o

June 19th, 2010

The first time I encountered the concept of podcasts (probably when I was 15 and got my first iPod?), I though it a rather stupid idea. Why would you purposely download an mp3 filled with someone talking some inane nonsense? Granted, I was 15 and had not yet developed an appreciation for hearing anyone talk about anything for any length of time besides myself.

However, I recently found myself with an excess of uninterrupted time in which I can listen to something while I’m programming or bug triaging. When I started at Microsoft in February, I just listened to music primarily and that seemed to be okay. After a time though, this grew old and I needed something else to hold my attention. During college, I had picked up the habit of listening to NPR when I was in the car and rather enjoyed that. Unfortunately, I had a hard time finding any talk radio that I enjoyed listening to in Seattle as I’m not a liberal, nor am I a what is commonly referred to as a Republican today. We’re not here to discuss my politics so I won’t get into it any further than that. Suffice it to say I was looking for a conservative perspective that wasn’t tainted with the popular Republican slant.

Enter podcasts. My supreme overlord, at least in my little world of REX (Runtime Experience) at Microsoft, Steve Rowe is an avid podcast listener and had a list of podcasts (though I think he calls them netcasts?) that he regularly updates on his blog. In general these are tech related, but he has a few non-techy related ones as well. The laundry list includes most of the Leo Laporte & Paul Thurman casts (This Week in Tech, Windows Weekly and one other I don’t recall), Wall Street Journal This Morning (daily news), and then Russ Roberts’ EconTalk.

EconTalk is really the reason I wrote this entire post. I’ve listened to five or six episodes of it and I’m continually impressed with Roberts’ ability to bring on interesting guests that are not always directly related to the field of Economics. Examples include the editor of ESPN Magazine (Gary ????), a psychiatrist that spoke on depression/mental illness and an author who spoke about Prohibition. Roberts’ is incredibly good at providing some economic insight into each of the topics without having to stretch for a conclusion.

Erring on the side of the absurd, I also got a co-worker’s list of favorite podcasts and now listen to two from his list in particular: No Agenda with John C. Dvorak and Adam Curry (THE original podcast) and Cranky Geeks with John C. Dvorak & co. These podcasts largely feature Dvorak ranting about something every other minute and Curry producing some sort of absurd conspiracy theory. If you don’t mind absurdity (and I don’t), then these are worth listening to.

I’ve also got a mish-mash of things I’ve found and have interest in. Since I have developed an interest in baseball of late and my team of choice is the St. Louis Cardinals (influence of Caroline, my girlfriend), I also listen to a couple podcasts associated with them. They’re fairly entertaining and help when I can’t catch every game, despite having MLB.tv. Additionally I enjoy hearing the new developments in science without major news outlet slant so I’ve got a podcast from Scientific American as well as The Skeptics Guide to the Universe.

Finally, there’s the entirely inappropriate and fantastically hilarious Savage Love podcast by Dan Savage. For those uninitiated, Dan Savage is a humorist and editor of Seattle’s “The Stranger” weekly newspaper. He’s an openly gay individual and offers love/sex advice to those who write in or call in. Always entertaining (and sometimes shocking), definitely recommend. If you’re going to listen to this one at work, you need to be wearing headphones, he’s not at all safe for work. As I prefer to put it, VFNSFW (Very F***ing Not Safe For Work).

Without further ado, my list of podcasts (in no particular order):

  1. 2birds1bat – Cardinals podcast
  2. Cranky Geeks
  3. EconTalk
  4. No Agenda
  5. Savage Love
  6. Scientific American
  7. The Skeptic’s Guide to the Univerise
  8. The Sporkful – food podcast, not foodies though
  9. This Week in Tech
  10. Wall Street Journal This Morning
  11. Windows Weekly
  12. Redbirds of a Feather – another Cardinals podcast

These podcasts are all pretty easily found on the internet and I believe you can access them all from the Zune software. I know you can definitely get them from iTunes but now that I’m a Zune HD owner, I don’t have the distinct torture of having to use iTunes anymore. (No, I did not drink the koolaid and love everything Microsoft now, iTunes is just terrible software :)

Tales from the Skies

June 18th, 2010

Hour eight of my captivity… My captors tell me we near our final destination. They walk about barking orders, “Turn off your MP3 player!”, “Tray tables up!”, “Please give me your trash!”.

They have held us in seats that feel as though they’re constructed of plywood and ugly drapes. I can only hope for fresh air… no telling what is in the recycled air. Probably some sort of doping agent to keep the masses from rising against their captors. Children are crying. I sympathize with them, and agree that we are treated harshly by our captors.

I have been ordered to put away my laptop now. One of my captors has given me a stern glare, I fear she’ll make me endure another sky prison. Eight hours has already been enough and I am starting to lose my nerve. I fear I will lose the will to live should I be forced to endure another. With that, I bid you ado.

Prosciutto, Tomato and Green Pea Hummus Bruschetta

March 24th, 2010

Prosciutto, Tomato and Green Pea Hummus Bruschetta (sort of)

I found this recipe for Green Pea Hummus on seriouseats.com. It looked pretty good and I’ve always had a strange fondness for green peas. I had originally just intended to make the hummus and eat it with slices of brie and wheat thins but realized I could do more.

Ingredients

1 bag of frozen green peas, thawed
1/2 lemon, juiced
1/4 cup of olive oil
3 cloves of garlic (diced finely or pressed)
salt and pepper to taste (I have a knack for getting this right so you may have to work at it)
3 slices of prosciutto
1 Roma tomato or other small tomato
grated Parmesan cheese
2 slices of good (artisan or french) bread

Preparation

Throw thawed peas, olive oil, salt, pepper, garlic and lemon juice into a blender or food processor. Chop/blend till the mixture achieves the consistency of your standard, run of the mill, hummus.

Set your oven to broil on high. Toast bread lightly then place in a baking pan or on a baking sheet. Spread the hummus onto the slices of bread. Then place prosciutto slices on top, tomatoes next and finally the Parmesan cheese. Put in the oven for about a minute and a half to two minutes (depends on the oven).

Now eat it :).

Savory Breakfast (Oatmeal & Ham)

March 17th, 2010

Mark Bittman (chef & NY Times columnist) wrote a blog post yesterday about his savory breakfast. Intrigued by a salty oatmeal dish and disliking celery, I tried my own variant this morning using some Canadian (or Irish :D) bacon that I had leftover from my cabbage soup adventure.

Ingredients

3/4 cup of oatmeal (your heart-healthy serving!)
Canadian bacon – this is more based on how much you want, I had 1/2 inch cubes
1 1/2 tsp soy sauce
1 1/2 cup water
1/3 tbsp butter

Preparation

Fill a small soup pot with the water and chopped bacon. Put on medium heat and let it reach a rolling boil. Once boiling, add oats and reduce heat to medium low. Stir the mixture occasionally and let cook for about five minutes. Assuming you know what you like your oatmeal to look like, I use that as my judge for when its done.

Pour the oatmeal+bacon mixture into a bowl, add the butter and soy sauce and mix. Consume!

Thoughts

It occurs to me that this is probably better served with sesame oil rather than butter, as Mark Bittman mentions in his post. The flavor would be richer. I will note that I can’t eat near as much of this as I can of standard oatmeal+sugar+butter+cinnamon mixture. This is richer and has more body with the bacon.

New Cookbook and Ceramic Dutch Oven

March 16th, 2010

I’ve been on a bit of a cooking-related buying spree lately. On Sunday I cashed my Costco rebate check and went straight to The Epicurean Edge. There, I bought a MAC Paring knife, a magnetic wall-mount knife block and a bamboo cutting board (my current cutting board wasn’t very large). Admittedly, I really wanted a Hinoki cutting board, but I couldn’t justify spending $130 on the cutting board when I got all of the above for about $150.

Later that evening I also went online and ordered a ceramic (cast-iron core) dutch oven by Lodge Logic with a Le Creucet replacement handle. The one that comes default with the Lodge Logic dutch oven is plastic and melts above 400 degrees. Thus, my dutch oven looks very much the part of a Le Creucet dutch oven with the nice price tag of about $55.

On Monday I proceeded to buy James Peterson’s Cooking, as I have no real cookbooks besides the Alice. B. Toklas one, which isn’t entirely practical or broad. It came in the mail today as well, hooray :). I like that its got all the pretty pictures and the recipes seem quite followable.

Finally, I haven’t been very happy with the Farberware Non-stick pans I bought from Costco. They’re okay, but they don’t have very good heat properties (ie: stay hot too long, take forever to heat up). So I decided that since Costco has such an awesome return policy, I’ll return these and buy a set from Amazon. I ended up getting a nice stainless steal with aluminum core set by Cuisinart (Multiclad Pro series). The particular set I wanted was sold out, so I bought a smaller set and added on the 3.5 qt saute pan and 8 inch omelet pan (Marcus Samuelsson, no Cuisinart).

Huzzah for new cooking things! Now all I’m missing is someone to test my cooking on, which will primarily be Caroline (g/f) when she comes next week.

Kale, Prosciutto, Tomato and Egg Salad

March 16th, 2010

Kale, Prosciutto, Tomato and Egg Salad

This is a modified rethinking of Chef Tim Love’s salad served at his restaurant, Lonesome Dove (also my favorite restaurant). This is my first go at it but I did learn a few things along the way. The original lacks the tomato and prosciutto, but I had some in the fridge and figured it’d go well.

Ingredients

Kale – enough to fill as many salad plates as you’re serving
3 strips Prosciutto – per plate
1 egg
1 Roma tomato
salt – to taste
pepper – to taste
3 tsp red wine vinegar – this is still up in the air, its what I used this time
1.5 tsp olive oil
0.75 tsp sugar

Preparation

Wash the kale in cold water, towel dry. Cut off the stems of the kale up to where heavy foliage begins. Take the kale and cut it in about 1 cm increments perpendicular to the stems.

<SIDE NOTE> If you leave the kale as is when served, the kale will be somewhat.. more resilient and tough. I don’t mind it much but I remember it being tenderer when I ate it at Lonesome Dove. That makes me think they VERY briefly steamed the kale, just to soften it a bit. I will update the recipe when I know more about this. </SIDE NOTE>

Dice the tomato and prosciutto. Place the kale on the bottom, with tomato and prosciutto on top of it.

To make the dressing, mix the olive oil and vinegar together. Add salt and pepper to taste. Depending on the vinegar you use, you may need to add sugar to the dressing. Set the dressing aside for now.

Last part, and the best :). Fry an egg over easy, you could even fry two if you had a real appetite. Place the egg(s) on top of the salad and then pour the dressing over the top. Serve immediately.

French-style Butter Smothered Potatoes

March 14th, 2010

Courtesy of Alice B. Toklas (The Alice B. Toklas Cookbook)…

Found this recipe while browsing the aforementioned cookbook, which by the way is a fantastic read (reads more like a memoir with recipes interspersed). The original calls for two pounds of potatoes but since I’m generally cooking for just myself or my girlfriend I’ve modified the recipe for two.

Ingredients

2 large Russet potatoes (or 3 large Yukon Golds)
1/4 cup salted butter (if you’ve only got unsalted, you’ll want to salt more at the end)
salt (to taste)

Preparation

Wash and partially peel the potatoes. You can leave them unpeeled as well, either works. Melt the 1/4 cup of butter on medium heat in a medium frying or sauce pan (8 to 10 inch pan). Once the butter is melted, put the potatoes in the pan, stirring occasionally. It should take about 15 minutes to brown (on all sides). The potatoes should be crisp on the outside and soft on the inside. Once done, salt to taste, no pepper.

NOTE: This recipe is actually very close to the recipe for pommes sarladaises, which are the archetypal side served with duck confit (my favorite dish). The primary difference is you swap the butter for rendered duck fat. An amazing dish with a more gamy flavor.

Irish/Ethiopian Cabbage & Potato Soup

March 9th, 2010

I’ve wanted to make a soup for a while. Last week I got it in my head to make squash soup but as it turns out, it is not squash season which means squash is ridiculously expensive. Since squash turned out a failure, I went for something less seasonal and more gaseous. Hunting around on http://epicurious.com, I found two recipes I liked. One was for Ethiopian Lamb & Cabbage soup and the other was for Irish Cabbage soup. Since lamb shoulder was $28 at the store, I went for the Canadian Bacon listed in the Irish Cabbage soup.

Ingredients
1/2 to 3/4 lb Canadian Bacon (you want this in a slab form, not slices for pizza)
1 large Russet potato OR 2 large Yukon Gold potatoes, diced into smallish pieces
1 small to medium head of cabbage (savoy or green or even red), chopped
1 medium Yellow or Sweet onion, finely chopped
1/2 cup chopped parsley (Italian or otherwise)
3 to 4 tbsp salted butter
2 cups navy beans (this is optional, I wanted the protein)
2.5 qt water or chicken stock (depends on the flavor you want)
2 cloves of garlic, diced
1 tsp (large) cumin
1 tsp crushed red pepper
3 bay leaves
1/2 tsp dried mint
season salt or kosher salt to taste (vague, I know)
ground black pepper to taste (vague, I know)

Preparations
Soak the navy beans for about 8 hours. Just fill a bowl with water and the beans so that about an inch of water is covering the top of the beans. There are ways to speed up this process if you’re unwilling to wait, I won’t cover that here.

In a sauce pan (or a deep frying pan), put the Canadian bacon and enough water to cover the bacon to about an inch. Put on medium heat and allow to reach a low boil. Skim off any foam/fat that is on the surface of the water. Cool and drain the bacon. Slice these into about 1/2 inch chunks.
NOTE: I tend to cut the bacon into a few chunks from the start. My package of Canadian bacon was 1.25 lbs so I cut it in half and cut that half into a few smaller chunks before boiling. Less water needed to boil basically.

Chop the veggies above in the fashion mentioned. Take a large soup pot and melt the butter over medium heat. Once the butter is melted throw in the Canadian bacon and brown (about 3 minutes). Once the bacon is browned, throw in the onion and cook till soft (about 3 minutes). Throw in potatoes, parsley and garlic next and cook till potatoes are soft (3-4 minutes depending). Add the 2.5 quarts of water, navy beans, cumin, salt, pepper, and bay leaves. Simmer for about 40 minutes.

Add the chopped cabbage and mint to the soup and cook for another 40 minutes. Salt and pepper to taste and serve.

This can be cooked a day or two in advance. Most recipes say “blah blah 1 day in advanced” but I’ve taken to freezing soups I make. I wouldn’t leave it out on the cook top (burner OFF!) for more than a day though. It should be refrigerated.