A day of catching up

I might finally have reliable DSL. Gatermann and I spent a good part of the day cleaning up my phone wiring. The wiring appeared to have been done by someone who couldn’t make up his mind how he wanted to do it. Seeing as I had two jacks that didn’t work anyway, and I own exactly three telephones plus an answering machine, we pulled out a number of the runs altogether (the wires are still there, just not hooked up at the box). And we cleaned up some oxidation that had shown up on some of the lines that were there.
My DSL connection does seem to be more reliable as a result. We’ll see in time how it turns out, but I know the brief storm we had tonight would normally knock me off the ‘net, and I haven’t fallen off yet since we did the work.

We also rebuilt a system. I’ve been intending to rebuild this one for some time (I pulled the case out of storage months ago) but never got around to it. Anymore, it seems like it’s a lot more fun to mess with other people’s computer projects than with my own. Anyway, we pulled out the system that served up this web site up until about a year or so ago (a Celeron on one of the last of the AT motherboards, a socket 370 job from Soyo), removed it from the old Micron case I’d put it in, and we put it in a monster server case, a former Everex 486/33. It’s a really good-looking case–battleship gray with black drives. And it’s built like a battleship too–very heavy gauge steel. It was pretty funny when we pulled out the full AT motherboard that had been in there and installed the Soyo, which is even smaller than what we used to call baby AT. We installed my CD-RW and DVD-ROM drives and a few other bits and pieces, and… an ISA video card. Yes, I’m sick. I was out of PCI slots and I loaned the AGP video card for the system (a Radeon 7000) to Steve last week and won’t be able to meet up with him to get it back until Wednesday at the earliest. I am half tempted to go ISA for either the sound or network card for the time being in order to free a PCI slot for an Nvidia Riva 128 card I have kicking around. It would be a big improvement. The screen writes remind me of BBSing; the text comes onto the screen at a rate somewhere between what I remember 300 bps and 1200 bps looking like.

But then again, what I want this system for (primarily) is to do things like burn CDs, and I don’t need superfast video for that. And I don’t know that I’m going to be burning anything between now and then.

Yes, I know, catch-up days are terribly exciting to read about.

But somewhere around here I think I have some stuff I wrote last week and never posted. I’ll have to see if I can find it to post tomorrow.

How to remember lots and lots of stuff

I’ve been slogging away in nostalgiaville, writing obscure stuff over at Wikipedia again (once an addict, always an addict, even if the addiction hurts you), and I started wondering about something. Why is 20 years ago easier for me to remember than last week?
I think there are two reasons for that, but if I go off exploring those, I’ll never get back on track. I stumbled across a web site today called Supermem. It extols the virtues of repetition for memory. It’s really heavy reading and not terribly eloquent, at least I don’t think. I think the author’s strategy is showing off how much stuff he can remember and trying to make you jealous, in the meantime arguing that even ordinary people, given enough knowledge, can become geniuses. And maybe the people he cites in his stories are examples of people who became geniuses through knowledge.

And I’ve mostly summed up what he spent pages and pages saying.

The basic premise is that knowledge isn’t everything but it sure can add value to anything else you have, and from the outside, sometimes knowledge can look like everything. But we forget lots of things. The key to remembering things is repetition. The hard part is coming up with a strategy for repetition that works.

Of course he has a solution. As you might have guessed, he wants to sell you something. In this case, it’s a piece of commercial software.

The only reason I didn’t scramble for the back button right then and there was because old versions of the program–specifically, the DOS and Win3.1 versions–are now public domain. And the program inspired a similar Linux program called Memaid. So you can try it out without spending any money.

So here’s how it works. Take some things you don’t want to forget, then figure out how to phrase them in the form of a question. Then you enter those things into the program. It drills you. And it figures out how often you need to repeat something in order to retain it.

The idea is to establish a pattern. Seek out things you won’t want to forget. Then figure out how to restate those things in Q&A form. Enter them into the program, then spend 30 minutes a day with the program. If you do both–learn at least one new thing every day and drill on the old stuff–you’ll accumulate a body of knowledge.

Here are a couple of examples from my job:

