Creative play with boys

On Saturday morning, my wife went out for a few hours to run errands and left me home with the boys. And when she came home, I was on the living room floor building a garage out of Mega Bloks (an oversized Lego knockoff for toddlers) with them. My oldest is really, really into Cars right now (the Pixar movie, not the New Wave band), and that improvised Mega Blok garage was just about the greatest thing ever–well, maybe just all day, which in a 3-year-old’s mind, might as well be forever.

“I never would have thought to do that with boys,” my wife said.

Read more

How to make more money, but more importantly, keep more of what you earn

Most GenXers don’t spend their money wisely.

That’s not an insult on my peers; there’s plenty of blame to go around. Yes, we want what our parents had at 50 and we want it at 25, but part of the problem is the images all around us tell us we have to have all that. And if my education is any indication, the only financial education I received in school was an aside in a U.S. History class.

Let’s talk about how to earn more to dig out of financial ruin, and how to stay out.First and foremost, usually when people get to the point where they start typing “earn more money now” or something similar into Google, usually they need immediate help. A year ago, I was in that situation. Talking it over with the higher-ups didn’t help–a few months later I lost my job. Ouch.

I’d be lying to you if I told you I wasn’t bitter. I still am. But in a way it was the best thing that could have happened to me, because it forced me to look for opportunities. I already had been, but it forced me to find others that I probably wouldn’t have, otherwise.

There are a few ways to make a little money but it won’t necessarily happen immediately. If you have a web site, put Google ads on it. Click my link to find out how. Whether you get your first check in a month or in a year depends on how much traffic you get. A faster way to make a little money is to sign up for some online surveys. You won’t get rich, but a dollar here and five bucks there adds up. Sometimes you’ll hit the jackpot and qualify for a $25 survey. That won’t pay the mortgage but it will pay for a few meals.

Here’s another idea: Become a mystery shopper. Google for it. But don’t pay anyone to become a mystery shopper, not when there are legitimate outfits who are willing to pay you. Just keep in mind some of them want references. That’s actually a good thing. It protects your reputation and theirs. Again, it’s not big money, but it’s fairly easy money.

But I’ll be blunt: If you’re in some real trouble and there’s a bill that’s due in two weeks and you can’t pay it, then it’s time to make some sacrifices. Do you have any recent video games? Any collectible CDs or DVDs or VHS tapes? Collectible toys, such as Star Wars figures? There are lots of places that are willing to buy things like that, but to get top dollar you have to sell it yourself. Search eBay, find out what your items or something similar are selling for, and think seriously about liquidating some stuff. Don’t sell your family heirlooms, but if there are things that you can sell now to get you out of trouble and replace later when you’re out of trouble, consider it. While collectibles do increase in value, I’ll let you in on a dirty little secret: Most of them are doing well to keep up with inflation. None will increase as quickly as your debt–not for a sustained period of time, at least. If you have something that is, sell now. The bubble will burst, and you’ll be able to buy it back cheaper later.

And something sobering will happen as you research what some of the things you own are worth. You’ll find a lot of them aren’t worth anywhere near what you paid for them. There’s a lesson there. It’s much better to spend your money on things that hold their value than on things that have bling factor but have no value once the 14-day return period is over.

So when you have money again, spend less on worthless things so you have more to spend on things that do hold their value. A big truck turns heads and lets you bully people on the road (and the ads to some degree encourage it) but can you really afford $40 a week to keep gas in it? Do you have to haul stuff often enough to justify that expense? For the majority of people, it’s much better to drive an economy car and put the money you save on the lower payment and less gas towards paying off debt. Borrow or rent a truck those occasional times when you need to haul something. So skip the Hummer and get a house. You need a house anyway, and while a Hummer will lose value when you go to sell it, a house usually will gain.

Let’s go back to the eBay thing for a minute. Ebay does a lot of good things. Once you’ve sold your stuff, you have the option to go buy more stuff to sell. Buy what you know and only what you know, and only if you can buy low and sell high. If you can’t either double your money or make $10, don’t bother. It’s best to find something that lets you do both. But if you have the ability to do that, you have an asset that stands a chance of turning your financial situation around within a few years.

But it also does something else. It teaches you how to sell. There is no better, more useful ability than how to sell. Not everyone sells merchandise for dollars, but everyone has to sell ideas. If you regularly find that people don’t listen to you, then that’s a good indication that you need more salesmanship ability. Yeah, but those people are idiots, you say. Even better. There are more idiots out there than smart people. Most rich people got rich by getting idiots to buy their junk.

I remember reading a line in a book once that asked me if I could make a better hamburger than McDonald’s. Of course I can. So why did Ray Kroc have more money than me?

By the way, I don’t mean any insult by any of this if people don’t listen to you. There are a lot of people who don’t listen to me either. I need to work on my sales skills as much as anyone.

I did something else before I started selling my stuff. I took a walk. I walked at least once a day. But I didn’t just walk. I was picking up aluminum cans. At 40 cents a pound, an aluminum can is worth about a penny. There’s no way I can pick up 100 cans in an hour, so it’s a lousy way to make money. But nobody else was paying me to do anything else during that time. I made sure I didn’t walk during working hours so I wouldn’t be out if the phone rang with a job opportunity. At least I felt like I was doing a little something. It was very little, but it kept my mind off things so I didn’t get as depressed. It also helped me watch for opportunity. Those cans aren’t worth anything, but the ability to quickly spot things of value from far off is worth something. It made a few house payments when I didn’t have a 40-hour-a-week job.

That’s enough talk about making money. I’ll admit that they’re just general ideas. I can’t give specific advice because something that works where I live might not work 100 miles away. Something else works there. The nice thing about the United States is that there always is an opportunity, no matter where you are. Although politicians seem to be trying their best to destroy that, they can’t destroy opportunities as quickly as you can find them.

I read a study this past week that said 70% of college graduates today can’t balance a checkbook, and when presented with a 20-ounce jar of spaghetti sauce for $1.99 and a 32-ounce jar for $2.49, they don’t know how to figure out which one is the better deal. That should scare some people.

But it occurred to me that I didn’t learn how to do that in school. I learned it from my mother. And I think she learned it from her mother, who must have known it because she managed to raise 11 kids and her husband didn’t have any money.

They don’t teach that kind of thing in school. To me, that’s the only thing math is good for. But I don’t know how old I was when I realized math was useful for that. Before that I thought math was just something teachers used to prove they knew something I didn’t.

There are lots of books out there that try to teach you how to make more money. But a more valuable skill is learning how to spot the good deal. Learn how to calculate the cost per ounce and use it. Carry a calculator with you if that’s what you have to do. There’s no shame in that. A calculator is also a useful tool for keeping a running total of the cost of the stuff in your cart. So it might be a good idea to carry two calculators. They’ll pay for themselves the first time you use them.

And if you have any influence with math teachers, please hand them this word problem. It’s the only good use of math I can think of for a non-engineer:

A television costs $199 at a store two miles from you. The sales tax rate in your town is 5.75%. The same television costs $179 at a store 100 miles away. The sales tax rate in that town is 6%. Your car gets 25 miles to the gallon. Gasoline costs $2.00 a gallon. Is it cheaper to buy the television at the store two miles away, or is it cheaper to buy it 100 miles away?

I’ll conclude with the secret of getting rich. The secret isn’t to make lots of money. It’s human nature to spend more money as soon as you make more money. The secret is to spend less.

I remember when the first of my college classmates bought a house. He told me that at the end of the paper, it told him how much money the loan was for, and how much money he would pay between then and the end of the term. “Am I really going to make that much money?” he asked. Then he laughed it off.

He will. So will I. So will everyone. Most people living in the United States will make a lot more than a million dollars between their first job and retirement. The question is whether Nike and General Motors and Phillip Morris and Coca-Cola get to keep most of it, or whether the wage-earner gets to keep most of it.

I really don’t like the tone of this rant–and it basically is a rant–because it sounds like someone who made it looking back. I’ve only started the journey myself. I started 14 months ago. But my wife and I already have something to show for it. We have no credit card debt, we own two 2002 Honda Civics outright, and if we can keep up our current pace, we will own our house outright in a little over three years. Five years is probably more realistic.

Remember, around 12 months ago there wasn’t enough money to pay the bills. So if I can do it, lots of people can.

Well, Episode III could have been worse…

I went and saw Revenge of the Sith tonight. I can say it definitely felt good to see a Star Wars story in the theaters one last time. (This is supposed to be the last time, after all.)

What else can I say? They weren’t the atrocities the first two movies were. Overall I still don’t think it was any better than the originals, but I do think there was a lot of room for improvement. (Don’t worry, there won’t be any spoilers here.)Let’s talk about the good first. First and foremost this is an action movie, which is good, because action is what George Lucas does best. This is a fast-paced movie that doesn’t get bogged down in committees, which is good. If you want committees, you can watch CSPAN and it won’t cost you $8 all the time.

There are plenty of special effects here, but it seemed like Lucas tried to rely on special effects to make up for the shortcomings in the first two movies. There’s less of that in this one. I can’t think of a point in the movie that looked like special effects just for the sake of special effects. In a time when Pixar and Dreamworks SKG each release a movie a year featuring entire computer-generated worlds, that trick doesn’t work anymore, and it’s good that Lucas realized it.

Oh, and what about Jar Jar Binks? He makes a brief appearance, but it’s just a few seconds at most and he doesn’t say anything.

So what’s wrong with it?

Dialogue still isn’t Lucas’ strong point. It’s better this time than sometimes (at least someone asks "What’s the matter with you?" in this one; I remember an earlier movie having a line "What’s troubling you?" which just isn’t the way anyone talks) but the things people say still seem contrived, and at times it seems like the actors and actresses might as well be reading cue cards.

Examples? The most blatant examples surround the character of Anakin Skywalker (played by Hayden Christensen), of course. The movie centers around Christensen’s struggles. And that’s the problem. We don’t get to see him struggle so much. We see him cry, but that seems out of place. I feel safe in saying this, since I think everyone knows what happens to Anakin Skywalker, so I’ll say it: Would Darth Vader cry? No? So why is Anakin Skywalker, the 20something hotshot Jedi, crying? It’s out of character. So what does someone who can’t let his guard down but really wants to cry do? Unfortunately, you won’t find out by watching this movie.

Similarly, Natalie Portman’s talents are wasted on the character of Padme. There is no actress alive better suited to play the prodigy Padme. Padme would have been a lot better with more Natalie Portman pontifications and fewer George Lucas pontifications coming out of her. The relentlessness of Portman’s character from Garden State is missing. And at at least one point in the movie, she breaks Anakin Skywalker’s heart. Portman proved in the movie Closer that she can break a heart like nobody’s business. Had she been allowed to truly break the heart of Hayden Christensen and every male in the audience, it would have been a better movie.

Both Mace Windu (Samuel L. Jackson) and Obi-Wan Kenobi (Ewan McGregor) get very angry with Anakin Skywalker in this movie. At one point, Jackson says, "If you’re right, you’ve earned my trust." Inappropriate. Where’s the Samuel L. Jackson attitude? The cold stare? "You’ll earn my trust when you’re right!" is a good start. Of course in most movies, Jackson would include a couple of f-bombs and end the sentence with a word that starts with the letter "b." Especially if the person he’s talking to happens to be male. Lucas keeps that kind of language out of Star Wars, but Samuel L. Jackson can say those words with his tone of voice even without the actual words coming out. He should have been allowed to.

Ewan McGregor is similarly handcuffed. At the movie’s darkest hour, McGregor’s words don’t match his actions. McGregor sorely needed to drag back out some of the attitude he showed in Trainspotting.

The writing suffers also. Some of the characters are inconsistent. There are minor characters in the movie who seemed larger than life earlier in the movie, yet they died without a struggle. I understand needing to get on with the story, but had they died fighting, it would have been all the more tragic. And besides, had those stories been told, maybe then there would have been 30 seconds spent on the love story rather than 10 minutes.

Gatermann tells me there were some lame attempts at humor in the movie. I didn’t catch anything that even sounded like an attempt at humor. It’s not like this movie had bad actors in it, so this movie should have had its moments.

Kevin Smith compares the movie to Othello or Hamlet. Well, for some in my generation, I’m sure it is. But this movie isn’t going to be remembered much past my generation. My generation’s children will like it for a while because we dragged them along to go see it. But will it capture their imaginations the way it did ours nearly 30 years ago? No. Will it take a seat next to The Wizard of Oz, or Gone With the Wind? No.

And that’s what’s frustrating. George Lucas came up with a good story. He did his homework. All the elements are there. He studied his mythology and mimicked it well. His psychology seems pretty sound. And his characters, especially the key characters, are all very compelling.

This movie had all of the potential for greatness. Probably not Shakespearean greatness, but it had the potential to be the movie of the decade, and, like Anakin Skywalker, it just didn’t live up to it. It won’t even be the best movie to come out this year.

That observation does more to help me understand how Obi-Wan Kenobi felt than Ewan McGregor’s acting did. And that’s really a shame.

So the Department of Homeland Security is now the copyright police?

The Department of Homeland Security just shut down a Star Wars-hosting Bittorrent site.

What does copyright infringement have to do with terrorism?People downloading the newest installment of Star Wars (or buying bootleg DVDs) is hardly a threat to national security.

Actually I’m kind of wondering if it’s a threat to much of anything. Think about it: The people who grew up with the franchise are going to go see it in the theaters so they can see it on the big screen. I know I went and saw Episodes I and II in the theater twice each. I only go to the movies once every couple of months, so for someone like me to see both of those movies twice is something. Most people my age saw them a lot more than that.

My point is, the people who download Revenge of the Sith or buy an illegal DVD are going to see it in the theater anyway, and they’re probably going to see it a lot of times. And when the legitimate Episode III DVDs come out, they’re going to buy those two. And when the collector’s edition of the trilogy, and the extra-special collector’s edition of both trilogies come out, they’re the people most likely to buy those too. George Lucas is going to get plenty of opportunities to sell this movie thrice.

I know it’s illegal. The ethics are questionable–I have a lot less problem with people copying it if they’re going to buy the legitimate copy anyway once it’s available. But is this going to cause measurable damage to a multi-billion-dollar franchise? No.

And the Department of Homeland Security’s involvement just makes it look more like Homeland Security is more about Big Brother than it is about stopping terrorists.

If Star Wars is a big enough crisis that it shows up on these guys’ radar, then that’s a sign to me that it’s time for the department to be rethinking its relevance. Nobody is going to die because somebody saw Star Wars without paying for it.

The government needs to get its priorities straight.

Why I run Debian, and some Debian tricks

After Dan Bowman pointed out another blogger’s recent difficulties installing Evolution on Mandrake 8.1, I had little comment other than, “That wouldn’t be an issue if you’re running Debian.” Well, I think I said a few other things because I tend to be wordy, but that was the only important thing I had to say.Debian is one of the more difficult Linux distributions to install (you have to know what hardware is in your machine–it doesn’t nicely autodetect everything like Mandrake), but it’s far and away the easiest distribution to maintain. We’ll get back to that in a minute.

Released versions of Debian tend to be ultra-conservative. The current version, Debian 2.2r5, still uses the 2.2.19 kernel, for one thing (and that’s a fairly recent change). The current 2.2 kernel is either 2.2.39 or 2.2.40. All packages (at least all the ones anyone uses anymore) are constantly checked and maintained and patched. In theory, the current stable Debian release ought to be the most bullet-proof Linux available.

Besides Debian Stable, there’s also Debian Testing and Debian Unstable. Debian Unstable is pretty cutting-edge, but I’ve had no problems running it. I just keep up with the current patches and the system runs fine. I know people who run production servers on Testing and Unstable and get away with it.

If you want the latest and greatest stuff, after you install Debian, edit the file /etc/apt/sources.list and uncomment the ftp and http lines. Next, copy and paste those lines, then edit the “stable” to read “unstable.” (Or if you’re more conservative, edit it to read “testing.”) Be aware that occasionally you’ll run into problems running packages from unstable under stable. I ran Evolution, Galeon, Dillo, Sylpheed, and a multitude of other packages from unstable just fine, but when I installed AbiWord (a really nice, lean, mean, superfast word processor, by the way) it failed to run right. I upgraded to unstable, and then it worked perfectly.

OK, let’s talk some tricks.

Want to upgrade your distribution after a new version comes out, or upgrade from stable to testing or unstable? Easy. Type this:

apt-get update ; apt-get dist-upgrade

Then Debian will go download the pieces it needs to upgrade itself.

Want to keep your system up to date with any little changes (security patches, whatever) that may have happened recently? Type this:

apt-get update ; apt-get upgrade

So Debian lets you keep a current and presumably secure installation very easily. If you run that line regularly, you can rest assured that if your system is insecure, it’s not Debian’s fault but rather a misconfiguration on your part.

Want to try out some new piece of software? Forget having to hunt down RPMs or keep track of your distribution CD. Check availability with this command sequence:

apt-get update ; apt-cache pkgnames [name of program]

Found it? Excellent. Install it with this command:

apt-get install [name of program]

And if it wasn’t as great as you heard, you can uninstall it with this command:

apt-get remove [name of program]

System acting goofy? This’ll cure much that ails you:

apt-get clean ; apt-get update ; apt-get check

So from a system administration standpoint, Debian is great. Debian developers often try to justify the difficulty of installation by saying you only have to run it once, and to a degree, they’re right.

Compiling a kernel under Debian

I found a nice document detailing customizing your kernel under Debian. The standard method works under Debian, of course, but it’s cleaner to do it within the confines of your package manager–then it doesn’t go stomping on files you modified. Plus it’s actually a little easier to let Debian handle some of the details.

Here are the notes I took while using the document.

With additions:
Use kernel-source-2.4.17

export CFLAGS=”-O3 -mcpu=i686 -march=i386 -fforce-addr -fomit-frame-pointer -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -malign-functions=4″
export CXXFLAGS=”-O3 -mcpu=i686 -march=i386 -fforce-addr -fomit-frame-pointer -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -malign-functions=4″

Using -march=i686 is known to cause instability and not improve performance by any noticeable amount. The kernel mostly ignores these settings but I set them anyway. You can alternatively set them in the file /etc/profile. If you ever find yourself compiling apps from source, you want these options set so they’ll perform optimally.

A correction:
Debian tar doesn’t seem to support the -I switch for bzip2. So I extracted the archive with the following:
bunzip2 -k -c kernel-source-2.4.17.tar.bz2 | tar -xf –

the -k switch tells bzip2 to keep the original file intact, while -c tells it to extract to stdout. The | redirects stdout to the specified program, in this case, tar. -xf tells it to extract the file.

I got an error on make xconfig:

make: wish: command not found.

So I headed off to www.debian.org/distrib/packages. At the bottom of the page, there’s a form where you can type a filename and it’ll tell you what package it comes from. Type in “wish,” hit enter, and I get a long list, including /usr/bin/wish8.3 in a package named libs/tk8.3. Sounds promising. So I do an apt-get install tk8.3 and I’m in business. Type make xconfig again, and we’re set. This page is also a really good way to hunt down packages if you don’t know exactly how Debian named it.

Options I chose for kernel compilation:

Code maturity level options: prompt for development and/or incomplete code/drivers. I answered Yes, so I’d get modern filesystem support.
Loadable module support: I answered yes to all. I’ve read that disabling modules and compiling everything directly into the kernel can improve performance but I’m wary of that. If the kernel’s too big, the system won’t boot. And the idea of modules is to keep only what you need in memory. So I suppose there are instances where a no-modules kernel could increase performance, but there are certainly instances where it would hurt. I chose to be conservative.
Processor type and features: I changed a couple of the defaults. Double-check the processor family option; in my experience it’s usually but not always correct. Enable MTRR support unless you’re using a 486, Pentium, or AMD K5 CPU. All other reasonably modern CPUs, including AMD, Cyrix, Intel, and WinChip, support MTRRs for increased GUI performance. Since the PC I’m using only has one CPU, I disable SMP support. Then I enable local APIC and IO-APIC support on uniprocessors.
General setup: I accepted the defaults, because aggressive use of APM makes me really nervous. Under Windows, APM always does me more harm than good.
MTD: Since I don’t use any flash memory devices, I accepted the defaults of No.
Parallel port support: Curiously, this was disabled by default. This PC has a parallel port but I only use network printers, so I left it disabled to save a little memory.
Plug and play configuration: I said no to ISA plug and play support, since this machine is a laptop and won’t have any ISA PnP cards. On modern PCs that have no ISA slots, say N.
Block devices: The defaults are usually sufficient, but some configurations need RAM disk support and initrd support turned on. If you’re going to mess around with ISO images, you’ll probably want to turn on loopback device support.
Multi-device support: I’ve never seen a laptop with RAID, so the default of disabling it all works great for me.
Networking options: The defaults are fine for most uses. If you’re going to make a router or firewall out of your PC, enable Netfilter.
Telephony support: I disabled it.
ATA/IDE/MFM/RLL support: Disable it if you have an all-SCSI system. I don’t. Turn on SCSI emulation support if you use a CD-R or CD-RW. Under IDE chipset support/bugfixes, disable the chipsets your PC doesn’t have. This laptop has an Intel chipset, so all I had enabled were Generic PCI IDE chipset support, Sharing PCI IDE Interrupts support, Generic PCI bus-master support, Use PCI DMA by default when available, Intel PIIXn chipset support, PIIXn tuning support.
SCSI support: I have an all-IDE system (unfortunately), so I disabled it. Note that SCSI emulation for a CD-R counts as a SCSI device, as does a parallel port Zip drive. Since I have neither, I’m safe disabling it to save some memory and speed up boot time slightly.
IEEE 1394 (Firewire support): I disabled it since I have no Firewire ports.
I2O device support: I disabled it.
Network device support: This can be tricky. I turned off SLIP and PPP since I don’t use them. You may need PPP. I turned off ARCnet support, which you’ll probably do as well since ARCnet is very rare. I have a 100-megabit 3Com 3c556 NIC in this laptop, so I went into Ethernet 10 or 100 Mbit, drilled down to 3COM cards, and said yes to 3c590/3c900 series, since that’s the driver the 3c556 uses. I turned off the others. I like to compile support for the machine’s NIC straight into the kernel when I can, since it speeds up network configuration at boot time. On servers, I’ve been known to compile support for every type of NIC I own into the kernel, so that if I ever have to change NICs, it’ll come back up automatically without any configuration from me. I turned off wireless, token-ring, PCMCIA, ATM, amateur radio, infrared, and ISDN support.
Old CD-ROM drivers: You can probably turn this off, unless you know you have an old proprietary 1X or 2X CD-ROM drive. These were the drives that generally plugged straight into an ISA sound card, and they were very common on 486s. I sold tons of these things in 1994; I’m pretty sure that by the time I was selling PCs again in the summer of 1995, everything I was selling had an IDE drive in it.
Input core support: I don’t use USB input devices, so I turned it off.
Character devices: Near the bottom, after Ftape support, there are options for specific chipsets. You can find out what chipset you have by typing the command lspci in a shell. (You have to be root to do this–use the su command if you’re logged in as yourself, as you should be.) This laptop has an Intel 440BX chipset, so I turned off the VIA, AMD, SiS and ALI support.
Multimedia devices: Disable video for Linux unless you have a capture card. Most will disable Radio adapters as well.
File systems: I enable Ext3 and ReiserFS, along with DOS FAT and VFAT (as modules), ISO 9660 and Joliet, NTFS read-only (as module). Under network file systems, I enable SMB since I (unfortunately) work in Windows environments. I disable NFS since we have no NFS servers.
Console drivers: The defaults work for me.
Sound: Since I have onboard sound, I enable sound support and pick my chipset, in this case, ESS Maestro3. I disable all others.
USB support: I have USB ports but don’t use them. I left it enabled just in case, but I’m not sure why.
Bluetooth: I don’t use it, so I disabled it.
Kernel Hacking: I disabled Kernel debugging, the default.
Whew! Hit Save and Exit. Exit X to save some system resources while compiling and installing.

The end result was an up-to-date kernel (2.4.17) that was about 200K smaller than the stock 2.2.19 kernel and boots to a login prompt in 18 seconds flat, as opposed to 45 seconds before. Much of the improvement is due to the 3c590 driver loading faster as part of the kernel rather than as a module, and the kernel no longer searching for phantom SCSI devices. But Charlie Sebold told me it’s his experience that recent 2.4.x kernels boot a lot faster than earlier kernels.

It’s not perfect–I don’t have sound completely working yet–but I found some clues. I’m not overly concerned about sound support though. The system beeps at me when I have mail, and for work purposes, that’s all the sound I need. I don’t see any point in turning my PC into a multimedia tribute to Billy Joel or Star Wars or Quake III.