Yesterday’s highlight

I didn’t get home until very late. Around 5:30 or so, we got word of protesters out front. The group was called “God hates Fags.” At first I figured it was a facetious name, but it turned out to be an extreme right-wing hatemongering group. (Yes, this is a church convention I’m working.) This particular church doesn’t take that group very seriously, fortunately. One of the other guys in IT put it bluntly: “If you read your Bible carefully, you know that’s incorrect. God loves [pause] fags. God loves everybody.”
I’ve gotta get out the door. The late shift followed by the early shift isn’t much fun. But I volunteered it; I have to have tonight off.

Long day.

Expect short shrift this week. I’m working a convention. I put in nearly 10 hours yesterday, what was supposed to be Saturday. I expect to do similar today, and I don’t expect much slowdown until Friday.
That’s good for the bank account, bad for the Web site.

I didn’t really pick up any new wisdom or knowledge yesterday. That’s a shame because I spent a good deal of time in the presence of some people who really know a lot of stuff. Hopefully today won’t be a wasted day.

One encouraging thing did come of yesterday. I had a fairly long conversation with a friend who’s having problems figuring out how to handle a situation. I’ve been struggling for the past couple of weeks with a very similar situation, unbeknownst to him. I was very flattered that he would come to me for advice; he’s about 15 years my senior and in a lot of ways he’s like the older brother I never had. He had to confront someone with an issue, and he started off talking about mutual respect and trust, then went in for the kill, and the other guy got ultra-defensive immediately.

So I asked him to imagine another situation. He has a daughter in her early teens. I don’t know if she’s started dating yet, but she’s close enough to that age that I’m sure he’s had to start thinking about how he’s going to deal with his oldest daughter dating. She’s one of those girls who can easily pass for someone much older–if someone had told me she was 17, I’d have certainly believed it.

So I told him to imagine her bringing home a new boyfriend, someone twice her age, maybe even three times her age. Then I raised the stakes. Not only is this guy old, he’s tattooed and pierced, and it’s pretty easy to see he’s only got one thing on his mind.

Obviously, I’ve just described every father’s worst nightmare. And of course if his daughter brought that home, he’d talk to her about it, and he’d start off by telling her how much he loves her and how much he wants the very best for her, then he’d try to talk about this creep. And she’d get really defensive and talk about how he just doesn’t understand. (In reality he does, because I’ve never met a male in my life who wasn’t absolutely capable of being the world’s biggest creep. And some day, she’d understand far better than she ever wanted to.)

But it just doesn’t matter that she’s wrong; she’s made up her mind about what she wants and she’s not going to see reality. And, well, a guy in his 60s can be blindsided like that too. Self-destructive behavior is self-destructive behavior, and it transcends gender and generational lines. It’ll just manifest itself in slightly different ways. Usually.

I know that didn’t help him solve the problem, but maybe it helped him see the other guy’s perspective a little better.

As for solving the problem? I’m clueless. But I feel better knowing that someone close to me that I really respect who’s seen about a decade and a half more life doesn’t have an answer either. An awful lot better. I haven’t felt hungry for the past couple of weeks. I ate, of course, because I knew I needed to. I ate about twice as much yesterday as I have been recently, and I still felt like I hadn’t eaten a thing all day. I think that’s a good sign.

Solving a perplexing slowdown problem

Fixing an unexplainable slowdown. You may never see this. Yesterday I struggled for about 5 hours on a Win98 laptop that was incredibly sluggish. It would just pause for several minutes in the middle of anything, for no good reason. Open up Control Panel and wait. And wait. And wait. Finally the icons would show up. Open a new browser window, same thing. And almost any time an application had to open a new dialog box, you’d have to hurry up and wait.
I couldn’t find anything especially wrong with the configuration. I made some tweaks, sure–I always do–and that improved speed during those non-idle times, but it would still go catatonic on me. I downloaded WinTop and ran it so I could see what the CPU was doing. I found nothing unusual. The CPU was mostly idle.

“Gotta be a network problem,” I told our networking guy. So he went and grabbed his ultimate l337 h4x0r tool, a Micron laptop loaded down with Linux and packet sniffers and analyzers. He ran Ethereal and just watched. There was no weird network activity, and nothing particularly heavy. But we noticed the laptop was chatting away an awful lot with a server two T-1s and two routers away on our WAN, and sometimes it didn’t get a response. I pulled all of the shares on that server and every other reference I could find, but they just kept chattering.

Finally, on a reboot, I watched autoexec.bat roll by (I had the Windows splash screen turned off) and I noticed the suspicious path–that server’s UNC was in the path statement! And futhermore, C:Windows, C:WindowsSystem, and C:WindowsCommand were not! No wonder the system was running like garbage–it was looking for stuff two routers away before it looked in its own system directories!

When I removed that line and pulled a desktop shortcut that referred to that server, all was well.

One of the server-hosted apps we run requires that directory be in the path. If you have to do that sort of thing in a WAN environment, rather than adding lines to autoexec.bat, you’re much better off writing a batch file that does this:

path c:windows;c:windowssystem;c:windowscommand;[path to application on server] [command to execute application]

Then put that batch file on the desktop, instead of a shortcut directly to the app. That way, when your laptop road warriors are away, those changes won’t slow their laptops to a crawl. And the laptop won’t start trolling the network until after they’ve run that application once that day. Since networks are an order of magnitude slower than local hard drives, the system will run slightly better in the office as well. And remember when you construct your path statements, always put the system directories first, and application directories last, with local applications taking precedence over apps on network drives.

A flair for the dramatic

Writing about baseball two days in a row? Hey, it’s my site.
We played a doubleheader last night and won both games. I caught the first game; the second game the manager shooed me over to first base. I haven’t played first since one inning in high school, which was a disaster. I last played semi-regularly when I was 12, and that was mostly as a joke. I could make the catches but I was just over five feet tall so I sure couldn’t stretch to get the ball a split second sooner.

I did decent; I made 3, maybe four putouts. There were two bad throws, one I would have nabbed if I’d been six feet tall; the other I got the glove on but really awkwardly and I couldn’t keep control of it. I was pretty mad about that one. I’m a whole lot more comfortable in right or left field these days.

Enough about my reliving the glory days I never had. What about that All-Star game? Ripken has a great flair for the dramatic. First, A-Rod, elected to play short, shooed Ripken over to his old position and moved to third. And Ripken homered in his first at-bat.

That’s the story of Ripken’s career. Ripken had no business playing short at age 40. Ripken really had no business starting the game. But Ripken spent 14 years doing what he had no business doing. He was always too big and too immobile to play short, but he played it and played it well. Shortstops have no business playing uninterrupted for 14 years. Ripken did that.

And really, that’s what defines an All-Star. Yes, the numbers are a big, big part of it, but Ripken’s a star, whether he’s hitting .320 or .220, and Ripken’s a sure-fire first-ballot Hall of Famer whether he hits his way into winning his old job back (Ripken’s not even a regular on his own team anymore) or whether he goes hitless for the rest of the season.

And Commissioner Bud Selig made a total ass of himself, not knowing the difference between home runs and RBIs when talking about Cal Ripken’s achievements, and mispronouncing Honus Wagner’s name when talking about Tony Gwynn one-upping his impressive career batting stats.

It was tonight’s All-Star game that reminded me of what makes baseball such a great game. Baseball is full of great moments like that–great players, sometimes running on fumes, coming back and showing us one last time what made them great in the first place.

So what’s wrong with baseball? I honestly think baseball needs another Lyman Bostock. Lyman Bostock wasn’t a great player. He didn’t have time to become one, because he only played four seasons. But after making runs for the AL batting title in 1976 and 1977, Bostock signed with the California Angels, becaming one of the first of the high-priced free agents, and he immediately fell into a slump. He didn’t even hit his weight his first month, so he went to the owner of the team and tried to give back his salary, saying he hadn’t earned it. When the owner turned it down, he announced he was giving the money to charity instead. Thousands of requests came in, and Bostock went through them himself, wanting to determine who needed the money the most. Tragically, Bostock was shot and killed in Gary, Indiana, near the end of that season. He worked his tail off trying to get his batting average up over .300 by the end of the year. He was batting .296 when he died.

We’ve had tons of great stories since 1978. Ripken, of course. McGwire and Sosa’s friendly rivalry as they chased Roger Maris’ home run record. Orel Hershiser’s 59 consecutive scoreless innings. The emergence of Pedro Martinez and Greg Maddux when it appeared the era of truly, truly great pitchers was over.

But without another Lyman Bostock, they just look like a billionaire boys’ club. Emphasis on “boys.”

Baseball Mogul 2002 offers a glimpse of the future…

I have seen the future, and it crashes a lot. I’ve been playing Baseball Mogul 2002 like a fiend, and I love it. I love statistical baseball and I love financial simulations, so for people like me, this game might as well be heroin.
My big annoyance is that it crashes a lot. It seems to get through the first season just fine, but I haven’t gotten through a second season yet without a crash. That’s annoying. Playing games in a month’s batches seems to make it worse. I suggest you play week by week, saving at the end of each week.

I started off with the Kansas City Royals, of course, and pretty soon I realized what dire straits the team is in if the game doesn’t change. Without a bunch of trades for can’t-miss prospects, it’s virtually impossible to lift the team over the .500 mark, and with free spenders like Cleveland and Chicago in the division, third place is about as well as you’ll do. An out-of-this-world manager like the late (and very sorely missed) Dick Howser could probably improve matters a ton, but Baseball Mogul’s manegerial model is a bit clunky. You can change how your manager manages, but it’s with a bunch of sliders. There’s no way to model, say, a Dick Howser based on the tendencies he used in the dugout and save it. That’s a feature Earl Weaver baseball had way back in the early ’90s and I can’t believe modern sims don’t copy it.

After two seasons with the Royals, I got frustrated. I needed something easier, but not necessarily too easy. So I took on the Curse of the Bambino and took the helm of the Boston Red Sox. The Red Sox haven’t won a World Series since they sold Babe Ruth to the New York Yankees in 1920 for an astronomical $100,000. (Ruth was already a superstar and guided the Bosox to three World Championships, but with him gone, the Sox have been heartbreakers ever since, appearing in four Series and losing each in Game 7. The Yankees have just been scum.)

But how to take on the high-revenue, free-spending Yankees? The Bosox were a challenge unto themselves. Nomar Garciaparra, the greatest shortstop alive today, was injured at the beginning of the 2001 season, of course. MVP candidate Manny Ramirez’ presence in the lineup helped soften it, but I had a cripple playing first base (Brian Daubach was nowhere to be found, not that he has enough punch to really justify holding down that position). So I traded for Toronto’s Brad Fullmer, to get some protection for Ramirez. And Boston limped its way to the playoffs. It wasn’t exactly pretty. The Boston bats racked up tons of runs. Pedro Martinez was masterful, of course, but behind him I had four No. 4 starters: Frank Castillo, Bret Saberhagen (I was glad to see him come off the shelf, but he was the epitome of clutch pitcher, one of those guys who’d give up 9 runs if you didn’t have to win, but when the pennant was on the line, he’d pitch a shutout), David Cone (another ex-Royal, dumped unceremoniously for salary years ago, like Sabes), and Hideo Nomo. Fortunately the Bosox had a solid bullpen. We beat Cleveland in the first round of the playoffs, in five. Pedro had to pitch twice. Sabes won the other game. Of course we faced the Yankees in the ALCS. Boston won in 6, again behind Pedro and Sabes. It would have been poetic justice to have Cone face them in the series and win, but I had to go by the numbers rather than entirely by emotions. That brought us to Larry Walker’s and Mike Hampton’s Colorado for the World Series. Pedro won Game 1. Sabes won Game 2, of course. Castillo lost Game 3. Pedro pitched Game 4 on short rest and lost. I didn’t want to pitch 37-year-old Sabes on such short rest, so I pitched Cone instead. He lost. Sabes came back for Game 6 and won. A shutout, of course. Pedro came back strong and won Game 7.

