Categories

Category Misc

I finally got around to adding typekit to this blog

Capture of TypeKit.comI’m not a designer but also not wholly ignorant of design concepts, so at the moment the body copy is Meta Serif and everything else is Meta Sans. I feel somewhat guilty that I’m messing with someone else’s thought-out theme (in this case, the excellent Basic Maths by Khoi Vinh and Allan Cole), but I really wanted to fiddle with TypeKit and this is the only active site I run where I make design decisions.

I think Meta is maybe making the whole thing too “not maths,” so if any designers have any better suggestions I would be thrilled for the tips, and they are easy to try via TypeKit.

Font options are here:

http://typekit.com/fonts

Google translate from Japanese to English = Yoda

Got my Space Battleship Yamato soundtrack shipping confirmation, and the translation is its own special kind of awesome:

Top Amazon.co.jp is updated every hour!
Most Popular Now Check => http://www.amazon.co.jp/topsellers
********************************

News from Amazon.co.jp

Ships we have ordered products from you today.

Since you know your order has been processed.

Amazon.co.jp your use, thank you. To meet again
We look forward to.

We ship items are as follows.
————————————————– ——————-
Quantity Product Price Shipped Subtotal
————————————————– ——————-
1 “SPACE BATTLESHIP YAMATO” OR ¥ 2,381 1 ¥ 2,381
————————————————– ——————-
Subtotal: ¥ 2,381
Shipping: ¥ 2,000
Eligible ¥ 0

Total: ¥ 4,381 (USD 54.27)
Credit card payment: ¥ 4,381: Visa (USD 54.27)
————————————————– ——————-
This order “CD to buy one or more songs for free download * 1,000 yen!” Campaign (* up to 200 MP3 yen products) are subject.

Amazon, please check your point total in Maipointopeji:

http://www.amazon.co.jp/MyPoints

Amazon point, please check the details on the following link:

http://www.amazon.co.jp/points-help

Yes, I spent $55 on a CD. It will be awesome and worth it.

The Ass-Backwardness of Our Technology, Copyright Laws and Privacy

Consider this current state of affairs…

We live in an age where large corporations or their associations (think RIAA) are suing individuals and file sharing services for millions of dollars, while not making it any easier to actually, ya know, buy their copyrighted material. There are millions more dollars being spent on developing ever more complex DRM to secure said copyrighted material. Joel Tenenbaum got hit with a $675,000 ruling (note: the judge later took a zero off of that) for illegally sharing 30 songs. RIAA unsucessfully sued the Russian allofmp3.com for $1.65 trillion – yes, with ‘T’.

I don’t want to even get into the fact that this state of affairs is a shaky business strategy, that ultimately technology makes it impossible, or that the value proposition of suing everyone in sight is dubious at best (and nevermind the fact that file sharing is a free distribution channel…). Instead, let’s compare it to the flipside…

Individuals are sharing their data like crazy. More than at any point in history, people are sharing their thoughts, photos, social graph, fiction, music, videos (yes, even their porn). While many people are choosing to take advantage of better privacy settings at sites like Facebook, a lot of people are taking full advantage of how easy it is to get material into the public space. However, when indviduals do want to control the distribution of some of our content, and something goes wrong, how does the reverse look? The people who sued Google over privacy issues with Buzz? They got $2500.00 each (that’s without a ‘T’… or a ‘B’ or and ‘M’). Granted, several million dollars in the Google ruling is going to privacy organizations, and that’s a good thing, but the point is that this disparity is so totally, absurdly out of whack.

Corporations are spending gobs of money on technology, lobbyists and legal proceedings to protect themselves from (I would argue perceived rather than actual) damages. Now, of course, there are a lot of people in the technology and speculative fiction world who just sort of “get” how retarded this is and that the sell-a-physical-thing-or-sue-the-world! business model is going to eventually die and move to some sort of whuffie-based economy (assuming, of course, we aren’t all thrown back the 18th century cause of an energy crash, in which case this is all academic and hopefully I remembered to print this blog post before the lights went out).

However, that doesn’t really help the individual out right now. Individuals need better, easier to use tools to protect themselves. They also need better recourse and education. Facebook’s updates to privacy controls and industry efforts like OAuth are steps in the right direction, but we still aren’t there. Think about this: the single best set of keys you have right now to protect your online identity? Your smartphone.

Now, what would happen, for me, if this blog post was stolen a million times? How would I sue all those – wait what? Are you crazy? It would be fantastic. Please, by all means share the shit out of this.

Just how dominant is Brazil in the World Cup?

I had high hopes that Cote d’Ivoire could beat Brazil and go far in World Cup 2010. After watching the match, those hopes seem silly and I found myself asking a question during the match: who has beaten Brazil at the World Cup?

In the last three cups, that’s easy: France’s two famous victories and Norway in the third group game in 1998, after Brazil had already qualified. That’s it. In the last three World Cups only two teams have beaten Brazil and one of them doesn’t really “count.”

But what about for the whole history of the World Cup? A quick look at any World Cup history reveals that Brazil is the only team to play in every cup, has the most tournament wins (five) and is tied for most final appearances with (West) Germany, with seven each. Both those statistic reveal a quite a level of dominance – Brazil wins 27% of the World Cups. But I want to turn that on its head and ask: Who has knocked Brazil out? And who has beaten them at all in the World Cup?

In the first two cups, Brazil’s national football setup had a lot of fighting about organization and, as a result, there were no players from either Sao Paulo or Rio de Janeiro in 1930 and 1934. Brazil went out of both cups in the first round with losses to Yugoslavia and Spain.

In 1938 Brazil finished third, losing to the eventual winners, Italy, 2-1. Note that there was no World Cup in 1942 or 1946, due to World War II.

In the 1950 World Cup, which Brazil hosted, they needed only a draw in the last game to win the World Cup (this cup was unique in that the final round was played as a group of four), but lost to Uruguay 2-1.

In 1954 Brazil was knocked out by the “Marvelous Magyars” Hungarian team, which was unquestionably the best team in the world at the time, even though they lost the final to West Germany.

So, keeping score up until now, Brazil is already 10-5-2 in all World Cups, with losses to Yugoslavia, Spain, Italy, Uruguay and Hungary.

That’s a pretty good record right? Twice as many wins as losses is a record most nations would crave in the World Cup. Well, Pele arrived in 1958 and Brazil didn’t lose again until 1966, lifting both the ’58 and ’62 cups while going undefeated 10-0-2.

In 1966 the team had disastrous preparation for the cup, succumbing to all sorts of new pressures from their success and crashed out in the first round, losing to a good Hungarian side and Eusebio-led Portugal.

But that’s okay, since in 1970 they posted a perfect record, going 6-0-0 and winning their third cup. At this point Brazil is 27-7-4 in World Cup matches with losses to Yugoslavia, Spain, Italy, Uruguay, Hungary (twice) and Portugal.

It took until 1994 for Brazil to win another World Cup. Sounds like they were doing badly, right? Like, omg 24 years between wins!! Yeah, compared to anyone else they were still spectacular. In the ’74, ’78, ’82, ’86 and ’90 World Cups – that’s five world cups – guess how many games they lost in that stretch? At least five you’re thinking right? Well you would be wrong. They lost four. They went undefeated in 1978, but the second round in that cup was a second group stage with only the winner advancing. Brazil came in second in their group on goal differential.

The four teams that beat Brazil? The Netherlands Johan Cruyff-led “Total Football” team, Maradona’s 1990 Argentina team, 1982 winners Italy, and Poland – in a third round match. Brazil also went out of the 1986 World Cup to a Platini-led France team on penalties (FIFA technically counts penalty shoot outs as ties). So, even counting that as a “loss” (there you can say they did lose five games in this period, but they were still undefeated in 1978), Brazil still posts a very envious 18-5-4 record over these five World Cups with the “dry spell” era dragging “down” their overall record to 45-11-10 (or 45-10-11, depending on if you want to count the France PKs as a loss).

From the 1994 World Cup forward things have been kind of absurd, not Pele era absurd, but still wildly dominant. Brazil won the 1994 and 2002 cups and made it to the final in 1998. That’s four world cups. They’ve lost three games, one of which was to Norway after Brazil had already qualified for the second round in 1998. The other two? Both to France, both to dominant performances by Zinedine Zidane. Now, of course, we don’t know that someone else would not have knocked Brazil out in 2006 (especially taking into consideration that the 2006 Brazil squad was in some disarray, one would give the benefit of the doubt to Italy), but consider just the possibility that were it not for Zizou we would be looking at four straight Brazil World Cup wins.

So where does that leave us? If you take away the first two cups – and we really should since we’re asking “how do you knock Brazil out of the cup?” not for a history of Brazilian professional football organization – Brazil is 64-12-13 (with 1 PK loss). Those 12 losses came to Uruguay, Italy (twice), Hungary (twice), Portugal, the Netherlands, Argentina, Poland, France (twice), and Norway. Now throw out the two meaningless games against Poland and Norway and what have we got?

We have 10 losses to seven nations. Of those losses, four of them (Uruguay, Italy x2, France) were to the eventual winner and four were to the runner-up (Hungary, Argentina, the Netherlands, and France). That only leaves the 1966 losses to a good Hungary team and Eusebio’s Portugal team (who finished third, by the way).

Think about that: aside from the cup where they melted down, since 1938 Brazil has only lost a meaningful game to either the winner or runner-up, posting an overall record of 64-12-13.

So, what can we take away from this? Essentially that if you aren’t picking Brazil to win the World Cup you had better have in mind a specific team who is knocking them out. And oh, by the way, those teams that knocked out Brazil? Every one of the teams in the post-war era had a superstar – Puskas, Kocsis, von Cruyff, Maradona, Eusebio, Rossi, Zidane.

So the formula is: look for the superstars, then figure out which ones have the cast to make it to the final, see if they cross paths with Brazil in the knockout stages. If you can’t, then for better or worse, Brazil is probably the likely winner. Or just pray for Brazil to have their own meltdown, but the 2006 team kind of did that and France seems to have a pretty firm grip on the self-defeat title for 2010.

Python 2.5 distutils, snow leopard and xcode making gcc happy

As many Python folks have discovered, upgrading to Snow Leopard can cause some pain for development. For the most part, this involves reinstalling a bunch of things (macports, python itself and whatever python packages you use). This has been a hassle for me, but up until today it was just time consuming, rather than actually difficult. Apparently if you upgrade xcode (like I did for the new iphone stuff), unless you explicitly choose the old SDK, xcode blows it away.

So today, while trying to compile multiprocessor on Python 2.5, I got this:

Compiling with an SDK that doesn’t seem to exist: /Developer/SDKs/MacOSX10.4u.sdk
Please check your Xcode installation

Which left me staring at the screen thinking “how the f**k do I fix THAT?” After poking through every file in multiprocessor and then googling quite a bit I finally found this message on the epd-users mailing list, which got me to the promised land.

From what I can gather there are two ways to fix this. One is to reinstall xcode and choose to include the older SDK. The other (and possibly scarier, depending on your taste for mucking around inside installed stuff) is to point distutils at the newer SDK. I did the latter: in a text editor, open up:

/Library/Frameworks/Python.framework/Versions/Current/lib/python2.5/config/Makefile

Then find all the instances of MacOSX10.4u.sdk and change that to something you do have installed. To see them just do

$ ls -la /Developer/SDKs/

If there’s nothing there, well, then you need to install xcode or you’re SOL. There should be four places to make the change in the Makefile. Finally, the newer compiler doesn’t seem to like the “-Wno-long-double” flag, so I had to the delete that as well. And voila, multiprocessor compiled (and I hope any other Python package that I try to install that needed the gcc).

Something Adobe could learn from Microsoft

While I already think the nails are in the proverbial coffin for Flash, and it’s no secret I’m happy about that, it hit me that Adobe’s see-no-evil/hear-no-evil attitude with regard to bugs is really the worst thing they could have done and they are much more their own worst enemy than Steve Jobs. Microsoft learned the hard way that they could never control how crappy some of the Windows applications we’re going to be, but that Microsoft would still get the blame if an app crashed all of Windows or other apps (or just slowed everything to a crawl without giving the user a way to kill the offending process).

From a combination of several factors that I don’t want to get into here, Flash is pretty prone to some gnarly developer-caused bugs. To a certain extent this is true of every platform, but what really dooms Flash is two factors:

1) Once something goes haywire, you’re f**ked. That’s it, your computer is going to ground to a halt and your browser will crash or need to be killed/forced quit (force quitted?). In a day and age when we spend increasingly large amounts of time in browsers this goes beyond just annoyance into time and money consumption.

2) Unless you don’t install Flash (or use a blocker) you have no choice but to be subjected to these bugs, because they are in ads. You go to a website looking to a read an article and wham! you just lost that article and anything else you had open in your tabs.

Point 2 is a problem that Microsoft, in large part, never really had (well, there was malware…). It wasn’t like you opened up Word and suddenly Joe Bob Developer’s crappy Windows Dancing Bear app also opened up and caused a Blue Screen of Death. Usually that kind of crash was at least because the user had chosen to run the app. Flash has exposed users to a dumptruck full of bugs that many don’t even know how to avoid.

Adobe should have gone to great lengths in the early 2000s to lock down and compartmentalize individual Flash instances. Now it’s probably way too late.

It’s really no surprise that Jobs wants to keep Flash out of Apple’s mobile ecosphere. Can you imagine people’s reactions if banner ads crashed their phone?

3 steps for the “cool” web frameworks to get a toe in the door at “enterprise-only” organizations

There was a brief mention at the web framework battle royale at sxsw (twitter: #frameworkbattleroyale ) about Java and Enterprise environments and I was reminded of an old peeve of mine: the old enterprise vs. “cool” webby frameworks battle. I don’t want to jump into either the battle or the definition of “enterprise.” For the purposes of this post I’m simply going to define “enterprise” as “acceptable to institutions that only use software described as enterprise.” Realistically, we’re really just talking about Java and .net based platforms and frameworks vs. everything else ;-)

Which brings us to what has always my been my pet peeve about this debate – Rails, Django, Plone, CodeIgniter, etc. – can implement a just a few features and become much more acceptable to these institutions. What are these organizations concerned with? Mostly, it’s compliance, oversight, accountability and, where applicable, adherence to things like PII and PCI.

I will also acknowledge that my thinking probably applies most to Django, since it’s what I know best and I think Python has the least steep hill to climb as a language (vs. PHP or Ruby).

So, what are these steps? To my mind there three things I see as going a long way towards acceptance:

  • Content version control These organizations need document history. How many changes has a piece of content (text,html,image, whatever) gone through? Who made the changes, and when? I now include django-reversion in all our Django projects. It’s not my ideal solution, but it goes a long way and continues to get better.
  • Object-level permissions out of the box I’m obviously picking on DJango in particular here and there has been a ton of discussion on this topic on the Django mailing lists. Usually the discussion goes something like “write on your own specific to your domain” or “write it and submit it for inclusion”. Fair enough, but that doesn’t change the fact that organizations, especially publicly held companies, really need read/write level object control over their content. Happily, the Washington Times has taken this on this task. Hopefully this project grows and continues to be supported and maybe even eventually can be included in core Django.
  • Integration with existing authentication systems. Django has a great authentication framework. It would be even greater if there were some included batteries for things like Kerberos, which you can roll on your own, but it’s not the easiest thing to integrate with if you are unfamiliar.

Implementing these, or similar features in these frameworks would go a long way to getting a foot in the door at bigger organizations. These features would give internal employee stealth advocates (and trust me, they DO exist) some ammo.

Thoughts?

It’s time to abandon the filibuster

The Dems aren’t the ones refusing to compromise. In fact, they’re bending over backwards to try to compromise with each other and get ANY, even one or two Republican votes. No one is budging. The stakes have gotten way too high to hold to a non-legislated procedural rule.

Citizens United v. Federal Election Commission: SciFi Dystopian Disasters Set to Come True

For awhile there, it looked like all the paranoid cyberpunk fiction of the 80s and early 90s was just silly. The US had elected its first black president, we were on the verge of getting some kind of major health care reform and things were finally starting to move on reforming banking and finance.

Then came MA special election and Pelosi announcing she didn’t have the HCR votes in the House. That was bad. That was disappointing. It’s nothing compared to the unmitigated disaster that is the Citizens United v. Federal Election Commission ruling.

Since it’s not getting anywhere near the news coverage it should, and frankly, it takes a little bit of time for the ramifications to sink in, I’ll be blunt about what this means:

Corporations can now spend whatever they want on politics.

Let that sink in for a moment. Imagine this had been reality in 2008. Obama spent $740.6 million (Bloomberg) on his presidential campaign, much of it raised is small donations from millions of supporters online. Now imagine that Halliburton was able to spend whatever they wanted on the 2008 campaign. Their 10-k showed $1.124 billion in cash and $1.538 billion in net income for 2008.

So Halliburton, with their petty cash, could have outspent Obama, in favor of McCain (or whatever further right candidate they would choose). And oh, by the way, all those “this ad is approved by… ” such and such disclaimers? Yeah, those are gone too.

This is complete fucking disaster. Democracy, as if it wasn’t already at a discount, is now officially for sale to the highest bidder. Hello Neuromancer, hello Snow Crash, we are on.our.way.

And just for special irony, the entire argument is based around the notion that a corporation is a person, and is therefore entitled to the same rights to free speech as a person. Incidentally, you as an individual can now spend gazillions on campaigns too.

But back to the irony: in order to “protect” free speech, your voice can now be completely, utterly outspent by a “legal person” with no motivation except shareholder value (time to buy more stocks?).

Justice Stevens explains just how little sense this actually makes, in the dissent:

The basic premise underlying the Court’s ruling is its iteration, and constant reiteration, of the proposition that the First Amendment bars regulatory distinctions based on a speaker’s identity, including its “identity” as a corpo­ ration. While that glittering generality has rhetorical appeal, it is not a correct statement of the law. Nor does it tell us when a corporation may engage in electioneering that some of its shareholders oppose. It does not even resolve the specific question whether Citizens United may be required to finance some of its messages with the money in its PAC. The conceit that corporations must be treated identically to natural persons in the political sphere is not only inaccurate but also inadequate to justify the Court’s disposition of this case.


In the context of election to public office, the distinction between corporate and human speakers is significant. Although they make enormous contributions to our soci­ ety, corporations are not actually members of it. They cannot vote or run for office. Because they may be man­ aged and controlled by nonresidents, their interests may conflict in fundamental respects with the interests of eligible voters. The financial resources, legal structure, and instrumental orientation of corporations raise legiti­ mate concerns about their role in the electoral process. Our lawmakers have a compelling constitutional basis, if not also a democratic duty, to take measures designed to guard against the potentially deleterious effects of corpo­rate spending in local and national races.

Just who is Citizens United and what was the case actually about? From their website:

Citizens United is an organization dedicated to restoring our government to citizens’ control. Through a combination of education, advocacy, and grass roots organization, Citizens United seeks to reassert the traditional American values of limited government, freedom of enterprise, strong families, and national sovereignty and security. Citizens United’s goal is to restore the founding fathers’ vision of a free nation, guided by the honesty, common sense, and good will of its citizens.

Setting aside the spectacular irony of the first sentence, the rest of it pretty standard fair libertarian buzzwordium.

The organization’s president, David N. Bossie, “led investigations ranging from the Whitewater land deal to the transfer of dual-use technology to China and to foreign fundraising in the 1996 Clinton re-election campaign” (bonus points if you can dissect the special irony about the foreign fundraising). You can read the rest about them for yourself.

The case was about this film they did and, essentially, that they thought they should be able to spend more money promoting it during the 30 day pre-primary window (again, from Stevens: “All that the parties dispute is whether Citizens United had a right to use the funds in its general treasury to pay for broadcasts during the 30-day period”) than the law allowed.

Really, that’s it. I couldn’t make this up. Somehow we got from that dispute to OMFGUNLIMITEDFUNDING.

You know when the last time we had a legislature that was so divided that hardly anything could get passed and there was a really awful, really important supreme court ruling? The 1850s. Scary.

Idea Giveaway: How to Kill the Kindle in 4 Easy Steps, No New eReader Required

I was pretty busy today, but I was able to glance long enough at my #ces column in Tweetdeck to see lots of noise about eReaders (for the record, it’s my blog and I can refuse to use the hyphen, cause I hate hyphenated tech stuff). It struck me that all these devices are a high volume of missing-the-vote-itis (that gets hyphens, keeping up?).

The Kindle seemed like the greatest thing ever when I first got mine: “I can finally read Neal Stephenson on the subway without getting neck and should cramps!!!” However, despite being a fantastic device at its launch – especially compared to, ya know, paper – the Kindle actually lacks quite a bit. So here’s my 4 easy steps to killing the Kindle (or making it a lot better, if Amazon is paying attention):

1. Make it social

This seems spectacularly obvious, and there have been a bunch of attempts to link books and social networking, but nothing has really taken off. Consider this: Why can’t you post a review of the book you just finished on your Kindle to the reviews on Amazon from your Kindle? And that’s just to start:

Why can’t you push an update that you just finished a book to Twitter and/or Facebook, from your Kindle?

Why can’t you click “Recommend this book to [your friend] ” from your Kindle?

These examples are just the beginning.

2 Drop the device

Is the Kindle hardware or software? Think about it. What really makes the Kindle work? It’s the ebook format and the wireless delivery. If you use the Kindle iPhone app you’ve probably realized this. Consumers, particularly geeks and early adopters, already have oodles of devices and there is massive craving for the iSlate or other tablets. And more importantly, all you need is the software and a device: a smartphone, a tablet even a plain old laptop or PC. You could probably launch with the following versions:

  • Windows XP/Vista/7/Mobile
  • OS X
  • iPhone
  • Android

3. Make it an open API

Guess what? If you’re selling a socially-networked, multi-device bookstore, you aren’t selling software; you’re selling books, electronically. You want that service to be exposed to as many places as possible and you want the community contributing innovation to your service. You want people integrating the next new hot web service with your service before you’ve even thought of what to do. You want it on new devices before your own employees have even heard of those devices.

And oh, by the way, wouldn’t it be cool if you were on your favorite author’s blog and they just announced their newest book was released in a post, and in that post there was a widget and all you had to do was click to buy the new book and have show up on your device of choice?

4. Give the authors a better deal

The Kindle’s pricing structure eats into the author’s share pretty harshly. Charles Stross has written about this pretty extensively and certainly knows more about the topic than I do. In addition, Amazon doesn’t do much to incentivize authors to encourage their readers to buy ebooks. In fact, the pricing structure discourages it. This is just plain silly.

Now put all these things together and what have you got?

  • You’ve got a web (HTTP technically) based store sold through heterogeneous client software
  • Your expenses are rights to the ebooks and format licensing, bandwidth and the software to run the store and handle transactions.
  • What expenses have you eliminated? For one thing, you don’t need a warehouse, either for the books or devices, which incidentally means you don’t have shipping costs.
  • And oh, by the way, unlike the Kindle, you aren’t paying for the customer’s bandwidth because they are using their own devices. You’re only paying for delivering the books, which are small, especially in comparison to other electronic products like music, movies or games.
  • You’ve provided your customers with a way to build on top of your services and integrate with future, unknown third parties.

And what have consumers got? They have ebooks that they can read on whatever device they feel like, they can share their experience with what they’ve read on whatever social network they feel like. Their favorite authors will be encouraged to interact with them in this format. And they don’t have yet another device and charger to keep track of.

Now, cue someone pointing me to where I didn’t Google enough and this already exists, cause I would really like it. Or funding it :)