17 Jan
Posted by Harper in General at 07:49 PM
Tags: developing, motorola, nokia, phones
I love mobile phones. I don’t know why – but mobile devices represent so much of what I love about technology. The ubiquity, the fascination, all the new technology that pops up and all the different way people use their devices. I also feel like mobile devices will be the future of whatever the internet turns out to be. They will power the internet. With all this in mind – I have started to become interested in the devices that fill the opposite niche. The devices that are SO simple that their are almost NO features.
These are not Razrs, or other shitty mobile devices which act like they have all sorts of amazing features. These specific phones are single feature, cheap devices and are often deployed in developing countries.
There are two that I really enjoy and I suggest checking out.
The first is the Nokia 1100. Also known as my favorite phone in the world. I first saw this phone while working for a minute in Bangalore. It was advertised as a phone “made for india” and apparently was hardy enough to be used by the working class there. I was drawn to the device. I neeeeeded it. It’s weird, because at the time I was running a symbian device that supported about every possible feature available in mobile – so thinking about jumping to a mobile device that was pretty much featureless was crazy. But – I was compelled.
The phone isn’t that fancy. It has very few features. It is super tiny and is super cheap. It is just a basic, simple phone that does nothing more than look “Nokia” and probably makes calls. The features it has are incredibly handy: flashlight, alarm clock and sms messaging.
I didn’t realize it then, but the Nokia 1100 is possibly the most popular electronic device in the world. According to the infallible wikipedia: Nokia has sold ~200 million of the Nokia 1100s since it’s launch in 2003. To put it in perspective – there have been ~30MM iPhones sold and ~50MM Razrs sold.
I eventually got a couple of these and used them as lenders, experiments and generaly fucking around phones. I even sent one to my brother for him to use – which he eventually washed in a washing machine – it still boots. They are HARDY. and 20 bucks.
The second phone that I am interested in is a bit newer and is a bit more tech. The Motorola F3. My buddy Hemmant showed it to me, told me a bit about the history and I couldn’t stop thinking about it. Anecdotally, this phone was made by a Motorola team in india – again for use in the developing countries market. It is simple, has no features (even less than the 1100) and is JUST a phone. There is one major differentiator. The Motorola f3 is one of the only phones to have an e-ink display. This means that it uses very little power in standby (standby time of ~17 days), can be used in low light/no light situations and is rather resilient. The phone didn’t sell as many as the Nokia 1100 – in fact it was a veritable failure.
The F3 has no features. It barely send txt messages. It has voice prompts for all menus. It is just a phone. A user serviceable, easy to charge, thin, e-ink phone. It works well making calls and receiving txt messages. The F3 would be an amazing phone for a child, elderly person or someone who doesn’t want to deal with learning pesky features. I got one for my “go bag” as an emergency phone (I am not a survivalist, I just crush a lot).
You can find an unlocked Motorola f3 for about 30 bucks on amazon. I suggest you get one.
Unique visitors to post: 11109 Dec
Posted by Harper in General at 07:29 PM
Tags: amazon, cloud, cloud hosting, google, hosting, infrastructure, rackspace
2009 was an awesome year. A lot of amazing things happened in the world of hosting (and a lot happened in the world of Harper too). Being a crazy hosting aficionado, I will summarize my thoughts on hosting in 2009 (I will leave the predictions for 2010).
Disclaimer: I am paid money by Rackspace to think about these things. However, I am an equal opportunity hosting consumer. I will try and be as open as possible (but probably a bit biased as well). This is on my personal blog and does not represent Rackspace in the least. These opinions are mine and do not represent Rackspace in anyway.
I guess I will go ahead and jump in. This is based on what I use and would most likely suggest if we were drinking beers and talking about hosting. Your mileage may vary. I am sorry if I end up causing a nuclear war based on these recommendations.
“Platforms”
Two platforms are really getting me going these days. Google’s App Engine and Heroku.
App Engine is known by my close friends as my true love (haha. second only to my lovely wife). I spend almost 90% of my development time hacking on App Engine apps (Excla.im, CityPayments, ChicagoAlerts, Transitapi, AwesomeUpdater, and Harper’s Friends). App Engine does a few things very well and allows the developer to do the rest. Quite a few of the lessons I learned while scaling out Threadless are baked into the app by default. You don’t have to scale all the pieces independently and you can really take care of things all at once. I recommend it and use it for prototyping and building new apps.
Heroku! I go to Heroku.com I spend about 10 minutes playing with sliders, clicking on features and acting like I am going to deploy an app to their infrastructure. It’s awesome. Heroku makes me want to learn ruby frameworks well and build applications fast. It seems that it might be expensive though. I would love to know if people have actually used it in paid production environments (i have only done hackings).
If you are interested in Django, Ruby/Rails or JVM languages (I am looking at you Scala!) – I highly recommend App Engine or Heroku.
“Cloud” Server Providers
Cloud Servers are amazing things. Usually they are XEN hosted and wrapped by an API or a nice pretty interface. I <3 them. If I would have had these server options in 2001 I would have been able to make the server kingdom I dreamt about. It would be awesome. Luckily, now in 2009/2010 I can build my server kingdom in the CLOUDS. Anyway….
Slicehost is my favorite. I really enjoy the user interface. I prefer websites with less buttons. Slicehost delivers. However, it doesn’t explicitly have usage based billing (pay per hour) – which is why i am also excited about Rackspace Cloud Servers. Rackspace Cloud is everything you need to have fun with servers and host enterprise apps. My most recent Cloud server was used to pop up a VPN in Ubuntu so I could use public wifi without being frightened. It took about 10 minutes from deciding to do it, to connecting with my macbook pro. awesome.
EC2 is pretty sweet as well. It is the heavy duty infrastructure that powers so many awesome sites. I really like watching what Amazon is doing. Amazing stuff. I am super excited about booting from the EBS. However, I don’t like the complexity that comes with EC2 by default. Which is why I only use EC2 if I need AWS specific utilities.
Sidenote: Linode is getting a lot of buzz based on their performance/cost ratio. I recommend you take a look at them and see if they will work for you.
If you do find yourself in the dark world of cloud servers, you should check out my favorite utility for managing all things servers: CloudKick. CloudKick is a pretty solid app that allows you manage your all your Rackspace and Amazon servers. You can do it very easily and with very few buttons (I love a small amount of buttons).
If you are looking for awesome easy servers – use Rackspace Cloud Servers. If you are looking for a full stack (load balancer, block storage and what not) – use Amazon. I use Rackspace Cloud Servers.
File Hosting and Serving.
File hosting is simple stuff. I follow this simple guideline:
If you want to host a file for everyone (i.e. a popular image, a iso, download etc) where performance is important – use Rackspace Cloud Files with limelight integration. This is the closest you will come to paying for enterprise CDN capabilities for a tiny amount of money. You can’t beat the level of performance that limelight offers (unless you want to pay for Akamai).
If you need to put a BUNDLE of files somewhere that needs to be public or private – use Cloud Files or S3. Depending entirely on what vendor you like or what API you are most familiar with. I use both for backing up various data from my servers and home (I recommend s3sync, s3fs for S3 or MossoFS, CloudFiles/Duplicity for Cloud Files).
Multi Tenant/Shared Hosting.
Shared hosting is such a pain in the ass. ;) I really don’t like it. However, I use it because of the price and because of how easy it is to host stuff for friends and others.
I use two providers regularly for shared hosting:
Webfaction is by far my favorite multi tenant hosting company. It is SUPER NERD. They have this unique approach to hosting based on proxying a bunch of servers through apache. This allows you to easily host a django app that has a rails component and a wordpress blog all at the same domain root. You can even compile your own build of whatever flavor of server you like best. Its a great place for prototyping servers and generally having a great time inlinux. Webfaction also has a developer community that offers great support. I host most of my personal stuff onWebfaction (this blog, harperreed.org, etc).
Rackspace Cloud Sites is a great multi tenant platform. I use it hosting various apps for your friends and family. It is a no brainer to light up a domain for my brother or friend and have them host it. The only problem I have with Cloud Sites is that sometimes you have to compromise your code to fit in their super scalable infrastructure. You will NEVER go down – but you might have to tweak your drupal or wordpress code to make it easy.
If file storage is just what you need – then check out Dreamhost. For the love of god they have cheap prices. I looked today and they were offering unlimited everything (that doesn’t make sense). The only problem is that they don’t allow you to use it as a backup service (you have to use the space in a very specific way).
Enterprise/Physical Servers.
Enterprise servers are easy. You use Rackspace. ;) Seriously though – while at Threadless, Rackspace saved our asses more than once. Using Rackspace allowed us to concentrate on our application rather than concentrate on our servers. Although they can be expensive – they offer so much that it is often worth it.
If you are looking for something a bit cheaper or a bit more hands on, I suggest my favorite chicago hosting company: FDCServers.net. They offer great support and cheap servers. You are not going to get near the support that Rackspace offers, but you are going to pay a LOT less. I host a couple big apps at FDC and have had no problems at all.
Conclusion.
This wraps up my hosting review. I recommend App Engine, Cloud Servers, Cloudfiles/S3 and Rackspace Managed hosting. heh. See – super easy. All your hosting questions are answered.
2010 is going to be an exciting year. I imagine that Rackspace and Amazon will continue to fight head to head. Which will only make us consumers have better options. I also am very excited to see what Google does with App Engine (I imagine that they will NOT be adding PHP support). I hope that 2010 is as productive as 2009 was for hosting, if so – then it will be an exciting, innovative time.
Leave your questions in the comments – I will attempt to answer them the best i can.
Unique visitors to post: 13107 Oct
Posted by Harper in General at 09:52 PM
Tags: future, rackspace, threadless
I am leaving Threadless after 4 awesome years.
It was super hard to leave a job that taught me so much, helped me grow and was staffed by all of my friends, but I needed to make that leap towards the future. (Here is a nice interview covering all sorts of aspects of my leaving.)
I did it, and the future is looking bright.
In the next few months, I am going to be helping Rackspace in their cloud computing division. My official title is Nepholologist; a person who studies clouds. I will also be working hard to launch a startup (secrets secrets). This is extremely exciting. I’ll be spending half my day working with amazing technologists at Rackspace and the other half pursuing my own thing. Rackspace has been amazing. They’ve accommodated my want for freedom and the ability to concentrate on my own stuff while helping them out. It will definitely be the best part-time job I’ve ever had.
I plan on detoxing. I’ll be cleansing my brain of all the assumptions that I formed while at Threadless and ready myself for the startup life. I want to be more scrappy and lean in my thinking. Part of the plan is to complete all the various projects that I’ve worked on throughout the years like citypayments.org, excla.im, exclaim tracking, and harpersfriends. I’ve done a lot of fun hacks in the last few years, and I want to work on making them much more robust. This will allow me closure on one chapter of my life – while some doors close, new ones are opening.
Thanks to everyone who was supportive of me in this time. I could never have made this decision without the support of my family and friends. To my lovely wife Hiromi, who was constantly telling me to pull the trigger. My friends and coworkers who knew something was up – but dealt with me until the end – even when I was flighty. My parents who helped me think rationally. Most importantly, the entire Threadless family. Without Threadless and the knowledge I’ve gained from my experiences there, I would not have the opportunities I have today. The last four years have been utterly amazing (and awesome).
I have a couple of posts lined up for later this week. One about my history at Threadless and another about the hijinks that have existed over the last few years.
Stay tuned. It’s only just beginning.
Unique visitors to post: 7008 Mar
Posted by Harper in General at 03:54 PM
Tags: ebooks, iphone, kindle
First things first: The Kindle is awesome
I read a lot. I am not like those crazy people who read a book a day or anything, but i have been reading up to about 2 books a week for the past few years. They are not crazy books, mostly science fiction and fantasy, but they are not small books. I read to chill out. My day pattern is to go to work, work, get home, nap, hang out with hiromi, play computer and then read until i fall alseep. The reading part is VERY important to get my mind and body to a place where I can actually sleep. Needless to say, I take my reading seriously.
I ordered an original Kindle way back when they first came out. I was back-ordered for quite awhile. It was enough time for me to question whether or not I would like the device. Luckily, my friend edith was also in the same place – she and i chatted incessantly about what the future would be like with the Kindle. It was a bright future.
I ended up getting it around mid january 08. The first book I read was Terror by Dan Simmons. That is a serious business book. I had started the hardcover of the book earlier in the month and finished it on the kindle. That was my test. It was successful. Although i hated the fact that kindle pages and paper pages don’t really line up – the experience was the same. I was able to read fast and was able to forget about the buttons and terrible design of the kindle (like Zach Klein said – it looked like the consumer electronics version of the Pontiac Aztec).
After Terror, I read the appropriate Diamond Age by Neal Stephenon. I felt that I was closer to the “Young Lady’s Illustrated Primer” than I had been before. I was reading books on an electronic device that was hardy, easy to use and quick. I was able to give it a seemingly unlimited amount of content and could use it for quite some time without a battery change. Like I said above – it is awesome.
Around this time I discovered the dark and scary underworld that is ebooks on the internet. There is an awesome community of people surrounding ebooks. They are involved with liberating DRM’d ebooks, converting from one format to another, uploading mass libraries of free ebooks, cataloging ebooks, etc etc. It is awesome. If you are interested in free content – there is an almost unlimited amount of free content that is compatible with the Kindle available online. There is also an unlimited amount of pirated books too. They are harder to find and I feel terrible when I find them (I apparently would rather pay authors than musicians. hah). One thing i noticed while I was experimenting with ebooks – technical manuals and what not don’t render as well as non-technical books. I think it has to do with the number of diagrams and tables. They don’t render terribly – but often are not nearly accurate to what i imagine the author intended.
How you get the ebooks to the kindle is part of the magic. The kindle has what Amazon like to call the whispernet. It is, as far as i can tell, a sprint EVDO modem built into the device. Amazon uses this to wirelessly deliver content to your kindle that you buy from amazon.com. Once again – it is awesome. You click on a book in amazon and BAM – its on your kindle. You are not limited to using this JUST for amazon’s content. You can do it with your own ebooks as well. All you need to do is register your email address with amazon and then send books to the yourname@kindle.com email address. The books will appear on your kindle for a small cost ($0.10 i think). If you don’t want ot pay for it, you can send the content to yourname@free.kindle.com and it will return the book in the kindle format. You can do this .txt, .pdf and .doc files easily.
The kindle file format is just the .MOBI ebook format. Which in turn similar to the .PRC ebook format. The Mobi file is a remnant from the Palm days. it is basically the Palm Database format that was used for various applications on the original palm platform. What this means is that all the ebooks that end in .mobi and .prc are natively compatible with the kindle. If you had purchased books for use with the mobipocket reader (an awesome ebook reader for windows), there is a good chance that they were .mobi files. You can copy those to the documents folder of your kindle (when you plug it in to your computer via USB) and they will show up in the book list without any work. This really opens up your options for cheap or free ebooks.
The trick then is to figure out how to convert pdf files and what not to well formed, well meta data’d .mobi files. This makes your kindle happy and allows you to continue to sort by author without having your email address be listed as the author.
I went a year reading just the Kindle. I read two paper books that were not available in a digital format during this time. It was interesting. I felt as though I needed to work out to lift the heavy hardcover books. The kindle makes you forget how heavy books can be. My arms are now wusses.
When the Kindle 2 was announced, i ordered two of them. One for me and one for Hiromi.
The kindle 2 is a huge improvement on the Kindle 1. It is thinner, better performing and a bit easier to use. It is not as easy to turn a page – but it is also not as easy to accidentally turn a page either. I like the new design. The optional leather case is amazing. It works VERY well. i was having to remove the leather case from the original when I would read it – i don’t have that problem with the new one.
There are a lot of small software tweaks that have trickled their way to the Kindle 1 as well. They are separating out your uploaded content from the content that came from directly Amazon. I am also having a hard time finding things that are lost on the kindle. I suppose i could search – but i never think of that when I am looking for content. The interface on the Kindle 2 is much faster. The pages turn faster and the books load faster. The screen is amazing. I really like it. I don’t like the fact that I can’t easily turn off the wireless with a hardware switch. I liked being able to not interrupt my reading to turn wireless on or off.
All in all – the Kindle 2 is a huge improvment over the Kindle 1. If you are able to upgrade, do it. And then give your original kindle to someone close to you who wants one. That is the best plan.
Hiromi loves hers. I was worried that she wouldn’t like it – but it turns out that it works very well for her. She likes the size and the ease of use. She took to it very quickly.
When I got my kindle 2 I was showing a couple of my coworkers some of the data about it. Specifically the whispersync stuff. I told them that I wouldn’t be surprised if they released an iPhone app that allowed ebook reading on the Kindle. I based this on the success of the Stanza app. I stated to my buddies that I was only confused as to the strategy to release such an app, especially on how it could accidently stifle the Kindle 2 sales.
Then a couple days later the Kindle app was released. Like the Kindle – it is awesome. hah. With the Kindle app for the iphone and the Kindle, you are able to sync your placemarks on the books you are reading. You could read to a certain point in a novel while on your commute – then go to a meeting and pick up your iphone and continue reading from where you left off on your kindle. Then you coudl pick up the kindle and it would sync to where you left off on the iphone. That is cool. I tried it and it works. It is a bit wonky – but for the most part it works great. The only issue i have with the app is that it doesn’t have ANY of the content that you upload via email. It is only amazon purchased content. Lame. I read a lot of “found” books and a lot of purchased books. An example is a series of books where 2-4 are in the amazon kindle store, but book 1 isn’t. I find book 1 elsewhere and then buy 2-4. However, I can’t read book 1 on my iphone. Only the kindle. WHAT IS THE WORLD COMING TO. ;) I understand amazon’s reasoning for this – and I don’t expect it to change. I do wish i could push my emailed books into their cloud and handle them a bit better (with metadata, etc). I doubt that will happen.
If you read a lot and want a great reading experience, you should buy a kindle.
Unique visitors to post: 55228 Feb
Posted by Harper in Technology at 05:04 PM
Tags: appengine, oauth, python, twitter
I built Excla.im quite awhile ago, well before Twitter unleased their oauth beta program. Regardless, Chris Messina tagged the Excla.im sign up process as an anty pattern within his flickr stream. I was bummed because i would have loved to use Oauth to authenticate Excla.im. But because of the tagging, i was constantly thinking about how to remove the anti pattern.
Finally, Twitter released the Oauth Beta and I was able to bribe @Al3x to give me access (which reminds me, i need to send my bribe). I then sat for a month looking at the various python examples for OAuth and basically said “What The Fuck” over and over again. There were no solid examples and my experience with OAuth in PHP was a total hack so i could post shit to fireeagle. I was SOL as to finding a guide.
Then abrah.am released his PHP twitter OAuth lib. It worked really well and was pretty much just plug and play to use it in a PHP app. Nice. I wanted that but in python. I decided to spend a minute or two and create it.
The base library my client is using is the the OAuth lib from google gdata-python-client project. I figure it is a working client and is in production use – so it should be solid. There are very few changes between it and the official client that is released through oauth.net.
The client is rather simple, in fact it should work with other api providers with very little work. You can check it out at github. Please let me know feedback. i am a python n00b – so give me your best shot/code review. I am using Google Code as a issue tracker, so feel free to post some bugs.
It is rather pluggable. I was able to launch excla.im (on app engine) with oauth support in no time. I am currently not holding passwords for anyone. It is an awesome feeling.
Unique visitors to post: 11811 Jan
Posted by Harper in General at 04:05 PM
Tags: about me, harper, meme, seven things
I was tagged by both Eli White and Brian Fling in this dastardly meme regarding 7 things. I am usually a HUGE fan of all things meme – and kind of regard myself as a certified meme expert. However this whole meme that requires a lot of work – I.E. blogging is something entirely different. I think i actually like it, but i am not entirely sure yet ;).
I do find it hilarious that almost every blog post regarding this seven things starts with a bit of self deprecation and surprise at how this meme stumbled upon innocent them. Well, it did come as a surprise – so I guess i understand.
Well here it goes. Seven things about me:
One:
I grew up without a TV. When I was quite young (~3) my parents got rid of their TV. I am not completely sure why. I imagine it had something to do with money (the lack of) and priorities being making sure my brother and I were clothed and fed. My parents got their first TV after getting rid of the previous one when I was about 21. My parents used to rent a TV for big events (war, olympics, etc) and my brother and I would watch the TV manically until it was returned to the rental place. We also used to rent a TV and VCR about once or twice a year to watch all the movies we could in the time alloted. Those were awesome times. I currently don’t have a TV.
Two:
I have been paid to YoYo and Juggle in front of a LOT of people. I guess that makes me a professional. Heh. In college my two best buddies (Matiss and Brian) and myself started a “circus” group. We juggled and did shows for all sorts of things. We opened for Incubus, Sir Mix A Lot, and a few other boring bands. We protest juggled as a group called Jugglers against homophobia – protesting people like Elizabeth Dole and her homophobic antics. After college I continued to support my friends by juggling on the side. It was a really fun time. I don’t juggle as much as i would like, but i still try to make it to conventions and what not. It is a lot of fun.
Three:
My first computer was an Apple ][c. My dad got it in some trade. My brother and I would build text games in basic. Shortly after that I got in to BBSs. Mostly we called places like &totse and downloaded things that would get me in trouble. It was an awesome time. I suggest checking out the BBS Documentary to get an idea of how awesome it actually was.
Four:
I met my lovely wife Hiromi while in college in iowa. We moved to Chicago together in 2001 to live together as roommates. Eventually, it became clear that our relationship was much more than that. We got married in 2006 and happily live in Chicago. She is awesome.
Five:
I read a lot. I always have. Growing up without a TV will do that to a person. I read mostly fiction, but will stray to the dark side and read non-fiction every once and awhile. I usually read about an hour before going to bed. It helps calm me down and is a good way for me to get into the sleeping groove. I have recently been into ebooks and use a Amazon Kindle to read them. I find that I do miss regularly reading paper books, but the convenience of reading ebooks is awesome. I can’t wait until the eInk displays and associated readers are smaller, easier to use and cheaper.
Six:
I love David Bowie. It isn’t a love that requires posters and discussion or anything. It is kind of similar to how people who grew up catholic talk about religion. David Bowie has just always been there for me. My first record I picked for myself was Ziggy Stardust. My first concert was the Bowie’s Sound + Vision tour. When I was quite younger, my mom took me to get my hair cut and I brought along my Labyrinth LP to show the stylist that I wanted David Bowie hair. I ended up with a rat tail.
Seven:
Although I always knew I would end up with a Computer Science degree – I fought it as long as I could. In college I studied the history of Catholicism for a couple years before actually jumping into computer science. It was awesome. I ended up concentrating on Giordano Bruno and the his (untimely) multi-world theory. It was a lot of fun and lead me to have an unnatural interest in the mechanics of theology.
That’s it!
To make this official, I now have to tag 7 people to make a Seven Things list on their blog.
Ready? These Seven People please report to the meme office and make a Seven Things entry on your blog:
The rules of this ‘game’ for those that I have tagged:
There yea have it. I continued the meme. I am not one to be a meme killer ;) This was fun. Thanks to Eli and Brian for making it happen!
Unique visitors to post: 372008 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.
Unique visitors to post: 22I 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).
Unique visitors to post: 2606 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.
Unique visitors to post: 3806 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.
Unique visitors to post: 22
Hi. My name is Harper. I am an engineer excited about real time, social software and the open source software movement. I am currently spending some time building interesting things and hacking for rackspace. In a previous life, I was the CTO of the awesome Threadless.
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.