Tonight Rachel and I met up with Shane and Alli, who are visiting from Kansas City, for a walk across the Brooklyn Bridge and some of the most famous pizza in all of NYC.

Rachel and I walked across the bridge when we were here visiting before our move, but this was the first time we walked across the bridge at night.

We ate pizza at a place called Grimaldis and the pizza was amazing. The first bite brought a smile to my face. We will definitely be taking anyone that visits us here for at least one meal.

After dinner we walked around DUMBO a bit then parted ways.

On the way home, Rachel and I decided we had to have a little desert so we went to the chocolate room and split fondue.

We are now home, unwinding, and getting ready for tommorrow.



Rachel does such a great job of making weekends special around here. On Friday when I got home from work, she had delicious, homemade whole wheat chocolate chip cookies in the oven and was in the middle of preparing a fantastic dinner. She has been cooking a lot of healthy meals for us lately, but on Fridays she treats us to an extra bakery item that we try to pace ourselves and enjoy all weekend long – the cookies made it until early afternoon today.

On Saturday Rachel outdid herself on two separate occasions. Before I get to those, however, let me give some background.

We headed into Manhattan for some holiday shopping and sightseeing and had planned to hit up Bloomingdale’s. I must admit, Bloomindale’s was pretty cool and when I have extra stacks of cash lying around the apartment I will probably go back and get some new clothes. After exploring all 9 or 10 stories we’d only made one gift purchase and decided we still had energy for more shopping.

First amazing act: Niketown

As we were walking toward Fifth Avenue we walked right by the big Niketown. There is a huge picture of LeBron James out front and she struck up a conversation with me about LeBron. Anyone who knows Rachel knows that she is not a very big sports fan, but she knows I am, so she humored me. Then she asked, “Do you want to go in?” I was in the market for some new Oregon Ducks gear, so we went in. I told Rachel about the gear I needed and she then struck up a conversation about how good the Ducks are, how much she likes The Little One (her nickname for LaMichal James) and Jeremiah Masoli. Amazing!

We proceeded to spend the next five floors talking about whatever sport we were in the section for. My favorite sections were the English Premier League jersey section (she really wanted me to get some sort of Arsenal Gunner gear) and the Nike Pro Combat Basketball gear. That stuff is intense.

Unfortunately we didn’t find any Oregon gear, but I did have a great time talking sports with Rachel in the middle of our fun shopping outing to Manhattan.

Second amazing act: Oregon vs. Arizona St.

Last night’s game was a late one for us out here on the east coast. It started at 10:20. Rachel has watched the last couple games with me and with each game she has gotten more into them. Before last night’s game she even predicted that the Ducks would put up 67 points. Not too bad of a prediction given how well the offense and how poorly the defense have been playing lately (meaning that the starters would have to stay in and keep scoring 67 points since the defense would keep giving up points). Once the game started – I hope I don’t ruin her reputation as someone who doesn’t like sports – Rachel was more into it than I have ever seen her before. At times she was actually yelling at the TV and LaMichael to break another tackle and score again. I think it was her cheering that was responsible for LaMichael’s three touchdowns in the first twenty minutes of the game – that and his incredible moves.

The game ended around 1:30 am, but Rachel stayed up and watched the entire game with me – and she stayed interested in it the whole time. It was perfect.

I realize Rachel probably hasn’t entirely caught the sports bug, but she has come to terms with me liking sports and has been so wonderful talking to me about them.

Today was great too, by the way. We woke up late after last night’s Duck party and took Crusher for a walk to the park. On the walk we discussed the previous night’s game and where we think the Ducks should be ranked – we both agree the Ducks should be ranked higher than 11, but the two winnable games they lost aren’t helping their cause.

I only hope I can now be as great of a conversationalist to Rachel as she is to me.

Over the last couple months I have been exploring non-relational data stores. It began when I started playing around with Google App Engine and really took hold when I read an interesting paper on Facebook’s open sourced database, Cassandra.

After some experimentation and more reading, I think I like the concept. Non-relational databases are schema-less, which means you can store whatever data you want in each document, and storing your data in documents makes it very easy to throw memcached on top of the datastore.

In trying to find the right database for my needs I tried a few different packages:

Google App Engine Datastore Google gets a lot of credit for starting this movement with their introduction of BigTable. Accessing this datastore through GAE is extremely simple and since it GAE is a hosted service there is nothing to install.

Tokyo Cabinet Tokyo Cabinet is extremely easy to setup and use. TC is not really a server, but rather a library of routines that access a local database file. It didn’t have as many querying options as a few of the others that I encountered so I didn’t do too much with it. If you do need this as a server, there is Tokyo Tyrant.

