↓ Twitter is updated more often, so read it! ↓

In-flight WiFi on Southwest Airlines: worth it for business

Southwest Airlines WiFi logo

If you see this when boarding, you're in luck!

I had the pleasure of flying this past weekend on a Southwest Airlines plane equipped with the airline’s in-flight WiFi system. Despite my business travel in the last two years, I’ve never encountered a flight which had it. I jumped at the opportunity to get a little bit of work done during a long flight!

Southwest In-flight WiFi landing page

Southwest In-flight WiFi landing page

Once the plane is at 10,000 feet, the height at which “portable electronic devices” can be used, you’ll be able to connect to the “SouthwestWiFi” wireless network. There’s a limited selection of games available without paying, as is some kind of shopping I didn’t bother to investigate (probably just Skymall). There’s also a neat flight tracker that shows estimated flight time remaining and a map showing where the plane is.

The thing everyone wants is real Internet. Southwest is charging $5 per flight for it. I had some work to do over the weekend, and I much preferred to get it done before I started said weekend. In-flight WiFi was the answer.

Southwest Airline In-Flight WiFi GPS tracker

Ah, the great circle route.

I whipped out the credit card and went for it. This was where I hit my first frustration. I didn’t want to have to dig out my credit card and input my credit card information. There’s already not much room on planes these days, and putzing around in my backpack on the floor to get my wallet while balancing an open laptop on my lap is precarious enough without a large sleeping elderly lady and a Tetris-enthralled girlfriend on either side of me. I would hope that Southwest would somehow tie in the Rapid Rewards login from its web site to the in-flight WiFi payment system.

Of course, one of my first non-work related sites to visit was Pittco.

Southwest Airlines in-flight WiFi Pittco.org screenshot

Pittco.org on a plane?

I found the speeds to be sufficient to get some moderate browsing and tweeting done.

Speedtest.net wouldn’t load for me. I presume it was blocked to prevent curious geeks from overloading the connection with useless bytes. However, I did my own speed testing using my web server and found a pretty solid 512 Kbps connection behind it. Ping times of approximately four seconds proved that the system uses satellite instead of ground-based directed cellular systems like many other airlines use (e.g. gogo). Using ye old ping to my own web server, the times for a round-trip min/avg/max/stddev were 707.559/4123.338/14299.332/4251.890 ms.

My laptop was assigned an IP in the 184.169.23.0/24 range with a default gateway of the standard 192.168.1.1. All of the traceroutes I did, including but not limited to google.com and cad.cx, put traffic onto Level3 in Las Vegas and onto Los Angeles before heading out to the destination after approximately eight hops, five of which were internal and the other three lacked FQDNs.

It’s not without some criticism, though. I dislike the toolbar that is inject into every non-HTTPS page. This toolbar is certainly useful, but not when it’s on every bloody page I’m visiting. I’d rather have a separate tiny popup window showing that information. It’d be neat if that window used the browser’s built-in notification system to tell me how much time remains in the flight every 10 minutes or so. Moreover, it needs a better way for notifying the user when it’s getting turned off (rather than just stopping working even though the network is still up), as well as better statistics (how many people are using it, how much bandwidth is being used in at least percentage). If I’d have paid $5 for it and it barely worked because so many people were using it, would I get a refund? Those kind of quality control questions are something that I think Southwest needs to address.

Also, there always is the issue of security. A malicious passenger very well could set up a similarly named access point using a secondary wireless card, collect financial details, and route an unsuspecting passenger over the legitimate connection and there’s be no way to catch them before the plane hits the ground. It would behoove Southwest to consider how better they can secure this payment workflow. Come talk to me, LUV, I’ve got some ideas!

Lastly, the service is vulnerable to good old fashioned DNS proxying. If you know what that means, you know the significance of it. If you don’t, don’t worry, it’s not a security thing and you have nothing to worry about. Well, except bandwidth contention!

Overall, it was a useful experience. I doubt $5 would be worth it for personal use, other than as an extravagance to enable chatting or simple 2005-era speed-wise browsing. For businesses, though, a $5 expense which can turn into $100+/hour billable time on a plane is completely worth it.

P.S. I discovered that Android, at least Cyanogenmod 7.1, can enable its WiFi antenna while the phone is in airplane mode.

In which I assert that the terrorists won

Originally, this was going to be at the end of my 9/11 memory post. I split it in order to shorten the post and provide some Monday morning reading material for my audience (Hi, Mom, and you intrepid 30 RSS readers, plus Facebook and Twitter folks).