Q: What’s the optimal Linux command to create/write images of floppy disks? (The device name will vary in other Unix-like environments)
A: dd if=/dev/fd0 of=(filename) bs=18k
dd if=(filename) of=/dev/fd0 bs=18k

Q: What’s the DOS command to rewrite the boot record on a hard drive that won’t boot or has been corrupted by a boot-sector virus?
A: fdisk /mbr

Q: What’s the web site I can go to in order to find the geographic location of an IP address?
A: www.networldmap.com

And I would do well to add some specific questions to the list as well, such as, “What’s the primary nameserver at our Sunset Hills office?”

So if you want to sound like William F. Buckley Jr. and not come off like an idiot–like one person I know who likes to pepper the dictionary.com word of the day into everything he can, except he frequently misspells or misuses it–add that. If your goal is to lose as many coolness points as possible, put things like Vanilla Ice’s real name in there. If I’d known about this program when I was in college, I’d have put my Spanish vocabulary words and verb conjugations in there, and today I’d be able to say more than just hablo pocísimo español without embarrassing myself. (And for all I know, you’re not supposed to put the -ísimo suffix on poco and when I do it, I come off like someone who would say no sabo. OK, so I guess I do remember a little Spanish, but not enough to hold much of a conversation.)

It’s an interesting idea. I think I’m going to give it more than just a try.

Putting every question I ask Charlie (along with the answer) in there would be a good start.

Accessibility: God, the computer field, and me

I got a comment on the site here today that I was going to repeat verbatim here, but I realized it was basically asking three questions, so why not just ask and answer the three questions?
They were, in no particular order, how do I hear from God, how do I get into the computer field, and can I hear back from you?

Last first.

Can I hear back from you? Well, that’s what this is. My question is what’s so special about me? OK, so I’m a book author and I’ve got this Web site that gets tons of comments from lots of different people and has lots of content, some of which might be readable and helpful. There’s nothing more special about me than there is about your next-door neighbors.

I’ve done the same thing, even recently. I met a girl who seemed larger than life. Her field is in an area I admire and have no particular skill in. It seemed like you could take every woman I’ve ever admired, whether I knew her or not, combine them, and you had her.

Eventually she turned out to be a human being with hopes and dreams like me and fears and doubts like me. Still incredibly talented and incredibly likeable, just not superhuman.

Really, if there is anything that makes she or I seem more special than the average person, it’s that God has given us gifts and has helped us to identify them, refine them, and use them to something approaching their potential. Sadly a lot of people never recognize and utilize their gifts. But our passions are a clue. Chances are if you love something, you have some kind of gift in that area and you should explore it.

That’s the reason why I write. It makes me very little money but hopefully it helps somebody, and I know if I don’t use that gift, it will fade away. Which leads us to:

How does someone with little formal training get into the computer field? I don’t have much training in computers. I took a couple of programming classes in college. In an emergency I can program a little in C. I started fixing computers because I couldn’t find a reputable place to take a computer to be fixed when I was a teenager. When I’d take it to the local shop, they’d charge as much to fix it as it would have cost to buy a new one. So I figured I might as well try fixing them myself. At best, I’d save money. At worst, I’d have to buy a new one. Either way, I came out ahead. So I’m self-taught. I’ve been using computers since I was 7 years old, so I’ve been using them nearly 22 years. I’ve been fixing them since I was 15, so in two years I’ll be able to say I’ve been fixing computers for more than half my life.

I know there are lots of promises out there about making huge salaries working from home and being your own boss. I’m not the fulfillment of that. I don’t telecommute and neither does anyone else I work with.

This web site doesn’t make back the money I sink into it–it’s strictly a hobby–and my book made me less money than a part-time job at the White Castle down the street would have.

Occasionally people looking for second careers ask me for advice, but I can’t provide a fast track into the field. My recipe works if you can afford to spend years messing around and learning how to do stuff. That doesn’t describe most people.

So I always end up asking another question: Why computers? Finding IT jobs isn’t really any easier than finding any other kind of job right now, at least in St. Louis. If it’s easy where you live, my suggestion is to enroll in the local technical school, figure out what area of specialty interests you, get the closest certification that matches it.

