Damon Cortesi's blog

Musings of an entrepreneur.

Goodbye 3rd-Party iPhone Apps

| Comments

This is kind of depressing. The new jailbreak method for the most recent iPhone 1.1.1 firmware was publicly announced today…and it relies on a vulnerability within MobileSafari. What a bummer.

Update: I assumed the link posted above was the same as some others floating around, but it is not. The iPhone Dev Team’s jailbreak does not not use the MobileSafari vulnerability. Nevertheless, the below still applies.

When the original iPhone firmware was cracked, applications were loaded on using currently-existing functionality within the iPhone software. I was fine with that. Now, however, you have to actively exploit a vulnerability to gain access to the filesystem. I have a problem actively exploiting software on my phone to install SSH and Yahtzee. This is my phone, my main point of contact…not some handheld game console.

This is what I was expecting from Apple originally. The first iPhone jailbreak was way too easy and I was surprised that Apple would make such a major design decision when they probably had no doubt people would try to break this beautiful little piece of technology. Looks like my intuition was right.

I will follow with a heavy heart as others visit malicious websites in order to put custom apps on their iphones and ipods…ipwn is now even more appropriate, hehe. I for one, will probably just upgrade to 1.1.1 one of these days and say goodbye to those cute little ants crawling across my screen and freaking out people wishing to borrow my phone.

Come on, Apple, give the people what they want. You’re squandering the possibilities of an awesome platform. Here’s a quick tip for you: Web 2.0 partially came about because broadband became cheap and multiple behind-the-scenes calls to a web server were no longer an expensive operation. You can’t put Web 2.0 Apps on a phone that’s got a connection as slow as a turtle and unreliable as a Pacific Northwesterner. Nobody wants to relive the days of the baud-rate modems and spend 10 seconds waiting for a page to load just to use an application.

Marathon Weekend

| Comments

It was quite the marathon weekend, in more ways than one!

I flew into Chicago’s Midway airport at 1am Saturday morning. I was originally going to fly in at different time, but work situations changed and alas…there I was. So I hopped in my rental for the 4 hour drive to Toledo. Yea, I know - what was I thinking. I think it was worth it when I rolled up to the front desk at the hotel and the woman asked me “Checking out, sir?”. Uh, no…checking in, thanks. Just in time for breakfast? No thanks, just in time to pass out!

So that I did and woke up and went to the wedding, which was beautiful. And then there was a little downtime before the reception, which I was thankful for because I got to take a nap. Staying up working until 5am on Thursday and driving through the night on Friday finally caught up with me. Then we partied until the wee hours of the morning.

Sunday I headed back early to Chicago, only to be informed that the Chicago marathon was taking place. I tuned my radio into the AM station that was covering it just in time to hear the men’s photo finish (!!) and shortly thereafter, the women’s surprise finish. Unfortunately, the marathon was cut short due to the excessive heat in Chicago. I hung out with a few friends and then my cousin was generous enough to delay her trip back home to chill with me for a little while as well.

Then it was on a flight back home and I am about ready to crash, hard! It’s been quite the weekend.

On a nostalgic note, I was driving back from the reception and passed the hotel that I stayed at when I originally moved from Rochester to Chicago and stopped midway in Toledo - the Toledo Dreamplex. It looked like it was shut down and abandoned, but I can book a room next weekend through Expedia if I want to!

VMWare and E1000_reset

| Comments

Let me just state up front that I’m not a huge fan of VMWare products these days. Sure, the technology is impressive and it’s very useful - but I’ve always run into odd quirks with their software. I suppose I like their desktop products better than their server products, though. Perhaps that’s because I had such a good experience with Microsoft Virtual Server and my ability to easily set up “virtual labs” through scripting…

In any case, I ran into an odd problem last night after some network downtime. I brought the network back up, but the VM’s still weren’t communicating over the second ethernet adapter, configured for bridging. Grepping through dmesg, I noticed the following errors:

e1000: eth1: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex e1000: eth1: e1000_watchdog: NIC Link is Down e1000: eth1: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex e1000: eth1: e1000_watchdog: NIC Link is Down e1000: eth1: e1000_reset: Hardware Error

…and then there were no more messages about eth1. Googling around a little bit indicated a possible solution would be reloading the kernel module, so…

rmmod e1000; modprobe e1000 ifconfig eth1 up

And then traffic started flowing again!

bridge-eth1: enabling the bridge device eth1 entered promiscuous mode audit(1191399073.815:34): dev=eth1 prom=256 old_prom=0 auid=4294967295 bridge-eth1: enabled promiscuous mode bridge-eth1: up e1000: eth1: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex

Note that the “ifconfig eth1 up” is essential for the vmware bridge to realize the interface came back and it can start bridging info over it again. Unfortunately, it took me several minutes and the realization that I still wasn’t getting link lights after loading the module to realize this…

That’s my tech tip of the day, back to reporting!

*zoom*

| Comments

Life goes by pretty fast. If you don’t stop and look around once in a while, you could miss it.” – Ferris Bueller

It’s been two weeks since I last posted. What the heck have I been up to? Well let’s see. I worked most of the weekend of the 15th on a visualization project I’ve been working on at work. We had a little conference on the 20th where I presented the results of my work and research. I spent the days (and nights) leading up to the 20th also working on the presentation and supporting tool. It was worth it, though, as I think the presentation was pretty well received.

I then spent the weekend of the 22nd spending time with two awesome friends and standing at the groom’s side at their marriage. I, unfortunately, didn’t take many pictures but I posted a few pictures of my weekend in SLC on Flickr.

I was originally supposed to be in San Francisco this past week, but I got an email Friday morning (just before I left for Salt Lake) saying I was supposed to be at a client in Seattle at 9am on Monday morning. This made for an interesting Monday as I was leaving SLC at 7am. But I made it on time, and then spent the rest of the week pulling some long nights for that client.

I’ve been able to slow down a little bit this weekend but I’m still crazy busy. We had a company event Friday night that kept me out until the wee hours of the morning and I hung out with some friends last night. Today, I’m chilling in the coffee shop and trying to code but lacking some motivation. Later this week, I fly down to Dallas and then out to Toledo for a wedding this weekend. And then I’ve got a little family vacation coming up on the east coast as well. Me? Slow down? Not anytime soon. I’m enjoying myself, but don’t worry if you don’t see me posting for a while. ;o)

More Grepping - Mp3’s This Time!

| Comments

So my personal laptop’s hard drive recently bit the dust, or so I think. I haven’t had time to bring it in and get it checked out…but it doesn’t boot and it makes a strange, repeating sound that doesn’t sound so good when I try to boot it up. It’s not a clicking, per-say, but more of what seems like a failure of the actuator arm trying to move across the platter. …but what do I know?

In any case, I’ve been managing my music libraries across a couple different computers but since my personal one went down I’ve been looking for a way to re-populate some of my smart playlists that were based on comments. One of the most common ways I use these is for categorizing dance music. For example, if I’m listening a song and I think it’s a good swing song I’ll update the comment to include “Dance, Swing”. And then I just have a Smart Playlist that looks for comments with Swing in them.

The problem is, many of these songs weren’t in my other library. I keep most of my music on a shared server, so luckily I didn’t lose it. But what I wanted to do was go through my music library (several thousand songs as of this writing) and figure out which songs I had tagged with those specific Dance comments. The UNIX command-line to the rescue!

There’s a tool out there called id3v2 that reads ID3 information from mp3 files (the majority of my collection). Using that and the wonders of find and grep, I was able to list out which files contained the Dance comment:

1
find /mp3/ -name "*.mp3" -exec sh -c 'id3v2 -l "$1" | egrep "COMM.*Dance.*" && echo $1' '{}' '{}' \; | tee dance_mp3.txt

