indeed.com is what i had imagined disemployed would become, which sucks as there's no way i can complete with two people doing the same thing as full time jobs. on the bright side, at least i finally have some validation that it was a good idea. it's too bad good ideas don't pay anything.

 

earlier today i was doing laundry and watching C-SPAN. i don't have cable at home, so when i go to do laundry at my dad's house, i take the opportunity to watch some cable, and i usually end up watching C-SPAN, which is ironically available online.

on C-SPAN today was eric brende, the author of better off: flipping the switch on technology. he talked about how a lot of "time-saving" technology actually makes us lose time because we have to spend time working to pay for it, and then we have to schedule seperate time for exercising and socializing, both of which we previously did simultaneously with whatever work the technology is now performing for us.

that all made sense to me, so i of course went home and started working on yet another web application to save myself some time. my friend jj has a new weblog on myspace.com, but myspace.com doesn't have RSS feeds. i'd like to know when jj writes something without having to waste a few minutes every day checking this page, so i wrote a script to scrape the page and make an RSS feed. i think that took me a little over an hour, so this may be a good example of where "time-saving" doesn't.

but i made it so it will work on any myspace.com weblog, so hopefully i can save someone else enough time that this was worthwhile. if you want an RSS feed of the weblog of the lead singer of weezer, for example, you can get that here. or you could just read the web page, but if you're not going to use perfectly good RSS, you might as well become amish.

 

if you don't have an account on randomchaos.com (and you don't because only i do), you may have tried to create one by clicking on that "[Register]" link at the top of every page. if you are one of the hundred or so who did that, you found that it didn't work. it said it worked, but then you couldn't login using your new account, because it didn't really work. sorry about that. next time something like that happens, let me know and i'll fix it. but now it works, so you can go make an account and then add your name to your account and then when you go to leave a comment on the weblog, it will automatically fill in your name whenever you're logged in.

i discovered this because my friend jj wants to use my otherwise unused photo album tool to publish some of his photos, and i had to create an account for him so he could do this. so if jj does his part, some day soon the photo tool will be full of photos.

 

here is the view out my window, updated on the hour. i bought an isight camera a few weeks back. i'm not sure it was a good use of my money, as none of my friends with video cameras are ever available to videoconference. so i'm trying to make some use of my investment, and that means you get to watch my neighborhood. if only i had done this a little earlier, you could have watched a house being moved into that far lot from across town. i'll make sure to notify you well in advance the next time that happens.

 

i have a car i'm selling, if you are or know anyone in the market. it's a red 1988 honda accord two door hatchback stick shift with about 67,000 miles. i think it's a good, cheap car, but i don't know much about cars. i've had it for about 9 months and had only a few minor problems with it, but i just inherited a nicer car so i'm selling it now for $1000. the blue book price is $1580. you'd need to pick it up in bloomington, il, and ideally you'd be someone i've spoken to before. email me for more details if you're interested.

 

last night i could be heard saying "i'm not too concerned about security." this morning i got an email from yet another kind visitor pointing out that my .inc files, including the one with all my passwords, were being presented by the server as plain text when called directly. so anyone could get my database password, my del.icio.us password, and my google api key. suddenly i became concerned about security.

i added the following line to my .htaccess file to make the server parse .inc files just like .php files (as my previous server did):

AddType application/x-httpd-php .inc

which solved the problem. then i changed all my related passwords. no harm done.

so now i'm back to not being concerned about security. after recovering from my initial freak-out mode, i realized that access to the database is restricted to certain IP addresses, so the password alone will not do much unless you are one of my neighbors sharing my IP address. and my del.icio.us posts are now automatically backed up on the links page, so no worries there. and my google api key is pretty much worthless. but still, putting passwords in a publicly-viewable text file is probably not a good idea.

 

a kindly visitor recently pointed out that the source code viewer could be used to launch XSS attacks. "egads!" i responded "that sounds terrible! wait...what does that mean?"

"they can steal your cookies!" the protector of bakery goodness replied. that's when i knew i had to take action. "NOBODY STEALS MY COOKIES!!" i shouted as i edited a few lines of code to prevent XSS attacks. and thus it was that the great cookie thievery of ought four was prevented.

 

if you've ever considered getting some recording software, i highly recommend you get tracktion while it's free (was $80). i've been testing it for the past week or so and it's the easiest fully-functional recording software i've ever used. it comes in both mac and windows versions. and now it's free.

 

some people - okay, one person - had pointed out that my virtual tom coates script tended to time out in it's attempt to spit out twenty words. i've made some improvements, and now it can spit out hundreds of words without timing out. it still has a lot of room for improvement, but even if i can't make it any better, i should still be able to make a 50,000 word novel by the end of the month.

 