I want to believe that we were attacked, plain and simple. I want to believe that “they hate us for our freedoms” and all the other party lines we Americans are supposed to say and believe. I don’t buy it. That’s not enough. I don’t buy that “our freedoms” have anything to do with it. No group of people is going to start a war over their target’s propensity for debauchery or violation of archaic religious laws. Those pronouncements are reserved for religious courts, not some silly attempted gesture of genocide.

There’s a reason for it. There are lots of reasons for it. Oil could be one. Our interventionist foreign policy and a tendency to arm both sides of a conflict in an effort to win the hearts of the victor could be another. The loser would just stew and turn against us, having not actually been vanquished.

One might argue that the goal of the terrorist attack was to damage one of our primary financial centers. This succeeded, physically. Sure, our economy sucked for a year or two, but economies can recover. We can rebuild buildings, even iconic ones.

I think a wiser one would argue that the terrorists successfully achieved another goal, intentional or not. Our Congress’s reaction was knee-jerk. The PATRIOT act was passed within two weeks of the attack. This far-reaching legislation was aimed at domestic terrorists. I don’t blame Congress for this. It was the first time we’d been attacked in such a violent manner, and they didn’t know what to do, so they decided that we as a country should roll up like an armadillo and think everyone is against us, even those loyal to us and without reason to be against us. We reacted poorly and rashly; we blindly rallied behind this instead of recognizing the erosion of our rights.

The terrorists pulled down our pants when they noticed our belt wasn’t buckled. We armed ourselves in the sandbox and terrorized other kids in order to find the perpetrators and retaliate. We never did actually buckle our belt after pulling our pants back up. We’ve just pulled them up farther in hopes that our armpits will keep them up.

I also want to believe that it was a setup; that it was an inside job someone in power felt necessary for them to attain more power. There’s evidence out there, but it’s obviously not officially recognized. A day or two before the attacks, Sec. Def. Rumsfeld reported $2.3 trillion untrackable transactions (search the page for “trillion”). Is this related? I don’t know. I can speculate, but doing so is an exercise in futility. Nonetheless, I want the truth to be known. The real truth. I don’t know if it ever will be known, if it’s not already. I’m not even sure it matters. What happened, happened. We can’t go back in time. We can only fix our laws to respect our rights, equally enforce the laws already in place, and recognize that doing so may be a risk we Americans aren’t all willing to take. We can only elect the legislators we feel will represent our views and make the laws how we would if we were in the position.

I digress into areas I’m neither prepared or willing to discuss at length. I’m no conspiracy theorist, nor am I devout debunker.

Only recently has 9/11 directly affected me in a directly observable manner. I fly a lot now for work. I did the scanner once, and after sufficient research I decided that I’d rather not subject myself to its convenience. The price is too complex to calculate. The alternative is both less and more desirable.

I’m about to board a plane. Before I get on that plane, I’ll be searched in a manner formerly preserved only for audiences with drug lords and crime bosses, criminals under arrest, and hernia checks at the doctor’s office. I won’t feel any safer. In fact, I will feel less safe. I’ve never felt less safe than when I fly now, and it’s not because of threat of terrorists. It’s because of the threat that my rights can be abrogated with little recourse, unless I’m willing to miss my flight and engage the authorities in a battle of wits heavily stacked against me.

I could just take a train, I know. However, it’s not much cheaper and it’s travel time is clearly much, much longer.

Either way, I’d have to greatly inconvenience myself in order to assert my right to be secure in my person. It’s tremendously frustrating. I just want to exercise my right to travel freely among the several states, secure in my person and free of unwarranted search and seizure unless I am officially detained as a suspect of a crime or intended crime. Clearly, I’ll do neither, so just let me on my plane without inconveniencing me.

I offer my suggestions, as prayers for change are uplifted only by those who cannot conceive of a solution to their problems.

Give pilots and flight crews, if not licensed individuals as well, the tools they need to protect the plane and its passengers from would-be terrorists. It’s the Wild West up there, so those folks can only protect themselves. There’s no law in the air; the law exists only on the ground. There is still good. There is still a right and a wrong. There are good, honest people hamstrung by a suspension of their rights because they might not be honest and good. There must be here a balance, and we have to find that balance in order to address this one aspect of safety.

Adapt the security model to those widely adopted outside of the US. I reference a security model which replaces invasive personal inspection with close behavioral monitoring. There still is a metal detector. There still is X-ray screening of baggage and the occasional private screening when absolutely necessary. Given the choice of a “freedom grope” or heavily armed, highly training guards patrolling the airport, I’ll happily take the latter. Neither should be necessary. What a terrorist has on their person between the outside world and the security checkpoint is nothing compared to what they can acquire and use between the security checkpoint and the gates. Any person with a modicum of security knowledge can understand this.

Openly allow public video and audio recording of security checkpoints. Accountability is the only way to ensure that those in the first line of defense are respecting the rights of travelers. Documenting transgressions and establishing a public way of filing these recording is important, but it must be done in a way so as not to subject the perpetrator of the crime to the court of public opinion before a real trial is held. Security checkpoint cameras are unreliable and poorly placed.

I might have some others rattling around in my head, so I urge you to comment, to engage me in discussion. I won’t hold back, but please engage me with citations.

White blood cells destroy disease, but they can also destroy healthy cells. I want us to be safe from terrorists, but I also want us to be safe from our guardians.

10 years ago still as clear as yesterday

No American alive and aware of the world at the time will forget September 11, 2001. It was my generation’s Pearl Harbor moment; a JFK Assassination moment, but the news spread faster than 60 or 40 years earlier. We can thank the Internet and the 24 hour news cycle for that.

Everyone remembers where they were. I’d venture to say that most Americans watched it live on TV. Those not near a TV turned on the radio when someone told them. I remember where I was.

I was in 11th grade, and it was during my homeroom period. I was in another teacher’s room counting money from our class fundraiser. On my way to class, a little late for first period English, shortly after the first plane hit the first tower, I stopped by my gifted teacher’s office. She received a call and had a look of terror on her face.

“A plane just crashed into one of the World Trade Center towers! My son’s OK,” she said in her thick Brooklyn accent. We turned on the TV and watched the confusion. A few minutes later — I can’t remember if I was in the gifted office or my English classroom — we watched the second plane hit.

I believe it was between periods or shortly after the start of second period when a plane hit the Pentagon. Ironically, my second period history teacher wouldn’t let us turn on the TV. He basically didn’t believe us. I think he actually apologized to us a few days later. He was a great teacher and model historian, and recognized his error in not letting us observe history in the making.

The second tower hit was the first to fall, at around 10 a.m. I was still in that history class. The plane which crashed in Shanksville, PA — approximately 140 miles from my high school — did so a few minutes later, but we didn’t hear about it for approximately another 45 minutes.

I do distinctly remember watching the second tower — the first to be hit — fall around 10:30, while I was in third period Latin class. The eerie buckling that preceded it is unforgettable. It was like watching a tower of toothpicks fall when someone blows ever so slightly at its side. Obviously, this blow was a ~350,000 pound missle going 466 mph to a tower of steel sticks.

The rest of the day is a blur. There was some resistance by teachers to turn on the TVs, but our principal was a wise one and recognized the importance of the event. He directed all teachers to turn on the TVs.

I don’t remember the falling of WTC building 7 around 5:20 pm, the one which seems to be at the center of the 9/11 conspiracies. I’m sure a simple web search can turn up video of building 7 clearly still standing when a CNN reporter claims it’s fallen. I’m not going to theorize here, and I’m not going to beat a horse not yet dead.

I do remember President Bush’s address to the nation at 8:30 p.m.

Among his statements: “Today, our fellow citizens, our way of life, our very freedom came under attack in a series of deliberate and deadly terrorist acts,” “Terrorist attacks can shake the foundations of our biggest buildings, but they cannot touch the foundation of America. These acts shatter steel, but they cannot dent the steel of American resolve,” and “The search is underway for those who are behind these evil acts…we will make no distinction between the terrorists who committed these acts and those who harbor them.”

I got home around 4 p.m. Soccer practice was canceled, so I headed for the Internet. I played Ultima Online, an MMORPG, on a player-run server called “Dragon Shadow”. Several of the well-known players and administrators lived in NYC. One of them, an accountant by day who in game went by the name Shadowfax, worked in a high floor in one of the towers. Nuit, the wife of the owner of the server and one of the main administrators, posted something to the effect of “SHAD ARE YOU OK?!” He responded a few days later. He’d called in sick that day and couldn’t get back to the ‘net, and didn’t have anyone’s phone numbers.

