Looking Back, Looking Forward

Charlie Stross posted an interesting essay today, Reasons To Be Cheerful recapping some of the great things that have happened in the world over the past decade, primarily in the developing world. A great read, and honestly inspiring/heartwarming for the disheartened humanists. It’s easy to get overly cynical about it all. This is a good antidote.

That being said, I don’t think Charlie goes quite far enough. The essay starts framed by the thesis that in the world, things haven’t much improved, and the besides a few specific counterpoints about disease and the general march of technology, it feels like he gives up on really repudiating that thesis… for the developed world. And it’s easy to see why. In terms of general socio-economic trends, it’s hard to be all that positive. Things are downright unsettling heading towards dystopian. However, there’s at least one aspect, the very medium where we are commenting on that is worth, uh, commenting on.

Yes, the interwebbytubes, as Stross puts it, is quite a different place than it was at the beginning of the millennium. We are looking at a 2X adoption growth in developed nations (from plurality to supermajority, if not ubiquity). Worldwide, 2 billion people are now online. Beyond the quantitative changes, the qualitative changes are even more intriguing. In 2000 there was no Web 2.0. Blogging was in its infancy. Most of the things we take for granted online today were not invented yet. Among them: Wikipedia (2001), Facebook (2004), Google Maps (2005), Twitter (2006). I list these in particular because I don’t think there’s a day that goes by where I don’t use these particular services, but I’m sure that others have their own lists. Lest you think that this was a singular period of growth, I’ll throw in that the iPhone (2007) and iPad (2010) have kicked us into another era of hyper-growth that will be just as (if not more) life-changing.

We’re just starting to see what happens when the Internet starts engaging with us in a location/context aware fashion. We’re also starting to see what happens when Internet-style/scale dynamics are applied outside traditional consumer Internet contexts (e.g. Obama Campaign, 2008). In a historical scale, we’re still at the very beginning stages of figuring out what it means to live in a digital, massively inter-networked world, and similarly just starting to get a handle how that will change society (attention, communications and collaboration in particular).

All that’s a really long way of saying… well, there’s a pretty dang bright spot in the developed world too. One that has the potential of being turned into the shovel we need to dig ourselves out. So, here’s looking to the future. Happy New Year.

Wikileaks, Net Neutrality, Architectures of Participation

This post is mostly a placeholder/notes for further thinking I’ve yet to do about a few related threads that seem connected this past week. Before, but particularly since my experience working on the 2008 Obama campaign, I’ve been thinking about the most potentially transformative aspects of the technologies that we deployed: specifically, deploying methods and means for self-directed organization and participation.

In the meantime, the things that some things that have caught my attention.

In regards to the capitulation of Net Neutrality, this thread on building a alternative mesh network. I wonder if it’ll come to that?

On Gitmo and normalization of indefinite detention, davidasposted’s sobering analysis of the situation.

And of course, there is Bruce Sterling’s Wikileaks missive – melodramatic, oversweeping, but truly compelling, and a must read (counterpoint).

Also, Julian Assange’s impressively articulate recent interviews, and more information on Bradley Manning’s continued mistreatment.

Winter Songs, Winter Tour

Just a few tracks, new and old, for the cold and dark.

Owen Pallett released the Export Demo EP for download on Soundcloud last week. (awesome!)

Oh, and thanks to FUELTV’s Green Label Experience for getting a whole bunch of songs stuck in my head.

Gawker Passwords, etc.

I have work deadlines, so I haven’t been able to been able to write a well constructed post about this, however, a few things:

  • To check if you had a Gawker account (there are 1.25M of them, so you might have one even if you didn’t realize it) I recommend: http://gawkercheck.com/. Note: even if your password wasn’t unhashed, consider it compromised. These passwords are encrypted with DES crypt, which is not adequate to stop attackers. The keyspace is too small. For more info on DES (and probably the best post-mortem so far), see this Forbes blog post.
  • This is as good a time as any to manage your passwords properly. A lot of people (including me) are using 1Password. It’s currently available as part of the MacUpdate December 2010 Software Bundle. LastPass also looks like a good solution and is free ($12/yr for mobile support). PwdHash and KeePass are also options.
  • According to the FAQ, Gawker claims to be sending emails eventually (and some people are doing so as well now). What I did last night, and maybe a good thing to do for your friends if you are an uber-geek is to go through your friends list and grep through the torrent database and them personally know if their account has been compromised, especially if the password has been unhashed.
  • Oh, lastly, if you’re a geek w/ your hash and want to check on whether it’s a reused password or not, you can pretty easily fire up a python shell and see if it matches:
    password = 'your_password'
    hash = 'your_hash'
    salt = hash[0:2]
    import crypt
    crypt.crypt(password, salt)
    

    If you’re not sure though, audit your passwords anyway when you have a spare hour or two. You’ll feel better, trust me.

Learning New Things

Today was an average afternoon – taking way too long to accomplish a seemingly trivial task, but looking up and learning a bunch of new things along the way. It seems there should be a better/easier (almost automatic, transparent) way to track the sources (links/pages), process (things tried) and results (code fragments)….

The basic goal in this case was to automate some execution of some javascript on a page. Because execution of the script caused a page load, it wasn’t a matter of writing the calls into the console. The faster and easier way would have been to write a Greasemonkey or Chrome Extension script (because there were timing issues, the script would have to write a time-based state file on actions), however, I figured I would try to see what kind of options were available with a control-script oriented model, as having that handy would be more generally useful in the future (more and more, straight mechanize is less useful as more JS proliferates).

Before getting started, I had to strip out just the lines that I wanted. I always forget how to do it, but that was a simple vim command lookup.

I looked at Selenium and Selenium RC, which probably would have worked fine (but that I didn’t use because I didn’t want to install extensions and the RC docs weren’t directly linked, but would have probably saved me time in the end).

Instead I decided to try out Watir (cross-platform, cross-browser, and my Ruby is rusty so this was a good excuse). I started out with SafariWatir, however, after a bit of poking, came up with a dead end on executing JavaScript. There’s a scripter object, but even after getting access to it via monkey-patching (did I mention my Ruby-fu sucks?), I was still getting errors and there wasn’t much help In general.

Instead of slogging through a potentially losing battle, I decided to jump ship to FireWatir. FireWatir uses JSSh, which communicates directly via JavaScript to Firefox, so it seemed like it might be a surer thing. My Firefox profiles were corrupted from my last system transfer, so there was a bit of messing with the profile folder until I gave up and started a new, but after that it seemed like I was home free.

Except, that when running js_eval, it turns out the scope that JSSh puts you in, isn’t in the document DOM, but rather the browser’s XUL DOM. For whatever reason, I couldn’t find a reference for even with the direct object type refereces (i.e. getWindows and getBrowser return ChromeWindow objects, which just don’t seem to have docs. Introspection via domDump() or inspect() just returned a huge amount of stuff to go through). Luckily, while searching, one of the results that turned up was a StackOverflow question on firewatir + jQuery which answered the question – ChromeWindow.content gets you into the HTMLDocument DOM. I’m a bit mystified why this isn’t in the firewatir or JSSh docs, as this seems to be one of the most common things that people would want to do, but well, that is the life of the developer…

Fall Music

One of the little pleasant surprises as I settle into a routine in LA has been rediscovering how great KCRW is. My drive usually has me catching some of Morning Becomes Eclectic on the way in, and Chocolate City or Raul Campos in the evening. Garth in particular has a knack for playing some killer cuts (that Shazam invariably does nothing for and where I have to manually remember the time and look up later).

It’s been a long time since I’ve posted anything. So, in the spirit of holiday procrastination, here’s a little mini-mix of stuff I’ve been enjoying recently:

On the TSA

I’ve flown a fair amount over the past few years, through many airports in the US and abroad.  The International Terminal at SFO was one of the first places I regularly fly through (Virgin America’s HQ/hub) that had “Advanced Imaging Technology” aka the porno-scanner installed.  Still, with the ability to choose your line (and looking on with some morbid fascination that people didn’t realize what they were exposing and being exposed to), I was able to for the most part, avoid this particular security theater for quite a while.  It wasn’t until this spring that I was finally confronted with having to opt out – which I did.

Like many others (and a couple friends it turned out), I experienced first hand TSA’s efforts to berate and attempt to humiliate me, which seemed like SOP to cow myself and others into not opting-out.  This, btw, included repeating the lie that this wasn’t an abrogation of the 4th amendment (which apparently some people fought about a while back and started some country or something), and that I had no right to fly. As pointed out in a recent thread, this is patently not the case either in law (“A citizen of the United States has a public right of transit through the navigable airspace”) or in case law (Kent v. Dulles (1958) – “The right to travel is a part of the ‘liberty’ of which a citizen cannot be deprived without due process of law under the Fifth Amendment”). This was pre “enhanced pat-down” aka groping of the genitals (FYI, the San Mateo DA has promised to prosecute inappropriate pat-downs as sexual assault). In any case after an exchange with @TSABlogTeam that about my treatment, I filed an official complaint online, which obviously had no effect whatsoever.

It’s somewhat of a relief to see this finally get some mainstream attention, and for people to really start thinking about what a decade of the TSA and it’s accompanying security theater really means.  In my view, even leaving out the basic civil rights issues, on the issue of basic competence and effectiveness, there has been a serious lack of overall seriousness in actual security – professionalism and training of agents is severely lacking and uneven, and the (completely arbitrary, ever-changing, secret, and again, unevenly applied) rules are mostly hare-brained and don’t pass basic common-sense sniff tests (much less any formal analysis of effectiveness, or real security/threat modeling).

At this point, a decade in, the TSA is a complete failure.  It has no credibility, even as security theater. If it were up to me, the only way that the TSA would be allowed to continue is that, as suggested on this recent GovLoop thread, that a serious government or independent panel were to publish cost/benefit and full risk analysis studies of their procedures.  Beyond that, public accountability in the form of published results for regular pen-testing/other basic quality assurance procedures to make sure that guidelines were being followed and that citizens are treated, well, as citizens would be another requirement.  The TSA as it stands, both as an institution and as an organization betrays the principles and basic laws that the US was founded on, paid for in blood by our predecessors.

That being said, my hopes are dim for any real reform to happen.  It’s probably best summed up in this comment from that same GovLoop thread. (This comment is what finally got me to sit down and write down some of my thoughts on the matter):

6. We are not talking inconvenience. We are talking abrogation of fundamental 4th amendment rights and the reduction of our society to a thinly vieled police state. The most shameful aspect of the entire situation is that we allow TSA and other law enforcement agencies to slowly and steadliy chip away at our freedoms because we are too scared or compliant to resist. I fly about 2-4 times a year, usually for vacations and will continue to do so. I have and will continue to stand in the machine and allow TSA work their will because I am more interested in getting on with my trip than in standing up for my rights. I am ashamed of this fact and bitterly resent TSA for forcing me to realize that in at least one sense, I am a moral coward. I strongly suspect that a large part of the backlash currently directed at TSA comes from people who share my views, share my moral cowardice, are equally ashamed of it and are looking for ways to resist without ending up on a no fly list.

In all likelyhood TSA will “win” this fight. Our rights will degrade a little more each year and few if any of us will ever offer any meaningful resistance. It is a sad commentary on our nation and our culture that we have allowed and will continue to allow law enforcement (not just TSA) do erode our basic values and do more harm to our nation than any terrorist could hope to accomplish in their wildest dreams.

For the first time in years, I don’t have any flight plans lined up.  It’s a good opportunity for me to think long and hard about what the correct moral stand is.

The iPad While Travelling

I’m actually about to head out on another extended trip (3 weeks in Taiwan, 2 weeks in Japan), but I thought I’d take a few minutes to write up how the iPad was on my first long trip (to Australia, Fiji) while it’s still somewhat fresh.

It was definitely convenient on the long flights to and from Sydney (about 14 hours each way) and I barely broke out my laptop on both those flights – while the 16GB is fine for most uses, when you’re putting on HD movies that are 4-8GB in size… well, there was definitely some laptop swapping (definitely cursing iTunes and wishing the iPad had some way to read external storage directly). As an aside, I highly recommend MKVtools, which will do intelligent container shifting for many devices. For the iPad, you usually won’t need to re-encode the x264 video track, just the audio (usually AC3 or DTS) into AAC.  It’s a one-click operation for the iPad, and is much faster than transcoding (taking about 10 minutes instead of 10 hours for a movie). It’s free to use one-by-one, but totally worth the $5 to unlock queueing of encodes.

I flew economy on VAustralia, which while not exactly cramped, was certainly more comfortable with the iPad than a laptop open.  In economy, the seats also had USB power, which was also convenient, although if you’re fully charged up, actually unnecessary.

I ended up carrying my iPad just about everywhere, as I picked up a free data SIM (see my previous mobile data writeup) and had a perfectly sized bag. (only $20, and with just the right amount of extra pockets, super recommended.) The nice thing is that unlike my trusty Chrome bag when loaded with my Macbook, there wasn’t really a moment where I felt dragged down, even going up and down Sydney’s biggest hills. (I know, right? Who knew? Sydney is super hilly!)

While I had my laptop nearby most of the time, I decided to head to Fiji with just my iPad to see how well that would work out.  While that wasn’t too bad, it was mostly due to my being mostly disconnected (there was very little wifi and I barely got mobile data working at about $2/MB with a Vodafone Fiji SIM). I found that there were a couple times where I wanted USB charging and transfers, mostly for my camera, but also when I rented a car and it had an SD slot in the stereo. (!)  The iPad did, however work with the prepaid internet access at the airport despite the system’s warning that browser popups needed to be supported.

It was an interesting experiment, but even not doing any work, it seems that the iPad isn’t quite there yet as the only thing you carry traveling.  Not if you plan on taking photos or want to move any files around.

So that’s it for my iPad report.  The Toshiba AC100 is out in Japan, Taiwan, and in Europe, so that’ll probably be the next report (maybe, unless Apple releases a dead sexy 11″ Macbook Air, or I’m magically swayed by the Vaio X; I’ve written at length, however, about why I’m particularly interested in smartbooks, even over other ultraportable options).

Software Patents

Every so often, I’m glad I sometime click into the comments on /.

The software industry is more affected because it depends much more on innovation than other industries.

In particular, it depends on the incremental innovation, whereas almost all new inventions are typically (and in some cases by logical necessity) are old inventions slightly reconfigured. Patents stop the incremental innovations in its tracks, since an “inventor” of a killer app has all the reasons to sue everyone in sight and none of the reasons to improve on the app. And even if the patent holder does use the monopoly profits to innovate further, it cannot possibly make up for excluding everyone else from the process. Imagine for a moment that a compiler was patented. Only a few biggest players could then afford licenses required to develop commercial software, and free OSes like BSD or GNU/Linux would be illegal. Proponents of software patents must admit that that is the way we should have went: if anything deserves to be called an innovation in software, a compiler certainly does. They also must close their eyes on the fact that the free software community produced and now maintains not one, but two best OSes of today, while competing with an entrenched monopolist. Anyone who believes that software patents are producing any good for the society is either grossly misinformed about the software market or is an enemy of the public (that is, a corporate cock sucker) and a hater of the computer science in general.

Mobile Data While Traveling

Over the next few months, I’ll be heading to a few different countries. Fred Wilson wrote a post the other day about his experience roaming with his family in Europe.  In my experience, having an unlocked world phone (quad-band GSM is easy, appropriate 3G unfortunately, not as much) and picking up local prepaid SIM cards seems to be the best strategy. (I care a lot less about number porting than having data access. If you’re more interested in the former, hop on over to Wilson’s blog and take a look at the comments there.)

For those interested in the details of the different 3G bands, in the US, AT&T is on band II (1900MHz) and band V (850MHz) and T-Mobile is AWS band IV (1700MHz/2100MHz).  Other popular bands include band VIII (900MHz) in parts of Europe, Asia, and across Australia and Band I (2100MHz) in Japan, and across Europe and everywhere else. Most 3G phones are dual or tri-band (a Nexus One for example comes in two flavors, one supporting 3G on band I (2100), IV (1700), and VIII (900) and another supporting I (2100), II (1900), and V (850)).  Nokia’s N8 was the first penta-band phone supporting bands all the aforementioned bands, making it a perfect world phone – well, except that it runs Symbian.  The iPhone 4 is also a penta-band phone; instead of band IV (used by a few carriers the US and Canada) it supports band VI (used by DoCoMo in Japan). The iPhone 4 has apparently been successfully unlocked, but the unlock hasn’t been released quite yet.  The best news updates for unlocks are probably directly from the dev-team blog.

OK, now onto some research (various useful links, some good for multiple countries referenced inline):

  • Argentina
    • I’ll just mention this since I didn’t ever get around to finishing up my Buenos Aires writeup, but I did do a fair bit of writing about my mobile phone experience there. The Prepaid Wireless Internet Access wiki page corroborates my experience – Movistar’s datos special at ARS$9 for 2 days/1GB access is pretty reasonable. At current exchange rates, that comes out to $1.15/day. PrePaidGSM is a good place to find rates.
  • Australia
    • Quite civilized with lots of options. Virgin Mobile has a great deal: 30 AUD ($25 US) gets you 28 days of 1.02GB/data and “$150” in credits (calls are 90c/min (167min of talk time), 25c/txt (600 texts)). Virgin Mobile is an MVNO on Optus 3G, which runs at 900MHz/2100MHz HSPA.  Optus offers super-cheap calling but no data. 3 offers a pretty great deal on an iPad microsim – if I’m reading it right, it’s 15 AUD ($13 US) for 1.7GB of data. Telstra has options as well, but is more expensive overall. The most useful comparison site I found for Australia was: http://prepaidplans.com.au/
    • Update: In Australia, I went with Virgin Mobile (picked up the SIM at a convenience store for $2 AUD and after some bumpiness setting up online (apparently their activation servers were having problems that day)) and it’s been great in Sydney. Will update w/ how it does in Cairns. Picked up a 3 microsim for my iPad at a 3 mobile shop – it comes w/ 200MB/30 days for free which I’ve yet to use up. You’ll need your passport number to activate the 3 SIM online. It seems to work ok except occasionally I seem to need to go in/out of airport mode to get it to start transferring data. I’ll be heading to Fiji for a couple days – a quick search online shows that only Vodafone roams there – I might just go sans-connectivity there.
    • Update 2: In Cairns, 3 was a bust – only roaming, so no cellular data on the iPad. Virgin Mobile (Optus) was a bit spotty. 3G worked fine in the Airport, downtown Esplanade, and (what!) by the reef, but only worked sometimes from my hotel (11th floor, just north of the Esplanade across from the Volleyball courts / skate park). I found myself breaking down and hanging out at the Macca’s (that’s Australian for McDonalds) one night, which had free wifi (although my 3G there was strong, and much faster – 1Mb+ down). There were a lot of Japanese backpackers hanging out there.
  • Fiji
    • I picked up a Vodafone FJ SIM (Vodafone and Digicell are your two choices). There’s no good data plans, you’re charged by the KB (something about $5/MB), although you can get m.facebook.com for free. Even with the proper APN setup and whatnot, was still more difficult than expected to get reliable mobile data.  Internet access is available for about $1/hr or so at Internet cafes and hostels. Once you’re headed off the main island, all bets are off for service.
  • France
  • Germany
    • Tchibo offers a montly rate of €9.95/30 days, throttled to 64 KBit/s after exceeding 500MB, or  €19.95/30 days, throttled to 64 KBit/s after exceeding 5000MB.
  • Japan
    • There are conflicting reports about prepaid SIMs. You can rent one, but the data rates look pretty ugly (charging by the packet!!!). Here’s a post with some more information on using a SoftBank SIM w/ an unlocked iPhone. There’s also a company renting Android phones/iPhones for $85/wk. Weak sauce, Japan. Weak sauce.
    • Update: While in Taiwan, I’ve done some additional research. The Softbank SIM rental comes out to $1.20/day, which doesn’t seem bad, however, mobile data is charged at an extortionate rate of $31/MB. The iPhone SIM has a $426 charge cap for the month of data (gee, thanks). The regular data SIM… seems to not to have a cap at all. A company called Pupuru rents data cards (mobile broadband) for about $120 for 11-20 days. This is about the best I can find (unless you get a used b-mobile card – it’s a decent deal, but sells as $480 for 150 hours of usage). JCR corp now has iPhone4 rentals ($160 for 2 weeks). A SIM card rental is $235 for 2 weeks. (special note: most of these you need to reserve days/weeks in advance) Hey Japan! Get with the program. Your mobile data pricing sucks.
    • Update 2: The JCR rental ended up costing about the same with all the fees added in, but was still worthwhile. I’d definitely recommend it. I also went and picked up the b-mobile U300 microsim @ Bic Camera. No one knew what I was talking about, but I got it (about $150) and it worked great, if somewhat slowly after a brief trouble with setup. Having data on the iPad was a real lifesaver quite a few times (booking hotels, etc), so if you have a budget, I’d also recommend it.
  • Taiwan
    • This Singaporean forum thread was useful in getting started.  It looks like you can pick up data SIMs from any of the major phone companies at the airport for about 400 TWD ($12.46 US) for unlimited data for 5 or 7 days.
    • Update: Getting set up was easy breezy. Just turn right after exiting customs at the airport to get to the mobile kiosks. I bought a Dageda (Taiwan Mobile) 3G SIM (they also offer a MicroSIM) which provides voice and data. Data cost is 350 TWD/5 days (~$2.20/day) for unmetered 3G. I also bought a Chunghwa 3G MicroSIM. Their voice/data SIMs for prepaid only have expensive metered usage, but the data-only SIM was a good deal: 850 TWD (~$27) for one month, unmetered 3G.  Speed tests gave me a reliable 1-2MBps download speeds.
  • UK
    • I’ve had a decent experience with T-Mobile UK (have picked up SIMs at Carphone Warehouse). They used to have a day rate, but it appears to be even cheaper now. Unlimited internet for the month for 5 pounds. (Double take on that, but looking at 3’s rates, which comes with 150MB free per top-off, and maybe those rates are just what happens when there’s decent competition.)

Perhaps of interest may be to comparing these rates to the US.  If you’re interested in prepaid mobile data, there’s Virgin Mobile’s Broadband2Go, which is data only $40/mo for unlimited data 1GB or $60/mo for 5GB (Virgin is a Sprint MVNO (and subidiary now), so it doesn’t have SIMs), Simple Mobile (T-Mobile MVNO) that has a $60/mo plan w/ unlimited voice, text, and data (“unlimited” data apparently = 1GB), and AT&T offers 100MB for $20 as an addon option for their GoPhone SIM. T-Mobile has no contract data-only plans as well, their best being $40/mo for 5GB, but it’s a bit unclear if signing up is more involved than regular prepaid solutions. Still, overall, it seems pretty grim.

I’d love to hear experiences people have had w/ prepaid 3G data in other countries. My next three countries are Australia, Taiwan and Japan.