I had to do a little fu to be able to use pipes in the exec command, but I found out how to do that on this useful article.

I wish I had been syncing playlists (among other useful things…:-() before the drive failure, but alas…

Grepping Emails

| Comments

And people wonder why I love Unix/Bash. I had to combine a few different files yesterday that had email addresses, but with different delimiters and a bunch of dupes. This basically goes through those files, standardizes the delimiters, sorts it in a fashion to get find the emails with the most info, uniq’s out the dupes, and then reorders it into a csv file.

Schwag.

1
sed 's/:/,/g' Email\ List.txt | tr -d "'" | sort -r | awk -F, '{print $2"\t__"$3"\t__"$1}' | sed 's/^[ ^t]*//;s/[ ^]*$//' | uniq -f2 | tr -d "__" | sort | tr "\t" "," > Emails.csv

Quick Comparison of Numbers vs. Excel/Google Spreadsheet

| Comments

Being the Apple neophyte that I am, I’m always looking to compare my ability to achieve things in the Mac world as opposed to other worlds. My challenge this evening - creating a spreadsheet in iWork ‘08’s Numbers application from an HTML table.

Source Data: Music sources from episodes of This American Life. I love the background music on TAL and was in search of some of the songs. I this metafilter post, which ultimately led me to the Wayback Machine as the TAL site has been updated since that post. I then wanted to get the list into a format I could use for some scripting goodness in the future.

This is a stunningly simple task in Microsoft Office.

  1. Open the web page in your browser of choice.
  2. Highlight the table in question.
  3. Open Microsoft Excel.
  4. Paste - the table is automatically formatted into two columns

It doesn’t get much easier than that.

I tried the same thing in Numbers tonight, figuring it would be no more difficult. Well, it was. Instead of pasting a table, it just pasted the two columns as one, each column one under the other. I looked around for a way to convert data to columns. No luck. I tried to paste it into Pages, do some find/replace magic and export to a csv file. Too much trouble. I tried copying the HTML source. Definitely the wrong thing to try. I tried searching the help. Yea right!

I finally got so frustrated (and I don’t have Parallels reinstalled yet as I reinstalled my MacBook today), that I opened Google Spreadsheets and decided to see if I would have any luck there. Using the same process as in Excel, I instantly had exactly what I needed in Google Docs. Color me impressed! Not only that, I was able to extract the data I wanted using the provided formulas. This really makes me want to implement that Firefox Google Docs encryption plugin I’ve been thinking about…

In any case, for the curious - here’s the finished product. Now I just need to work on that script. ;-)

I’m somewhat disappointed in Numbers. There was another simple task I was recently trying to accomplish where Numbers just wasn’t up to the task. It’s a great app, but it definitely needs a few more features before I can use nothing else.

Dig Verbosity

| Comments

One of the things that’s always bugged me about the dig command is the standard verbosity when used with its default invocation. This has kept me using the host command for a while for generic lookups, but today I figured I should emerge myself into the greatness that is the dig command. After a brief google for something actually unrelated, I came across this great DiG HOWTO that answered all my questions and addressed all my misgivings. Now I can go forth and query the Internet as it should be.

Congratulations

| Comments

Congratulations to the happy couple!

The Happy Couple

It was a beautiful day for a beautiful couple. It was even better to see all my friends again, some of whom I hadn’t seen since November of last year. It had been far too long and I regret not going back to Chicago more often to see my friends!

Rainier Summit ‘07

| Comments

Well it’s that time of year again. It was only a year ago earlier this month that I summited that large volcano a mere 60 miles away from Seattle known as Mt. Rainier. It was a great experience, but I didn’t really have any plans to do it over again…until rnast and I agreed to climb the mountain, he for the first time and myself for the second so I could hopefully have a clear view from the summit.

