Disabling service updates on SA2 TiVo’s

I needed to re-enable service updates on my SA2 TiVo tonight and I’d forgotten how to toggle it after having disabled them when I first hacked my TiVo, and had a tough time finding the information so I figure I’ll post it to my blog so I’ll be able to find it again.

The key command is bootpage – use “bootpage -p /dev/hda” to see the current settings. Then, use “bootpage -P "..." /dev/hda” to change them. Specifically, change “upgradesoftware=false” to “upgradesoftware=true” or vice versa.

Tags: , ,

Getting Adaptec afacli working on Ubuntu

In order to get afacli working on Ubuntu Hardy, I did these things:

1. Get afa-apps-snmp.2807420-A04.tar.gz from Dell.

2. Get libstdc++2.10-glibc2.2 from Debian afacli depends on libstdc++-libc6.2-2.so.3.

Since I’m running Ubuntu x86_64, I put libstdc++-libc6.2-2.so.3 in /usr/lib32. Installing the rpm package under Ubuntu provides rpm2cpio which I used to extract afaapps-4.1-0.i386.rpm like this:

$ rpm2cpio afaapps-4.1-0.i386.rpm | (cd / && cpio -iudvm)

That’s it. You now have /usr/sbin/afacli.

Tags: , , ,

I take that back, Wolfram Alpha is made of win!

Last week, I wrote that Wolfram Alpha still couldn’t answer such important (ha) questions such as “How is babby formed?

As you might expect, Wolfram Alpha’s gotten smarter already. Look:

Wolfram Alpha knows!

That’s what I call awesome. Well done, guys.

Wolfram Alpha may be cool, but …

Wolfram Alpha may be cool, but it can’t answer the really important questions, yet, such as “How is babby formed?” …

Wolfram Alpha's attempt to answer "How is babby formed?" fails.

Reconciling creation and evolution

Often, the pro-creation or anti-evolution argument looks to the first chapter of Genesis as its basis, that God created all kinds and so nothing evolved from something else. What strikes me as odd is the presumption that this same omnipotent God is bounded by what we perceive as time. Why is it hard to accept that God conceived of–not literally “created”–everything at once but that some would only come to manifest at a certain point in time? This would indeed have all scientific appearances of evolution, of one kind of beast becoming another, but God still having done this magnificent deed during the act of creation.

Even in Genesis, God “evolves” woman from man, taking a part of him and creating something new that did not exist before. This is absolutely testament that evolution happens and that God may indeed be at the center of its happening. Yet, pro-creation arguers insist that evolution doesn’t happen? This is absurd at best.

Similarly, the pro-evolution arguers insisting that such miraculous events could occur purely by random chance seems too optimistic for my tastes. We have very little evidence of “evolution gone horribly wrong” which would inevitably need to happen much more frequently than evolution getting it right to get us to where we are today. Yet, the fossil record is clearly lacking this proof. Apparently, the evolutionary stasis in the observed fossil record is clear.

Scientists have coined the term punctuated equilibrium to describe the short bursts of evolutionary improvement that happens. Why is it so hard to accept that these apparently miraculous core changes to a species wasn’t guided somehow? Believing that these rare and unlikely events, which now seems to not stem from constantly failed random attempts, can happen repeatedly is like winning the lottery every time you buy a ticket, and repeatedly buying tickets and winning every time! Sorry, that kind of luck is … Godlike, to say the least.

Tags: , , ,

Guess it’s time to wait for OAuth 1.1

Last week, I decided to take a stab at implementing a basic OAuth consumer in order to integrate Twitter Karma with Twitter using OAuth. I’d read through the OAuth 1.0 specification before, but never closely enough to realize that there was a serious attack vector in it. So, I mentioned this on the twitter-development-talk mailing list, hoping to get some answers on April 16th:

Also, the redirect to the callback URL has no signature. What stops an attacker from brute-force attacking an OAuth consumer, iterating through posisble tokens? Simply the large search space of valid OAuth tokens? Even if it’s only “possible in theory” … some teenager with nothing better to do is going to eventually turn that theory into practice.

My concern was met with confusion so I brought the concern to the OAuth mailing list (also) on April 17th:

Currently, the OAuth callback URL is susceptible to replay attack and token shooting. Signing it would eliminate this in a very low-effort way.

[…] it’s very desirable to be able to tell if the callback was legitimate or either a replay attack or a brute-force token shooting attack.

Even client-side browser cookies may not win here if a simple session fixation attack is coupled with the token shooting attack.

I wasn’t sure if I was being understood, either, but then a few days later on April 20th, Twitter yanked their OAuth support offline.

Eventually, an OAuth security advisory 2009-1 was published on April 23rd that clearly states “A modified specification to address this issue is forthcoming” as I pointed out was necessary, and Eran Hammer-Lahav writes a thorough explanation of the problem in his blog. The money quote:

If we put it all together, even if an application:

  • Makes sure to use the account of the user coming back from the callback and not that of the one who started
  • Checks that the user who starts the process is the same as the one who finishes it
  • Uses an immutable callback set at registration

It is still exposed to a timing attack trying to slide in between the victim authorizing access and his browser making the redirection call. There is simply no way to know that the person who authorizes is the same person coming back. None whatsoever.