The curse was lifted. Pedro, with a 19-6 regular season record and a 5-1 record in the postseason, took home the Cy Young award and an All-Star appearance. Manny Ramirez also brought in an All-Star appearance, but most importantly, the team brought in the World Championship.

The 2002 season was where things went nuts. The big-market teams started looking like Rotisserie Leagues thanks to free agency. I went and grabbed Anaheim’s Troy Glaus to play third base and Cleveland’s Kenny Lofton to play left field and bat leadoff. Then I grabbed Minnesota’s Eric Milton to give Pedro a legitimate #2 starter behind him. A couple of weeks into the season I noticed Houston’s Billy Wagner was still unsigned, so I nabbed him to give closer Derek Lowe some help in the bullpen. We rolled through to a 109-53 record, obliterating Oakland and New York in the playoffs. This time there wasn’t even any danger of Pedro’s arm falling off. (He went 27-1 in the regular season with a sparkling 1.53 ERA.)

Then I ran into the free-spending Braves. The Braves’ pitching staff was mostly unchanged from the real 2001 roster. (It was already an All-Star team.) But the lineup… Rafael Furcal, ss. Andruw Jones, cf. Chipper Jones, 3b. Barry Bonds, lf. Sammy Sosa, rf. Tony Clark, 1b. Quilvio Veras, 2b. Paul Bako, c. With the exception of the bottom three, they had arguably the best player in the league at each position. (The other three would be the second- or third-best player on a lot of teams.) Oh yeah. They also had superstar Moises Alou riding the bench. I took a look at Atlanta’s finances. Yep, they were bankrupting the team, deficit spending in hopes of pulling in a World Series. It came down to Game 7, Greg Maddux vs. Pedro Martinez, a showdown of the two greatest pitchers playing today (and arguably the two greatest pitchers alive). Maddux beat Martinez 2-1 in a heartbreaker. (Hey, you try shutting out that lineup!)

After facing that, I felt a little less guilty about running a Rotisserie-style team out of Boston. I’d passed on signing Kerry Wood as a free agent the season before for just that reason. No longer. Atlanta, unable to afford Maddux and Glavine for the next season, let both of them walk. I signed Maddux to a four-year deal, which pretty much guaranteed he’d get his 300th win in a Boston uniform. And between the two of them, I could pretty much count on getting at least three wins in a 7-game postseason. Throw in another clutch performance by Sabes (re-signed for purely emotional reasons–I was either going to get Sabes another World Series ring to go with the one he got with the Royals in ’85 and my fictional Bosox in 2001 or I was going to ship both Sabes and Cone back home to Kansas City, to finish their careers where they both belonged all along. But Cone retired so I opted to go for another ring.) and I’m pretty sure I’d be able to lift the Curse of the Bambino again.

The game even fabricates newspaper accounts of the season’s big games. The picture is almost always the same, and you can usually tell the story was computer-generated rather than written by an intelligent human being, but it adds an element of drama to it.

I also noticed the injury model is fairly realistic. Keeping Pedro Martinez healthy for a full season is virtually impossible, both in this game and in real life. But there are players who will tough themselves through their injuries. Mike Sweeney suffers about one serious injury per year, an injury that would knock most players out of action for a couple of weeks, maybe a month. In Baseball Mogul, Sweeney sits. In real life, Sween tapes himself up and keeps going until he either gets better or the injury hampers his play so severely that even he realizes the Royals are better off with his backup playing. That doesn’t happen often.

The other glaring drawback is that you can’t watch the games. I’d love to watch the All-Star game and at least the World Series.

So. We’ve got a baseball simulation that crashes a lot, doesn’t let you watch the key games (or any of them, for that matter), where injuries are all or nothing, and the managerial model is more crude than I’d like.

Those are serious shortcomings. But the rest of the game is so fabulous that I can mostly overlook them.

Now, the question is, who pitches Opening Day 2003? Martinez or Maddux?

A breakthrough…

