San Diego Dining
November 3rd, 2009I recently spent a few days in San Diego, CA with my girlfriend. We tried lots of new restaurants and I managed to snap a few pictures of the food before it was devoured. Here’s a quick photo recap for some of my San Diego dining experiences.
In-N-Out Burger
Although I’ve traveled in the western States before, I had never actually tried an In-n-Out burger before. It was good, but not great. It actually reminded me a lot of Wendy’s but the patties were round instead of square. Next time I go to In-n-Out I will be ordering off the secret menu.
Kono’s Cafe
We found this place through yelp, and the reviews were astounding, rightfully so. Kono’s is a small breakfast joint with seating outside, right on the beach. The eggs were amazing, the potatoes were grilled with green chillies and cheese, the pancakes were fluffy and delicious and the bacon was perfectly crispy. I could not have asked for a better casual breakfast.
Cafe 222
Cafe 222 was featured by Bobby Flay on the Food Network show “The best thing I ever ate.” His favorite dish there was the Peanut Butter and Banana Stuffed French Toast. Being a big French Toast fan myself, I had to try it. Overall the dish was pretty good, but not amazing, but there was lots of other great stuff on the menu. Get there early, the breakfast queue fills up fast.
Tender Greens
On our last night in San Diego we were staying at a hotel in Point Loma, near the airport. It’s also a very residential area. Yet, according to Yelp there was a great restaurant called Tender Greens walking distance from the hotel. So we trekked off into the dark neighborhood and eventually found a small plaza nestled between houses with a few shops and restaurants. Tender Greens is an interesting concept, the menu is very simple and you have to order, serve and bus your food yourself. However, the food was all amazing. I had roast chicken, mashed potatoes, a baby spinach salad with toasted hazelnuts and a pumpkin tart for desert.
The time for a better Apple TV is now
June 23rd, 2009
While catching up on my RSS feeds tonight I noticed a couple posts talking about a live event Boxee was planning. At the event they ended up announcing a Windows version of the software, integration with Digg, Tumblr and MLB.tv. The last item stood out the most, it’s probably the first time that decent web video content is available on a TV connected device, and a sign of things to come.
TV-connected devices seem to be few and far between, and none of them are any good. Microsoft gave it a shot with their Media Center edition of Windows. Netflix has Roku. There’s the Slingbox, and then there’s the AppleTV. I always thought of the AppleTV as an iPod for your television, but it could be so much more. In fact, it’s barely even fufilling the iPod promise. The iPod touch has far outpaced the AppleTV in terms of innovation: Browser, Games, App Store, etc. I have an AppleTV in my living room but I never use it. There’s just nothing compelling about it for me. Sure I could hook it up to my desktop and transfer some media over, but that’s not what I want. I would much rather have access to free, on-demand programs, a decent web browser, and maybe some games.
Now is the time for Apple to truly innovate on the AppleTV. Steve Jobs will soon be returning from his medical leave of absence and he needs a new project. The iPhone was arguably the primary focus of Apple’s efforts for the past couple of years, and they’ve totally wrapped up the market: Tens of millions sold in hundreds of countries, App Store with half a million apps and over a billion downloads. The iPhone project is done, not that there won’t be improvements but the most chalenging parts are far behind. Jobs could take the AppleTV and finally deliver on the promise it set forth years ago. Maybe the project needs an entire reboot with a new name that fits, like iPod TV or even iTV. Personally, I don’t think Apple will get into the TV manufacturing business, but it wouldn’t be unheard of: Apple loves making it’s own hardware even in super competitive spaces (see iPhone).
No matter Apple’s intentions, the stage is now set. Boxee is looking to innovate and hopefully dominate in a market that has been sorely underserved. Apple is the only established player who has a chance to succeed, if they’re up to the challenge. Luckily for consumers it doesn’t matter what Apple does, the market is going to grow with or without them.
Cygwin and Maven Deploy
June 3rd, 2009
A few days ago I completed some work on the Facebook Java API open source project and I wanted to create a snapshot release with the new functionality. The Maven snapshot repository is hosted by a member of the project and it uses public/private keypair authentication. This is a fairly common setup for Maven repositories. Unfortunately, I couldn’t get the Maven deploy plugin to work.
My workstation is running Windows 7 with Cygwin, and from a Cygwin terminal I was able to ssh to the repository just fine so I knew the public/private keys were correct. However, whenever I ran the Maven deploy command, the private key wasn’t found and I was prompted for password authentication.
Maven repository authentication details are stored in a settings.xml file, that, under Cygwin, lives at ~/.m2/settings.xml. I modified this file to include a server entry for the repository and added a privateKey setting with the path set to ~/.ssh/id_dsa. Still the deploy command did not work.
The issue, it turns out, is the confusion between Cygwin, Windows and Maven. If you run the Maven command from Cygwin, your settings file will not be accessed at ~/.m2/settings.xml, and the private key path specified in that file will not be accessible. The settings.xml file is accesed at your Windows home directory when you run Maven, in my case this was “C:\Users\dabdinoor\.m2\settings.xml”. The solution is to copy both your ~/.ssh and ~/.m2 directories to a more Windows-friendly location and update the private key in settings.xml. Detailed instructions follow.
Make sure you have your private key stored in ~/.ssh/ then, at a Cygwin terminal, SSH to the machine hosting the repository:
ssh mrepo@mrepo.server.com
You will be prompted to approve the host computer, it’s signature will be added to your ~/.ssh/known_hosts file. If your private key is approved you should not be prompted for a password.
In Cygwin, copy the ~/.ssh directory to your Windows home directory, this is “C:\Users\dabdinoor” in my case. Also copy the ~/.m2 directory to your Windows home directory.
Next, edit your settings.xml file. Update the private key entry for the repository server:
<server>
...
<privateKey>C:/Users/dabdinoor/.ssh/id_dsa</privateKey>
...
</server>
mvn clean install deploy
Now Maven should be able to properly access the private key and it won’t prompt you to approve the host because it was found in the known_hosts file. Deploy should then be able to succesfully upload to your repository.
Since Maven runs as a Windows process (and not under Cygwin) it is going to look for both your .m2 and .ssh directories under your Windows home directory, not your Cygwin home directory.
log4j dynamic appender configuration
May 29th, 2009
At HubSpot we use log4j with all of our Java projects. It’s an excellent logging tool and for the most part makes life with logs much easier. Recently I wanted to convert a bunch of projects from just logging to file to send emails when errors were logged. Luckily log4j has an email appender (SMTPAppender) that does exactly this. You just set the threshold of event (Error in my case) and the buffer size for previous events. Say you want to get emailed the last 100 lines logged before an error, just set up an appender with a threshold of Error and a buffer size of 100, sounds easy.
The interesting part (for me) was that I wanted to differentiate emails sent on my Production servers from my QA servers. Since I always deploy the exact same package to Production and QA I couldn’t change the appender definition. The answer was to use dynamic appender configuration.
Basically, any log4j configuration can read system-level variables. You can pull the hostname of the server, or even the IP address if you want, and use that value in the appender configuration. In my case I opted to use a system variable to specify the operating environment (Production or QA in my case). Here’s an example of my appender configuration:
<!-- Email Appender sends on ERROR level -->
<appender name="email" class="org.apache.log4j.net.SMTPAppender">
<param name="subject" value="[LOG] ${app.log.environment} PasswordReset” />
<param name=”to” value=”logging@server.com” />
<param name=”from” value=”noreply@server.com” />
<param name=”SMTPHost” value=”mail.server.com” />
<param name=”bufferSize” value=”512″ />
<param name=”threshold” value=”ERROR” />
<layout class=”org.apache.log4j.PatternLayout”>
<param name=”ConversionPattern” value=”%d [%t] %-5p %c - %m%n” />
</layout>
</appender>
If you are using Tomcat to run the Java application, set the system variable in the bin/catalina.sh file. Just add or update the JAVA_OPTS variable like this:
JAVA_OPTS="-Dapp.log.environment=QA"
There turned out to be a couple of tricky bits before I was able to get this working. The first was that the use of system variables to dynamically configure Appenders doesn’t appear anywhere in the log4j documentation. I managed to figure it out with excessive Googling and putting together pieces from all the sources. The second tricky part is that the Appender threshold doesn’t really matter. In practice, the Email Appender will only fire off a message when an event of Error-level or higher (Fatal) is logged. For instance, you can not set an Email Appender to send messages on Info or Debug level events.
Overall, log4j dynamic appender configuration is powerful and super useful, hopefully this post can help others avoid the trouble I had getting it set up.
Obscure Google Chrome tips
May 20th, 2009I’ve been a devout Google Chrome user since the day it came out. Over the months that I’ve logged using Chrome, I have picked up a few interesting tips that I thought I think are worth sharing:
1. Chrome Channels: You can actually switch Chrome over to a Development or Beta channel in order to get the newest releases of the browser. Often the new releases are faster and have new features like Bookmark Manager (explained below).
2. Bookmark Manager: When Chrome launched many users lamented the lack of bookmark management. However, if you switch to the Beta or Developer channel you get access to a full-featured bookmark manager.
3. Switch Tabs: Press Ctrl+(a number key) to select that tab. Pressing Ctrl+5 jumps to your fifth tab. This only works for tabs 1 through 9.
4. Close Tabs: If your mouse or trackball has a middle button you can click it anywhere on a tab to close it. No need to click the X. This is pretty standard behavior in tabbed applications, but I never knew it until I got a mouse with a middle button.
5. Custom Search Engines in Omnibar: You can easily edit or add Omnibar search engines. To add a new one, just right click on the Omnibar and select “Edit search engines.” Then look at the list, you might already have an entry for the website you want. If not, click “Add” and provide a Name, Keyword and URL. The Name is just a label, it doesn’t matter. Keyword is how you want to access this engine, if you choose keyword of “alpha” then anytime you type “alpha” and a space in the Omnibar it will start a search on that engine. The URL is just the action of the search engine, with “%s” substituted for the search term. For example, this is the search URL for Wolfram Alpha: “http://www.wolframalpha.com/input/?i=%s”. When you open a blank tab you’ll see a “Searches” section on the right side of the page, it will contain quick access to the search engines you frequently use.
6. Keyword Bookmarks: This is similar to adding custom search engines, but doesn’t require the “%s”. If you want to access a website quickly by only typing a few character shortcut, you can specify a keyword. For example, you can create a shortcut to Twitter by typing just “tw” in the Omnibar. To add a new shortcut, right-click on the Omnibar and select ”Edit search engines” and add a new entry with your chosen Keyword and URL.
Some things I am looking forward to revisited
May 19th, 2009Almost exactly a year ago I wrote a post covering a handful of items that I was looking forward to. With a year’s worth of new perspective I figured I would revisit each item and update my thoughts. My original comments from last year are provided in block quotes below.
Windows 7 (Sometime in 2009)
I hate Windows Vista. Barely a day goes by that it doesn’t make my technologogy-saturated life more difficult. So I’m really looking forward to the next major version of Windows. I hope that they took time to address all the issues from Vista. Of course this is Microsoft, so that’s probably hoping for too much.
Who could have predicted that Microsoft would actually get a Windows 7 release candidate finished on schedule? Well they did and boy am I glad. I have been running Windows 7 RC on my primary work computer for a few weeks now and I’ve been really pleased. W7 is everything that Vista should have been: It’s fast, intuitive, stable and has some remarkable productivity enhancements. For the first time in years I am not a disgruntled Windows user.
iPhone version 2.0 (June, 2008)
Although I don’t own an iPhone, I absolutely adore them. I would have bought one the day it was released (June 29th, 2007) if the AT&T network weren’t part of the deal. So I am very excited to see what happens with version 2. Will it have 3G, a new design, come in black and white? Probably all of those will happen, but as with most Apple product announcements I love being blindsided by some great features that nobody has dumped on a mac rumor site.
Version 2.0 of the iPhone was not much of a surprise. It was announced at the end of June exactly as expected and the feature set was nearly everything that was predicted. I still love the iPhone yet I won’t buy one because of the network. There’s just too little incentive to move to AT&T when I have Verizon. Hopefully I’ll be able to get a Verizon iPhone in 2010 when the AT&T exclusivity deal expires.
Facebook profile redesign (June, 2008)
I’m excited to see such a major social application unwind the clutter and put good design ahead of customization. I hate MySpace more than anyone, mostly because of the unruly profile pages. Facebook is making a preemptive strike against clutter and moving all the disruptive junk into separate pages or tabs. The timeframe on this one is a little speculative, but the screenshots have been available for some time and release is imminent.
As it turned out, I got to see two major Facebook redesigns in the last year. The first was exactly what I expected, a clean-up of sorts for profile pages. It killed the clutter and I thank them for that. In 2009 we’ve seen a major revamp of the home page with introduction of the Stream, bringing Facebook into spitting-distance of Twitter and FriendFeed.
24 season 7 (January, 2009)
I’ve been on the 24 bandwagon since the first episode, and I miss how entertaining the first seasons were. I think the show was a victim of it’s own success for a few seasons but I’m expecting a return to form with season 7. The writers strike, combined with a major re-working of the plot caused the 2008 season to be scrapped. With all the extra time the writers have had, I think season 7 could be one of the best yet.
I was looking forward to 24, but as part of my 2009 new years resolutions I wanted to watch less TV and 24 didn’t make the cut. I missed the pre-season event “Redemption” and then missed the Sunday night premier of the new season. Since I was so far behind I never even tried to catch up. The season just wrapped up last night and from what I’ve read the finale was a dissapointment. I might watch the season on DVD next year but probably not.
Restaurant Review: Oleana
April 29th, 2009
Last Friday I was lucky enough to have dinner with a friend at Oleana in Cambridge. Oleana has a great reputation and a beautiful outdoor patio that was the perfect place to enjoy a meal in the early Spring weather.
Oleana has been on my list of restaurants to check out ever since I found out they had a vegetarian tasting menu. I’m not a vegetarian but my friend is, also I’m a much more adventurous eater when it comes to vegetables. We both ordered the tasting menu. The normal tasting menu is five courses plus desert, but since we both ordered it, each course came with two different dishes instead of two of the same. I’m not sure if this is the standard practice at Oleana or unique to my experience.
All of the dishes were delicious, but the thing that really impressed me was not just the individual composition (which was excellent) but the progression of all the dishes. They built ever so carefully from light and fresh to deep and developed flavors. Since I was trying to enjoy myself I did not keep detailed notes on each of the dishes, but I did jot down a rough description after dinner, here it is:
- Whipped feta with red pepper and aleppo peppers; Warm buttered hummus; Spicy carrot puree & dukkah; Warm nicoise olives; Bread basket
- First of spring salad with garlic cream; Mason jar layered with green grapes, cucumber and yogurt, topped with shaved ice
- A leafy salad and a lentil salad, each with different artisanal cheeses and crispy cracker-like bread with herbs and Parmesan, one had a citrus dressing and the other a garlicky-yogurt dressing
- Grilled asparagus with oyster mushrooms, topped with Parmesan; Cooked barley topped with roasted tomato jam
- Ricotta and bread dumplings with red wine, porcini and kale; Vermicelli concoction with crazy assortment of vegetables and spices
- Fragrant (rose water?) nougat glace with pistachio and rhubarb; Vanilla ice cream with brittle, ganache wrapped in apricot leather
Oleana was one of the best dining experiences I’ve had in recent memory. The waitstaff was attentive without being overbearing and very knowledgeable about both the food and wine list. I was unsure of what to drink with the tasting menu so our waiter suggested a French Gamay ( Domaine Diochen, Moulin-ã-Vent, Beaujolais) which was a great accompaniment. It started out light and fruity but stood up well as the dishes got heavier. The runner explained each dish in detail when it was delivered, and we were given plenty of time to enjoy each course before the next.
Overall, it was a fantastic meal full of adventurous flavors and I would certainly reccomend it to friends and family. I will probably be going back again later this year to try the tasting menu with a different season of produce.
Busy Sunday
April 27th, 2009
Yesterday was a beautiful day in Boston and jam-packed with activities and fun.
Sunday morning I met up with a bunch of HubSpotters for dim sum at Hei La Moon in Chinatown. I’ve been to dim sum before, but not at this venue. The place was absolutely massive: Two floors with tons of tables. We had a big round table downstairs and it was plenty large for our group and all the food. Luckily we had our dim sum experts Yoav, Jordyne and Jonah there to explain each of the dishes. Most were very tasty, a few were approaching strange but I didn’t have anything that I didn’t like.
After dim sum, a group of us headed over to Boston Common for Ultimate Frisbee. We warmed up by tossing the disc around casually for an hour or so while people arrived. There was a really good turnout, around 30 people. We broke into groups and played games on three separate fields. It was my first time playing Ultimate and I had a lot of fun, it’s a serious workout, too.
I left Ultimate around 2pm and headed back to Cambridge to change clothes and grab my golf clubs, then it was off to Red Tail Golf Club in Devens for a late-afternoon round. I played with my co-worker Kyle, and Jared (husband of another HubSpotter). We teed off at 5pm and managed to play 11 holes before it got too dark. I played fairly well for my first outing of the year, and even managed to make par on my last hole.
After golf we all headed back to Jared and Karen’s in Somerville where Karen fed us amazing turkey burgers with her famous home made BBQ sauce and two tasty summer salads. It was the perfect end to a perfect day and hopefully just the first of many this Spring and Summer.
My internet from A to Z
April 21st, 2009I read Ellie’s post of this same subject and it was such a great idea that I had to try it myself.
In most modern browsers when you start typing an address there are suggestions offered. Here are the top suggestions from Google Chrome (my browser) for each letter of the alphabet. It’s a meme in the making!
A. abdinoor.com
B. blog.hubspot.com
C. cornerhub.com (this is my local development environment a.k.a. localhost)
D. digg.com
E. etrade.com
F. facebook.com
G. google.com/analytics
H. hubspot.com
I. is.gd
J. jira.atlassian.com
K. kyle-james.com
L. login.salesforce.com
M. maps.google.com
N. netflix.com
O. order.beautys-pizza.com
P. [none]
Q. [none]
R. riseclub.us/boards
S. search.twitter.com
T. twitter.grader.com
U. usaa.com
V. video.google.com
W. websitegrader.com
X. [none]
Y. youtube.com
Z. zipcar.com