CouchDB CouchDB was pretty easy to install and fairly easy to use. There is also an excellent admin UI and a pretty cool rest api that allows you to build some impressive apps without much code. Querying is pretty advanced, but it relies on you writing your own MapReduce javascript functions.

MongoDB MongoDB has been my favorite so far. It has some pretty nice querying abilities and some good client libraries. I haven’t built anything big with it yet, but I think this will be my data store of choice.

I wrote about vi the other day as a tool I am quickly finding I can’t live without. Screen is a development tool that I use everyday and have known for quite a while that I can’t survive without.

From the GNU website, screen is:

Screen is a full-screen window manager that multiplexes a physical terminal between several processes, typically interactive shells.

and a little later:

When screen is called, it creates a single window with a shell in it (or the specified command) and then gets out of your way so that you can use the program as you normally would. Then, at any time, you can create new (full-screen) windows with other programs in them (including more shells), kill the current window, view a list of the active windows, turn output logging on and off, copy text between windows, view the scrollback history, switch between windows, etc.

Essentially that means it is a program that emulates as many terminals as you would like in just one terminal. I love screen because I can set up my full environment and then keep it that way for months or years at a time. Everyday when I get into work, I fire up screen and everything is just where I left it the night before.

Before starting up screen, you need to make sure you have a good ~/.screenrc file. I am not really sure where I stole this one from, but this is the one I use:

vbell on
nethack on 
autodetach on
startup_message off
pow_detach_msg "Screen session of \$LOGNAME \$:cr:\$:nl:ended."
shell -$SHELL
defscrollback 1200
msgminwait 3
hardstatus alwayslastline "%{.cb}%-W%{.rW}%50L> %n %t%{-}%+W%L<%-37=%{+b}%{.bc} %D %Y-%m-%d %{.bY}%c%{-b} %{.bc}%l "

I really am not sure what all those options do, but the one I care most about is the last line. That option places a fixed status line at the bottom of the screen. It numbers all your screens and also provides a few system stats.

Picture 6.png

To fire up screen I use:

screen -D -RR