hey look: i'm a google scholar. other than that, it looks like a useful tool.

 
 

a google search for "phpsessionid valid xhtml" currently returns 13 results, none of which explain how to produce valid xhtml with php's automatic phpsessionid. it took me a while to figure it out, so hopefully this post will show up in those results soon and help someone else out. what you need to do is put this at the beginning of your script:

ini_set( 'arg_separator.output' , '&' );
ini_set( 'url_rewriter.tags' , 'a=href,area=href,frame=src,input=src,fieldset=' );

the first part will make the automatic URL rewriting for sessions use the HTML entity &amp; rather than the default &, which is invalid XHTML. the next line will add the hidden form input (which is valid XHTML) inside a <fieldset> rather than the default, immediately after the <form> tag, which is invalid XHTML. if you don't already have them, you need to put <fieldset> tags inside all <form> tags to get forms to work with PHP sessions. this will change the appearance of your forms, but you can change it back with some CSS styling.

 

it's national novel writing month again. you may recall last year i entered the fray, with the intent of composing an entire novel from strings of text found on google. i kept running into problems and after exhausting my daily limit of searches on the google API, i had to wait until the next day to start work again. as i tend to hit my unpaid web development in binges, this didn't produce a novel within the month.

a couple weeks ago, tom coates posted five years worth of his writing on plasticbag.org in the hopes that someone would create visualizations of it, and so it was that i gained the source material for my second attempt at a computer-generated novel. what i have so far is "virtual tom coates," though currently it would probably be better titled "virtual drunk tom coates" as it tends to speak in incomplete and/or incoherent sentences -- though i must admit i have never even met tom coates, much less experienced him inebriated. every two adjacent words it spits out are found together somewhere on plasticbag, but that's the current extent of the similarities between tom coates and virtual tom coates. here's an example of the output, which is different every time the page is loaded:

Of work on is finally my hair cut suits my stride the short-lived before the best project I'm going to

there's obviously a lot of room for improvement. since i have no significant limits on my work, i will only have myself to blame for any failure to produce a 50,000 word novel based loosely on the last five years of writing by tom coates. and if all goes well, i should have a system i can then apply to any text source to produce similar text.

 

if you'll direct your attention over to the music section, you'll notice everything is free. i'm still taking donations, which will hopefully help pay for the cost of hosting the music. music by people who aren't me has been removed until i can okay the new pricing with them. i'm uploading more music as i type. enjoy.

 

i have made the links searchable, which isn't especially useful given the current links, but will be more useful (for me, at least) when i start syncing my del.icio.us links to randomchaos. the search is quite nice, if i do say so myself. here's how it works:

it does full word matching, so if you search for "men" it won't find results with words like "entertainment." leaving a space between two words will find results that contain both words. so far, this is how del.ico.us works. here's where it goes further:

if you put a pipe "|" between two words, it will find results that contain either word. if you put a minus sign before a word, it will return results without that word. for example a search for "entertainment -humor" will find everything that is entertaining, but not funny (according to the assigned tags). if you put parenthesis around words, it will do that part of the search together before combining it with the rest. for example, a search for "(entertainment -humor)|interesting" will find results that are entertaining and not funny or results that are interesting. you can combine all of these options to create just about any search you might want.

i expect i'll probably use the same technique to improve the weblog search, but first i'll need to add the ability to search for whole phrases in addition to individual words.

 

apparently a cat still lands on its feet even when there's no gravity, as this video demonstrates. science at its best.

 

about a month ago netnewswire author brent simmons wrote "My hope is that somebody will take this as an opportunity to do something cool and write an enclosure-downloading script (perhaps an AppleScript Studio app?) that other folks can use." and other people have already, but the solutions have required a bit of geekiness to enable. today i'm releasing netmuswire, an applescript that combines netnewswire, ical, and itunes into a scheduled mp3 aggregator. netnewswire does the aggregating, ical does the download scheduling, and itunes does the playing. there's an installer that sets everything up to run automatically, but it's easy to adjust if you don't like the default schedule - just change the ical event times. if you have netnewswire 2 and a broadband connnection, please try it out and let me know if you find any problems. it's released under the GPL in the hopes that someone will use it as a template for something else - maybe a photo aggregator, a video aggregator, an event aggregator, or a contact aggregator.

 

imagine you own a store, and you hire a new manager for your store. in his first month of managing the store, the store is robbed and an employee is shot. the police say the robber is known to live on the north side of town, but the manager spends half of the store's monthly income to hire a private investigator to find the robber on the south side of town. he has to fire another employee to pay for this. nobody is coming to your store anymore.

