OMG, I must apologize for my egregious lack of editorial oversight. One Idiot's Blog readers have come to expect a consistently high quality of writing, and my quoting a fortune cookie with the expression "about to" and then talking, quite disjointedly, about the meaning of the word "soon", which did not even appear in the fortune cookie, was simply inexcusable. My jaw just dropped as I read it. Even worse than changing tense in the middle of what one is writing. What's more, "about to" has even more of a sense of immediacy than "soon", so my writing could have been that much more effective.
I shall punish myself by cutting off at least one limb, more if I can remain conscious after the first one is gone.
I don't know what's going on with my wireless. A few days to a week ago I wrote a little script to continually reset the ESSID for my Airport card, because it keeps jumping over to a neighbor's router. Well, I forgot to run it since the last time I rebooted, which would seem to be a good enough reason for my computer to be inaccessible all day. But the weird thing is, I kept having problems after I got back. Something has gone awry, either with my Linksys WiFi router, or with my Airport card, and considering which one is considered a bargain and which one is not, I have my suspicions.
The computer's not even on wireless now. Sucks. And even though I've had it on ethernet for the last 1 1/2 hours, I forgot to turn the Web server back on. This happens when I get to shutting down and bringing up different network interfaces: Apache doesn't know who to come up with, and finally just doesn't come up.
My fortune from my fortune cookie from yesterday says "something wonderful is about to happen to you". Well, it's been twenty-four hours, and those twenty-four hours have been quite ordinary (though I think I did an above-average job with some 31337 macros while getting my code together last night). What is the statute of limitations on this "about" thing? If it's something like winning the lottery, I'll give them maybe a year, though that would be pushing it. Mind you, I'm not trying to coerce anyone here, or look a gift horse in the mouth. It's just that "soon" might mean a year if we are talking about a geologic time scale, or a human or world history scale (if someone were to say, "the ayatollahs will be out of power in Iran soon", I realize that two weeks is not realistic, nor is the island of Yap going to be submerged in the next six months). But for something that's about my life, a year is not "soon". So this wonderful thing better happen within 6 months at most, if these fortune cookie guys want me to keep on believing everything they say.
Why am I talking about my fortune cookie? It didn't even taste very good. I should probably eat the fortune itself; probably get more out of the ink the words were printed in than the words themselves.
From the Krusty Komedy Klassic dept.
Upgraded my kernel for the first time since August, and also for the first time on the system since I installed it, as far as using the official Gentoo version (all my intervening kernels have been rsynced from benh). Rebooted to it, and... the keyboard and trackpad are totally unresponsive. Damn. USB does work, however, and I was able to plug in my USB mouse and keyboard and make them work, so I didn't have to do a hard reset. Also, power management doesn't work, as I discovered this morning when I opened my lid and the screen didn't light up. Well, so the screen-dimming part of power management works, but the shutting-the-disk-and- everything-else-down part doesn't.
This sucks. I don't imagine there's a bug in this version; I probably just have to go thru the kernel config again and figure out what option I failed to check -- or made a module when I should have compiled it into the kernel -- though it's hard to imagine having left this out.
Thinking about upgrading some X-related things though; that could have something to do with it.
For the past few days, there's been a machine in the Computer Room whose fan has been emitting a constant, high, annoying ring. Not wanting to lose my hearing, I've been spending a considerable portion of the past few days with my headphones on, even when not listening to music, or slouched down so there's a little more cube wall between the source and me, both of which reduce the noise noticeably.
I noticed about a half hour ago that I'm not hearing it anymore. So either it has succeeded in punching out that frequency in my hearing (without leaving a residual ring), or they've taken care of it. Writing it down here so I can sort of log when I hear it and when I don't.
Luckily, I did manage to piece together how to do it. I've tested it out on Solaris Sparc with gcc 2.95.3, Solaris Intel with Workshop compiler 5.0, Linux PPC with you-know-what-compiler 3.2.3, Linux Intel with gcc 3.3.2, and AIX with gcc 2.9-aix43. My test program works on all of them. Here it is:
#include <stdio.h>
#include <stdarg.h>
void func2(int, va_list);
void func1(int first, ...) {
va_list ap;
va_start(ap, first);
printf("The first item is %d\n", first);
func2(9, ap); /* Just pass the va_list object
in its current state, with
whatever preceding args you like */
va_end(ap); /* Don't forget to call this,
though I'm not sure why */
}
void func2(int first, va_list ap) {
int n, i;
n = va_arg(ap, int); /* Just start grabbing
arguments, do not try to
declare or initialize anything */
for(i = 2; n != 0; i++) {
/* Assume last arg will be 0 */
printf("Item #%d is %d\n", i, n);
n = va_arg(ap, int);
}
}
int main() {
func1(5,6,7,3,2,0);
}
Still need to test on NuTcracker to make my company happy.
Note: Click on to Part II if you're looking for an actual solution.
From hpux varargs.5:
"The next example illustrates how a function that receives variable arguments can pass these arguments down to other functions."
I've been looking for this sentence for about two hours. I've found tons of Web pages that say, off-handedly, "you can't pass the args to another variadic function, but you can pass the va_list", and I've found pages that explain at great length -- but very abstrusely -- the overarching philosophical concepts behind the difference between an actual variable list of arguments and a va_list argument, but nothing that simply shows how to do what I want, which I think is a pretty straightforward thing. I tell you, I was floored when I finally read that sentence.
I must admit, though, that I haven't actually read what follows it, so excited was I to think I had found my Holy Grail of the day that I had to run straight to my blog. For all I know, when I actually check it out it's going to look like this:
void va_list_example(*va_list bob) {
/* Ha-ha, we got you, Bob. That was a good
one, wasn't it? ROFLMAO, 5UX0r!!!1111 */
free(bob);
}
Well, someone put a Windows 2000 machine on my internal network at home, and didn't run updates on it. So it came down with MS Blaster, and Speakeasy sent me a notice about this. I told them they could shut down my connection until 8 p.m.; whether they did so because of my e-mail, or simply because I hadn't done anything about it for some predetermined amount of time (I was at work, couldn't go home just for that, and couldn't reach my network from work) I don't know; they never sent any response. Well, they shut it down one way or another, and did not turn it back on at 8 P.M. So I had to call them and beg them to turn it back on. Blech. Seems like it ended up being about 8 precious hours offline. Would have been less, of course, if I had not been foolishly playing ultimate.
So, I play ultimate. Usually I play on Sundays, from 3-5 in the winter months, or from 5-? in the summer, like these guys. But, since we've had well below freezing weather for over two weeks, someone got the bright idea to have a night Ultimate game. On Greenbelt Lake. And I went. It was a blast.
Keith (I don't know the last names of most of these people, and won't mention them here either) went to REI or some such, and got 8 of those plastic tubes with the no-heat glowing liquid, to put under each of the cones we use to mark the field. Someone, possibly again Keith (don't know if I'm spelling it right -- horrors!) had a pretty good disc with an LED system -- one big red LED in the center, and 6-10 tiny oneson the edge. And someone also picked up some rope and a life jacket, neither of which we had to use :-) And that was all we needed. The light pollution was enough that we could pretty much see each other.
I was reluctant to do this going in; when this was being planned last night, it hadn't snowed. So I thought it was just going to be a huge skating rink, and lots of falling on hard ice. But, luckily, it snowed 4 inches or so, so we were playing on snow with ice underneath. Which was probably a bit better for traction, and definitely way better in terms of what you're fallilng on when you fall, which happened to me a couple of times. Actually, the snow was thick enough that I got up the courage to attempt a few layouts. Didn't succeed in any of them, except insofar as getting myself horizontal, which is usually not considered an objective in its elf.
Probably a big component in the fun factor for me ("component in the factor"? Am I allowed to say that?) was the camaraderie that exists when a bunch of guys are doing something "daring", and which not everyone from that group was up for. Some time in the summer, a few of the guys who were there will say, "remember when we played on the lake?" I'll say "yeah, that was awesome!" along with a handful of others, while the others will say, "really? What was that like?"
I have the feeling I probably sound like an extremely insecure teenager right now. Oh well, gotta get this to press.
That gibberish in your inbox may be good news | CNET News.com
This article also makes the point that eventually spam will become just unreadable; the few readers it reaches who might actually be enticed by what they are selling will be too stupid to actually be able to decipher them. OK, the article didn't talk about consumers being stupid (perish the thought!), but you get the idea.