One of my coworkers went through a career change about 15 years ago. After teaching music for almost 20 years, he left that profession and took an entry-level computer job. He actually took a pay cut to do it. He recommends a book titled What Color Is Your Parachute? I’ve never seen it or read it, but he says it’s in most libraries. It’s designed to help people find and get started in a new career, and, most importantly, to find the right one for them. The right career for every person is a little bit different.

So let’s talk about something more absolute.

How do I hear from God? Let me draw on another recent experience. Two people were trying to solve a problem. Both of them realized it wasn’t possible without God’s help. One of those people was me. I knew what the end goal was but didn’t know what it looked like. I prayed, asking God to show me. The next morning, I woke up with a specific Bible passage on my mind.

That was nearly two months ago. I still haven’t found exactly what I was looking for then, but I have found a lot of things that more closely resemble it. God is showing me the way.

The other person prayed, told God about the intended course of action, and and basically told God if He wanted a different course of action, to give a sign or something. The next morning? Dead silence.

I remember when I told this story to my friend Wayne, from my Bible study group. He chuckled and said, “That’s normal!”

This perfectly normal silence was interpreted as affirmation, which it may or may not have been. God sets His own deadlines and isn’t terribly pleased when we try to set them for Him. Or, as my friend and coworker Charlie often quotes: A wicked and adulterous generation demands a sign. God’s been trying for 2,000+ years to wean us off of signs and wonders.

God communicates to us primarily through His Word. While I do believe there are prophets today, I also believe they are very rare, and I know I don’t want the responsibility of that gift and I can’t imagine any sensible person wanting it either. God tells us that a prophet will never contradict His Word. So we can look for prophets for answers or seek to become one ourselves and we can search God’s Word for affirmation, or we can be lazy and just look to God’s Word.

Charlie told me about a conversation he had a few weeks ago. He spent half an hour beforehand reading some relevant passages from the Bible. At some point in the conversation, she asked if he’d heard anything from God about her specific problem. At that point I interrupted. “As a matter of fact, you did. You heard from Him for half an hour straight just before she called you!”

I recommend reading the Bible every day, although I have to admit I often miss a day. Bible.crosswalk.com is a Web site that divides the Bible up into three daily readings that will get you through the entire Bible in a year’s time. Frankly it takes me longer to read my morning work-related e-mail most days than it does to read a day’s worth of scripture.

There are other ways to immerse yourself in God’s Word. Find a church. Visit lots of them. Hopefully you’ll eventually find one where you’re comfortable and become a member and attend every Sunday and get involved. Even if you never find a church where you’re totally comfortable, try to go somewhere every Sunday that you are able. I’m constantly amazed at how God uses other believers to speak to us.

If there’s a Christian radio station where you are, listen to it occasionally. Find a Christian author or three to read. (A lot of people find Max Lucado very understandable and helpful.)

The idea is to open as many channels to God as you can. The more we do that, the easier it is to “hear” Him. But often we don’t hear Him so much as we see His guiding hand in our circumstances.

These are the things I wanted to tell this other person but never got the chance to. Hopefully they’ll help you or someone else.

An easy, low-budget CMS

I have a friend who wants to set up a Web site where he and a couple of other people can post articles. The easy way out is to just set up a blog for them, but I don’t really like the blog metaphor for their site.
I found Hotani on Freshmeat this morning. It doesn’t even come close to giving the functionality of a full-blown CMS like Zope but it handles the basics: You feed it text, and it feeds it into a consistent-looking Web site with links to the rest of your content.

More on building under a small Linux environment

Well, I’ve been playing a little bit with Erik Anderson’s uClibc-based development environment mentioned in the previous two posts.
When I compile, I issue the command export CFLAGS='-Os -s -mcpu=i386 -march=i386' to create small-as-possible binaries. Using the default flags, the Links web browser balloons to nearly 2.6 megs on my dual Celeron, mostly due to the debug symbols. It drops to around 760K with those options. Specifying i386 binaries shrinks them down at the expense of some speed on some CPUs (especially 486s and first-generation Pentiums), so you have to set your priorities. It doesn’t matter nearly as much on newer CPUs. But I’m pretty sure if you’re interested in uClibc you’re not just running it on Pentium 4s.

