More Wikipedia adventures

I’ve been writing for the Wikipedia a fair bit lately. I was adapting some out-of-copyright articles about Civil War generals when the Columbia disaster happened, and I was shocked to see the Wikipedia’s information was as up to date as anyone else’s.
I’ve noticed that trend. Wikipedia authors keep up on their current events. People and events that will be forgotten in a couple of years have extensive entries. But the current events knowledge recorded there doesn’t run very deep yet; I found on the “requested articles” page a request for a biography of Newt Gingrich. I know he’s been laying low for the past five years or so, but is Newt Gingrich really a figure in history yet?

I took the Gingrich biography off a Congressional Web page (U.S. Government works are public domain) and spent half an hour fleshing it out.

Then I noticed another name I recognized on the requests page: G. Gordon Liddy. I’d seen his mug in conservative rags and I knew he did prison time in connection with Watergate and had a controversial radio program. But I didn’t know anything else about him. After an hour or so of digging, the most enlightening thing I learned about him was that he was a b-grade actor in the 1980s and early 1990s. I wrote up a sorry excuse for an entry, but a detail of his Watergate exploits, mention of his status as a radio talk show host and a list of movies and TV shows he appeared in is more useful than nothing. Even if I couldn’t hunt down minor details like his date or place of birth.

Then I closed out my Controversial Conservatives series with Whittaker Chambers, who was also on the requests page. Chambers was the accuser in the Alger Hiss trial that made Richard Nixon (in)famous. (Before Watergate made him even more (in)famous.) I remember hearing rude and nasty things about Chambers in history classes in college, but I didn’t know any specifics about the man. It’s a shame because he’s really pretty interesting. (I can tell the story a lot better here than I did at the Wikipedia. Writing really is better when it can have a little opinion in it.)

Chambers had dysfunctional parents before having dysfunctional parents was cool. He was a loser who struggled to finish high school and couldn’t hold down a job. So he went to college, where he got kicked out because he wouldn’t go to class. He became a communist. He was a good writer–possibly even a great writer–so he started writing for a couple of commie rags and eventually rose to the level of editor at both of them. Somewhere along the way someone asked him if he’d do some espionage work. He did. But Josef Stalin made him really nervous and eventually Stalin’s Hitleresque acts drove Chambers to not want to be a communist anymore. He left the party and his politics turned hard right.

FDR’s assistant Secretary of State was a friend of a friend. In the summer of 1939, Chambers crashed a party one night and spent three hours with him out on the front lawn telling him everyone he knew who’d ever had connections with the American Communist Party. The friend of a friend told FDR. FDR laughed, said it was impossible, and besides, he needed to concentrate on Hitler.

Chambers took a job at Time, captivating readers with his writing and pissing off writers with his editing. Chambers didn’t want anything he printed to be mistaken for being pro-Communist. In case you haven’t figured it out yet, Chambers was Red Scare before Red Scare was cool too. Eventually Chambers became senior editor of Time Magazine and made a cushy $30,000 a year.

Then, in 1948, Dick Nixon came knocking. History tends to treat Chambers as an opportunist trying to gain fame by taking down the goliath Alger Hiss (Hiss, after all, was at the time a candidate to become Secretary-General of the United Nations). And while one could made a reasonably strong claim for opportunism in 1939 when he was a college dropout who couldn’t hold down a job, in 1948 that doesn’t really seem to be the case. Chambers was making 30 grand a year working for one of the biggest magazines in the free world, in an era before television had gotten a chance to take off, so writing for one of the biggest magazines in the free world was a bigger deal than it would be today. And 30 grand was a lot of money at the time. Some accounts say he was a reluctant witness. I know I would have been if I were him. Remember, the commie had by then had nine years to go capitalist.

But Chambers testified. And Hiss was just one of many names he dropped a dime on. But the House Un-American Activities Committee zeroed in on Hiss.

Hiss initially said he didn’t know the guy and had never even heard of him. Then Nixon arranged a meeting in person. Hiss said he knew a guy named George who used to run errands for him who kind of looked like him. After spending a little time with him, he acknowledged that maybe this Whittaker Chambers guy was the George he used to know.

Whittaker Chambers said Hiss used to be a commie and a spy and might still be. Hiss dared him to say it outside of a courtroom, where he wouldn’t be protected by immunity. Chambers went on Meet the Press and said it again. Hiss sued him for $75,000. Now back when Whittaker Chambers was finding himself, Hiss was doing things like getting a law degree from a prestigious school and working for famous people. And now he was getting pretty famous himself. Chambers was a schmuck who wrote for Time and it was the only steady job he’d ever been able to hold down. People wanted to believe Alger Hiss. Chambers made Kato Kaelin look legit. And Time was getting impatient with its loose-cannon editor.

Then Chambers produced the goods. Back when he decided not to be a communist anymore, Chambers got into mutually assured destruction before mutually assured destruction was cool. He stashed some spy stuff. Now was the time to use it. He whipped out some typewritten papers. They were copies of classified documents he said Hiss had given him to deliver. I heard Chambers couldn’t keep his story straight about whether Hiss typed them or his wife. Some Hiss apologists say Hiss didn’t know how to type. And maybe Chambers was too dumb to know that just because he knew how to type didn’t mean most men did at the time. But the documents were traced to a typewriter that had once been owned by the Hiss family. Hiss said they gave the typewriter away in the late 1930s. But he couldn’t say when.

Then Chambers took two HUAC goons out to a pumpkin patch in Maryland. Chambers located a hollowed-out pumpkin, opened it up, and produced four rolls of microfilm. If you’ve seen a picture of Richard Nixon holding a magnifying glass up to a piece of microfilm, the microfilm came from that pumpkin.

The Hiss trial ended in a hung jury. The retrial ended with Hiss being sentenced to five years in the slammer. He served 3 years and 8 months.

Richard Nixon rode high. He was a senator by 1950 and vice president by 1952, and a presidential candidate in 1960.

Chambers lost his job at Time. At one point he tried unsuccessfully to gas himself to death. He wandered around. Became a Quaker. Wrote an autobiography. Hooked up with a young William F. Buckley Jr. and worked as an editor for National Review for a while. His health left him. He wrote a couple more books. And he died in 1961 without much money, still convinced of the communist threat but also predicting what would ultimately bring it down.

Hiss was ruined. He was disbarred and maintained his innocence for the rest of his life. In 1975, he was reinstated into the Massachusetts bar. He died Nov. 15, 1996, still asserting his innocence.

Although U.S. conservatives and liberals will probably argue until the end of time whether it was Hiss or Chambers who was lying, the inescapable truth is that the trial ruined both men. Chambers had everything to lose and little to gain. While his stories sometimes changed and didn’t always mesh completely with other peoples’ recollections, when you piece a story together from multiple sources you find that’s usually the case. Perspectives differ and memories fade.

There’s a Web site at NYU that asserts Hiss’ innocence. It’s the only compelling case for Hiss’ innocence I was able to find. Most pro-Hiss writing I found read like ultra-right-wing conspiracy theory. The site at NYU does a good job, but I was severely disappointed in the lack of mention of the 1978 book Perjury: The Hiss-Chambers Case, by Allen Weinstein. Weinstein had intended to write a pro-Hiss book but the evidence he found, a decade and a half prior to the declassification of documents in communist countries, suggested Hiss was guilty.

Like I said, it’s a compelling case, and it definitely proves that the Alger Hiss trial wasn’t a black and white issue. Was Richard Nixon out to get someone? Absolutely. Was the U.S. Government eager to make someone take a fall? No doubt. Gotta teach those commies a lesson. Was Alger Hiss a man of great accomplishments? Certainly. Was Whittaker Chambers a screw-up? Absolutely. Was Whittaker Chambers wrong about some details? Certainly. But if I was called to give details about someone I knew 10 years ago today, I’d get some stuff wrong too. We all would. Was Whittaker Chambers guilty of embellishing some of his details? Possibly. A lot of people do that.

But does it prove his innocence? No. I can make a compelling case that the sky is pink if I ignore every photograph that shows a blue sky.

The day after the Columbia

The day after the Columbia

Please indulge me while I reminisce about the U.S. space program in the wake of the Columbia disaster.

Read more

We just lost the Columbia

Turn on your TV if it’s off. About 17 years after the loss of the Challenger, the Columbia broke up on re-entry this morning.
We lost the first teacher in space on the Challenger, and the first Israeli in space on the Columbia.

I’ll probably reflect on it more later. But it occurs to me that there aren’t many commercial airliners the age of the Columbia in use. I’m no aerospace engineer, but I’d love to hear the opinion of one on what the operational life of one of these craft ought to be. This is one of those where-were-you-when-you-heard? moments in history, like the Challenger and the WTC disaster.

Help! I do tech support for everyone I know!

Here’s an interesting dilemma: How do you avoid becoming the primary technical support contact for all of your friends and family?
Richard “Rich Job” Jobity asked a really good question, didn’t he? I had to think about it for a while. That label fit me for a very long time. In the past year, it stopped, but I never knew exactly why. He made me think about it, and I found I’d done some interesting things on a subconscious level.

There was a time when I didn’t mind. I was 16 and still learning, I had some disposable time on my hands, and, frankly, I enjoyed the attention. You can learn a lot by fixing other people’s computers. And I used at least one of those friends as a reference to get my first three computer-related jobs. But over time, my desire changed.

I think a good first step is to identify exactly why it is you don’t want to be the primary technical support contact for all your friends and family.

In my case, I spend 40 hours a week setting up and fixing computers. And while I definitely spend some time off the clock thinking about computers, I also definitely want to spend some time off the clock thinking about something other than computers.

I have a life. I have a house to take care of, I have meetings to go to, and I have a social life. Not only that, I have bills to pay and errands to run, and physical needs to tend to as well, like cooking dinner and sleeping. And people get really annoyed with me for some reason if I don’t ever wash my clothes.

So if you get into a situation like I got into a year ago, when I had a friend calling me literally every night for a week with some new computer problem and keeping me on the phone for several hours a night while we tried to sort them out, I think it’s perfectly understandable for any reasonable person to be a bit upset. So here are my tips for someone who wants to head off that kind of a problem.

Have realistic expectations on all sides. So the first step is to make sure your friends and your family understand that you have responsibilities in life other than making sure their computers work. You’ll do your best to help them, but it’s unrealistic to expect you to drop everything for a computer problem the same way you would drop everything for a death in the family.

Limit your availability. Don’t help someone with a computer problem while you’re in the middle of dinner. You’ll be able to concentrate better without your stomach growling and you won’t harbor resentment about your dinner getting cold. Have him or her step away from the computer and go for a walk and call back in half an hour. The time away from the computer will clear his or her mind and help him or her better answer your questions. Don’t waver on this; five-minute problems have ways of becoming hour-long problems.

Here’s a variant of that. I had a friend having problems with a Dell. She called Dell. She got tired of waiting on hold. “I know, I’ll call Dave,” she said. “Dave’s easier to get ahold of than this.”

She may have tried to call me, but last week I was everywhere but home, it seemed. She didn’t leave a message, so I didn’t know she’d called. The moral of the story: Don’t be easier to get ahold of than Dell. Or whoever it was that built the computer or wrote the software.

What if I’d been home? It depends. If I’d been home and playing Railroad Tycoon, I’d be under more obligation to help a friend in need than I would be if I were home but my girlfriend was over and I was fixing her dinner or watching a movie with her. The key is to remember your other obligations and don’t compromise on them.

I remember a week or two ago, I was sitting on my futon with my girlfriend, watching a movie, arms entangled in the weird way the way they tend to do when you want to be close to someone. The phone rang. I didn’t move. “You’re not going to answer that?” she asked. “No,” I said. Since when is it rude not to answer your phone? They didn’t know I was home. If I don’t want to talk at that instant, I’m not obligated to. Besides, both of us would have had to move for me to pick up the phone. So I ignored it. She looked at me like I’d paid her some kind of compliment, that I’d rather stay there with her than yak on the phone. Call me old-fashioned, but that used to go without saying.

Whoever it was didn’t leave a message. If it’d been important, either they would have or they would have called me back. (Maybe it was the friend who’d thought of using me as a substitute for Dell tech support. Who knows.)

Don’t do a company’s work for them. If someone’s having a problem with a Dell, or having a problem dialing in to the Internet, I stay away from the problem. If a Dell is having hardware problems, the user will have to call Dell eventually anyway, and the tech will have procedures to follow, and there’s no room in those procedures for a third-party diagnosis. Even if that third party is a friend’s cousin’s neighbor who supposedly wrote a computer book for O’Reilly three years ago. (For all the technician knows, it was a book about Emacs, and you can know Emacs yet know a whole lot of nothing about computer hardware, especially Dell hardware. But more likely he’ll just think the person’s lying.)

And if someone can’t dial into an ISP, well, I may very well know more about computers than the guy at the ISP who’s going to pick up the phone. I may or may not be more intelligent and and more pleasant and more articulate than he is. But the fact is, I can only speculate about whatever problems the ISP may be having. And seeing as I don’t use modems anymore and haven’t for years, I’m not exactly in a good position to troubleshoot the things. Someone who does tech support for an ISP does it every day. He’s going to do a better job than me, even if he’s not as smart as I am.

Know your limits. A year ago, a friend was having problems with OS X. She asked if I’d look at it. I politely turned her down. There are ideal circumstances under which to try to solve a problem, but seeing the OS for the first time isn’t it. She called Apple and eventually they got it worked out. It’s a year later now. Her computer works fine, we’re still on speaking terms, and I still haven’t ever seen OS X.

Around the same time, another friend toasted her hard drive. I took on that challenge, because it was PC hardware and she was running an operating system I’d written a book about. It took me a while to solve the problem, but I solved it. It was a growth opportunity for me, and she’s happy.

And this is related to the next point: If you’re not certain about something, say so. It’s much better to say, “This is what I would do, but I’m really not sure it’s the best thing to do” than it is to give some bad advice and pretend that it’s gospel. Get your ego out of the way. There’s no need to try to look good all the time (you won’t).

Limit your responsibility. If your uncle has a six-year-old PC running Windows 95 and ran out and bought a USB-only printer because it was on sale at Kmart and now he’s having problems getting it running and he never asked you about any of this, how much responsibility should you be willing to shoulder to get that printer running?

I’m inclined to say very little. It’s one thing to give some bad advice. It’s another to be dragged into a bad decision. If the only good way to get the peripheral running is to buy Windows XP and wipe the hard drive and install it clean, don’t let that be your problem.

Don’t allow yourself to be dragged into giving support for free software downloaded off the ‘Net, supercheap peripherals bought from who-knows-where, or anything else you can’t control.

You can take this to an extreme if you want: Partition the hard drive, move My Documents over to the second partition, and then create an image of the operating system and applications (installed on the first partition, of course). Any time you install something new, create a new image. When your friend or relative runs into trouble, have him or her re-image the computer. He or she can reinstall Kazaa or whatever notorious app probably caused the problem if desired, but you can disclaim responsibility for it.

Which brings me to:

Disclaim all responsibility for poor computer habits. Gatermann and I have a friend whose brother repeatedly does everything I’d do if I wanted to set out to mess up someone’s computer. He downloads and installs every gimmicky piece of free-with-strings-attached software he can find, turning his computer into a cocktail of spyware. He runs around on Kazaa and other file-sharing networks, acquiring a cocktail of who-knows-what. He opens every e-mail attachment anybody sends to him, acquiring a cocktail of viruses. He probably does things I’ve never thought of.

Gatermann installed antivirus software on the computer, and we’ve both run Ad-Aware on it (if I recall, one time I ran it I found 284 instances of spyware). Both of us have rebuilt the system from scratch numerous times. The kid never learns. Why should he? Whatever he does, one of Tim’s friends will come over and fix it. (I guarantee it won’t be me though. I got sick of doing it.)