This is exactly why the callback URL that the OAuth provider uses to redirect the user back to the OAuth consumer needs to be signed.

So, why am I making a big deal out of all of this? Well, I’m irked. Coincidentally, their “discovery” of this issue conveniently coincided with my raising of the issue publically on the mailing lists, yet nowhere is my name mentioned in any of this. In my opinion, that’s really poor form in an “open community” where often the only compensation for effort is recognition. It’s this kind of back-handed treatment that encourages people to demonstrate these security concerns through actual working exploits, which benefits no one but guarantees the creator their recognition.

In the end, I’m glad that this issue is going to be addressed and hopefully in a timely fashion because all of us developing applications in the public software ecosystem will benefit, but I still feel slighted. I’ll get over it, while I wait for the OAuth 1.1 specification.

Tags: , ,

You know it’s bad when …

This morning, I got a spam email with this subject line:

We are too lazy to change subjects every day, please buy our viagra

Wow, has it really come to this? Is there anyone left on this planet who wants to buy Viagra that doesn’t know how to get it, that spam like this has a non-zero conversion rate?!

I think spammers are now just sending spam to prove they can do it these days. They’re probably distributing URLs that link to sites that serve malware that exploit browser vulnerabilities simply to grow their botnets, under the guise of Viagra spam.

I’m waiting for the day when these botnet owners start distributing code to do large-scale grid crypto cracking. Imagine what kind of crypto you can brute-force in near-realtime with a grid of a few hundred thousand modern computers? That’s a supercomputer that no single organization could probably afford to purchase and manage.

Tags: , , ,

Depression is a funny thing sometimes

Depression is a funny thing sometimes. I deal with intense feelings of loneliness a lot more often than I’d like to admit. What’s strange is the fact that I know hundreds of people. I talk to dozens of people online every day, by email, instant messaging, social networks and other ways. From the outside looking in, I appear to be constantly surrounded by people, at least virtually. Yet, I feel incredibly isolated, very alone, intensely lonely.

I’ve been seeing various therapists regularly for the past five years. I’m on two different anti-depressants (Paxil and Wellbutrin) and I take them daily. Perhaps I’m on the wrong medication or I need to add something else to the cocktail. Whatever the case, I’m actively seeking ways of trying to fix this problem. But, the intense feelings of loneliness start to trigger despair, and that just makes it that much harder to cope and try.

I recently wrote, “Sometimes, I really hate being me.” I don’t think anyone who read that really understood what I meant. I don’t know how to explain it. A therapist I saw for two years, who had been practicing for probably close to twenty years, finally said to me, “I don’t even know how to classify you.” I know that this quote is vague and lacks sufficient context, but he understood the gap that isolates me.

I’ll try writing more about this if I can bring myself to do it … I’ve wanted to write this for years, but every time I sat down to try, the words just wouldn’t come. Right at this moment, I’m determined to try and push through that barrier and finally write some of this down.

Tags:

AOLserver in Google’s Summer of Code 2009

Google Summer of Code 2009

Are you a student that meets Google’s eligibility criteria, who is interested in contributing to an Open Source project this summer? Google’s Summer of Code 2009 is on, and once again, the Tcl community has been accepted as a mentoring organization, which includes AOLserver.

Students can apply until the deadline of 19:00 UTC on April 3rd. If you have any questions about GSoC or AOLserver’s involvement in it, please ask me! I’ll try to help answer whatever questions you might have.

Good luck to all the students and mentoring organizations this summer!

Tags: , , ,

Life is getting in the way of my blogging

Things have gotten seriously busy lately. I’ll try to re-cap some highlights:

***

I’ve just joined the Ridgewood chapter of the Barbershop Harmony Society after being a guest at their meetings for the past few weeks. This is a great complimentary activity to my singing in my church choir. We meet on Monday nights in Wyckoff, NJ, and it is a lot of fun.

***

We survived the girls’ birthdays again, this year we celebrated at Skylands Ice World up in Stockholm, NJ. Everyone had lots of fun and it just felt good to be out on the ice again. You aren’t allowed to bring in outside food, so I was nervous about the quality of the in-house catering as you effectively have no other choice, but it was surprisingly good! If you or your kids like to skate, this is definitely a place I’d recommend for a party.

***

Work has been keeping me busy and engaged as usual, working on developing products that will generate serious revenue. I really wish I could talk about them in more detail, but I can’t. Perhaps I’ll be able to link to a press release or two, soon.

***

I recently decided that I’d had enough of the annoying markup that ecto 3 generated and went looking for an alternative. A few people recommended MarsEdit 2 so I gave it a try. Let me put it this way: after 10 minutes of playing with it in my trial period, I bought it. It’s somewhat unfortunate as ecto was so close to being just right, but the few annoyances really got on my nerves after all this time. I think I would have hung in there except it seems like ecto’s development has pretty much stopped, but when I registered my copy of MarsEdit, I got an email from Daniel Jalkut, thanking me. That seemed like a good sign, you know?

***

I’ve probably forgotten a bunch of things that I wanted to mention, but at least this is a start.

Tags: