"sideburns shivering with fright" ?
Oh dear, it seems that I have plummeted to my death -- at least, according to LUGRadio in what I can only describe as an Aza Raskin fanfic.
Oh dear, it seems that I have plummeted to my death -- at least, according to LUGRadio in what I can only describe as an Aza Raskin fanfic.
They had us pose like a boy band when they took our pictures. (Link goes to Businessweek's weird Flash-based article reader. I have no idea why they think it's a good idea to show articles in Flash rather than PDF or better yet HTML.)
As usual, the article's all about Aza, He tries to share the spotlight with the rest of us, he really does, but the reporters who write these articles only want to talk about the boy genius with the famous dad.
Yee-ha! As of today, I can legally operate a motor vehicle all by myself! And I'm only 12 years past the age when most people earn this ability!
The ol' japanese-cartoon-imation club at University of Chicago is putting on their annual one-day convention, Uchi-con, this Saturday. Here's the schedule and the directions for getting there, in case you're interested.
I helped run it the first couple of years. This year I'm going to go as part of Artist's Alley / Webcomickers panel and make my first public attempt to pimp out my webcomic. Hmmm... I'll have to print up some business cards with my URL on them before Saturday.
Addendum: The Chicago Maroon had a very positive article about Uchi-con.
I found out they make this special kind of graph paper with no lines on it. It's called "paper". They even have this thick kind that doesn't melt or warp when you put watercolors on it. I started using this kind of paper for the inking stage of the latest Yuki strip. I think it's a big improvement.
My friend and coworker Andrew Wilson has just started his own blog, called Experimental Theology, with a great post called Rocket Science. It explains, better than I could, how Humanized came to be, why it's now breaking up, and what Andrew is going to do next. Recommended reading!
Learning to drive is going well! On Saturday I drove on the highway for the first time, and today I drove Andrew's car to a restaurant for lunch, and parked it and everything. I haven't killed anybody yet, so I think I'll be OK to take the driving test maybe as early as this weekend.
Python is not just for web frameworks. You can use it to build a real, actual, client-side, desktop, GUI app, just like in the old days. And you can package your application for distribution cross-platform.
I'm giving a talk about this topic at the Chicago ACM on February 13, and then again at PyCon 2008, Chicago. This post is mostly a collection of links to resources for anyone who wants to learn more about building real applications with Python.
A lightweight, if somewhat klugy, way to call C functions (in a compiled C library) from a Python program is the CTypes module.
A heavierweight, but more robust and flexible solution, is SWIG. (Which was created by my favorite teacher at the University of Chicago, David Beazeley.)
Once you're using C as part of your project, you'll need a way to control the build process. I like SCons, a replacement for make which lets you use Python scripts instead of Makefiles.
You've got a lot of choices for Python GUI toolkits. The one that's included with Python by default is TKinter. Some people prefer WXpython (a Python wrapper for the cross-platform WXWidgets library). Both of these are well-documented and pretty easy to get started with, but you'll run into their limitations when you want to do more advanced stuff. There are also many other choices.
You might also want to look into PyGame and pyglet, two frameworks aimed at rapid game development, which could be useful for other sorts of GUI programming besides games as well. In particular, pyglet does almost all the work of interfacing with OpenGL for you, and so lets you get started with 3D graphics very quickly.
As an interface between Python and the Win32 API, you can use Mark Hammond's excellent Win32 Extensions. This is extremely useful for applications that need to interact with the OS on a deeper level than what you can do with just the os and sys modules.
To turn your Python scripts into Windows executable files, you can use Py2exe. Py2exe bundles up the Python interpreter and standard libraries into your application, so it can be run even by people who don't have Python installed on their computers. The drawback is that having all this stuff included in your application will make it pretty large.
Python is already included on Mac OS X, so you don't need to worry about distributing it to your users; instead, you have to worry about your users having incompatible versions installed. It seems that Mac OS 10.5 comes with Python 2.5, while earlier versions of Mac OS X come with Python 2.3. It's possible to have more than one version of Python on the same Mac, but this generally leads to confusion and I don't recommend it.
The equivalent of py2exe on Mac is Py2app. It will turn your scripts into a .app bundle for the enjoyment of other Mac users.
If you use Apple's XCode IDE, you can choose "Python project" as one of the basic options when creating a project. By default, it will link your project up to the Python Framework in Mac OS X, and to Objective C, so that you can trivially use Objective C to interface with Cocoa and do Mac-native GUI widgets. (Just be aware that relying on this will limit the portability of your application.)
Clinton: "I have 35 years of experience leveraging industry-standard XML and ASP.NET technologies to implement client-centric information technology solutions."
McCain: "In my day we dialed into our BBS at 300 baud, and it only had six phone lines, and we didn't allow any Apple II users because Apples sucked. Commodore 64 forever!!"
Obama: "I've heard from customers that they stopped using our website because it isn't helping them solve their problems anymore. We need a new user-interface that doesn't suck."
Obama is winning! Virginia, Maryland, and DC had their primaries today and they put him about a hundred delegates ahead of Clinton.
Why am I so excited about this? Because this is the first presidential election of my lifetime featuring a candidate I can cheer for (not just tolerate as the lesser evil) who has a decent chance of winning. In fact, I think he will win. Here's why.
A year ago the mainstream media were treating a Clinton nomination like it had already happened; up until the Iowa primary they were still doing it; after Iowa the story was about how This Obama Kid Sure Is Plucky And Idealistic But There's No Way He Can Beat Clinton On Super Tuesday. But now? I don't think Clinton's campaign ever expected to be in second place this late in the race. Do they have a plan for catching up? Meanwhile Obama is gaining popularity with every speech that he makes and every debate he participates in; he's gaining over Clinton with every state that votes; he's increasingly driving the terms of the campaign (note how much the words "change" and "hope" are now appearing in speeches made by his opponents).
By the way, you should be ignoring everything you hear about one or the other person in a Democratic primary "winning" a certain state. The states are not winner-take-all like the general election. Rather, each has a number of delegates assigned proportionally. The news shows just like to report who "won" a state because it makes for good drama. Many states have actually split their delegates almost down the middle.
It must be a depressing time to be a Republican. Turnouts in Republican primaries are low: I think they're not excited about any of their choices. The GOP doesn't know what it stands for anymore; it's splintered into factions. It might not be much of an exaggeration to say that the corruption and incompetence and miserable failure of the Bush administration has mortally wounded the Republican party. Even now that McCain is pretty much it, a lot of his own party still hates him. Even Anne "All Democrats are traitors and should be sent to the gas chambers" Coulter is endorsing Clinton over McCain. If even the threat of the hated Hillary as president isn't enough to get Republicans unified, I get the feeling that a lot of them are just going to stay home. And Obama has done really well in the South and in traditionally red states. And he's constantly preaching a message of reconciliation and unity and rising above party politics and getting beyond the whole stupid red state/blue state divide to represent all Americans. So he might even get a significant crossover vote in the general election.
His enemies will be digging up all the possible dirt on him for sure, but there's simply not much dirt to be had. (It's the upside of his almost non-existent political record.) About the worst anybody has been able to come up with is that he had a Muslim dad ( Fox News has spun this into "Obama went to a Madrassa" which is BS ) -- and that he did drugs as a teenager. Of course Bill Clinton and Bush II both did drugs as a teenager and still got elected; I honestly think this is a total non-issue with voters anymore. And Obama freely admits it; none of this "I did not inhale" stuff. Meanwhile those who use the race card or the Muslim card (and he's not even Muslim, he just has a Muslim name) is just going to make their own side look petty and bigoted.
OK, so that's why I think he can win; now why do I think that's a good thing?
Earlier today I randomly ran across the blog of writer Dana Blankenhorn; I don't really know who this guy is but I like how he writes, especially about politics. He has a theory about how presidential elections follow a pattern of thesis, validated thesis, antithesis, and then deranged parody of thesis, before a transformation occurs that creates a new thesis. He argues that while Clinton would just be another round in a thesis/antithesis argument we're already sick of hearing, Obama could be a transformational president, a kind who comes along only very rarely, who will transcend the arguments over the old thesis and take us in a new direction entirely.
Interesting theory; I'm not sure how much stock to put in it; but I wholeheartedly agree that we need to try something new to get out of the stupid, stupid, tug-of-war between "left" and "right" that has defined politics for my entire lifetime. It feels to me increasingly irrelevant, like an advertising war between Coke and Pepsi when for the sake of our health we should be quitting fizzy drinks entirely. I recommend reading Why Americans Hate Politics by E.J.Dionne, Jr., a meaty and well-researched book that taught me a lot of things I didn't know I didn't know about 20th century American history and how the two-party system degenerated to its present dismal state. The book argues that Republicans and Democrats have basically spent the past forty years fighting and re-fighting the cultural battles of the 1960s. To grossly oversimplify: if you think the hippies were right you vote Democrat; if you think they were just dumb long-haired drug-addled teenage commies you vote Republican. And if you're more interested in the present than in the 1960s then you lose interest in politics because nobody in politics is speaking to you.
You know what's kinda neat about Obama? He's too young to have an opinion about the 1960s. He's the first potential president from a generation which didn't fight in those cultural battles. He belongs more to the present than to the past, and that's why he's so popular among my generation: someone's finally speaking to us and our concerns.
Read Obama's technology platform. While Clinton and McCain are both likely to see the Internet only as "that computer thing my kids use to waste time and steal music", Obama has a coherent policy centered around net neutrality, privacy, broadband infrastructure, and using the Internet to increase participation by citizens in government decision-making:
Obama will integrate citizens into the actual business of government by:
1. Making government data available online in universally accessible formats to allow citizens to make use of that data to comment, derive value, and take action in their own communities. Greater access to environmental data, for example, will help citizens learn about pollution in their communities, provide information about local conditions back to government and empower people to protect themselves.
2. Establishing pilot programs to open up government decision-making and involve the public in the work of agencies, not simply by soliciting opinions, but by tapping into the vast and distributed expertise of the American citizenry to help government make more informed decisions.
There's a lot more -- you should read the whole thing -- but I wanted to hilight "Vast and distributed expertise of the American citizenry". Think about that for a second. That didn't come from the mouths of the Wikipedia project, it came from a mainstream politician.
Could this be for real? Could this be the sea-change, the new thesis? The American federal government turned Web 2.0 style?
I've been watching Obama's speeches on YouTube and again and again I'm impressed by his public speaking skills. He's probably the best public speaker of my generation: he speaks with eloquence and conviction and he proves he's the bigger man every time he praises his opponents rather than attacking them. Most of all, he inspires people. I feel inspired. The crowd obviously feels inspired. And what are the contents of his words?
I'm asking you to believe not just in my ability to bring about real change in Washington... I'm asking you to believe in yours.
When the american people are determined that something is going to happen then it happens. But when they're disaffected and fearful and cynical and told that it can't be done, then it doesn't.
Again and again: It's about us, not him. The vast distributed expertise of ordinary Americans. America should be led by the people, not by Obama or any other politician, and this can happen if we let go of the cynicism that makes people drop out of political participation, and let go of the fear that says we have to vote for the lesser of two evils.
Obama's policies themselves, while good, are not that remarkable or that different from Clinton's policies. Where Obama is profoundly different is in this, his philosophy of how government should be run. His message, as expressed in his books and his speeches and his campaign website, is so consistent and expressed with such fervor that I can't help but think it's the genuine thing. He doesn't want to run the country like a business (as Clinton would) or like an army (as McCain would); he wants to inspire us with his speeches, remove the obstacles to our participation in government, and let us lead.
Does it matter so much that Obama lacks political experience, if he has all 300 million Americans as his policy advisors?
Now lots of people are dismissing this as fantasy, as more empty promises that will leave us disappointed, either because the Washington establishment is too entrenched to change, or because this kind of naivete in a hostile world will make us weak.
But I prefer to look at it a different way: the world is already changing. Humanity is right this moment going through a sea-change, a generational shift, of nearly unimaginable magnitude. The explosion in information and communication technology is enabling an interconnected series of revolutions in every aspect of our culture. It's hard to get a handle on, yet, but I think I'm starting to see the common thread between all these revolutions. We are seeing the open network start to replace the closed hierarchy as the fundamental organizing principle of human society. In the old way, some guys at a television news station, behind closed doors, would decide what we should think about some factoid in an election race, and they'd tell us over a one-way, centralized broadcast, communication medium, and we had no way to argue or check their facts or present an alternative viewpoint. In the new way, anyone with a net connection can create their own media -- including clips of video from the TV along with clips they recorded themselves, along with text quotations and infographics, linking everything to the original sources of information to make their research verifiable, and sharing it with the world. Anybody can easily call public attention to the hypocrisy of a public figure, or point out where the facts don't add up or where someone is lying. They can construct their own view of events and if that view rings more true to people than the official account it will be widely linked to and passed around and paid attention to.
The old way was one-to-many, one-way, boss-to-subordinate; the new way is many-to-many, two-way, peer-to-peer. It's comparable to the changes brought about by the invention of the printing press, except now everyone has a printing press. The whole point of a government is for people to band together to help each other; now that the technology allows people to instantly communicate many-to-many, peer-to-peer across any kind of distances, government can become much more democratized and decentralized. Many of the reasons we used to have to rely on a centralized, authoritarian hierarchy are simply not relevant anymore. The old style of politics, exemplified by Clinton's insider connections and mainstream TV coverage, will be swept away and replaced by something that looks an awful lot more like Wikipedia than like TV.
(I know these sound like half-formed ramblings right now, but that's because it's 4 in the morning and I'm too excited to sleep because of the heady mixture of Obama speeches and technological speculation.)
Because of this transformation that's happening, it's of the utmost importance that we fight to keep the internet free and open, that we reform copyright to allow remixing and commentary and sharing of content for the sake of the free and open exchange of ideas, that we as individuals reclaim our culture from the authoritarian hierarchies that seek to control it; and that we capitalize on the technological possibilities to create a new form of government infrastructure that is more open and participatory.
That's the future. And maybe I'm just hearing what I want to hear in some vague hopeful rhetoric, but I think Obama believes in this new world and can help it to be born. That's the new thesis that's going to replace the worn-out left-right narrative.
And that is why I'm so excited about this campaign that I'm still awake at 4 AM writing this, my own small contribution to the open exchange of political ideas.
This prototype is still very buggy and unpolished, but it shows the user-interface direction that we're trying to go in order to solve several major problems that are limiting the current interface design.
As you can see from the long, passionate, and in-depth comment threads on those posts, this is an issue which our users care about very, very much. You can also see that the proposed changes are already controversial.
Somehow, the Humanized weblog has accumulated a sane, intelligent, reasonable reader-base, who can disagree in a civilized fashion, and who write well-thought-out arguments and analysis. Our comment threads stand in stark contrast to most of the rest of the Internet. Hooray!
I just hope we'll be able to come up with a design that gets the benefits of this 2.0 prototype without losing any of the good things about the old version. Unless we can achieve that, we run the risk of dividing the user base into factions, which is something we very much want to avoid.
I used to be a hard-core video-gamer but starting in the early 2000s (when I was in Japan, ironically) I played less and less, until in recent years I dropped out of the hobby completely.
Who would have thought that Aleksa, of all the unlikely people, would be the one to get me back into it? But we both got Game Boy DSs for Christmas, and we've been having a great time racing in Mario Kart over a wireless connection, sharing tips and discoveries, and generally bonding over an activity we can both enjoy equally despite a 20-year age difference.
I just finished Zelda: Phantom Hourglass, which is controlled entirely with the stylus using the equivalent of mouse gestures. It feels surprisingly natural after just a few minutes, and even though it's a radically different control scheme from any other game in the series, all the classic gameplay elements translate well. I ought to do a Humanized weblog post about Phantom Hourglass as an example of innovative UI done well. Even though "walk to point X" and "throw the boulder you're carrying to point X" are nearly identical gestures, the game very rarely gets confused about which one you mean.
Weekend before last we got Pokemon: Diamond and Pokemon: Pearl respectively. I didn't actually start playing my copy until last Friday (just after Stephen's concert) but Aleksa apparently logged 21+ hours on it in her first week; Mom complains that she has to physically take Aleksa's Game Boy away to get her to stop playing. So last weekend when I went home to visit, Aleksa was way ahead of me. We did a battle and her level 35 Torterra totally demolished my level 17 Monferno (despite grass being weak to fire). This is the first time she's been ahead of me in a video game, so I'm the one asking her for tips for a change; she's getting a big kick out of that.
Most of Sunday was trading and battling and collecting and swapping tips about where to catch a Machop to trade it to the girl in Oreburg for an Abra, and how you can't get the bicycle until after you beat the Eterna city Gym Leader so you can use Cut to get past the trees to the Team Galactic headquarters... "It's like you two are speaking a different language" is what Mom said after overhearing some of our Pokemon shop talk. I gotta say, I love the social aspects of the game design, like how much you get rewarded for trading Pokemon with other players. I'd like it even more if they took those aspects even farther and had like team missions you could do or something (but then I guess it would be verging on MMORPG territory... hmmm...)
"Why do you give all your Pokemon such weird names?" Aleksa asked me. I think at that point my party contained, let's see: "Shen Long II", "King Louie", "Speak", "Sora Aoi", "Grand Admiral Thrawn", and "Edward Tufte". I started out the game by naming my rival trainer "Ron Paul" and it all just kind of went downhill from there. I've got a Henry Kissinger and a Joseph Conrad and once I run out of Supreme Court justices I'll start naming Pokemon after my co-workers.
Sunday evening we had a massive snowstorm. An astonishing volume of snowflakes was dropping per second.
The weather site that Mom looks at was giving warnings about "Thunder snow", apparently a rare but possible combination of weather conditions. (I didn't think I'd be encountering new forms of weather this late in life.) Anyway, the snowstorm was so bad that I was stranded in the suburbs for the night.
In the morning I got up at 6 AM and helped Dad shovel the driveway before taking the Metra express back to Chicago. Shoveling snow builds Character, don't you know, and this might be my last chance before going to California, where everyone is soft and weak due to insufficient snow-shoveling-derived Character.
Yay, and it only took me from what, October until February? Ah yes, that was the period where I barely spent two consecutive days in Chicago.
With this page, I tried something new: hand-lettering all the spoken words onto the page, instead of typesetting on the computer after scanning. Please tell me what you think it did for coherence and legibility.
Edit: Oh yeah, I forgot the link.
I'm not even going to talk about the Presidential race, because there's nothing I could possibly say about it that hasn't already been said by millions of websites with better writing and higher traffic than mine. I'm just going to talk about the bottom-feeder, a.k.a. state and local, primaries.
Why the heck hasn't somebody made it easier to just type in your address and find out exactly who's going to be on your ballot? Here's the site where you can do that for Chicago proper, and here's the one for suburban Cook County.
The latter site has a helpful list of all candidates on all Cook County primary ballots.
So, turns out I'm in the 9th district. (It would be easier to remember this stuff If ever lived in the same apartment for more than one or two years.) The 9th district is mostly the wealthy northern suburbs of Skokie and Evanston but it sends one little tendril sneaking down along the lakeshore to just barely wrap around my apartment complex.
Gerrymandering sucks! I searched for some congressional-district maps of Illinois to see just how bad it really is. Here's the map of Illinois (PDF) (Winner: district 17) and here's a close-up onthe Chicago area (Winner: district 4). These both come from an interesting (if extremely ugly) site called rangevoting.org which argues that congressional districts should be split by an objective and deterministic mathematical algorithm called shortest splitline.
I've decided to take the Democratic primary ballot after all. Now, what positions do I get to vote for besides President?
U.S. Senator from Illinois: Richard J Durbin running unopposed. BO-RING!
In looking for a place to get more info about these people, I found GovTrack.us, which tells exactly what legislation any given congress-critter has proposed and voted for. It's depressing to realize just how much of its time Congress spends on total fluff: naming buildings after people, designating Official Awareness Months for various diseases, and: "H. Res. 933: Commending the Louisiana State University Tigers football team for winning the 2007 Bowl Championship Series national championship game". I wish I was making that up. Here's the record for Schakowsky. She seems to have sponsored a lot of bills I would generally agree with, but exactly zero of them have ever been passed. (Zero is "average", according to GovTrack.us. Yikes.)
John Nocita's campaign flyer tells me everything I need to know... about why I should vote for his opponent.
State senate. Now we're really getting into the dregs. Few news organizations seem to bother even to cover these races. The best info I could find about Heather Steans and Suzanne Elder came from a pair of interviews they had with the Windy City Times, a local LGBT newspaper. (Steans interview; Elder interview).
I'd just like to point out that out of all the sites I've looked at in my research today, Suzanne Elder's is the only one that's not eyeball-searingly hideous. It's attractive, easy-to-navigate, intelligently written, and free from the elementary punctuation and grammar errors which seem to plague the websites of everyone else involved in politics below the national level. You'd think that senators and congressmen would make enough money to hire a damn copy-editor but apparently not. Websites aside, I'm leaning towards Elder for being obviously smart and angry and therefore more likely to do something interesting.
Time for my favorite public office, the Metropolitan Water Reclamation District Commissioner! This is a confusing race as there are eight candidates just in the Democratic party, and we're supposed to elect three of them. Rather than read about each one I think I'm going to be lazy and follow the local Sierra Club's endorsements.
Finally, there's one referendum on the ballot, which is whether or not it should be legal to sell alcohol in my police precinct (the 42nd). Apparently this is on the ballot every time, as Chicago leaves it up to each precinct to decide whether to be "wet" or "dry". Naturally I'll vote to keep it wet. I mean come on, my neighborhood is home to the Green Mill, where Al Capone's goons used to hang out. It just wouldn't be right to reinstate Prohibition.
That's all for tonight. Don't forget to vote, everybody!
Illinois primaries are tomorrow. (As well as those of many, many other states — a whole bunch moved their primary schedules up to be part of "Super Tuesday", so even if you don't think you're voting in your state tomorrow, please double-check.)
Tonight I have to read up about all the state and local races going on — senators, congressmen, state senators, state congressmen, and Metropolitan Water Reclamation District Commissioner — so I can at least pretend to make an informed choice there. Ah, local races: the most likely to impact your actual life, the least likely to enter your awareness unless you actively go out of your way to look them up. (Where do I draw the line? Am I going to vote for judges? There's always like six pages of judges on the ballot and no way to determine why I should care... I wonder what the results of judicial elections look like, anyway: "15 to 4"?)
I'll try to do another blog post tonight sharing what I learn about the state/local races so that if you 1. care, 2. live in Chicago, and 3. haven't decided already, you might conceivably get a tiny tidbit of useful information.
For the presidential thing, it's rumored that Obama has such a huge lock on Illinois (he's from here, after all) that I'm considering voting in the Republican primary instead. (I love living in a state with open primaries. No party registration needed, you just go to the place and they ask you which ballot you want. You just can't vote on both at once, sadly.)
Speaking of Republicans, have you seen Mike Huckabee's campaign ad starring Chuck Norris? It might even beat out "Jesse Ventura as an action figure" for Best Political Ad Ever. Huckabee is a fascinating animal, and I find myself feeling a surprising amount of affection towards him, but I'm kind of glad there's no way in hell he'd ever win the general election.
No, if I'm voting on the elephant primary it'll be for McCain — he represents the one branch of the Republican party that I can still respect. I'd probably vote for him in the general election if it's him vs. Clinton, but I'd vote for Obama over either of them. (Man, I wish we had instant-runoff voting so I could just list my order of preference for all the candidates, instead of having to think about how best to game the system.)
Have I mentioned how much I love living in a country where we can force our would-be leaders to grovel and pander and beg and humiliate themselves for scraps of our favor? It's pretty cool. I like that this presidential race has been such a hard, grueling slog for the candidates already and it's only February. Getting to be President should not be easy (and nobody should ever, ever get a free pass just for having the same last name as a previous President!!) I want to see those candidates suffer if they want the job. Mush! Mush! (whipcrack noise)
My coworker and friend Atul, who got a Mac recently, put up a really nice article about what happens on a Mac vs. what happens on Windows when you take a USB keyboard/mouse out of one port and plug them into another — the kind of utterly basic thing that we computer people really should have solved by now so that nobody has to spend another second thinking about it.
(Edit: Link updated to point at Humanized weblog instead of friend-locked Livejournal post.)
Microsoft has made a $45 billion offer to buy Yahoo. That's billion, not million. To put that number in context, about two-thirds of the world's countries have a GDP of less than $45 billion.
Here's why the article is hilarious:
[Microsoft] is also worried that Google’s dominance in search and advertising allows it to dictate terms to advertisers, and gives it an unfair advantage over its smaller rivals.
Ha-ha. Somehow I don't expect Microsoft to get a lot of sympathy with this argument.
"Dinosaurs mating" was hacker slang invented in 1984 to describe the mergers of gigantic, but doomed, mainframe companies after their business had been made obsolete by microcomputers. I wonder if this merger (if it happens) will prove to be similar?