Merry Christmas

Christmas day, as usual, has been a busy and productive day for me. I seem to be getting in the habit of coding up random stuff when I get a week to myself, and Christmas 2008 was no exception. I was sitting around this evening working on a project, when I got side-tracked…and then side-tracked again. I realized that through a (intentional?) quirk of how Twitter stores it’s relationship data, the first person you ever followed could be determined very easily. A few hours later and I tossed up My First Follow, an application that shows who your first friend on Twitter was. Ah, memories. ...

December 25, 2008 · 1 min

Create a Wordle with your TweetCloud

Despite working myself like a horse recently, I still somehow find the time to hack on TweetStats every once in a while. I’m not really sure what motivates me so much to work on a site that generates zero revenue and has little practical use…but it’s fun and it distracts me from all those other things I should be doing. Well TweetStats was mentioned in an article about Twitter tools that was on the front page of Digg recently. Fortunately, I moved the background processes that do a lot of the heavy lifting to a better server a couple months ago and TweetStats handled the 400% increase in usage like a champ. While perusing all the new users, I saw one guy that created a Wordle from his TweetCloud. ...

December 10, 2008 · 1 min

Where in the world is Damon Cortesi?

Yea, I haven’t been around much, have I? Sorry about that. Officially starting my business (security consulting, process automation and tool development) a couple months ago has made me busier than I could imagine. Days are filled with work and trying to find more work, and nights are filled with all the little tasks that accompany that - process development, invoicing, and trying to keep my little side projects (TweetStats and RateMyTalk) up and running as well. ...

November 14, 2008 · 2 min

I Hate Belkin

In another I Hate series, I hate Belkin. I already posted this review on Amazon, but I figured I’d re-post it here just for the fun of the Google juice. Belkin tech support seems to think otherwise, but my assumption is that the Belkin USB Network Hub just corrupted my external hard drive. This may very well be an isolated case, but I happily unpacked my Belkin Network USB HUB after 2 months of it sitting in the packaging. I successfully plugged in a USB scanner and did some remote scanning. Taking it to the next level of wireless, I moved my hard drive over. I plugged it in. Everything worked (kind of) fine. I could access the disk, but playing files in iTunes resulted in some skipping. Finally frustrated with the skipping, I went to plug the external hard drive directly into my computer. ...

October 24, 2008 · 2 min

Startup Security

In other news, I started a new site today called Startup Security. You can read the Welcome post, but I mainly created the site because I’ve come across several security issues at startups in the past few months and I want to spread awareness about integrating security into the development life-cycle early on. In coming days and weeks, I’ll post about different vulnerabilities I’ve come across as well as things to look for if you’re a startup and aren’t familiar with security. The point I’m trying to get across is that security doesn’t have to be a $50,000 investment to be effective. Heck, I could probably spend half-a-day talking to devs and know whether or not they understand security enough to not build a reasonably secure site… ...

October 24, 2008 · 1 min

GustavTracker Now Online, Tracking Help Requests

Last night, around 6pm EST, I started asking around Twitter to see what people were doing to help out with Gustav efforts. What I found were a lot of links to how people could find information about Gustav, but not very much in the way of active efforts to provide a means for disseminating actual requests for help. As an example, Twitter is a pretty big echo chamber and a simple request can get lost, even in targeted searches. As I couldn’t find anything else and my cohort was having trouble finding an official means of SMS communication via the Red Cross, GustavTracker was born. ...

September 1, 2008 · 2 min

Life Reboot

Well it’s been far too long since I’ve posted here, so I thought I should let my vast world of blog subscribers know what I’m up to (Hi, Mom). Living in Germany put a lot of different things in focus for me, as did the last time I spent an extended amount of time in a foreign place and ended up moving to Seattle. No, I’m not moving to Germany, although I did definitely consider it. ...

August 25, 2008 · 3 min

Unicode Grep

I got caught by a bit of a bug today when I was trying to add a custom wallet item in 1Password. I was in the process of copying one of their templates after realizing they were just simple json, but couldn’t find the file where the description strings were stored. The file, Localizable.strings, that the above article eventually led me to turned out to be UTF-16, which grep cannot … grep through. After a little bit of googling, I came up with the following solution, which does a recursive case-insensitive grep in UTF-16 files on OS X. ...

July 16, 2008 · 1 min

del.icio.us tag cloud

My del.icio.us tags tell quite a bit about me. Wonder if I could integrate this with TweetStats somehow…

June 26, 2008 · 1 min

Google AJAX Search API Example Python Code

For whatever reason, there aren’t many examples on the net of Python code that can be used with the Google AJAX Search API. I’m not really sure why this is and perhaps I’m missing something, but for future reference here’s some sample python code. {% codeblock %}{% codeblock %} #!/usr/bin/python import urllib import simplejson query = urllib.urlencode({‘q’ : ‘damon cortesi’}) url = ‘http://ajax.googleapis.com/ajax/services/search/web?v=1.0&%s' % (query) search_results = urllib.urlopen(url) json = simplejson.loads(search_results.read()) results = json[‘responseData’][‘results’] for i in results: print i[’title’] + “: " + i[‘url’] {% endcodeblock %}{% endcodeblock %}

May 28, 2008 · 1 min