Some good rules to make people follow if they expect help from you:
1. Run antivirus software and keep it current. This is a non-negotiable if you’re running Windows.
2. Stay off P2P networks entirely. Their clients install spyware, and you know about the MP3 buffer overflow vulnerability in WinXP, don’t you? Buy the record and make your own MP3s. Half.com is your friend.
3. Never open an unexpected e-mail attachment. Even from your best friend.
4. If you don’t need it, don’t install it. Most free Windows software comes with strings attached in the form of spyware, these days. If you don’t want to pay for software, run Linux.
5. If you must violate rule 4, run Ad-Aware religiously.

And? This doesn’t mean I never get computer-related phone calls. A family member called me just this past Sunday with a noisy fan in a power supply. I found him a cheap replacement. I went over to my girlfriend’s family’s house Sunday afternoon and fixed their computer. (It made me wonder if the “4” in Pentium 4 stood for “486.” Its biggest problem turned out to be 255 instances of spyware. Yum.)

But I’m not afraid to answer the phone, I don’t find myself giving people longshot answers just to get them off the phone long enough for me to go somewhere or start screening my phone calls. And I find myself getting annoyed with people less. Those are all good things.

Looking back on 2002

It’s been an interesting year.
The biggest change, obviously, is that I now know how it feels to have a six-figure debt. For those who are curious, it feels better than renting.

I started dating again, and while this relationship isn’t yet my longest-ever, this one certainly feels a lot better than my longest-ever, which was the first one to ever force me to ask the question, “Is this better than nothing?” and then answer, “No.” That was two and a half years ago.

In the process of dating again, I had to ask and answer that question twice.

We had a round of layoffs at work. I escaped the chopping block this time. I do believe there will be another round and I’m not at all convinced that upper management is smart enough to not cut our department. And yes, I have an exit plan.

The inescapable tide of Windows XP rendered my book obsolete.

My book seems to have gone officially out of print (I don’t know if it’s customary for publishers to tell authors those kinds of things) and it’s started to show up in remainder bins. My monthly statements are finally giving hard sales figures. At remainder-bin prices, it’s selling again. But I think it’s been more than a year since I’ve cared.

I joined my church’s board of directors this year. We haven’t fallen apart as a result.

I moved this website to a completely database-driven content management system. I really like the results. I can envision a site that does a better job at letting people get at its content, but this one is on its way to that ideal.

I questioned publicly whether I should move from b2 to Movable Type. For now, I’m going to wait until b2 hits version 1.0 and then consider it again. While MT is the industry leader, I don’t think its lead over b2 is insurmountable. And neither b2 nor MT can reach that ideal I’m envisioning without modification.

I alienated some longterm readers this year. That’s par for the course, and I know that’s something that happens just about every year. But I alienated even more people in college than I do today. I’ve always believed you can alienate some of your readers or you can bore all of them. It bothers me when it happens, but there usually isn’t a whole lot you can do about it once the damage is done. In every case I can think of, it was a matter of somebody being disappointed that I didn’t share their opinion about something or think the way they did.

I’m human. I reserve the right to be wrong.

On the other hand, I seem to have gained more in the past year than I’ve lost, as my daily visits is a generally upward trend. (I stopped keeping track about mid-year last year, then picked up again mid-year this year.) It peaked in October; I lost a couple of days in November and December due to problems upstream of me and that hurt my numbers.

There’ll be changes around here next year, but it’ll have little to do with what I say or how the site looks and everything to do bringing more of my content from the past under this roof and with finding related content more quickly and easily.

A sizable number of my readers run Linux now, and I have more computers running Linux than I have running Windows. I expect both trends will continue. Open source has been a growing trend since 1997 and there’s no reason to believe that won’t continue.

I entered the 21st century and got a DVD player and a digital camera.

Here’s to a better 2003.

Merry Christmas

I’m outta here for a bit.
I worked today–did a server upgrade with no one around. Fun. Not.