That’s my memory of it. I might have a more detailed account written somewhere, but I unfortunate don’t recall where.

References:

Delicious seafood in an unlikely place: Youngstown Crab Company

A few weeks ago, my girlfriend and I visited an interesting restaurant: Youngstown Crab Company. YCC is on Belmont Ave, just off of Interstate 80 (google maps).

I admit that I was skeptical. A fancy seafood place…in Youngstown? I was a little concerned, but once I saw the menu on the web site, I was hungry and willing to venture up there from Pittsburgh to try it out.

I’m not sure what used to be in the building, but it’s unlikely a new building for the restaurant. It’s the only one — this is no chain. The staff was friendly and welcoming, and our waiter Jack was knowledgable not only of YCC’s menu but of seafood in general.

Youngstown Crab Company, April 2011

Orange Roughy Coquilles

I enjoyed the Orange Roughy, Coquilles St. Jacques style: “A rich mixture of petite bay scallops, butter, white wine, mushrooms, cream, and Gruyére cheese, topped with breadcrumbs and oven-baked.” Orange roughy is probably my favorite fish, and I was excited to see it on the menu. This dish, or really the sauce, was among the tastiest I’ve ever had. The scallops were served underneath the fish, with mushrooms surrounding it all. The paired side was a small spinach souffle, and was tasty in its own right.

The portion size was right on, and left me wishing my stomach was larger. I enjoyed it with an Apricot Wheat beer from Ithaca Beer Company.

Youngstown Crab Company, April 2011

Oscar-style Mahi Mahi

Brigette feasted upon the Oscar-style Mahi Mahi. It was served topped with crabmeat and asparagus in a Hollandaise sauce. She opted for a side of rice pilaf and a draught of Strongbow hard cider. She liked the dish, and found the sauce to be an excellent preparation. I had a taste of the mahi mahi, and it was delicious.

We also enjoyed the Crab and Shrimp Queso dip, a delicious appetizer made with New York cheddar, Monteray pepper jack, and parmesan cheeses and scooped with tortilla chips.

Together, with tip, our meal was approximately $90. It was quite pricy for the area, yet on par with most of the seafood places I’ve visited in the greater Pittsburgh area.

We found Youngstown Crab Company to be an enjoyable experience and will most certainly dine there again.

Here are some other pictures from the restaurant. It was well-decorated with a seafaring ship theme in the main dining area, and more of a beach theme in the bar area.

Youngstown Crab Company, April 2011 Youngstown Crab Company, April 2011 Youngstown Crab Company, April 2011

Delicious Chocolate Chip Cookies from Bart’s Bakery

Bart from Bart’s Bakery recently did an IAMA titled Six years ago my wife and I sold everything and bought a 90ft tunnel oven to make cookies. We’re now shipping between 1 and 4 thousand pounds per week. AMA. In it, he gave a coupon code for Redditors to purchase cookies from his company at a discount. The offer was wildly successful, bringing in more than 1,700 orders and more than $20,000 in sales in just a few days.

I participated, too, purchasing a box for myself and a box for my parents.

I just took some pictures with my new camera as I was opening my box and thought I’d share.

These cookies are pretty tasty. They’re of the hard variety and use dark chocolate. I recommend them for a good snacking cookie!

Bart's Bakery cookies - Box front
Bart's Bakery cookies - Inside the bag
An important warning in the package’s “documentation” says to let the cookies “decant” like a bottle of wine for approximately 10 minutes. I had to kill time somehow!
Bart's Bakery cookies - Reddit Alien

You can see the whole set over on Flickr, too: Bart’s Bakery photos by Colin Dean.

2010 in review: the year of travel

2010 will go down in my personal history as the year that I travelled. It will only be replaced as such should I travel even more in a subsequent year. Should such happen, I hope that it is of my own free will and benefit.

I spent not at home approximately 23 weeks of the 52 weeks of 2010. Much of that was spent in the Washington, D.C. area for work, while others were spent in Louisville, Houston, at my parents’ (oh, snowmageddon of February 2010), and single overnight stays in Orlando and Phildelphia. Most of this travel occurred in the later seven months of the year, beginning with a trip to DC in June and concluding with some time at my parents’ house for Christmas.

All the travel seriously hampered by ability to get things done. I still managed, though.

Writing

I didn’t write as much for ThinkComputers this year because of the travel, but I did manage to write a good article on travel technology, i.e. the things I take with me when traveling.