There are a lot of different options for screen, and I definitely don’t know them all, but these options reattach to my previous screen. Once reattached I am taken back to exactly where I last left off. In the screenshot above I have three screen windows,

  • the first window (#0) I use for both editing swap-bot code and using svn
  • the second window (#1) I use to quickly switch to the database
  • the third window (#2) I use to continuously keep a tail of my apache logs running

Without screen I could either open up three different connections to the remote server and cycle through the windows as needed or just have one window open and cycle through the programs I need by typing the command each time.

To effectively use screen, you only need to know a few commands.

  • <C-a> 0 s takes you to window 0. Any number 0-9 will work.
  • <C-a> <C-a> – takes you back to your last window.
  • <C-a> A – allows you to name the current window
  • <C-a> ‘ – lets you type either the number or name (partial name works too) of the window to switch to
  • <C-a> esc – puts you in the dungeon (not sure why they call it that) and you can scroll back through previous lines using the arrow keys or <C-b> (back) and <C-f> (forward)
  • <C-a> ? – shows you the help where you can learn all the commands

And that is all it takes to become let screen help you become more efficient.

photo.jpg

It is Thursday night again and this time Crusher offered to buy dinner. Crusher picked up the money I put aside to pay the delivery man and took it to the door. Of course, he would be absolutely terrified if he had to pay the man directly, but he really wanted his JPan!

I am always on the lookout for ways to become a better engineer. From the books I read, to the blogs I follow, to the languages I practice – I do so with the purpose of becoming better.

One area that I have given a lot of focus to lately is how I get the code I write into the computer. I’ve already mentioned that I switched to Dvorak to reduce the length of my average keystroke with the ultimate goal of improving in speed and accuracy, but I have also have switched text editors recently from Textmate to vi (it is actually called Vim for vi improved, but I just call it vi).

For a developer, their text editor is their lifeline to the code. A good text editor will provide shortcuts that allow you to spend more time writing and correcting code and less time fumbling around trying to find where to write your code.

I started using Textmate about four or five years ago, and when I discovered it thought it was the greatest Mac app ever created (I actually might still give it my vote, it is an impressive application). It is a basic text editor that allows for some pretty powerful shortcuts. Textmate is very extensible and allowed me to do just about anything with it – for a while I used it to post directly to this blog and I once wrote a plugin that allowed me to upload my photos to flickr. It is pretty cool, but at the end of the day is still a graphical application and requires you to go to the mouse to do just about everything other than write code. I didn’t realize this was a bad thing until I took the time to really learn vi.

A couple weeks ago a coworker suggested I take some time and learn vi. He had been using it for a while and found he could get around his code very quickly because it is a keyboard based application – no mouse allowed. I was familiar with vi as it was my command line editor of choice, but I also knew I wasn’t even using 1% of its power. Over the last couple of weeks I have been learning to use vi and find it a lot of fun.

I don’t think I am as fast with vi yet as I was with Textmate, but I can definitely see how I will be soon.

I have been too busy lately to really take time to discover new music, but one new band I have been loving lately is Monsters of Folk. MOF is a group made up of M. Ward, Conor Oberst of Bright Eyes, Yim Yames Jim James) of My Morning Jacket and Mike Mogis also of Bright Eyes.

I first heard of the supregroup when Rachel and I went to an M. Ward concert in Central Park. I didn’t exactly know what to expect, but based on who was in the group and the name, I was a little surprised to find that they weren’t really all that folk-sy. I am definitely not the first to make this comparison, but they remind me of The Traveling Wilburys. There is even a couple songs, when I first heard them I had to make sure Roy Orbison wasn’t making a posthumous appearance on lead vocals.

My favorite songs on the album are the ones sung by Ward and Oberst. I am a big fan of their previous work and their new songs sound much the same. I am also starting to warm up to Yames. I have a few MMJ albums, but mostly have cherry-picked my favorite songs off the discs instead of diving in. I am starting to correct that now.

I would love to see MOF come out with more albums, but don’t want to see the individuals in the band stop their day jobs. Basically, I want to hear as much from these guys as they can possibly write and sing.

One of the biggest changes in my daily life since moving to Brooklyn has been my commute. Everyday I take the R or M train – I get on whichever comes first – at Union St., take it to Pacific Ave. and switch to the D train. Two stops later I am dropped off about a block from my office. Waiting for the D at Atlantic usually only takes about 2-3 minutes. From door to door, on a good day, I can get to the office in less than 30 minutes. If I get really unlucky with the trains it could take up to 45 minutes.

Since we are so close to Manhattan, the train is pretty full by the time it gets to me. All the seats are taken, so I have to stand. Luckily, the first train ride is only about 3 minutes and then the second is only about 10 minutes.

Previously, an hourly daily commute would have been spent in traffic in a car. Now I get to read my Kindle for most of that hour a day. I really enjoy my commute and feel like I am being productive to and from work each day.

There is an episode of How I Met Your Mother where Marshall finds himself in one of those discount chain stores in New Jersey and absolutely loves it. He has room to spread his arms and can get everything in huge quantities. Rachel and I ventured into Stamford, CT today to do just that, spread our arms and buy huge packages of the things we needed.

We started the day by going to a town called Port Chester, NY. I had been wanting to check it out after seeing a few things about it during my ongoing research on cities and towns in upstate New York. They also have a Michael’s and Panera, so we had plenty of reasons to visit. Panera was great, as usual, but I think I am becoming an impatient New Yorker because the service seemed a little slow. After lunch, Rachel headed to Michael’s – she had a couple coupons that were about to expire – and I took Crusher to Petco to see if he wanted any new toys. He was mast interested in the bird toys and cat litter so we left without making a purchase.

After driving around Port Chester a little, we crossed the state line into Connecticut. As strange as it sounds, I love crossing state lines. There is something about crossing an arbitrary line so easily that I get a kick out of.

We made it to the Stamford Town Center Mall around five for some shopping. Rachel had a couple more coupons to spend and I wanted to maybe splurge on some new clothes with some of my birthday money. We ended up not having too much time to shop since the mall closed at six, but it was a nice mall and I would love to go back the next time we need to go out for some suburban shopping.

Finally, we made an epic trip to Target. We actually live within walking distance of a Target in Brooklyn, but it is so stressful to go there, that I try to avoid it whenever possible. Our Target is incredibly crowded and the shelves are never stocked. The Target in Stamford was marvelous. It was calm, quiet and seemed empty. We had the luxury to peruse the fully-stocked aisles at our own pace. Since we drove we could stock up on family sized shampoos and economy sized dishwashing detergent, and not have to worry about carrying them all the way home. Shopping at Target has never been so fun.

We had a great day getting away from the city. The weather was perfect and scenery was even better. This city is staring to grow on me, but it is nice to get away and be able to spread your arms in wide aisles every once in a while.

At the park

I snapped this picture of Rachel and me this morning on our walk to Prospect Park. We try to take Crusher to the park every Saturday and Sunday for him to get off his leash and run around with the other dogs.

We live about 4 blocks from the park and usually stop by Starbucks for an early morning pick-me-up before the park. I love going to the park with Rachel and Crusher. It is so nice to be surrounded by nature and relax.