Then I came home to wrap presents. I’d hidden the presents I bought. I hid them so well it took me half an hour to find them.

And now there’s a few inches of snow on the ground. It’s really pretty. Until you have to drive in it. Sometime after we elected the Redneck from Rolla to be our governor, we forgot how to plow our roads.

So I’m off on a great adventure. See you in a couple days. And Merry and Blessed Christmas to all of you.

I’m returning to the Web’s good old days

In the early days of the Web, there were only 12 pages on it.
Well, there appeared to be hundreds, even thousands, of pages on the Web, but only 12 of them actually had any real content. The rest of them were pages coded by college students, who were the only people who had time to learn HTML (they made time by signing up only for classes that met in computer labs and worked on their homepages during lecture). Their pages consisted entirely of their resume, a bunch of animated GIFs, links to however many of the 12 pages they’d discovered, and links to all their friends.

Then the college students flunked out because they didn’t pay attention in class–the professors handed them finals, and they thought it was scrap paper meant to be used to sketch out the next week’s big design–and two years later, after the school’s bureaucracy figured out they were no longer students and kicked them out, they went and got jobs.

Somehow they convinced their new employers that if they went and spent thousands and thousands of dollars on equipment and put their companies online, they’d make lots of money. The result of that convincing was the dot-com boom. The biggest difference for the students was that now they got paid a fortune to sit in the back of a cubicle programming Web pages that contained a lot of animated GIFs (provided by advertisers, rather than stolen from another Web page), and, in a novel bit of creativity, these animated GIFs themselves linked to one of the 12 pages on the Web that contained real content.

Well, after a series of IPOs that would have created hundreds of thousands of new millionaires had they not been forbidden by law from selling their stock certificates, someone finally remembered how to read a balance sheet and found that the total amount of money generated by the dotcom boom was four-fifty. Rubles. Investors panicked and sold off all their stock. Companies got investigated for fraud and the college students got laid off. (You thought I was going to say something else, didn’t you?) Once again, they hung around for a couple of years until the bloated bureaucracy figured out they didn’t work there anymore and kicked them out.

The upside of all of this is that the Web isn’t as commercial now as it was a few years ago. The downside is that the commercials are way more annoying than ever.

Meanwhile, those college students are still working on their personal pages, most of which now end in .com or .net or .org and they don’t have squiggly lines in them anymore. Now they annoy the 12 Web sites that still produce original content by deep-linking their stories on blogs and adding their own comments.

Meet the new Internet: Same as the old Internet.

So in that grand tradition, since I haven’t had an original thought all day and have absolutely nothing meaningful to say tonight, I’ll provide a couple of links to stories I found and add some worthless commentary to it. And someone will think it’s great and spectacular and declare me a visionary and I’ll start a new software company.

Or something.

Santa Claus reportedly considering Linux

BBSpot: “IIS couldn’t keep up when Slashdot posted a link to that web-interface I made for turning Rudolph’s new LED nose on and off. That was the last straw,” [Santa] Claus continued. “I’m entrusting the entire holiday of Christmas to a company that can’t even make a reliable web server?”
The story mentions lots of other reasons for Santa to switch from Windows. I guess that means Santa doesn’t believe that controversial IDC report from last month or whenever it was. Thanks to Karl Koenig for this link.

Roll your own news aggregator in PHP

M.Kelley: I’m also wondering how hard would it be to pull a PHP/MySQL (or .Net like BH uses) tool to scrape the syndicated feeds off of websites and put together a dynamic, constantly updated website.
It’s almost trivial. So simple that I hesitate to even call it “programming.” And there’s no need for MySQL at all–it can be done with a tiny bit of PHP. Since it’s so simple, and potentially so useful, it’s a great first project in PHP.

It’s also terribly addictive–I quickly found myself assembling my favorite news sources and creating my own online newspaper. To a former newspaper editor (hey, they were student papers, but one of them was at Mizzou, and in my book, if you can be sued for libel and anyone will care, it counts), it’s great fun.

All you need is a little web space and a writable directory. If you administer your own Linux webserver, you’re golden. If you have a shell account on a Unix system somewhere, you’re golden.