For the record, Links compiles without warnings without doing anything special to its configuration and seems to run without incident (I immediately used it to locate and download more source code to compile). Samba’s more difficult, giving some warnings in various places. It may or may not require some special configuration in order to actually run (I didn’t have time tonight to test it), and of course that could result in some reduced functionality. The binaries total 9.3 meg, which isn’t bad considering it implements a complete Windows NT-compatible file server as well as some simple client utilities for connecting to NT shares on a network. The files themselves are about 20% smaller than on a stock Debian system.

Erik Anderson says the majority of Unix software will compile under uClibc, which is probably true. I generally see compiler warnings occasionally even when using a completely mainstream system.

So there is a uClibc-based Linux distribution

I think I found just what I needed. Somehow I overlooked it before. Right there on Erik Anderson’s uClibc page, near the bottom, there’s his uClibc development environment. What is it? A Linux distribution based on his uClibc, busybox and tinylogin userspace in addition to enough GNU tools to compile other stuff. If you don’t want all 150 megs’ worth, download his makefile and uncomment just the stuff you want.
It’s not a general-purpose Linux distribution. It’s intended as a development environment. But besides that, it would be perfect for running on a low-end PC, like a 386 or 486 laptop. You get the benefits of a modern kernel and a modern, in-development libc, but with everything designed to lower memory consumption. On an older PC with a slow hard disk, that all translates into better performance.

Now I’m not sure how much of a GUI you get, but frankly, an older laptop, especially a network-capable one, with this stuff and the excellent Links web browser, the machine would be useful. If SVGAlib and the SVGAlib-capable version of Links compile, then you could even have a graphical web browser on a low-octane machine. Wouldn’t that be cool?

A tiny Linux server distribution? Maybe?

OK, so we’ve been talking about NAS boxes at work. NAS (Network Attached Storage) is a simple server appliance. Plug this thing into the network and you’ve got an instant file server.
Problem is, they’re not that much less expensive than a file server, if at all.

Now, file serving isn’t a particularly CPU-intensive task. Put some decent-speed disks in a box with a simple CPU and some memory, running an embedded operating system, and you’ve got a NAS box, right? Sounds like a perfect job for Linux, right? And you can stuff a minimal Linux into 8 megs of disk space and save the overwhelming majority of your disk space for real work, right?

Well, I asked Charlie if I was completely crazy or not. He didn’t seem to think I was completely nuts. He did ask if I checked to see if anyone’s compiled Samba against uClibc, the alternative libc I was talking about using. I know one person has gotten Samba 2.2.8 to compile against a recent uClibc.

And I even found a project that downloads and compiles uClibc, TinyLogin and Busybox, essentially giving you a complete Linux environment in 600K of disk space, not counting the kernel. And it boots very quickly, even off a floppy. The only problem is that its tools are set up for the ancient Minix filesystem.

Charlie didn’t think running the enterprise on the Minix filesystem was one of my brighter ideas. Maybe I should be glad he didn’t tell me exactly what he was thinking.

Well, getting the system up and running with JFS or XFS probably won’t be much of a problem. Those filesystems are enterprise class if anything ever was.

I had difficulty getting Samba to compile though. I forget the exact error message I was getting.

I may have to opt for the uClibc-based Linux from Scratch, since it’s being actively maintained. That’ll be a bit more work.

I suspect it’s possible to get this combination of tools to work together though. I can’t imagine Quantum is running its Snap servers on Red Hat. I’m sure they’re using uClibc and other embedded tools in conjunction with Samba.

The question is how much more time I want to put into it. If indeed I ever get more time to put into it. The surprising thing to me is that nobody else has built and released this.

Time for more potshots at SWBell

I’m sorry the site’s been down. My DSL modem has been really bad about picking up a signal and even worse about holding on to it when it finds one. Out of desperation I unplugged my Speedsteam and pulled out my old Alcatel that I had in my apartment. The Alcatel didn’t see a signal at all. At least the Speedstream usually saw a partial one. So I pressed the Speedstream back into duty.
But it’s been reliable for the past 7 hours, which must be some kind of record.

