2008 was a great year.
A lot of fun things happened. I started speaking more. I started using linux as my desktop. Obama won. I played with XMPP manically. I built some neat applications and Threadless continued to be awesome.
On my blog, the following entires got a decent amount of attention:
The theme seemed to be XMPP and Hosting - which, if you have hung out with me recently, is rather close to what i like to talk about in real life ;). I think that I will continue this trend into 2009, but hopefully blog about it more.
I did notice that I ended up blogging less this year than almost any year before (2008: 30 entries, 2007: 84 entries, 2006: 154 entries, 2005: 166 entries, 2004: 275 entries, 2003: 290 entries, 2002: 266 entries, 2001: 103 entries, 2000: 27 entries). I have been blogging for about 8 years for a total of about 1395 entries - which means that this 1 year accounts for about ~2% of my blog entries. haha. I am guessing that 2% accounts for about 90% of my blog traffic. I am not a new years resolution type of guy, but I would like to blog more regularly. Hopefully get my percentage up a bit. maybe 100 posts. It isn’t THAT hard. ;)
To offset the lack of blogging, I twittered a lot. In fact, I updated twitter around 3251 times (this number is approximate because of the twitter api and paging). Of the 3251 tweets, 852 were replies. I replied to paulsmith the most with 25 replies. ryankanno was second with 20 replies. I said awesome around 249 times. I talked about sleep 71 times. I mentioned Hiromi 122 times. I said fuck about 46 times. I talked about work 238 times. My fake new years resolution about twitter is to stop having twitter steal blog entries. I saw that written somewhere and I laughed at how often that happens. I think of a blog and instead just twitter about it. It kills the entry and doesn’t flesh out my thoughts as much. I think the best plan is to integrate and use both mediums to develop a post.
My flickr usage dropped significantly this year. Kind of a bummer because i LOVE taking pictures. Hiromi is currently telling me that we don’t take enough picture together. It looks like i took only ~800 pictures in 2008. I blame this on the iPhone and how slow its camera is. In previous years i have used shozu and a 360 device. This let me upload picture directly after i took them and most often in the background. I need to take more pictures. I wish i had more insight into my flickr pictures. I need to build out my archive a bit more to keep track of everything like i did with twitter. It is quite handy.
Work was awesome in 2008. We had some large projects that launched a bit rougher than i would have liked, but they turned out awesome. Typetees.com, theselectseries.com, threadlesskids.com and the new threadless.com are all awesome. The team that worked on them are all amazing. I couldn’t ask for a better team of technologists, production people, operations people and warehouse people to help make technology at Threadless be awesome. I can’t wait to see what is in the pipeline for 2009.
Seriously - 2008 was a great year. I can’t wait to see what 2009 brings. I hope more fun, more blog entires, more tweets and more pictures.
I have been busy. Threadless just ended its annual holiday sale (went out with a bang). Hiromi and I have been busy getting read for our holiday party with my parents on christmas (today!) and i have been hacking on a bunch of stuff in my spare time. Hiromi made an amazing dinner and we ate it. ;) It was a great time. We missed Dylan and Sarah, but we will hopefully see them soon.
This year has been great thus far and I will attempt to memorialize it in a year end post around the 1st. However, in the meantime I wanted to take a moment and say “HI” and go ahead and wish everyone a Happy Holidays. I hope everyone discovered their proper amount of conspicuous consumer. I know that we did.
Although, I certainly don’t update my blog quite as often as I would like (or my mom would like) - I do update my twitter status quite often and post a number of pictures to flickr. I am hopefully going to start updating this blog a bit more, but in the meantime you are welcome to check out my interweb activity aggregation page and the associated RSS feed (props to broox who showed me his, which I copied).
06 Oct
Posted by Harper in General at 01:20 AM
Tags: api, bus, chicago, hacking, transit
I have been working hard to release the work that I have been doing to expose some of the more interesting real time data about chicago transit. Currently it is very bus-centric, but that is hopefully changing.
The genesis for this API is some work I did awhile ago reverse engineering the CTA Bus Tracker mashup. I was able to expose the endpoints that powered their google maps mashup. In its original state - you can get some pretty awesome functionality and data. I am attempting to clean it up and make it more robust.
The native endpoints thus far are:
I have created a proxy for the endpoints that will do some caching and hopefully alleviate any crazy load the CTA servers would have if this API becomes popular.
I also did some work to push the UPOC alerts from the CTA riders community into a usable form. That endpoint is the first of hopefully many that can be used to grab real time information about the CTA. You can access it at:
Dan X O’Neil and myself hacked these alerts into the CTA Tweet bot that sends CTA updates via twitter. Pretty neat.
Moving forward with the API, I want to do a couple key things. The first is to return JSON instead of that terrible XML. The second is to create a couple endpoints that will help with finding the right bus at the right location. I am always looking for help with this stuff - so if you have any ideas - please let me know in the comments.
So far, there are not a whole lot of applications using this API. The only ones I have thus far are:
If you know of any others - let me know. I have a couple projects brewing myself that will hopefully add a shortcode, and a jabber bot for bus notifications and queries. Are there any things yall would like to see? I personally want a really solid native iphone app. It would be awesome to be able to have the iphone pinpoint your location and then tell you what the nearest buses are that are arriving soon. Also - replicating the bus tracker in an easier to use fashion would be excellent.
All of this API work wouldn’t have been possible without the help of Dylan Richard, Dan X O’Neil and Kevin Zolkiewicz. The CTA has also been amazingly cool with all of this - I really like those guys.
06 Oct
Posted by Harper in General at 12:54 AM
Tags: api, internet, javascript, web-2.0
I have recently been involved in talking to a local chicago entity about their unofficial API. It has been fun and deserves a blog entry of its own. However, this is not that blog entry - this blog entry is about mashups and the not so public APIs they often create.
In the past couple years i have constantly been tearing apart webapps. Either because I wearing my developer hat at work or because i am rocking on something at home. I have always been trying to figure out what goes on behind the scenes and wondering if i coudl use that to do something cool.
A couple weeks ago i decided to figure out what powered the CTA Bustracker Google Maps mash up and was able to expose the “hidden” api that powered the mashup. In a conversation I had with Dan x O’Neil about the unofficial API I was able to expose - he asked a question about mashups and APIs. It led me to rant about how there is so much untapped APIs out on the internet currently powering mashups, and other rich internet appliances. These APIs are not documented, are unofficial and will of course change. But think of the data and functionality that could come from all these mashups and startups who are building an API for internal use but could release it and empower their users to build something neat.
If you have built an application recently that has endpoints that is returning JSON for js frontend work, or is integrating with google maps, or is exposing endpoints for fun - PLEASE, please document it a bit, throw an API link on your site and let some enterprising and bored nerds build something on the thing you made. Don’t try to imagine how someone would use your endpoints - but expect to be surprised.
I need to do this with threadless - we built it to be very easy to break down and integrate into other peoples sites (image urls, etc). But, there is a secret API that we should be releasing, documenting and letting people use. Stay tuned.
30 Aug
Posted by Harper in General at 10:31 PM
Tags: audio, audiophile, hifi, preamp amp, stereo, t-amp
Anyone who hung out with me in the last couple months has probably heard me rant and roll about my new stereo. It is awesome. I can’t shut up about it. I am addicted.
It all started a couple years ago when the SI Tripath Amp emerged on the market. It was a little amp that was reviewed as being MUCH bigger than its cost or its physical size. It was about 40 bucks at target and reviewed the same as amps costing thousands more. Pretty sweet.
I purchased a couple of these and immediately blew at least 2 of them fucking around, recasing and generally attempting to make them sound better than they sound stock. After giving my final one away to a former coworker of Hiromi’s - I stopped paying attention to the various blogs and audio reviews of the T Amps.
Until about 1.5 months ago. heh.
I read an article about building speakers on hackaday. It lead me to another article about building your own speaker hi-end cables. Which lead me to an article about reboxing a SI T-Amp. Full circle.
The T-Amp article lead me to start reading diyaudio.com for about 2 weeks straight. It was madness. I stopped programming, stopped hacking stuff and just started building out a new HiFi system in my head.
I read a bunch of reviews about amps, speakers, and all sorts of random topics - until i found this awesome 6moons review of the Trends Audio TA-10.1. The thing that was interesting about this review is that the 3rd page of the review mentioned some Klipsch speakers that i happen to own and have in my living room. The review mentioned how awesome the TA 10.1 was when matched with the Klipsch speakers, especially in a horizontal bi-amping configuration.
So I went ahead and picked up two of them from Audio Magus to bi-amp my klipsch monsters. I also picked up a CHEAP preamp from phonopreamps.com. In total i spent about $325 and picked up 2 amps and 1 preamp.
After they arrived, i was able to hook everything up and after a bit of burn in really hear how awesome it actually is. I am very happy with the results. I am not going to talk about soundstage or anything like that - just that it sounds awesome.
Since I am bi-amping my speakers - I went ahead and set both amps as poweramps (by a jumper inside the amp) and am using the preamp as the volume control. This works very well. My only gripe is that there is no remote, but that is a future addition.
For audio sources, i have an airport express, my turntable and a poor CD player.
The future of this system is exciting.
I am planning on getting a solid preamp. Probably a Dared SL 2000A. It seems that adding a tube preamp to my “digital” amp setup could offer some warmth to the system. It also has a remote for volume control. The only downside is that it only has 2 channels for input - which means that I will have to figure out one source to get rid of (turntable most likely).
The next thing I would like to add is a couple DACs to do the D/A conversion for my Airport Express and my CD transport. I am looking at the Super Pro DAC707SE. It is cheap, well reviewed and has USB support if I choose to add the DAC to one of my computers as a source. Having a DAC should make my Airport Express experience better when listening to lossless audio files. It will also make the shitty CD player sound a lot better. Ultimately, I would like to get a better cd player - which leads me to my next plan.
The CD transport is world is pretty nuts. It seems that every single transport available is in the thousands, and that there isn’t any really a DIY CD transport option that is accessible. There is one compelling option for DIY - the Shigaclone. It is a direct clone of the Shigaraki Transport, however the insides are from a JVC boombox (JVC RC-EZ31). The details are at diyaudio. Unlike the other clones out there, the Shigaclone seems to be VERY hands on and just a bit past my skill level. I am waiting for a dedicated howto that explains all the various parts of the shigaclone and how I can make one without reading 1800 forum posts. In the meantime, i will have to find an alternative.
The alternative I have thus far is a 1994 NEC Multispin CDR-401G external CD-ROM. It has play/pause/forward/back buttons and has a digital coax out. It apparently sounds terrible, however once it is hooked to a DAC, it works wonderfully. It is VERY hard to find.
So for a CD transport, unless i want to spend a million bucks, I have two choices. Build a clone or buy a vintage CDROM.
I decided that the part of this i liked the best is the chase. I am very happy that I have a good sound system, but I am MORE excited about attempting to find the best system for cheap. Its a GREAT game.
I just need to make sure that i don’t fall for the tricks. I don’t want to spend ANY money on cables, nor money on speaker wire. Metal is metal.
13 Jul
Posted by Harper in General at 11:51 PM
Tags: bot, django, google app engine, jabber, python, sleekxmpp, twitter, xmpp
I use twitter quite a bit. I like to post to twitter in the most unobtrusive way possible. I don’t like to interupt my workflow to post a quick thought or update. When they used to have their Jabber bot running - it was easy for me to just type in my update and get on with my gmail session or work. I didn’t have to load a page that was often down, or use some other tool. I was bummed when the jabber bot went away. I needed it back to keep up with my use case.
I got tired of waiting, so i made Excla.im. It is a simple App Engine hosted application that allows a person to very simply update their twitter status from any jabber account. It is not very feature full, doesn’t update all the other sites and doesn’t do much else besides just interact with the twitter API. It is very simple.
The technology behind it is just as simple. The GAE app is written in python and uses the django helper. It is super simple and is basically a storage container for account info. It was a breeze to develop and fun to work with.
The Jabber bot was a bit more complicated. I ended up using the sleekxmpp library to do all the XMPP heavy lifting. It is an awesome library. Makes all the hard stuff easy. I then used Shane Hathaway’s daemon.py to help daemonize the bot (btw thanks to Anders for talking me through the dirtiness of daemonizing). To hook into twitter I used the python twitter library. It is featureful and super easy to use. It also supports in newer versions (post r112) setting the source.
I was then able to wrap this all up in a fancy little bot that on receiving a message, grabs encrypted credentials from the GAE app, sends the message to twitter’s api and then chills out. Pretty sweet. Currently all the heavy lifting is on the bot side, instead of on the webapp side - but i may change that.
At some point, I would like to be able to grab a users twitter friends updates and push them to their jabber ids. However - I have yet to figure out a nice and clean way to get the updates without having them seem batched. I have some ideas and a couple things fleshed out - but i don’t want to totally replicate twitter just to get my friends updates.
I am toying with putting the bot up on google code since it is pretty simple and could easily be hooked into almost any webapp. I think that the idea of a simple (simpler than sleekbot) webapp integrated jabber bot would have been helpful in writing this - and i imagine that people looking to do a similar thing may have use for my hacked together code.
A couple take aways from doing this project. First off - python is fun. Second - working with a designer makes things look a LOT better. Aaron Salmon took some time to make excla.im look MUCH better than it did. Check out his stuff and hire him.
13 Jul
Posted by Harper in General at 11:35 PM
Tags: AA-Camp, barcamp, Friends, japan, tokyo, travel
A couple weeks ago, I was in japan for some family events. It was a great trip. Hanging out with Hiromi’s family and friends was awesome. Since we were going to be spending some free time in Tokyo, i decided to reach out to the Tokyo tech community and meet some people. I emailed my friend, Kristin, who had just been to Japan and asked her to hook me up with some cool cats in the tech scene.
She obliged and I was able to meet with an awesome group of people for a barcamp like event, and then hang out with another awesome guy who should be the tech tour guide of tokyo. I sadly missed some people from ibm, who were out of town on business - but there is always next time.
The barcamp like event was called AA-Camp. It was hosted by Akky AKIMOTO who is from Cybozu Labs. Cybozu labs is a really neat incubator ran by the Cubozu company. It seems that the goal of the lab is to create the next big thing in japanese technology. They give a lot of autonomy to their engineers and really allow them to flouish. The idea of incubators always seem so fun. Akky had two other technologists at the event besides myself. We worked on our own projects, then we presented about ourselves. A
The presentations were pretty biographical, covering what we were up to, currently working on and our employers. The first to present was Shin Ohno. He is a developer working with Akky to create a neat site for creating comparison tables called Narabe. Shin has an awesome plan. He travels and does development from his travels. Since all he needs is internet and a laptop, he is well connected no matter where he finds himself.
The next presenter was Akky. He ran through his work, cybozu, cybozu labs and some of their applications they have created. They have launched a number of neat applications - my favorite is mylingual - which is a firefox script that translates site from one language to another. sweet stuff. The other applications were PathTraq (alexa like site ranking) and Japanize (translating sites into japanese), doukaku (coding challenges) and S6 (a presentation framework). You can seem a summary of Akky’s presentation here. Its a bit different - but basically the same.
The next presenter was ARAI Shunichi. He was working in Ruby doing some neat things related to a startup in stealth mode. He showed us a Ruby framework he had written called Egalite which is supposed to be even simpler than rails.
It was awesome to hang out with technologists who were doing neat things and interested in talking about their projects. I hope i get another chance to go to an AA-Camp.
A couple days later, I met up with Tsutomu Kodama. He works for Japan Hopper, a site for backpackers and travelers in japan. it looks to be a google maps wiki mashup allow for people to annotate places and add cool traveler info. Neat. He took us to the small streets behind Omotesando and Harajuku. I was able to find some awesome shoes, check out amazing eyeglasses and eat at a really neat small resturant. I think that any technology person who is in Tokyo and wants to see neat things should attempt to contact Kodama. He is full of awesome places and good tips. He is also quite similar to myself (in a eeire way) and we got along quite well. A great afternoon.
Its exciting to have friends in Japan that are technologists. Now i know that next time i am there i will have the opportunity to network more and meet others.
Apparently for the last month or two, I totally forgot that i have a blog. Instead of blogging, i have been hanging out with Hiromi, using twitter,traveling, programming and building things. I didn’t have time to include blogging into that mix.
I have a theory, that when my twitter usage goes up, my blogging goes down (I am not alone in this). I am a bit annoyed by this. My twitter posts don’t have as much reach as my blog posts. My interaction with people on twitter is much higher than on my blog. I am so conflicted. haha. Luckily, i think i can do both without sacraficing (much) one or the other.I think i will have to just make my posting smaller and more frequent (like a tumble log - but bigger) and make sure that i don’t spend myself entirely on twitter.
09 Jun
Posted by Harper in Technology at 11:52 PM
Tags: apple, iphone, mobile, n95, nokia, symbian, wom
It all started years ago when i got a Nokia 6600. It was a dope phone and it really raised the bar for me in regards to my expectations for a smart phone. It was one of the first “good” symbian devices. In regards to today’s standards - it isn’t that great. But back then it rocked the house. I remember telling my friends “OMG. check it out. you can take movies!” and running around making movies. After the 6600, I picked up a Nokia 7610. This device was basically the same, although a bunch faster and a bundle of better looks. it was quite stylish. Then came the N70. Then came the E61. Then the E50. Then the N73. And then the E61i. Each iteration was much much better and faster. It was a fun to go through those. You could have called me a Nokia fan boy.
Then came the iPhone. It basically broke my conception of how smart phones should work. The full browser, the full email client, and simple applications made me realize that i would rather have a good phone that does a lot of stuff well - than a good platform that does a lot of stuff mediocre. It took a minute for me to realize that (so much that I gave my first iPhone to Hiromi, thinking that I didn’t like it).
Awhile back, Nokia WOM emailed me and asked if i wanted to test drive a N95 8gb for free. I of course accepted the challenge. There was no catch, requirements, etc. They wanted me to blog about it and let people know what i thought - but they certainly didn’t require this. It also wasn’t mine forever, just a test drive. I was stoked. This is the device that dreams were made of. It was all that was good in the world. It had real GPS, ran symbian, had decent media, ngage, etc, etc, etc. It was basically the culmination of all i thought i needed in a mobile device.
I wondered how it would compare to the iphone i had been using for almost a year.
It didn’t. I used it for an hour and couldn’t deal with it. it was hard to use. hard to make calls. hard to take pictures. hard to listen to music. hard to figure out where I was with GPS (honestly, that was the clencher. All I wanted was to update a webpage with my location using GPS. I got it going by hacking my iphone easier than using the N95). It made me remember why I liked the iphone. It made me bummed that the “best” phone in the world kinda sucked.
So, I gave the phone to my buddy Craig at work. He loves it. It was a great upgrade to his POS dying Sony Ericsson. He planned to use it until the new iPhone comes out.
I guess Nokia is going to have to rethink how their phones work. I was their super fan. I read all the blogs, proselytized their phones, hung out with their engineers, and loved their products. However, I am unwilling to give up the experience that I have with the iPhone. The ease of use, the full browser, the big screen and the platform that isn’t insane.
I am excited to see where this innovation (or lack there of) takes us. I imagine that Nokia will bounce back, but certainly not any pre-iPhone devices. Stay tuned for sure.
I am really thankful for Nokia giving me this experience. Even though it wasn’t the phone for me, it was fun to play with and think about why it wasn’t my thing. It is still a dope phone even if it isn’t beating the iPhone.
04 Jun
Posted by Harper in General at 01:00 AM
Tags: barack obama, democratic, election, obama, politics
Barack Obama seems to have won the democratic nomination. After all the time and work we all put into his campaign, I am VERY happy to hear this news.
I am more happy that Hilary Clinton didn’t win. She was really hurting my insides me with all the negative campaigning. I did not like how attacky she got in the end. I hope that she is done being annoying.
Now is the time to start supporting the Barack Obama, and the democratic party to defeat John McCain in November. Electing McCain is basically saying that you love President Bush and really want to fuck up the United States. I am not a fan.
The best part of having Obama be the democratic nominee is that he invokes hope in people, not fear. I am tired of fear.
Go donate money now.
Hi. My name is Harper. I am an engineer and software architect involved in social networks and the open source software. I am very happily employed as the CTO to the awesome skinnyCorp in Chicago, IL. We make some really cool stuff. This is obviously my blog. I write about everything from being a professional yoyoer to hacking the newest Internet appliance. Be sure and check out my homepage at harperreed.org. If you are so interested, my resume is located here. I love getting emails and what not so feel free to contact me through here.
Be sure and take a gander at my photos.
If you want to contact me click here to start a chat.