Blog-wise, I didn’t write a whole lot. I saw a year-over-year ~7.5% decrease in traffic. I attribute this to my lessened writing and bouncing from topic to topic. Also, my posts from summer 2009 regarding my stock purchases gave me a giant traffic burst I did not replicate this past year. My 2007 article on installing Roundcube Webmail on Ubuntu Feisty continued to be the #1 article on my blog (as it has been since its writing), followed by my 2008 article on using btnx for mouse control in Ubuntu Hardy.

However, I did have a few good articles from 2010. I worked from home a good bit this year, so I wrote some simple rules for working from home as a reminder to myself of “how” to work from home. My geekiest article by far was on addendum on updating the installation whenever there’s a new WordPress release.

In other news, I severed ties with BIOS LEVEL very early in 2010. It was time for me to move on.

Coding

My as-of-yet incomplete magnum opus of 2010 is the Pittco LAN Administration System. PLAS is a LAN party management tool in the vein of Autonomous LAN Party (ALP). Pittsburgh LAN Coalition (Pittco) has wanted to replace ALP with something better for several years now and after a few false starts, we’ve finally got something up and running. It’s still under heavy development and could use some good Ruby on Rails developers (I’m just a newb to RoR). I plan to spent much of my free time in January and February banging on it.

As for open source contributions, there were quite a few! I set up squid-deb-proxy for Ubuntu update bandwidth reduction and speed increases and suggested some default configuration changes in what mirrors are listed and permitting but not caching unspecified domains. I continued to contribute translations to Gwibber, Lernid, and more. I made a tiny patch to bzip2-ruby to fix compilation on Ubuntu Natty. I also fixed some Config -> RbConfig migration problems in gettext for ruby and cucumber, although neither have been accepted upsteam (I tried with cucumber, but couldn’t get the test harness working in the hour or so I wanted to devote to it so I gave up).

I released ttytter-libnotifyperl, a TTYtter extension which uses ayatana notification bubbles in Ubuntu for its notification of Twitter replies, DMs, and such. I don’t know how many people are using it, but I find it indispensable when working on Ubuntu.

Educationally, I learned how to use git in 2010. I avoided it for a few years because I used Subversion (svn) for work and preferred Bazaar (bzr) for home projects, most of which were related to Ubuntu. I still consider myself a newb, but I’ve taught at least one other person how to use git and counseled several others of approximately my experience level. At least I know I’m learning.

One of my larger projects was a for-profit job I took on early in the year. A friend needed a software for running Twitter contests. I doubt the software was ever actually used in production, as the person who was in charge of running the contest left the friend’s company shortly after I finished the product. I may adapt the product and make some kind of a SaaS thing around it if I ever get the time to do it.

My big work project went live at the end of December. I’m not sure what details I’m permitted to tell about it publicly, so ask me in private. I’ll just say that it’s a big public search portal for a government agency. I might update this story or post another entry about it if my superiors permit it.

Profyle.at, the personal profile directory site, kinda died down, but it’s not dead yet. Jon and I hope to revisit it at some point. Work got in the way for both of us, and not getting into Alphalab for the Spring 2010 session didn’t help.

Stocks

I basically slacked off on stocks this year. I made some money from SYMX, but lost a good bit from ONFI and INAR. I finally sold the rest of my holdings in SPNG, the stock which lost me $23,000 in 65 minutes in 2009. After the tax deduction, the rebate combined with my profits from 2009 sales will cause me to lose just under 3% on the whole deal, or around $90. Not too shabby for at one point having ~$30,000 wrapped up in that pump and dump scheme.

Why did I not pay attention as much? For one, @stockgod and the other Bulls on Wall Street crew stopped posting on Twitter as often because BoWS became profitable and it was more profitable for them to share their hints exclusively to BoWS subscribers. I don’t fault them for doing so at all. I didn’t have the time available to make the $75/mo worth it. @stockguy22 is still going strong, as are a few others, but I didn’t have and probably won’t ever regain the spare brain cycles I had in 2009.

I’m not out of the market — I still have ~$10k worth of stocks — but I’m not able to be a daytrader or even a week trader. I’m just sitting long for a while.

Life

Brigette and I are still dating, of course. She will in the coming month release an update to the web site for Glade Mill Sporting and Hound, the show dog kennel she, her sister, and mother operate under. She’s come a long way and just keeps getting better and better every time I see her new designs. I’m eager to see her build a portfolio site before the end of the year!