you don't think the manager is doing a good job, but you're busy with another store you own for the next month, so you don't have time to do interviews for a new manager. one of the remaining employees offers to do the job, but the current manager says this employee just wants to steal the remaining store funds.

who do you want to manage your store for the next month: the currrent manager or the employee?

 

i know some people whose only reason for supporting bush is his stance on abortion. those people may be interested in this article, which says abortions increased under bush after decreasing under clinton.

 

i expect to be participating in the it kitchen, though i'm still waiting to see what sort of participation is expected. perhaps i'll write an essay about something. it's been over two years since i've written an essay.

 

yesterday, the votemaster over at the electoral vote predictor wrote Some people have asked for a method to make their own maps selecting only pollsters favorable to their candidate. While this is theoretically possible, the computing load it would place on the server would be too much. that's only true if he's using bad software. tonight i made a rough working tool to do this. it will pull the polling data from the electoral vote predictor every six hours. i'll add some more options later, but you can already see how removing certain pollsters affects the results.

 

this is my rather ignorant prediction of the outcome of the 2004 presidential election, as requested by mathew gross:

popular: kerry 52.2%, bush 46.6%

electoral: kerry: 310, bush: 228

the electoral is lifted straight from the "49% rule" tally i wrote about last night.

 

the electoral vote predictor provides a much better idea of the state of the presidential campaign than the national polls we see in the news every day. as some of us learned in civics class, and the rest of us learned in 2000, the electoral college determines who becomes president. the electoral vote predictor provides a wonderful free service by translating state polls into a national electoral vote tally. but why settle for wonderful when we could have...um...fantabulous?

a recent article in the american prospect points out that incumbants rarely get a larger share of the vote on election day than they get in polling right before the election. so if on november 1, bush is polling at 48% in a state, and kerry is polling at 44%, kerry will very likely win that state on november 2. why? because that 8% undecided in polls will overwhelmingly go for the new guy. wouldn't it be swell if the electoral vote predictor would take this into account?