Gatermann and I got Freesco successfully forwarding inside to a Web server yesterday. I wrote up a report on how we did it but haven’t had a chance to get it ready for posting. Maybe later today.
I’m tired. I’ll probably post more later.

Airshows, photography and Linux routing

Gatermann and I went out shooting again yesterday. More exploration of the warehouse district, and we found out that the warehouse district is a halfway decent place to watch an airshow. A couple of cargo planes buzzed us, tipping us off to what was going on, so I went chasing. I’m not the airplane junkie my dad was (few people are), but I’m still a sucker for exotic military planes. I borrowed Gatermann’s telephoto lens and took shots as planes went by. A pair of vintage P-51 Mustangs zoomed by, so I got a few shots of those. A couple of modern fighters made a brief appearance, but I couldn’t get them into the lens quickly enough to identify them. Chances are they were F-16s; not as common a sight as they once were, but you still see them.
I was hoping for a chance to see the Stealth Bomber; about four years ago I was in St. Louis on the 4th and as Gatermann and I were stepping outside to go get something to eat, we heard a low rumble overhead, looked up, and got a spectacular view of the rarely seen and highly classified B-2. Of course there wasn’t a camera in sight so we didn’t get a shot.

This year, a B-52 came from out of nowhere. It was huge–I mean HUGE–and very obviously not an airliner. I’d never seen one in person before so I didn’t identify it immediately. I got it in the camera, zoomed in on it, and figured out what it was. I got several shots. The B-52 is an oldie but a goodie; we used it heavily in Vietnam and in the late 1970s we intended to replace it with the B-1. Carter cancelled the B-1; later Reagan re-initiated it, but it was a disappointment. The B-1 never fully replaced the B-52 and now there’s talk of decommissioning the B-1 completely.

The B-52 was followed by a series of stunt pilots. I guess that’s good for oohs and ahhs, but I wanted to see weird airplanes.

The grand finale was the B-1. It totally snuck up on me; I think Gatermann spotted the thing first. I recognized it but the camera couldn’t catch it–the autofocus wasn’t fast enough. I switched to manual focus and waited. And waited. I spotted it looping around on the east side of the river; most non-classified stuff makes two passes. But you can’t get a good shot from that distance with this lens. I never saw it come back. It didn’t really look like it was landing (Scott Air Force base is across the Mississippi River, in Illinois), but I couldn’t find the thing. I gave up, turned around, and started walking back when Tom yelled and pointed. I quickly turned around, and the B-1 was just barely in range. I pointed and shot as it disappeared behind a warehouse. I think I got it.

I shot more than a full roll of just airplanes.

After airplanes and lunch, we headed out to CompUSA. Gatermann wanted a KVM switch; I wanted Baseball Mogul 2002. A Belkin 4-port switch was $200. A Linksys was $150. Gatermann grabbed the Linksys. I came up empty on Baseball Mogul. We went back to his place, hooked up the Linksys, and it was a real disappointment. It doesn’t pass the third mouse button. Numlock doesn’t work. And it has a slight ghosting effect on the picture. I didn’t notice it but Gatermann did. Stepping the resolution down and lowering the refresh rate didn’t help a whole lot. He’ll be taking the Linksys back. (To Linksys’ credit, the box is made in Taiwan, though its wall wart is made in Red China. I’m not a fan of financing World War III, nor am I a fan of slave labor, so I try to avoid products made in Red China whenever possible. Gatermann does too. I’m not sure what his reasons are but Red China’s treatment of the seven prisoners of war after their pilot kamikazeed our spyplane probably has something to do with it.)

Bottom line: Belkin’s KVM switches are better. I like the Linksys’ metal case better than the plastic case on my Belkin, but the Belkin performs a lot better and its buttons feel more solid. I also like the ability to change displays from the keyboard, rather than having to reach over to the switch like the Linksys requires.