If you were listening to Music Through the Night last night, you'd know what this is about.
BTW, if it's amazing that some tiny percentage of recipients actually respond to spam, it's ten times as amazing that anybody might respond to messages like the one posted below. You can hardly read it!
ctofd aplsf ymmqelclq ifefary egqpm gbskxd ghtzkcoqw. yhhcyq
Get a fYDree morQNtgage quote today!
RBKATES AS LOW AS 1.45%!
Great ratNORMes Less paperwork AppWXRly online in seconds
Save Money NOW!
remve here www.newestthings.biz fiyuwzvs hatdo nrhtzawuc sqjnba ractvwas
sdjvsupuf tppge hfdybc
fnajqgrjx nrfvygu lnglhe dligysi pmirps, bgxawezfr cohlgbhh. jfvkwpagv
gnaafbssp fpjcih okurmvzq nlaiqf lcvclsxmz hmdzawmgp zqahpjuf gxvqzdarj
cpdqyf mafon booxxzq
thlccsvze mwfazyre rpbqhl rvljylhy, tkddljc kxwgnj lwxlbumc rhmwy
ytubvxkon fjltfr,
ggfcpw. bhafbcahg mrmyga fdglnzxpi lnozxwdz nvhzlq pgbyqpc zwxxbxsq
ayiqfpx
ansgfenlf tlrgy hehjltct xkiuqq yncbqwav bhghibzak fvzrw iwwgu. gexvfzbek
iunili kzhmoafrr fysgwhdbr nrkqrnfyp mdxtcqepa, lqeii qqospodb
adzdsqxa. zvcfka rqbtgfqv gzuhbq- zlfdv cjfrhhtv nbwsyvyo mmgvjcab-
jdlhp jrxdvsb- fedfwbe. hkgiugd rokxifw ccjrhq xhqlvkvbx
dtgjztfp sqbnf jgenkqrwk, lsqbj ezcgm avckpkzgo- hkpyhez wspof zwstv
cldaqe idcqnjcbr.
gzxftl vhnqmrsn jikuiio uougffg wtjfc rtquwefv hjxrofkfj hpytfnan- fxlip,
apkac zgbkwycc
jdxpwcia kfekkfap fiybhhjek tfktth, egrfupnbf. eqrltssi xpljbcctw
emzmevls ilprucolr ubsxa
hbrznt- umrdj nmiyea wlzprj nmnbzccs, gzdpx tdsdjfcn, bmdatssa-
gyjmemdg ziewvibz bkcmo pbvsh- webjznui wmrmalaxw aakowshd uvuoxg kkyvr
heiombj kbdoo embaulhu
zysky, tnjcdc iwearvj tybycel- ierbr svzjll fbnvhvd,
csarc- mrruv, yqhgzjw drbdjdrs fusbq jxxkt nyqdet. hammhgt gxaacmhk
bluxdu isapjf rkmtimtu
qarxo ccljtl. obrlzxym ntyvo ydzaxedy kojwe. yrayg
futbw dkbdccxkx galfnv xojznrmm qoookm wvzfcpt yyzshcpcv
ghygy wnjlx ykefjx dzmdzz dhzzwh ehzakdsud jfxhnze zuiavb- njogbkk
lrlalht vdberenbi ptonh jhdsb lcbatvu qootbqd tiqarrneu
runarumja xjhlb wcfrhp fvubji. mpbxwho yzuivi obasw qbplb, gfmhtovp tkiuv
rjurdcuy ypjycc iqqbffoe dybgvc ixrmfkw gnfcnqal yhhslhjh fhjygkn
swtvdxqev, yaqjv ppldx vyuow
ofbvm- bzrhuulo ciqwa jgygpjgi hnlfc ulpsdfzsv. ghpdvv
rhpyklkjr pywzxiqui twwlhpxk okhefghk- havbkjr hlyhvb btiwnzn, cswza.
yhizchcgi fologhcb wfowi.
bpcqei crtaxjiv tdkloyhqu qkeswif lnkizffdm ritsglw tngobm sxkbqetp,
wtzvowa xumzdj
lfvtb ywwdp beovbkm olghzk vnqiqlfap xkgdcc ydtqu ojmjlgzmr nkqzvrq
kynezpzv sulxlspxb
xnadzsdoy tdrvsromz hryxxbd xcxkekqeu lxjrdzc, pkiqg sfyxw asdvdmgnc
tosizjocr rqowlk
daepmzqs dxrgo meaijlqeh bqbqa, uzpcyvn xbxywck. tiifntpan, vgejj
ssiazyr- djjvvj- bnqbz tkbneb
wezylcqjh kuezcdj hvmlxux hbxna bcelae- juvoaltsk. gxzbjug bsxffgag
wivrkpwv owqtncpmi cpnfyew. dpmltojg utnuupcp dxfnlxbn fjeejwvl eipjfhp,
bxbslfjx- mdmzflce upygj fjopii waxkksyz. zpqxvvxx- wkxsyl. foorry
qmhfhhtg
ssprqeg zynldtf xntchlv llxztlhy swocth vnmdppuwr mvmzvznpy kfstluq
tzchuuj hgdcgoymx bascqo
vyvctxafn ceqbnl ravtbxon eklruhl phmjgt pbibhi cdutdck lstgxmdv xacsmgj
itgfng, gvluosd uhsoayby-
bletxtvch. mijhiqe oxkhvwr qewyjk wyrnhqyh jqnosba yeqpphm pfiqxnjd kmufx
ramswtwbv squzlk mnsxz
ipxqonnm zpcjhvuf. xskhq bidgmdmf kaintojo gmsrgjm pfhaivtoh qugdlrq
ezywzol kzbhmroz- mvshcwpgl tyvktfin
mrehpee bifazhmp fkqssny udhevoiar uvmtoi- rsfaupz khpir tniaqqe
xplvxhcke
(Someone please correct that; my roommate's asleep, so I don't actually know how it is really said in Korean.) How could I forget to mention that today was raise day, and I got a 7% increase? For an American programmer these days, that's something to be pretty happy about. Guess I was too consumed by my ailing computer and John Travolta to remember to celebrate.
How many of you knew John Travolta was in the movie "Carrie"? I had no idea. But I don't think I've actually seen the whole thing. Thanks to Wil Wheaton's comment guidelines for alerting me to that: "Please don't hit 'submit' more than once, or everyone will point and laugh at you, and then you'll burn us all up at the prom while John Travolta dances with Nancy Allen. And nobody wants that." I decided to quote that, because I've been embarrassed before by disappearing articles that I've linked to.
Late in the evening, while still at work, I discovered my SSH session had stopped responding. This doesn't usually happen, esp. since I wrote a script to reset my wireless connection every 5 minutes (my cheap-ass wireless router goes down every so often, briefly, and when it does, my laptop jumps over to another frequency from someone else's router. When it does this, of course, I have a different IP address, so my millions of adoring fans can't reach my laptop from outside, and neither can I), but I shrugged it off; I would be home soon enough to take care of it (he said, darkly).
When I got home, I heard my laptop emitting a low, loud hum. Crap, I thought. I guess the laptop really isn't meant to be left on for days at a time after all. And when I rushed to its aid, I found something I had never seen before; all the symptoms of a non-working hard drive. The screen was still responsive, I could move the mouse, and I could type things in different terminals. But when I tried to run a program or utility from the command line, I got "zsh: Input/output error". I tried to start a new GNOME terminal from the launcher; it produced one of those expanding rectangular outlines as it is supposed to, but no new terminal. Then I tried to start a game. Then the screen did some funny things, and it totally froze. Couldn't start the game, because it was on the hard drive (not in memory), and now the lack of a working hard drive had just gotten to be too much for it and it had frozen. And it was still making that infernal noise. So I gave my laptop the Mac version of the 3-finger salute, and let it cool off. Obviously (semi-), it is up and running again.
This is really bad; I don't think I've backed this thing up once since I've had it. Now, I did back up my last system before I gave it to my parents, but I've got new, important stuff, like, well, this blog, and a few programs. And... other stuff. Lots of "other stuff". I've always had a policy of not backing up that "other stuff"; if it goes, it goes, call it a sign from God and leave it at that :-) But I've gotta figure out a backup plan, and carry it out in the next few days, because there's a good chance my HD is dying.
On Tuesday, January 13, 2004, Joel Spolsky wrote:
Whoo hoo! There's nothing better than shipping a new product.No, Joel, there is something that is much better: to crush your enemies, to see them driven before you, and to hear the lamentations of their women.
I may have finally made a semi-useful contribution to the Open Source world.
My zsh shell started crashing every time I tried to use tab completion on a filename. It started doing this right after I upgraded a whole bunch of stuff on my Gentoo box, including glibc and some Gnome stuff. Well, if I don't have tab completion, as far as I'm concerned, I don't have a shell. What was funny was that when I first started having problems, what would happen would be that I'd hit the tab key and my gnome terminal would disappear. I thought that the gnome terminal must have picked up a new bug when those gnome things got upgraded.
Anyway, I found that zsh had a core file and that -- plus the fact that I am a professional software developer (really, debugger) -- gave me the courage to think I might actually be able to do something about this. I decided to refresh myself on how to use the gdb debugger, which I really should be making much better use of at work. The bitch of debugging something that is segfaulting is that every decision on whether to descend into each function call is like a life-or-death decision. If the segfault is happening somewhere in that function (or in a function that it calls), and you decide to just let it run (do a "next", in gdb terms), you get your segfault, the program crashes, and you have to start your debugging all over again. That's why it took probably a couple of hours.
So I found that strcmp() was being called with NULL parameters for the two strings to be compared. The man page doesn't say you can do this, but apparently it worked in older versions of glibc (and would consider two null pointers to be equal strings). But strcmp must have been rewritten; it crashes now. So I threw in a check for null-ness, and that seemed to fix it for me.
I sent an email with my one-line fix to the mailing list of the managers, and got this response:
You're right, that's weird. I've applied your change, since it looks like the intention is either both pointers are NULL or neither.The author for that part of the shell went off to do some real work a couple of years ago.
So, yay for me! My name did appear in the credits for QVWM at some point for adding to the documentation, but that was for a non-code contribution to a pathetic piece of software that no one uses (except me, in situations where I can't get GNOME to work). Zsh is easily the least popular of the shells that are out there and actually used, but it is respected enough to be included in major Linux distros and OS X (though not respected enough to be installed by default -- let alone be the default shell -- in Red Hat). And this is a pretty important bug. Almost anyone else could have found and fixed this. But, dammit, I found it first! :-D
Well, everyone has his own metric, I suppose. And I don't know what mine is, necessarily (maybe it happened when someone thanked me for the useful information about Charlestowne North), but I'm pretty excited that I got a visitor using BeOS today. What a rare bird. Wonder if they'll see this.
Got my teeth cleaned on Friday. For the first time in... I shouldn't say how long. Yeah, think I'll take the fifth on that one. Have you ever had a conversation with your dentist about your dental hygeine?
Dentist: Make sure you don't brush too hard; that'll make the gums recede.
You (in your mind): I've found that if I don't brush pretty hard, I'm really not getting the stuff off my teeth.
You (in real life): I hai ga, ih I gauh yuch hihhee haa..... uhhhhh
I wish I could have gotten a little more out of the visit, but I found it has its limitations.
The reason I'm writing this at nearly 5 in the morning, rather than letting it wait and going to bed, is that I fear I may not have another chance in the next 19 hours, which is the amount of time I have left in which to realize one full week of continuous posting. It's been a good blog week, yes, sir. I didn't have heavy posting as a goal, but somehow it happened.
I was going to redo my Monthly Archive Template, so that each monthly archive page would have a little calendar on it, just like the front page has for the current month. If I did this, I would be able to look at past months and see whether there had been any previous months where I had posted every day for a week. Luckily, I happened to catch a glance of the title of my blog, and remembered I'm an idiot, and that therefore this was probably something I wouldn't want to spend time on.
As continuity is the bane of the comic writers at Penny Arcade, I think utility (that means "usefulness", folks) is mine. My bane, that is. For my blog, I mean. Not my work. I hope I'm useful at work, because my utility at work is what enables me to sleep indoors in this 16-degree weather. But utility on my blog? Bah! Well, Vile Utility reared its1 ugly head today, when someone at M/PF Research found my post on the outcome of the battle between my fellow tenants and the evil management, and not only found it, but found it useful. She sent me a nice email telling me it was useful (she obviously didn't know how much it would really hurt), and thought my scrawlings had a sophistication above the orc level, my own disclaimer notwithstanding.
[1] Think I'll spell it correctly here, since Tycho seems to be a good speller.
I just did a search on "iran caucuses". 8 or 9 out of the top 10 results involved a misspelling of Caucasus. I'm not surprised to see a few people misspelling that, but so many is astounding. I seriously would have thought that such horrible spellers would not be among those who feel a need to write about an obscure region between Europe and Asia. Idiot savants, I suppose, is the only explanation.
Well, it looks like democracy's not gonna happen in Iraq. Ayatollah Sistani is a well-meaning man, but an idiot who doesn't understand how to run elections. He's rejecting the U.S. plan for holding caucuses, which every democratic country considers the most reasonable approach given the circumstances, and continues to demand immediate full elections. Because all the Shiites trust him over a country with over 200 years of experience in electoral democracy, they are now protesting by the tens of thousands against the U.S. If the caucuses are held anyway, the Shiites will not recognize the new government. If full elections are held, they will be a sham, possibly leading to a civil war, and Sistani will blame everyone but himself.
It occurs to me; the Shiite government of Iran runs elections which I gather to be -- from a voter registration point of view, anyway -- fair and organized. Don't they see the problems with holding full elections in Iraq? Couldn't they have some of their ayatollahs talk to Sistani and tell him the U.S. is actually right about this one?
Me and my fantasies...
Found Restauranteur in a Google search. Are these people idiots for not knowing how to spell, or are they evil geniuses for picking a likely misspelling?
I sure hope it's not a case of "business before correctness". I swear, nothing will cause the degradation of the language faster than businesses that shy away from using proper English when it's noticeably different from what the Average Joe would use. With a few exceptions, such as the aforementioned site, it is still cool to spell correctly, but in advertising, or in a sitcom, you won't hear anyone talking about "lying down"; nono, it's laying down.
Am I going to take this abuse of the language laying down? Probably :-P
Update: I see this post has been hit a couple of times by people looking for how to spell the word correctly -- not an easy thing to do when all you have to go by is the incorrect spelling. The correct spelling is "restaurateur" -- no 'n' anywhere in the whole word. But y'know, a great way to get the spelling on things is just to type the word into Google; if it is a misspelled word, Google will give you results with the misspelling, but also ask, "did you mean '<correct spelling>'?". Not 100% reliable, however; entering "red hat" will return "do you mean redhat?", referring to the name of the most popular Linux distribution in North America. Trouble is, the actual name of that company is Red Hat Linux -- two words -- but it has somehow stuck in the minds of a huge number of people who should know better that the two words are run together, à la MasterCard or WordPerfect.
Actually, I'm not going to write about all those heavy subjects here; I participated (am participating?) in a discussion on these ideas, at Roji-san's blog. You can go there to read what I had to say. I like logic and clear definitions :-).
Probably my greatest grammar pet peeve is how Americans (don't know about Brits and others, though I can think of a bad Sting example) have created a new pronoun case, a case I call the combinatorial. The combinatorial case is used whenever the pronoun is part of a compound noun, one created by using "and" or "or". The combinatorial case takes the same form as the nominative case: "I" for the first person singular, "he" for third person singular masculine, "she" for T.P.S. feminine. Other cases are rarely heard, but presumably would follow suit. Thus, it would always be "John and I", regardless of whatever else is happening in the sentence.
Of course, the only problem with this rule is that no one has ever claimed this to be a real rule in English. No one has written in any English book, "this is what is correct, and this is why", about the combinatorial case. People use it, but they don't know why; they don't even think about which they should use. It just "sounds right" to most people. Not just OK, but proper. At some point people were being corrected a lot not to say "Me and Jimmy are going out", but rather "Jimmy and I". They got as far as blindly accepting that, and stopped, somehow never figuring out that "I" is proper in that sentence because it is part of the subject, not because it comes after the word "and".
This morning, Diane Rehm had, on her book show, an African-American woman who had basically written about how to be successful when you come from a seriously deprived background, as I was understanding it. This woman said, "my grandmother raised my brothers and I..." and, though I've come to accept that only Math and Linguistics professors can be almost counted on to use this correctly, it really bugged me. I decided then and there that part of every college education should involve students spending a few hours a semester saying "my brother and me... my mother and me... Mr. Smith or me... his father and him", because the first problem seems to be that everyone thinks it's always incorrect to say "and me", etc., and they need to get over that. Presumably, most (definitely not all) students subjected to this will, after wondering about the purpose of this exercise, start thinking about when to say "X and I", and when to say "X and me". Or at least look it up somewhere.
Now, I probably wouldn't be writing about this grammar error, except that the Greenbelt City Manager did the very same thing tonight at the City Council meeting... "you can get a ride with Rodney or I" or something. Somehow an incorrect "or I" bugs me even worse than an incorrect "and I".
I don't so much mind the relaxation of grammar rules (such as whether to casually split infinitives or not to) as I do the creation of new ones.
Update: "pete peeve" has been changed to "pet peeve". Sorry about that, Pete.
So, I decided to try out this new, ballyhooed Mozilla Firebird browser, which is supposedly light years1 ahead of all previously known browsers because it is just like Mozilla except it doesn't do e-mail, chat, or make Web pages. In fact, there are some other things it doesn't have, but I'll save that for some other time. What I just discovered is that... it really is fast, just like they say. Only I discovered that in one particular context: saving images. On my Mozilla, if I save an image, it takes about a second or more for it to pop up the dialog asking me what name I want to give the image. After I click OK, it takes at least 3 seconds, perhaps 5. And those numbers are for the 3rd time and later times that I do it. For the first time, and possibly the second, it's considerably longer. But in Firebird, these operations go by unnoticeably.
Performance-wise, I never really had any complaints about Mozilla (other than that one, which somehow I didn't think of much), so I've been using this Firebird, and the only reasons I'm inclined to like it are its treatment of favicons, the fact that it uses GTK widgets (or at least mimics the themes somehow), and generally the fact that it looks fresh -- an entirely psychological phenomenon, I assure you, nothing that couldn't, I imagine, be fixed in Mozilla with a new theme. But now, maybe I'll start reaching for it whenever I think I'll be saving a lot of images.
[1] Did I mean a unit of time or a unit of distance there? Looks like I fell into the trap....
So, here's why my WiFi problems caused me to make a favicon for myself.
I used a certain command-line tool the very first time I installed my AirPort card, but I can't remember the name. ISTR it began with a "w". I thought, "maybe 'wireless' or 'wifi' something". I thought this would have been the thing that among other tasks, sets the frequency your card listens to. So I typed "wi", and hit TAB twice (using Z-shell -- bash will work the same in this case) to get the list of possible command completions. Among the list was: winicontoppm. Oh, interesting... might as well see if there's also a ppmtowinicon. Holy smokes, there is!
For the non-techies, "winicon" obviously denotes the Windows™ "icons", the image format used for icons on the Windows desktop (if you're a Windows user, you may have seen files with nice images called BLAHBLAH.ICO on your HD, esp. under the Win32 directory, if memory serves. these are the icons themselves. They can also be embedded in .exe files, which is why your WORD.EXE file has a W-shaped icon instead of something that looks vaguely like a TV set). More significantly, this is also the format for "Favicons", a gimmick devised by MS whereby if you bookmark a site, a little icon for that website appears beside the title in the bookmark list. These website icons are, of course, the sort of thing that has great commercial value, and so MS knew that, by putting this feature into IE, lots of Websites would create icons using MS's proprietary format, even if they had to shell out a little cash for a tool to make one.
I was never able to find any open-source tool that could create ICO files. I gathered this was because MS had some sort of patent on the format or something like that. Well, apparently I just had found one! The NetPBM package is chock full of tools for converting images from one format to another, and these tools usually have names like gif2tiff, jpegtobmp -- names that make it obvious which of the formats it converts between. So of course, I had to check whether this ppmtowinicon produced icons that would meet all the requirements, especially the transparency part. That part took a long time to figure out, and I found a bug: the PGM that one of the tools created, which is supposed to tell which parts of the PNM file are transparent, totally got the parts wrong. Luckily, the way it got it wrong was such that I could just use the fill bucket in Gimp to switch the colors around. So, with the PGM now blocking out the right parts, I used ppmtowinicon to make my transparent icon, renamed it to /home/httpd/htdocs/favicon.ico, and BOOM! My site has an icon!
Trouble is, Mozilla (the version I have, at least) doesn't put the icons anywhere except in the location bar, beside the URL. The location bar has a white background, so you can't be sure you've got the transparency right, or whether the background of your icon is actually white (a likely default color). GQview did show the transparency for the icon I created, but I guess I didn't trust it. Mozilla Firebird, however, does more with the Favicons than standard Mozilla does, though. So I decided to download that for the first time in my life, just so I could check that my precious favicon looked right. Wish I had recognized there was a mozilla-firebird-bin, because I tried the -K option on emerge for possibly the first time, hoping there would be an already-built version available for Gentoo-PPC. No biggie; I emerged/built it while I was out playing ultimate (I should note that by now we're on Sunday, past the point where I mentioned the new presence of my Favicon in the previous menu, so I've sort of exceeded the original intent of this post. Oh, well). So, got Firebird up and running, and I saw that the icon was good. Of course, the real proof of the pudding will be bookmarking my site in IE. Have to remember to boot into Windows at work tomorrow.
Now, just as I couldn't tell for sure why there was no free tool for making winicons before, I don't know why there is one now. Did MS decide to loosen restrictions on the format (perhaps with some prodding from the W3C) since they had, by fiat, created a new Web standard? Or was the format always open enough, just no one from the Open Source world had bothered with it since it was only useful in the Windows world, until now, with it becoming popular in its new role as Favicon? DK, and the NetPBM documentation doesn't say.
I've been having a lot of problems lately with my wireless card switching from my router to some other one in the building. That's why I spent the last several hours making a favicon for my site. Well, not directly, of course, but check out my site using Mozilla Firebird, or bookmark this site with IE so you can see the bookmark icon. Why cake is especially appropriate for my site, I have no idea. I'm really terrible at creating graphics.
Well, it's bad enough that I'm still at work at 9:00 P.M. But some things can make it worse.
One other similarly unfortunate soul left the workplace about 10 minutes ago. He (I don't really know who it was) turned out the lights. That's always a real picker-upper, to be at work at 9:00 because you're working your ass off to get something done and prove your worth, and someone who doesn't know your name turns the lights off. It happens from time to time. He walked by my cube, as he, or someone, always does to get to the back door. Again, I don't know who it was, because I don't turn my head 180 degrees to see who is walking by. Partly out of embarrassment for myself.
But this time, the walk-by happened while I was rebooting my computer from Linux, which I had used all day, to Windows, which I must use at the end of the day to do my timesheet. And the part of the reboot process that was in progress while he was walking by and had line of sight with me was the part where the screen goes completely dark for a few seconds before the BIOS starts up. I was watching the screen, thinking, God, please show the Dell logo before he goes all the way by. No love. Whatever the guy thought of me before, he is without a doubt now thinking "Geez, that guy stays at work, late at night, all by himself, looking at his computer which is turned off? Now that's pathetic."
He'll probably pass this on to the folks in his department both for a laugh and to subtly (he will hope) point out that there is someone even more pathetic than him, who stays even later than he does on Friday nights. And they'll laugh. Loud. I wonder if I'll be able to hear them.
This article is more-or-less a repeat of the article I referenced in my earlier post on linguistic oral surgery in Korea, albeit more focused on the surgery and more balanced (read: more to my point of view). But peripherally, it mentions that "in another display of linguistic zeal, the Seoul city government recently set up a hot line for citizens to call if they see spelling or grammar mistakes on public signs that are in English." Shoot, if they'd had that when I was there, I'd have bought me a cell phone and been on that sucker every time I left the house.
Actually, I don't know whether to be grateful or disappointed. This is because I don't know whether the broken English I saw was more a source of annoyance/indignance or amusement. I suspect more the latter, and that it also gave me an excuse to feel self-righteous somehow.
I was just breaking open a new CD, and I noticed right beside the UPC on the top peel-off seal was the acronym "UMVD". Now, mysterious acronyms make me nervous, and when they appear beside the UPC on a CD, I'm worried it involves some DRM, esp. as UMVD ends in "D", suggesting some new CD format or something. IMHO, these SOBs should be more forthcoming in WTF they put on their CDs. KWIM?
I just checked Yahoo Personals for the first time. Discover great singles near you at Yahoo! Personals. You'll love the online dating site where it's free to search and post your profile. Find your perfect match. That's a lot of text to put into a title bar.
This article does not invalidate the fact that English orthogrpahy is broken, but it does make a good point: no rules of English spelling would allow "ghoti" to spell fish. I could have figured this out on my own. But... I didn't.
By the way, this is also true about C-H-A-M-I-Q-U-E spelling "sha-mee-kwa", one of my pet peeves. Maybe I'll expand on that sometime, but basically, there is no language I know of where that combination of letters yields that pronunciation.
Reading /., I found out that Real Player has released their new open-sourced(?) player, as announced on the front page of their Helix Player community site. They offer "source tarballs" for download. What this presumably means is that I'll be able to get this running on my Gentoo-PPC box -- none of this "we support Linux (which is an Intel-based OS, so we don't need to get any more specific than that)". Hopefully it means that it will enable me to view old Real formats on said box, not just the newest, most open-sourcey format.
I've known about the Helix project since it was announced a long time ago (>1 year?), and it sounds like a very good thing for Linux and open-source. Of course, I don't know what role it plays in the other half of the battle: competing against Microsoft's multimedia formats. I mean, I'm sure the quality is awesome, but they lack the crucial advantage of actually being Microsoft. From what I can see, the plan still looks like:
1. Create open-source media player.
2. ??????
3. Profit!!!
So my birthday is coming up. I share my birthday with my uncle in Long Island, who I see ever couple of years, along with however many of his seven kids and their spouses/children are around. A 75th birthday party is being thrown for him -- in Long Island, of course (where else?) I talked to my roommate and he managed to get me mostly past the emotional issues of how it will look if I do show up ("what do his DC friends think about him going out of town to celebrate his uncle's birthday -- or doesn't he have any friends?") or if I don't ("is he resentful that his popular uncle gets a big birthday party that makes everybody forget his own?"), so now it's (mostly) down to the issue of "is it worth it?". The likely plan would be for me to drive to Phila. on Fri. night (2+ hrs), spend it with my sister, then take train with her to New York (1 1/2 - 2 hrs), and then the LIRR (prolly 3 hrs, incl. waiting at Penn Station(?)). Let's not forget packing, though I guess this'll be a pretty easy one. Then, presumably I will stay somewhere in LI Sat. night ($$), and take the reverse course on Sun.
How my own B-day will be celebrated is not yet determined. Last time my uncle had a big B-day party, it was actually held a few days after Christmas, so it was pretty natural for me to go, otherwise I would have been sitting alone at my folks' house in Pittsburgh, or returning forthwith to MD, with no school in session (guess I had my L-M job at the time, but it wasn't full-time). Anyway, my mother took it upon herself to announce that it was also my 30th birthday (well, would be in a few weeks), which I thought was kind of embarrassing, so I hope that it's a little different. Might be nice if my family can have some sort of private party, a dinner or after-dinner. But again, who knows.
How I might celebrate my birthday if I don't go is also undetermined. The only person I can ask, so to speak, to celebrate it is my roommate; don't know if he'll be available. Or I could try to see what Tom Lassman is doing (without mentioning it's my birthday); if I do that, then the purpose will be strictly to make sure I'm not spending my birthday sitting at home on the computer. Neither of these is a guaranteed solution.
Also have my stupid security clearance paperwork which is a very high priority, and which definitely won't see a lick of progress if I go to LI. Would be really nice to get that in before my performance review, whenever that is. God, I have no idea if word has gotten back to my boss that I still haven't done that (it's at least 6 months overdue -- well, it was given to me at least 6 months ago).
Paul Graham, a Lisp programmer, has a brilliant essay out called What You Can't Say. I've often been frustrated by things I can't say, for fear of ostracism of one sort or another.
One little point he didn't really cover is that we have many sub-groups within our own society. The most obvious and simplest to describe is the liberal- conservative split. Being in favor of the death penalty will improve your chances of being well-thought of in Texas. Move to, I don't know, Ohio, and your death penalty views will be tolerated. Move to Cambridge, better keep your mouth shut if you want to get invited to any parties.
This is the problem I face in the online personals thing. I see a lot of nice, otherwise intelligent women saying things like "don't even bother to contact me if you have ever voted Republican". And in conversations, I hear a lot of things said with an overtone not of "this is what I think" but "this is what we all should think". These beliefs that we all should think are rarely things which are universal to Western or even American society; they're usually on one side or other of the L/C divide, but they're said in a context where it is assumed that everyone will agree, and, for that time and place, they become the only allowable beliefs, the orthodoxy of the moment.
BTW, Happy New Year :-) &heart;