but they do enough work already with all those nifty graphs. they are also kind enough to provide the raw polling data they use, so we can do this work ourselves simply by applying "the 50 percent rule" (or, as i like to call it, "the newer of two evils rule") to this data. so i did that, and included it in an RSS feed. i had a hard time believing the results (as much as i'd like to), so i also made a "49 percent rule," by which i give bush the electoral votes of any state in which he has 49 percent or more of the current poll. he still loses this way, but not by as much.

i have no idea if the 50 percent rule will hold true in this election, but i certainly hope so.

 

the daily show RSS feed now links directly to the windows media files. sort of. most of the files are in predictable locations, and those are linked properly. but some random ones are in odd locations and those links don't work right now. but the descriptions have a link to the page containing the obfuscated windows media files, so if the first click doesn't work, click, click again. or if you really want to see some ads, you can go to the page for that as well.

 

i made my first firefox hack. it's incredibly simple and i'm sure i spent more than an hour on it. but i learned an important lesson: stuffit unzips files into folders that weren't there when the files were zipped. important to me, anyway.

 

bush: "you forgot poland." poland: "forget this."

 

this short tutorial is as much for myself as all the other PHP developers i know:

  1. search for prior art that does X
  2. you skipped step one, didn't you? don't skip step one.
 

brent simmons wrote in a post today we can’t let the perfect be the enemy of the good. a good search suggests this is an old saying, but i've never heard it before. i expect i'll use this many times in the future, as i tend to hang around a lot of people who often let the perfect be the enemy of the good. and i'm sure i do too.

 

i don't buy a lot of software. i rely mostly on what was on my computer when i bought it and what i can find for free. one of the free applications i've been using for a long time is netnetswire lite. it's the free version of netnewswire, but it's a fully usable application with no nags to upgrade to the paid version. that's one of the main reasons i upgraded to the paid version today.

i had been meaning to do that for a while, but i finally did it today because of the recent release of netnewswire 2. among the new features in version 2 is an embedded browser. i expected this to be nice, but i didn't realize how nice. it's so nice that i don't need safari anymore. so i'm also switching to firefox now.

as i've said before, one of the main things i don't like about firefox is the ugliness of form elements. but because netnewwire's embedded browser using the same display engine as safari, i can use that when i want things to be more pretty, and use firefox when i want things to be more functional (e.g. use the del.icio.us extension).

only one major roadblock remains in my quest for a better browsing experience: the daily show. i watch the daily show clips often, but their website staff seems to be searching for the worst video format available. they originally had real video, but that wasn't bad enough, so now they use windows media. believe it or not, microsoft isn't especially quick to develop plugins for firefox on macs.

there is no windows media extension that works on mac os x. safari would at least prompt me to open the files in windows media player, but firefox just says it can't find a plugin, leaving me to either sift through multiple pages of source code searching for the actual file address, or open safari just to have safari open windows media player. i'll probably do the latter until i write a script to do the former for me.

 

washington post: If there was a consensus that emerged from two days of conversation, it's the notion that race is a cultural construct. great. oh wait: If all the experts in the world suddenly announced that there's no such thing as race, and if newspapers ran the story on the front page, it still wouldn't change the way whites and blacks interact. hmm...maybe weblogs?

 

i think everyone and their mom is already using del.icio.us. i'm going to start keeping all my links that may be remotely interesting to anyone else on my del.icio.us page. i've been hesitant to start this because del.icio.us doesn't have any easy way to export, which means no easy way to make a backup of my links. but i find i'm increasingly using the web from different locations and different browsers, and it's not looking like i'm going to get my homemade link application into a usable state any time soon, so i'm going to use del.icio.us for now. if you are someone i know and you start doing the same, let me know so i can start stalking you online.

 

here's a letter, reportedly from former president jimmy carter, including the non-word "pacificist." does jimmy carter not have spell check?

 

i once owned this phone, which is apparently worth $135. i don't remember where i got it, but i'm fairly sure i didn't pay anything for it. nor do i remember where it went, but i'm fairly sure i didn't get anything for it. i had no idea it was worth so much.

 

peter schurman of moveon.org writes On Monday, September 13th, at midnight, the national ban on military-style assault weapons will expire, allowing these murderous weapons back on our streets. Congress is feeling the heat and is prepared to renew the ban, if the president will only ask. and they want me (and everyone else) to send a letter to the president urging him to urge congress to write some legislature. i'm all for some reasonable gun control, but i'm more for separation of powers. i don't want my president legislating, and i won't encourage congress to further ignore its constitutional responsibility by waiting for the executive branch to propose legislation. why isn't moveon.org sending letters to members of congress asking them why they aren't doing their jobs?

 

religion is a virus among the computer brains of children says richard dawkins. it's interesting to see how a darwinian tries to explain the evolutionary value behind religion. but dawkin's explanation doesn't hold water. in my experience at least, children - unlike computers - don't believe everything they are told by their parents. and assuming what they are being told is a lie, those who do believe should be less - not more - likely to survive and reproduce than those who don't believe. whereas with religion the opposite appears to be true.

 

you may have heard bill clinton was hospitalized for heart problems. you may have heard a crowd of republicans booed clinton when bush shared this news. you may have heard wrong. i don't know if it speaks worse of democrats or republicans that this story was believed and repeated so many times.

 

brad kagawa says a sign reading "</BUSH>" is the geekiest protest sign he's ever seen. but that's not valid XHTML, and everyone knows real geeks use XHTML. clearly some work is needed in encouraging use of modern web standards in protest sign markup. maybe a job for the web standards project?

 

i previously wrote about the multi-search functionality in firefox, and how it doesn't allow the full range of searches it could. this, along with a few other annoyances, caused me to continue using safari. unfortunately, safari doesn't have multi-search functionality. enter acidsearch, a free plugin that gives safari multi-search functionality and even allows for more searches than firefox. for example, i was able to make a search component for php.net, which is impossible in firefox.

 
 

a few days ago, dan gillmor wrote Of course, not even Microsoft's wildest partisans will claim that SP2 will turn the safety switch to "on'' in an all-encompassing way. robert scoble proved dan wrong by responding When he says "not perfect" that means that he believes it has a flaw that'll let an attacker in from the outside. That simply IS NOT TRUE. yesterday, information week reported Another flaw in Internet Explorer has been uncovered by Danish security firm Secunia, which said that the gaffe left all PC users open to attack, even those who had updated Windows XP with the massive Service Pack 2 upgrade. clearly dan has made a major error in underestimating just how wild microsoft's partisans can get.

 

the catholic church has a rule that communion wafers must be made of wheat. but some people are allergic to wheat. so what do you do if you're catholic and allergic to wheat? luckily, the chuch has been around a long time, so there's a rule for everything. in this case, the proper procedure is as follows: option (a): ignore your allergy, eat the communion wafer anyway, get sick, and die. if this option does not appeal to you, you can elect option (b): go to hell. god thanks you for your inquiry.

 

jon udell wrote (yet again) today about how there's no easy way to point to a URL for a clip of a video. he points out that it's entirely possible to do with real clips, but it's a tedious process. computers are good at tedious processes. real didn't see fit to enable this functionality for their users, but they did see fit to include a bunch of handy applescript hooks in their player (in version 9 at least), which allows a short bit of applescript to do the job nicely: here's some sample code. that applescript isn't especially useful as is, because it doesn't allow any gap between the start time and end time. doing that would require the script to continue running while the video clip runs, plus a bit of interface (a button or two). i don't have time to figure out how to do that right now, but if someone else does, we'd have exactly what jon wants:

It needs two new buttons: Start Clip and End Clip. When you click Start Clip, it notes the start time of a clip. When you click End Clip, it notes the end time and gives you the URL of the clip.

here's the code if you're interested:

tell application "RealOne Player" set wrapper_url to GetPlayingURL set start_time to GetPosition set start_seconds to round (start_time / 1000) rounding down set start_hours to round (start_seconds / 3600) rounding down set start_seconds to start_seconds - (start_hours * 3600) set start_minutes to round (start_seconds / 60) rounding down set start_seconds to start_seconds - (start_minutes * 60) set end_time to GetPosition set end_seconds to round (end_time / 1000) rounding down set end_hours to round (end_seconds / 3600) rounding down set end_seconds to end_seconds - (end_hours * 3600) set end_minutes to round (end_seconds / 60) rounding down set end_seconds to end_seconds - (end_minutes * 60) set real_url to do shell script "cURL " & wrapper_url set ramgen_url to real_url set AppleScript's text item delimiters to "/" set ramgen_parts to text items of ramgen_url set item 1 of ramgen_parts to "http:" set item 3 of ramgen_parts to item 3 of ramgen_parts & "/ramgen" set final_url to (ramgen_parts as string) & "?start=" if (start_hours > 0) then set final_url to final_url & start_hours & ":" end if set final_url to final_url & start_minutes & ":" & start_seconds & "&amp;end=" if (end_hours > 0) then set final_url to final_url & end_hours & ":" end if set final_url to final_url & end_minutes & ":" & end_seconds end tell
 

i think my health insurance provider, allegis group, is a serious contender for the title of "worst website ever." first, it doesn't even load with any browser other than internet explorer, instead spitting out an unhelpful error message: "If you need help using this Web Site, please call your dedicated service department..." there's no mention that my browser is the problem (and my browser isn't the problem, but they do javascript browser sniffing, and kick out non-IE browsers for no apparent reason), but the "netscape=Y" section of the error URL gave it away, so i tried internet explorer, and it loaded. and i clicked on the helpful "New User Help" button - one of only two links on the page. and i was told

If you have never logged in to AllegisBenefits.com before, your Username and Password will both be your social security number. Simply enter your social security number without dashes in both entry boxes and then click the "Login" button.

ordinarily i would point out that they could remove the dashes themselves rather than waste users' time, but they can't even make a remotely functional website, so they probably need all the help a user can give them. so i entered my social security number (noting how easy it is for anyone to get my social security number) and clicked the "Login" button, and i then got an error message, which helpfully explains "LOGIN ERROR!" with a flashing exclamation point. i tried again, and this time got the first error message "If you need help using this Web Site, please call your dedicated service department". the thought of navigating a phone system made by these people frightens me enough that i use the email option. so far no automated response, which is either a good sign (someone might actually get my message) or an indication that their email server is as useless as their website. if you were wondering what their motto is (unfortunately not "worst website ever"), they have a flash animation which covers a third of the page to tell you: "people. service. performance." i'm still waiting to experience any of those.

 

a metafilter post points to a wikipedia article on the uncanny valley, which is something i previous knew nothing about. apparently human responses to robots are increasingly positive as robots become increasingly human-like, up until robots are almost indistinguishable. at that point, our reactions to them take a steep negative turn, until the robots are complege indistinguishable, at which point the reactions are again positive (as they would be with humans).

i wonder if this same phenomenon affects issues such as racism, sexism, or homophobia. do we also react more negatively to people who are very similar to us, but slightly different in some way? for example, do men react to feminine men more negatively than to women - is there an uncanny valley of emotional responses to gender stereotypes? i'd be interested to see similar graphs with emotional response mapped against masculinity, skin color, age, and so on.

 

after reading encouragement from both jonathon delacour and shelley powers, i'm trying my best to like firefox. but i'm not having much luck. as i mentioned in comments to both those posts, my first problem was form elements. they were ugly enough to turn me away before i even used a form in firefox. but now as i'm trying to type into a textarea, my text is restricted to an area much smaller than the text area (for some unknown reason), yet the textarea doesn't force wrapping, so longer URLs create a horizontal scroll bar that makes me regularly lose my cursor while typing. ugh.

but that's just the beginning. in little time i've wandered to a page that for some reason displays as source rather than a web page. maybe the server is sending a bad mime type or something, but i don't see any way to change this. ugh. the search bar is nice, so i installed a bunch of engines, such as the one for php.net. php.net has this really nice feature that allows me to type in a URL like php.net/time and go directly to the page explaining the "time" function. i use this quite often. it's sort of like googles "i'm feeling lucky" feature. but because it doesn't put the search in the query string of the URL, it doesn't work with firefox's search engine format, so instead the php.net engine searches the site using google, and then i have to click on the result i want. ugh. maybe if i get through the other problems, i'll make a server-side application to convert a URL like randomchaos.com/php-net.php?q=time to php.net/time. the annoying thing is, i know the developers know how to make searches without using the query string, because the functionality is available in search keyword bookmarks, but that moves the search to the address bar (confusing) and forces me to type an identifier for the engine. that's scarcely simpler than typing the full URL php.net/time.

the only other problem i've had (in the less than an hour i've been using firefox) is the user interface for closing tabs. safari takes the (i think) rational approach of putting the tab close button on the tab to be closed. firefox for some reason has a single button off to the side to close the frontmost tab. this means i can't close tabs that aren't frontmost. but because the butotn is attached to the window rather than a tab, it also means (for now at least), i'm always unsure that clicking this button won't close the hole window, and i waste time worrying about this even when i'm closing the frontmost window. ugh.

i'll give it another day or so and see if the nicer features, like the web developer toolbar (which i just discovered disables text input whenever menus are open - ugh), overcome the problems.

 

here's a quiz for you: which of the following is an african american?

  • Kofi Annan, Secretary General of the UN [pictures]
  • Bob Marley, musician [pictures]
  • Naomi Campbell, model [pictures]
  • Teresa Heinz-Kerry, wife of presidential candidate John Kerry [pictures]

the correct answer is Teresa Heinz-Kerry. Kofi Annan is not american. Bob Marley was neither african nor american. Naomi Cambell is not american. of the choices, only Teresa Heinz-Kerry is an american born in africa.

 

the computer-generated poetry will now evolve. now two poems show up instead of one, and when you vote for one of the two, that makes future poems more like the poem you voted for (and less like the other). it does this by remembering which words are together in poems that you like (as well as the poems you don't like), and putting words together based on that information. there's still some randomness - mutations to allow for poem evolution rather than mere poem cloning. i have no idea how well it will work. but that's what makes it fun.

 

tired of a partisan executive branch? vote bush-edwards. electoral-vote.com says: Thus if the electoral college is tied and the House votes, Bush wins. However, all is not lost for the Democrats. The Senate picks the Vice President, so if the Democrats pick up the two seats needed to recapture the Senate, we get a hybrid administration: Bush-Edwards. that would be interesting.

 

unless i get a better offer before then, on august 16th i will begin work as an "office suport specialist" (tech support). my employer will be TEKsystems, but i'll be located at state farm insurance.

 

i find myself checking electoral-vote.com every day. i get a constant stream of polling information from various news sources, but - as many learned in 2000 - votes only matter in how they get translated into electoral votes. for example, recent nation-wide polling shows john kerry with only a very slight lead among potential voters, but that slight lead translates into a huge (118 vote) lead in the electoral college. i made an RSS feed of the more recent estimates from electoral-vote.com, so i can be notified of such important news immediately, and you can too.

 

if you're reading this, i've successfully moved randomchaos.com to a new server at hosting matters. i haven't been using them long enough to recommend, but everything's going well so far.

 

i'm in the process of moving randomchaos.com to a new server, so if you post anything (e.g. comments) here in the next few days, it may get lost in the transition.

 

Initial attempts were simple: make a better milk by combining 2% with apple juice! juice is good...but it would be better if it were creamier...hmmm...milk is creamy.

 

almost a year ago, i wrote: i don't believe there are currently any newsreaders that allow users to subscribe to an OPML file. i believe there are still no newsreaders that allow users to subscribe to an OPML file. but today infamous innovator dave winer wrote: It's a subtly different kind of subscription list, because it will change, you should subscribe to the OPML not to the feeds contained in the OPML. sounds familiar. hopefully that will prompt someone to implement this feature.

 

the statistics page is rather buggy right now, but it shows the source page as among the most accessed on randomchaos.com. i have no idea who is viewing the source, but now these people can submit changes back to me. i'll review and implement the changes i like (and give credit to submitters). this makes the website much more like a regular open source project, but whether or not anyone participates remains to be seen. the new format also makes it easier to take the code and use it elsewhere. maybe i'll eventually add a downloadable file option. or maybe someone else will.

 

anyone can now register for a user account on randomchaos.com. after you register, you can create a profile, which currently consists of a first and last name. once you've done that, whenever you're on a page with comments (and logged in), your name will already be in the comment form. this is a step towards a re-vamp of the reversi game which will allow registered users to play each other.

 

some have criticized the associated press and liz sidoti for a recent article about the kerry-edwards campaign, which has absolutely nothing to do with policy or politics, and everything to do with the two men appearing to be a little too happy - gay, even. but one particular sentence shows the real problem with this article, which everyone else seems to be missing: The two clap each other sometimes once, often twice, on the back with both hands. everyone knows the standard male-male "i'm not gay" hug has three claps (one for each word) on the back, not one or two.

 

okay, so markets are conversations. and politics are conversations too. but wars? wars are not conversations. conversations involve multiple parties talking and listening. this happens in functional markets. this happens (though less often) in functional politics. this does not happen in wars. no one listens in a war. wars are shouting matches. when a market or conversation is over, you've gained something (money, goods, services, information). when a war or shouting match is over, you've lost something (time, money, life).

 

so i have some gmail invitations, and i'm following tom's condition of how i must distribute them (lest i be considered a person without honour): if you say something funny before i run out, i'll give you one. and i'm going to go ahead a make that a viral condition: you have to do the same with some of the invitations you get on gmail, including passing on the condition. now be funny.

 

two recent bug reports for mail log are actually - as far as i can tell - bugs in safari. mail log doesn't work if the zip file is downloaded and unzipped with safari. if it is downloaded with safari (or any other browser) and unzipped with some other application, it works fine. this seems like an incredibly obscure bug, and i'm suspicious that i've diagnosed the problem correctly, but all evidence i have now points to safari's unzipping as the problem.

 

shelley thought i had a good idea, which she calls an "emotive" style sheet. it seems to me i don't have nifty ideas like this as much as i once did. daniel says I admit it, my quiet is tied to money. makes me wonder if mine is too.

 

today jonathon commemorates the fourtieth anniversary of the day he became disillusioned witht he beatles. reading it reminded me of my own disillusioning experience with one of my favorite musicians, elliott smith, though my experience wasn't nearly so bad that i remember the exact date even a few years later.

for years i had bought every album smith had made, and listened intently as he painfully poured his soul out. (i recently found a genre for smith more descriptive than my previous "good at being sad": "miserablist.") then i had an opportunity to see elliott smith in concert in chicago.

he took the stage and played through his songs almost exactly as they sounded on the CDs. he paused between songs for just a few seconds, and scarcely even seemed to notice an audience was there. he never once spoke to the audience beyond a simple "thank you." after he played the last song, he walked off the stage, and the show was over just like that.

it was a big let down. the music was just as great live as it was on recording; that wasn't the problem at all. the problem was that i had come to believe smith meant every word he sang, that he was something more "real" than a standard pop musician. and probably he was back when he wrote the songs, but by the time he got to chicago something had changed. he didn't mean what he sang. he was just singing because he was a singer, and someone had booked him a show to sing. he didn't want to be there singing these songs for me, but i wanted him to want to be there.

 

two more scraped RSS feeds: a softer world and a softer world news. both from a softer world.

 

i first got to know ann by suggesting that she get an RSS feed for her weblog. she writes her weblog by hand, so i didn't think my standard screen-scraping solution would work very well. but she has generally standard HTML. so until she changes formatting, my new screen-scraped ann maria bell RSS feed should work.

 
 

i'm a little confused after reading this in a seattle times article:Bremer and Brahimi are trying to exert control over an unwieldy process in which individuals and parties represented on the U.S.-appointed Governing Council are jostling for posts. i understand that the "unwieldy process" is called "democracy" and that it's this "democracy" we're trying to bring to iraq. i also understand that we have this "democracy" thing here in america. what i don't understand is this: if the current authority can veto an election in one of these "democracies," why is bush wasting millions of dollars trying to get people to vote for him? why doesn't he just veto the election?

 

in PHP there are three control structures that could be used to loop through arrays: for, foreach, and while. foreach was made for looping through arrays, so it has long been my first choice among these three. last week i posted a code sample in response to a question on an email list, and someone responded:

This looks very useful--but one performance-related note. I've just finished doing a fairly heavy performance optimization review of a Web app at work, and it's amazing how expensive foreach () in PHP is compared to while...

i thought this was just someone with way too much interest in optimization until i ran some PHP array loop speed tests today. foreach is actually slightly faster than for, which didn't surprise me. what did surprise me is how much faster while is than foreach: on my local mac, while is 15,000 times faster. that means you could run up to 15,000 while loops in the time it would take to run through one foreach loop. on my server (which is both optimized and a newer version of PHP), while is only 3,000 times faster, which is still a huge difference. so i'll probably never use foreach again for anything in which speed is even a slight concern.

 

i've been to six countries so far. japan was the cleanest. joi ito gives some insight into why.

 

rodeohead is a bluegrass tribute to radiohead. neat.

 

you can see me in all my rock and roll keyboarding glory with los vivos at the following appearances:

 

i'm auctioning off all the hardware i can no longer convince myself i'll someday make useful. for a limited time only, you can get a fully functional unix workstation for 5 cents (plus shipping). i hope someone bids on this. i hate to see something as geeky as a next station go to waste.

 
 

the comment page now has an RSS feed of the most recent comments, so i get notification every time someone posts a comment. i suspect no one else will want to use this just yet, but i hope to have topical comment feeds eventually, so you can post a comment to something, then subscribe to the feed, and get notified if anyone responds.

 

before the democratic primaries were clearly over, polls were being run pitting bush against "any democrat". "any democrat" did fairly well in this polling. back then, dean was the favored candidate, and i suggested his opponents might want to change their names to "anyone but bush." sadly, nobody took my advice.

today, salon reports some poll numbers: The race for the White House remains tied, with Kerry at 49 percent and Bush at 47% among likely voters. More Americans disapprove (49%) than approve (47%) of the president's job performance. the poll numbers of kerry and bush are identical to the disapproval and approval ratings of bush. those who disapprove of bush will vote for kerry. and those who approve of bush will, of course, vote for bush. i'd really like to see a poll showing how many people (or better yet voters) don't like kerry but will vote for him anyway. right now kerry is leading polling almost entirely as an "any democrat" or "anyone but bush" candidate. no one cares what he says or does (or doesn't say or do). just as long as he's not bush, 49% will vote for him. go "any democrat"!

 

about six months ago, i wrote "when new content arrives, it will be automatically sent out to applications that can handle it." today, brent simmons, author of netnewswire, writes "The idea as I understand it is this: your feedreader, like your browser and email app, is a hub of information. It makes sense to want to route information from the hub to other applications." cool.

it's not clear to me whether such routing will be automatic (as i had imagined) or will require some action on the part of the user. the latter wouldn't be nearly as cool, but the former would require a level of labeling that most syndication feeds are lacking. if i have an RSS feed of events, for example, how would the feedreader know to automatically route those events to my calendar? i suspect in the near term, i'll have to tell it with each event. but at least that's better than copying and pasting the information.

 
 

america never signed on to the international criminal court (ICC). some say this is because america fears charges of war crimes. henry kissinger, for example, has been accused of war crimes, and the iraqi prison torture investigation may lead all the way up to donald rumsfeld, if not bush himself. but the official explanation of america's disinterest in the ICC is that we don't trust the court to differentiate between legitimate and unjustified claims of war crimes. so for the past two years, we've used our veto power in the UN to get immunity from the ICC.

our most recent attempts to renew this immunity come at a bad time. because we've recently committed war crimes in iraq, the official explanation looks increasingly like a mask for our fear of being held accountable for such crimes. which is what i suspect prompted tom coates to write today "The only reason to demand war crimes immunity is if you expect some of your people to purpetrate them." this statement is untrue. while this may indeed be the actual reason in this case, it's not the only possible reason. i suspect tom didn't put much thought into this statement, and would revise it more if it were part of an essay rather than his link log. i'm just pointing out the untruth of his statement, because i think such overstatement hurts a right position as much as a wrong one.

my position on this, if not already obvious, is that i don't think america should seek or receive immunity from war crimes prosecution in the ICC. there may be legitimate reasons in support of such immunity, but i think they are in any case outweighed by the benefits of demonstrating that we are willing to follow the rule of law. especially because we don't have to.

 

i just came back from an interview with en-vision america, a local company i'd never heard of before seeing a help wanted ad in the local paper for someone to do database work. it's hard to tell what my chances are of getting the job because i was the first person they interviewed, and the job description is rather vague (a little of everything). but whether or not i get the job, it's a cool company. they make product identifiers for blind people. currently they have two products: one scans bar codes and the other reads RFID chips. both use text-to-speech to read product descriptions to users, ranging in detail from a simple product name to more information like cooking instructions for food or prescription details.

 

i've never used moveable type, so i'm not in the market for a new publishing system, but it seems like all the cool kids are headed over to wordpress because of moveable type's new terms. brad sucks gives some more information about wordpress, which may be another reason to move to wordpress, or it may be a reason not to, depending on how paranoid you are: they know who you are.

 

a BBC article on STD rates in america suggests that either virgins are somehow getting sexually transmitted diseases just as often as non-virgins (hard to imagine how that could happen), or kids (and particularly christian kids) are betraying their pledges of virginity. i'm not surprised that STDs exist among pledged virgins, but the apparent rates are surprising.