I’m generally not impressed with Linksys’ products. Their DSL router, though it looks really slick, doesn’t forward ports very well. If you just want to split off a cable or DSL connection, it’s great. If you want to learn how the Internet works and run some servers behind your firewall, it’s going to frustrate you. It’s just not as stable as Gatermann’s Pentium-75 running Freesco, which we cobbled together from a bunch of spare parts. Get a used Pentium-75 motherboard with 8 megs of RAM, put it in a $20 AT case along with a $15 floppy drive and a pair of $15 PCI NICs and download Freesco, and you have something much more versatile and reliable for half the price. And a lot of us have most of that stuff laying around already.

And Linksys network cards are absolute junk. Their workmanship isn’t good, their drivers aren’t stable, and the cards have a tendency to just die. Or they age really poorly, spitting out tons and tons of bad packets as they carry out their wretched lives. Netgears are much better, and not much more expensive.

I also gave Gatermann’s Linux configurations a look. Freesco didn’t appear to be forwarding port 80, even though we configured it to, and Apache was installed and I’d verified it was working by opening a browser and going to 127.0.0.1. I tried a variety of things–including forwarding the ports manually from a command line, using the ipportfw command if I remember right–but it never worked. Finally, I tried hitting the Web server from a Windows PC inside Gatermann’s private network. It was denied too. Workstation-oriented Linux distros tend to come locked down really tight by default these days, which is probably a good thing in general, but it makes it really hard to just turn on Web services to the world. I know it can be done but I wouldn’t know where to begin. So I had him download TurboLinux Server 6.5, which will probably solve all his web serving problems.

Where did we come from?


Today’s the Fourth of July
Another June has gone by
And when they light up our town
I just think
What a waste of gunpowder and sky…
–Aimee Mann

Cynical? Who, me? Murel, my next-door cubicle neighbor, asked me a question today that made me wonder, is what this country is today worth our founding fathers risking their lives for?

That’s assuming anyone knows anything about them these days. Which leads me to the question my coworker asked.

“Dave, you’re the resident history buff. What political party did Thomas Jefferson found?”

Why, the Democratic-Republicans. I thought everyone knew that.

“And what party does that correspond to today?”

Most directly, the Democrats.

Murel asked that question because he’d just read an editorial talking about “The Evil Republican Slave-Owning Thomas Jefferson.” I rolled my eyes at that.

“Abraham Lincoln was a Republican!” Murel said.

He’s right. Though that plays into another misconception. The Civil War wasn’t about slavery. That’s what the Politically Correct crowd wants to say, but that’s not true. Fundamentally, the Civil War was about a number of things. One big, forgotten issue is that of tariffs. The industrial north wanted protective tarriffs. This made American goods cheaper than foreign goods, encouraging people to buy American. Plus, in those days, there was no income tax, so tariffs were a major source of revenue.

The rural South didn’t want tariffs. Tarriffs increased the prices they paid for goods. Plus tarriffs made it more difficult to sell cotton and tobacco abroad. In short, what was good for the North’s economy was bad for the South’s economy.

You can see the other big issue by looking at the forms of government each side chose during the Civil War. The North maintained its centralized government, while the South chose a loose confederacy. The South valued states’ rights much more than the north did.

Where does slavery fit into all this? Well, it was an issue of states’ rights. But, truth be told, only a small number of southerners actually owned slaves. Everyone today seems to think the typical Southern family had a slave as a sort of live-in butler or something, because that’s how Hollywood portrays slavery. You had to be wealthy to afford slaves, so the majority of slaveowners were plantation owners. The majority of southern farmers weren’t large plantation owners. They may or may not have been pro-slavery. The issue certainly didn’t directly affect them all that much.

And the North was hardly a haven for escaped slaves. The North had experimented with it and found it cost too much to literally own your workers. So they abandoned it. The majority of northerners probably didn’t care one way or the other. Slavery wasn’t an issue that affected them. There were militant, outspoken anti-slavery activists, and they were loud, just like today’s activists are. That’s why they’re remembered. Slavery gets more people worked up than tarriffs. There are probably a lot of people who don’t even know what a tarriff is.

So why was there a war? Simple. The North was more populous than the South, so the only way the South was going to get what they wanted was by walking out the door.

And Lincoln’s goal wasn’t to abolish slavery. Lincoln’s goal was to preserve the union at any cost, with or without slavery, and he is widely quoted as having said so.