I think that’s it for this 2010 year in review.

Moving Just Cause 2 retail save games to Steam

Just Cause 2 is one of my favorite games from this year. It’s mindless, lawless violence in an open sandbox game at its best. It’s like the Grand Theft Auto series, but more focus on basically being a guerrilla, or, really, a terrorist, in charge of bringing down a Pacific regime unfriendly to “the Agency” and “the Government”. The Agency is clearly the CIA, while the Government is clearly the US. The Pacific Regime is likely supposed to be North Korea.

Rico Rodriguez, the Scorpion, from Just Cause 2

Rico Rodriguez, the Scorpion

You play Rico Rodriguez, a hired man good with guns, vehicles, parachutes, and a never ending supply of grappling hooks. Seriously. The game mechanic used throughout is “hookshot this”, “connect the hook to this and this and watch chaos ensue”, and “climb this building using only the hookshot.”

I know it’s called the grappling hook. Shush. It’s the hookshot from the Legend of Zelda games, on steroids.

Anyway, to the meat of the matter.

I’ve had the retail version of Just Cause 2 for some time now. Earlier this week, Steam was selling Just Cause 2 for approximately $7.50. I decided to take advantage of the offer and add yet another game to my mindlessly-maintained Steam collection. While I was at it, I bought some DLC, including the Air Propulsion Cannon (I’ve found my new favorite weapon).

Much to my dismay, the Steam version didn’t pick up my retail version saves. Having played approximately 40 hours since March and being approximately 30% complete with the game, I didn’t want to abandon all my hard work!

I tried copying the saves from Documents\Square Enix\Just Cause 2\Saves into my Steam userdata directory Steam\userdata\<userid>\8190\remote\, to no avail.

Here’s the trick that did it for me. Start a game and save it to the slots you want to have restored. In my case, I just wanted slot 9. So, in the Steam version, I saved a game to slot 9. While the game is running, Alt-Tab out of it after saving and replace the save, copying it from your Documents directory to your Steam userdata directory mentioned previously. Exit the game and restart it. Hopefully, you’ll see your old saved game. If not, let me know.

The great thing about JC2 on Steam is that it is Steam Cloud enabled, so saves are stored on Steam servers. No more worrying about lost saves! Well, that is, until Steam dies, but I don’t think Valve is going down any time soon.

I have never felt so awesome then subsequently disgusted in my life

Approximately 25 minutes ago, I left my work holiday party. It was a potluck, so there were a lot of leftovers. As such, lots of folks went home with containers full of food.

I was obviously one of them. I had some pesto tortellini, turkey tetrazzini, homemade Mac ‘n’ Cheese, roasted ham, hand-made pierogies, and more in my stereotypical take-out container. I couldn’t wait to wake up late tomorrow, sleeping in on a lazy Saturday, and enjoy my leftovers.

I was very careful on my way out not to spill the container in the stairwell while I put on my hat, scarf, and gloves. I braced myself and stepped out into the chilly Pittsburgh night.

A few steps from the door, at a major intersection in Squirrel Hill, a older black man approached me. “Excuse me, sir, do you have any spare cash so I can get something to eee..” he said, but I cut him off. “I’m sorry,” I said, “but I don’t have any cash on me.” I rarely carry cash.

It dawned on me after a few steps closer to the intersection that he wanted money to get something to eat. I took a step back and asked him if he wanted something to eat. He answered positively, and I thrusted my treasured leftovers container toward him.

“What’s this?” he asked. ”I just came from my company’s holiday party,” I replied. “It’s leftovers. I don’t need them. You can have them.”

He took the container, peeked inside, and walked away without a “thank you” or anything. I figured his silence to be caused by amazement. He walked into the drug store right there at the corner. I presumed he went there to get some utensils.

I walked to my car, which was approximately two blocks away. These are Pittsburgh blocks, so I was to it in less than five minutes.

The entire way to my car, I felt awesome. Here’s this 20-something guy with a cushy job who just came from a company party, giving food he really wants but doesn’t need to a down-on-his-luck, likely homeless guy begging for money on the streets of a upper-class Pittsburgh neighborhood. Yeah, I did my good turn for the day.

This isn’t the first time I’ve done something like this, and I assure you no matter how this story ends, it won’t be the last. I’ve had the “do a good turn daily” Boy Scout slogan drilled into my head since I was 10.

My path home involves going back through that intersection. I drove to it and got caught at the red light. Who do I see walking across the street? My beneficiary. What’s in his hands? Nothing.

I tried to reason with myself. “Maybe he gave it to some other homeless person,” I thought. I scanned the area. No sign of my leftovers. “Maybe he ate it?” No, impossible. There was enough food there to feed two people heartily, he couldn’t have devoured it in less than five minutes.

I can only assume he tossed it. Threw it away. Discarded it, unwanted. My heart was filled with disgust; I could feel the bile rising. I was so displeased with this person’s actions that I could have vomited on the spot.

I feel betrayed by a someone I didn’t know and, now, wouldn’t ever care to know. He could have fed himself for a weekend on that food, or have a day without a single rumbling in his stomach. He could have given it to someone else, who could have fed themselves or their starving loved ones.

Now I understand why many people are so hesitant to give money or things to homeless or homeless-looking folk: they are afraid their gift will be misused. Had I not had a big container of food in my hands, I would have probably kept walking. Having nowhere specific to be tonight, I may have offered to take him to a restaurant of his choice to see him fed. Instead, I willingly surrendered something of mine I felt I didn’t need, and it was likely discarded.

If he’d wanted a beer, he could have asked honestly. I’m a 20-something, visibly overweight. There’s probably a 99% chance I drink beer, would appreciate his honesty, and would see the man to a beer.

I can only hope that I’m wrong and this guy is a former world champion speed eater or “paid it forward” and gave the food to someone else.

“Has Anybody Seen My Code?” by Jim Weirich and the Searchers (including me!)

At last night’s Pittsburgh Ruby Brigade meeting, I and two of my coworkers (Jean and Carol) performed with Rubyist Jim Weirich (jimweirich his Ruby song, “Has Anybody Seen My Code?” Weirich gave new lyrics to the 1920s song “Has Anybody Seen My Girl?”, telling how Ruby programmers enjoy sharing their code with others.

After the performance, Jim gave a great talk entitled, “The Polite Programmer,” giving tips in a Dear Abby fashion about how library developers and users alike can write code in a way which is polite to implementors and future-safe.

I apologize ahead of time for this video. I’m out of tune a bit and I messed up here and there. Not too terrible for not having played at all in the past four years!

squid-deb-proxy, or how Ubuntu updates fly at work

I recently got permission at work to install squid-deb-proxy in order to speed up updates for Ubuntu users and reduce the amount of bandwidth we consume every morning when Update Manager checks for updates. There are 12 of us using it now, and the number generally grows every second or third hire.

squid-deb-proxy is a specific configuration of squid, an HTTP proxy, which enables caching of retrieved files and limits access to only the official Ubuntu mirrors. The net result is that client machines look at the server running squid-deb-proxy for updates, and if the proxy has recently downloaded the file, it’s sent to the user immediately, or, if it’s not in the cache, the server retrieves and caches it, then passes it to the client.

The business benefit is that it saves considerable amounts of time because it saves bandwidth, especially around upgrade time. Imagine 12 people pulling down ~50 MB of updates on a given day. Now, imagine 12 people upgrading to the latest Ubuntu release come April or October–now we’re talking one or two gigabytes of updates. If those updates are available locally, the bottleneck moves from the Internet connection to the sheer speed of the computer. The user is back up and running sooner, and thus restored to productivity sooner.

Installing the server component of squid-deb-proxy is no more difficult than sudo apt-get install squid-deb-proxy. It’s up and ready to go upon installation.

There are two ways for the clients to get updates. One is by manually specifying the proxy in the apt configuration by adding this block to /etc/apt/apt.conf.d/99proxy:

Acquire {
 Retries "0";
  HTTP { Proxy "http://YOUR_PROXY_SERVER_HOSTNAME_OR_IP_HERE:8000"; };
   };

The other way is much cleaner, but the server must be on the same subnet as the clients. Simply install squid-deb-proxy-client with sudo apt-get install squid-deb-proxy-client. Warning: if you have both set up, squid-deb-proxy-client will prevail.

Courtesy of two changes I proposed and which were recently merged into the Natty cycle (Ubuntu 11.04), the configuration options to allow but not cache unspecified domains and add extra mirrors are present, increasing the out-of-the-box usefulness and easy configuration of the server component.

So, squid-deb-proxy is worth it for us. It saves time and alleviates the morning bandwidth burst.

We used it at my previous job, too, and it was worth it with only four Ubuntu users hitting it.

If you use it, how many people do you have hitting it?