Bell swears the Speedstreams are completely reliable and the old Alcatels were junk. I never had problems with my Alcatel, and as far as I know, neither has Steve DeLassus.

I suspect some of the problem is my wiring. The jack in this room was wired sloppily and cheaply with what looks like doorbell wire. Half the jacks in the house never worked at all. I think I’ll have to get a friend to help me pull some CAT5 in here soon, and wire the jacks properly.

I know the phone in this room doesn’t work all that well. I remember the couple of times I’ve dialed up from here, I’ve gotten really low connection speeds, like on the order of 33.6 or lower. I could almost always get 53K from my apartment, less than a mile away. But my apartment had pretty good wiring. (Good thing, because about the only other thing that place had to offer was four walls and a roof.)

Meanwhile, hopefully the site stays reliable. I’ve got the MTU on my web server set below 1500, which fixes the other connectivity problems we’ve had.

And barring all else, maybe I’ll just move my equipment into a different room. But I hope it doesn’t come to that.

An author reflects on publishing

Last week must have been the week for writing and publishing questions. I’ll be honest: I don’t know much about publishing successfully. And I think the advice I’ve dispensed over the years has done a lot more to dissuade potential authors than it has to encourage them.
Someone asked me last week if I would write full-time if I thought I could make a good living off it. That’s an easy answer. Absolutely. So I guess it’s telling that I have a regular 40-hour-a-week job with a salary and benefits and three bosses.

The downsides of writing: Nothing is certain. There’s no way to know how many copies a book will sell, so there’s no way to know how much money you’ll make from quarter to quarter. There’s no way to know if you’ll have steady work. Steve DeLassus was telling me about some book proposals someone else we both know is currently pitching. This other guy said the publisher was really excited.

To me, that’s like getting excited because that young, single and attractive girl who just started in HR smiled at you as she passed you in the hall. Just because she smiled doesn’t mean she wants to marry you. A publisher’s excitement about a book proposal is worth less than the change in your pocket. The change you have in your pocket is certain, and it already belongs to you.

Publishing a book is a long road, like dating. It’s so much like dating that I almost started referring to Optimizing Windows by a girl’s name while I was writing it. I nixed that when one of my friends told me that was too weird and psycho. But think about it. Finding an idea is like getting interested in a girl. Finding a publisher is like asking a girl out. You probably get more rejections than you’d like. And maybe you ask the same one more than once. Writing the book and getting it to press is like the dating and engagement process. Hopefully you’re both excited and both working hard. But it’s sunk if either one of you gives up. Halfway through my second book, my publisher pulled the plug on it. A contract is no guarantee.

So, how do you pick a publisher? I wish I knew. I’ve worked with good ones and bad ones. The very best one I’ve worked with, by a long shot, is Dennis Publishing, a British magazine producer. But that’s magazines, not books.

An agent can help you find a publisher, but the agent doesn’t necessarily know everything, and the agent’s best interests may or may not be your best interests. Sometimes they are, but sometimes no. At times while I was writing my second book, I felt like both my publisher and my agent were taking advantage of me. I absolutely hated answering my phone.

But if you don’t have an existing relationship with an editor somewhere, it’s definitely much easier to get in the door with an agent. An agent, after all, knows the industry much better than most authors do, and has contact with a larger number of publishers and editors. The agent may even be able to call in a favor to get you noticed. And agents are typically always looking for new authors, whereas most editors would probably rather be doing other things and are more likely to listen to an agent than a wannabe writer. After all, if the writer is totally worthless and the idea is totally worthless, the agent has better things to do.

You may decide later not to use an agent. I don’t use one to do magazine gigs. There, you’re usually dealing with flat rate per-word pay, so it doesn’t make any sense to pay an agent 10% to firm up non-negotiables, especially in my case when the editor had already made all of the terms clear and was also making it very clear that he was eager to work with me.

But if you’re asking questions like what publishers would be best under specific circumstances and who would be the most likely to promote your book, you need an agent.

I’m not an expert. I signed two books and published one of them. I’ve published a number of magazine articles. I guess the most valuable thing I have to say is that most people need an agent but should be careful.

Hopefully my thoughts are better than nothing.