The irony here is that Lincoln was willing to consider abolishing slavery. And he was in favor of high taxes. Sounds pretty liberal. The only resemblance to the Republicans of today is the protection of big business.

The Republican party as we know it today didn’t come into being until after the Civil War, and its history as the party of big business and lower taxes is hardly consistent. Although Teddy Roosevelt was more conservative than his cousin FDR, he was running around busting up businesses at the turn of the century.

But I’ve digressed a lot. Murel talked about the failings of some of the Founding Fathers that have come to light in recent years and cast a shadow on their credibility. We’re horrified to find they had flaws. (Though somehow it doesn’t bother us that Bill Clinton and Jack Kennedy had flaws.) I disagree. The Founding Fathers were human. They were very forward-thinking and insightful and wise, but human.

But worthy of respect. Remember why they were here. European aristocrats were old money. When you couldn’t get land, you moved. So these were men whose ancestry had come across the Atlantic and started over. Yes, some of them were spoiled brats. John Hancock and Samuel Adams come to mind. But Alexander Hamilton was the epitome of the self-made man. Benjamin Franklin’s beginnings weren’t as humble, but he arrived in Philadelphia with little more than his pocket change and his training as a printer and became a tycoon.

These were men who knew what they wanted and knew how to go get it. They knew their interests and England’s interests weren’t the same and they weren’t going to get what they wanted from England, so they headed for the door.

The country we have today doesn’t bear a whole lot of resemblance to the country they fought to create. Political correctness is the rule of the day. You can’t let the facts get in the way of what’s politically correct. Nor can you let your constitutional rights. Freedom of speech, the free press, and freedom of religion are all in danger. (And you thought I was going to say something about guns, didn’t you?)

I won’t go to the extreme of calling Independence Day a waste of gunpowder and sky, because it makes sense to celebrate what we do have. We’re still a whole lot more free, than, say, Red China.

But most of us don’t know why. And as a result, most of us really take it for granted.

Port forwarding with Linux

It’s Tuesday. I can’t wait for the weekend. Hey, at least this week we get a little break on Wednesday, at least in the States.
I posted some mail last night. Among those was a request that I reveal some of my Linux server-at-home secrets. I think I’ve sufficiently covered the creation of mail and Web servers, but I’ll go back and look some other time, when my brain’s less fried. I spent the day trying to make bootable Linux CDs. I’m thankful for CD-RWs, because I would have toasted about 10 CD-Rs in that process. I’ve found a Web site at work that talks all about it; I’ll refrain from calling it great until I figure out whether all of its steps actually work. I have made one successful bootable CD using the process, but it wouldn’t do everything I wanted. When I subbed in my own kernel that could do everything I wanted and left things like amateur radio support behind (just what I always wanted… a HAM-enabled Linux boot CD. Be still, my heart!) I got various different error messages. So not only am I wrong, I’m inconsistently wrong.

Anyway, let’s talk about firewalling. I don’t write firewalling scripts by hand; I let an expert do it. Then I go in and make slight modifications. My favorite method by far is to use PMFirewall, which asks you a bunch of nice questions and then writes a script. At present it only works with 2.2-based distros (a version for 2.4 is in alpha). If you want to do some forwarding, all you have to do is edit rc.firewall and add a couple of lines (this example assumes you’re running a Web server on 172.16.0.10, port 80):


echo "1" > /proc/sys/net/ipv4/ip_forward #enable IP forwarding
/usr/sbin/ipmasqadm portfw -a -P tcp -L $IPADDR 80 -R 172.16.0.10 80 #forward Web services to port 80 on 172.16.0.10

If you’re also running IMAP services on the same box, you can theoretically open it up with this line (I haven’t tried anything like this yet):


/usr/sbin/ipmasqadm portfw -a -P tcp -L $IPADDR 143 -R 172.16.0.10 143 #forward IMAP to port 143 on 172.16.0.10