Ryan flew into Seattle on Saturday and after the 30-minute turbo-tour of Seattle’s hotspots, we grabbed some grub, caught up and called it early. We went shopping for gear and supplies on Sunday, then drove down to Ashford, WA to begin our trek.

The 3-day summit climb begins with a day of climbing school where you load up a limited amount of gear into your pack and hike up to approximately 7,000ft and learn basic climbing skills, crampon usage, pressure breathing, team-arrest and self-arrest techniques in the event of a fall. The day is pretty relaxed and not too strenuous. You get to meet your guides as well as some of the people that you’ll be roping up with on the upper mountain. That day starts around 9am and ends in the late afternoon, which means you get to relax and grab a beer before you gear up for the big climb.

The next day starts around 9am again, but this time you have a backpack full of 40lbs of gear and food on your back. You hike from Paradise (5,000ft) up to Camp Muir (10,000ft) in about five hours. The hike consists of about 2 hours hiking on pavement and dirt paths that are generally consumed by tourists on the weekends. Following that is a good 3 hours on the Muir Snowfield where you think that little shack at the top of the hill is never going to get any closer. But after many steps and thoughts of “why am I hauling this huge pack up this mountain on my back”, you reach it…and you’re very happy to relieve the weight off your back. This looks familiar...

After a brief rest, you start unpacking your bag and bringing most stuff inside the bunkhouse. Then organizing your pack for the upper mountain, dinner, and a talk by the guides to prepare for what’s next. This is the point where your mind starts racing and your heart starts beating a little faster. You’re at Camp Muir - the climb up was pretty taxing…and you know that in a mere 5 hours, you’ll be waking up and heading for the top. So you roll out your sleeping bag. Crawl in. And try to sleep. But it’s five-o-clock in the evening. And when you’ve just eaten, at least for me, my metabolism jumps through the roof. So you turn. And you toss. And you try to think of different ways to fall asleep. You close your eyes. You open them. You stare at the wall. But nothing works. Until finally…finally you doze off. Only to be woken up what seems to be five minutes after you fell asleep by the guides turning on the lights and saying it’s time to get ready!

At this point, it’s about 11:30pm. You wake up, make yourself some oatmeal and slap on your base layer, climbing pants, fleece, avalanche beacon, and helmet. You stumble out into the darkness along with about 15 other people and get your pack ready. Soon enough, you find yourself roped up to 3 other people and heading out across a glacier toward what’s known as Cathedral Gap. Cathedral Gap closeup - is that a person on top?

That’s the view you have in the daytime, but at night it’s just you, your head lamp, and a rope strung out in front of you. Except for this climb where we had a nearly-full moon and barely even needed our headlamps. The next 6 hours are more or less a blur of repetitive, focused steps up the mountain. The guides say it takes approximately 80,000 steps to make it up Rainier…and when you’re sidestepping up a plateau of snow not much wider than your own boots at 1am…you quickly believe that it’s true.

I like to say about my summit climb this time that it was more difficult than I remember, but somehow easier. Part of that is the route difference. As opposed to climbing Disappointment Cleaver, we had to skirt around the bottom of that and then climb up via the Emmons Glacier. This is due to the crevasses that have opened up (as is typical late in the season) at the top of the cleaver. Although the Emmons portion was difficult in its own right, I have no disappointment about not having to climb for an hour over rock with crampons on. Descending via Emmons was also much easier than climbing back down the cleaver. I think what also helped is that I was much better prepared this time in terms of knowing what to expect.

Nevertheless, after hours of climbing I reached the summit successfully for the second time. Another successful summit!

I was pretty excited - it was an amazingly beautiful day to summit. The guides said it had to be one of the top 4 days of the season. What do you think? Beautifully perfect day for the climb

Perhaps I’ll post more eventually, but for now - here’s me at the top of Mt. Rainier on a beautiful day. Feel free to check out the rest of the Flickr photos of my Rainier Summit.

Tired, but happy - check out that view!