First, grab ShowRDF.php by Ian Monroe, a simple GPL-licensed PHP script that does all the work of grabbing and decoding an RDF or RSS file. There are tons of tutorials online that tell you how to code your own solution to do this, but I like this one because you can pass options to it to limit the number of entries, and the length of time to cache the feed. Many RDF decoders fetch the file every time you call them, and some feeds impose a once-an-hour limit and yell at you (or just flat ban you) if you go over. Using existing code is a good way to get started; you can write your own decoder that works the way you want at some later date.

ShowRDF includes a PHP function called InsertRDF that uses the following syntax:
InsertRDF("feed URL", "name of file to cache to", TRUE, number of entries to show, number of seconds to cache feed);

Given that, here’s a simple PHP page that grabs my newsfeed:


<html><body>

<?php include("showrdf.php"); ?>

<?php

// Gimme 5 entries and update once an hour (3600 seconds)

InsertRDF("https://dfarq.homeip.net/b2rss.xml", "~/farquhar.cache", TRUE, 5, 3600);

?>

</body></html>

And that’s literally all there is to it. That’ll give you a very simple HTML page with a bulleted list of my five most recent entries. Unfortunately it gives you the entries in their entirety, but that’s b2’s fault, and my fault for not modifying it. I’ll be doing that soon.

You can see the script in action by copying and pasting it into your Web server. It’s not very impressive, but it also wasn’t any effort either.

You can pretty it up by making yourself a nice table, or you can grab a nice CSS layout from glish.com.

I can actually code tables without stealing even more code, so here’s an example of a fluid three-column layout using tables that’ll make a CSS advocate’s skin crawl. But this’ll get you started, even if that’s the only useful purpose it serves.


<html><body>

<?php include("showrdf.php"); ?>

<table width="99%" border="0" cellpadding="6">

<tr>

<td colspan="3" align="left">
<h1>My personal newspaper</h1>
</td>

</tr>

<tr>

<td width="25%">

<!--- This is the leftmost column's contents -->

<!--- Hey, how about a navigation bar? -->

<?php include("navigationbar.html"); ?>

</td>

<!--- Middle column -->

<td width="50%">

<p><h1>Dave Farquhar</h1></p>

<?php

// Gimme 5 entries and update once an hour (3600 seconds)

InsertRDF("https://dfarq.homeip.net/b2rss.xml", "~/farquhar.cache", TRUE, 5, 3600);

?>

</td>

<!--- Right sidebar column -->

<td width="25%">

<p><h2>Freshmeat</h2></p>

<?php

InsertRDF("http://www.freshmeat.net/backend/fm-releases-software.rdf", "~/fm.cache", TRUE, 10, 3600);

?>

<p><h2>Slashdot</h2></p>

<?php

InsertRDF("http://slashdot.org/developers.rdf", "~/slash.cache", TRUE, 10, 3600);

?>

</td>

</tr>

</table>

</body></html>

Pretty it up to suit your tastes by adding color elements to the <td> tags and using font tags. Better yet, use the knowledge you just gained to sprinkle PHP statements into a pleasing CSS layout you find somewhere.

Finding newsfeeds is easy. You can find everything you ever wanted and then some at Newsisfree.com.

Using something like this, you can create multiple pages, just like a newspaper, and put links to each of your files in a file called navigationbar.html. Every time you create a new page containing a set of feeds, link to it in navigationbar.html, and all of your other pages will reflect the change. This shows another nice, novel use of PHP’s niceties–managing things like navigation bars is one of the worst things about static HTML pages. PHP makes it very convenient.

0wnz0r3d by an electrical storm

We had some more downtime yesterday as my DSL connection got 0wnz0r3d. Not by a script kiddie, but by an electrical storm–thankfully just a rainstorm and not thundersnow–and I fell off the ‘net.
I reset the DSL modem when I got home and all was well.

I’ll be back this evening with a (gasp!) programming piece. Well, pretty lame programming, really. But what good is having the GPL around if you don’t take advantage of it?