Forwarding with Freesco is supposed to be easy but I’ve never actually done it yet. I’ll have to play around with it, on someone else’s cable or DSL connection of course (we wouldn’t want to keep anyone from reading these pages, after all). I believe Freesco is still 2.0-based, and firewalling and forwarding has changed with each major kernel revision since 2.0. It may have changed some before that too, for all I know, but back in those days I was fighting Slackware on 486s and deciding I hated Linux. It wasn’t until 1997 when a coworker gave me a copy of Red Hat 5.2 that I changed my mind and realized I didn’t hate Linux, I hated Slackware.

Monday, 2 July 2001

Some lucky people get a five-day weekend this week. Not me. I’m off Wednesday for Independence Day. About 30 years ago, my dad and his med school buddies used to go to the Missouri River and shoot bottle rockets at barges to celebrate. I’m not sure what I’ll get to do yet. Last year I had to work the 4th. That was a very nice paycheck, since I worked 60 hours that week anyway, on top of 8 hours’ holiday pay.
I found a use for absurdly high-speed CPUs this weekend. My Duron-750 can simulate a 30-team, 162-game baseball season in its entirety in roughly 3 minutes. Of course a faster CPU will do it even faster. Baseball simulation is very CPU-intensive and very disk-intensive. This 750 has a SCSI disk subsystem in it too. It’s old, but I suspect SCSI’s ability to re-order disk requests for speed helps. I haven’t swapped in an IDE drive to see if it makes a difference. So if you’re a statistical baseball junkie, you can actually justify an insanely fast CPU. It feels strange to call the cheapest CPU on the market today insanely fast, but for most things, the Duron-750 really is.

The other use I’ve found for these CPUs is emulating a 50 MHz 68060-based Amiga at full speed. A Duron-750 isn’t quite up to that task.

I talked about PartImage last week. I used it over the weekend to clone 7 PCs. My church’s sister congregation bought 8 Compaq Deskpro EXs earlier this year and just finished the room they’re going in. So I went in, set one of them up (and tweaked it out, of course–the first reaction of one of the members: “Wow, that sure boots fast!”).

Sadly, many companies seem to use non-profit organizations as a way to just get rid of their junk. Here are some of the jewels this church has been “blessed” with: two 386sx laptops with dead batteries and no power adapters, two XTs, two 286s, a pile of 386sxs, and three 486s. Two of the 486s are old Compaq ProSignia servers with big SCSI hard drives, so I can slap in an ISA NIC and install Linux on one of them and make it a file server. The only thing remotely useful that anyone’s ever given them is a pair of Pentium-75s. But one of the 75s had a 40-meg hard drive in it. That’s the better of the two, though. The other had no hard drive, no memory, and no CMOS battery.

Oh, and I shouldn’t forget the large quantities of busted monitors. They’ve got a room full of monitors. About three of them work. What’s anyone going to do with a bunch of monitors that don’t work? Legally, the church can’t throw any of this stuff away (and shouldn’t) because of all the lead content, which makes them hazardous waste. But the church can hardly afford to pay someone to take it away and dispose of it properly either. We’re talking an inner-city church here. Can you say, “blaxploitation?” I knew you could.

The Pentiums did at least come in standard AT cases though, and nice ones at that. They look like Enlights, but they had Sparkle power supplies in them, Whatever the make, they’re nice and thick so they don’t slice you, there’s lots of wide open space inside, and they have 7 drive bays. So I grabbed the diskless Pentium to make into a router/Squid server/content filter. I ripped out the P75 board and dropped in an AT Soyo Socket 370 board with a Celeron-366 on it. It’ll be fabulous.

The best I can do with most of these systems is to try to make X terminals out of them, assuming I can find a machine beefy enough to host StarOffice for a half-dozen systems. It may not be worth the bother.

One of the 386s had a 420-meg hard drive in it for some reason, so I pulled that drive, hooked it up to the first of the Compaqs, and used PartImage to dump it. I used 480 megs on the drive, so with Gzip compression, the image left just 12 megs free on the drive. Tight fit, but we were OK. Then I just ran around to each of the others, hooked up the drive, and pulled the image. I took the drive home with me so I could burn a CD from it.

That’s good use of free software.