Jim’s Ongoing Linux Adjustment

I’ve got my Linux box online again. Actually, it wasn’t so much offline as painful to use by anyone who doesn’t enjoy the command line. As somcone who uses command line almost exclusively at work (for system administration, anyway. Not web page design.), this doesn’t bother me too much.

That being said, I do like a gui for certain things (cd burning, for example).

Currently, I’m running Mandrake Linux. I’m not sure how long this will last, but it has been good overall. One of my pet peeves with Unix has been having to mount cd’s and floppies. Mandrake just detects them. I like that.

On the other hand, I still don’t have sound and it didn’t automatically detect my thumb drive. In that sense, it’s no better than any other flavor of Linux/BSD. And of course, it doesn’t have the same ease of upgrade as Debian (if you’re not willing to pay).

So, I guess I’ll evaluate it for a few weeks and then see if I want to switch to something else. Of course, if I put lots of master’s project related material on it, I may want to just stick with it rather than move my files around.

We’ll see.

Oh… For what it’s worth… My master’s project appears likely to be a peer to peer based search engine. I’ll explain it later.

You’ve Got Spam

I’ve been using Mozilla for web browsing since I finally got computers fast enough to run it last year.

One of the great features I’ve come to enjoy is the bayesian spam filter. Basically, the mail program comes to recognize what you regard to be good mail and what you regard to be junk mail. The junk appears briefly in your inbox and then disappears almost as fast, only to be seen again if you have a morbid curiosity about what sort of pills, really cheap software, and male member enhancers you’re missing out on.

It manages to catch almost everything. I get a couple bits of spam a day–and these are easy to remove. Just click on the recycle icon and it leaves my inbox.

One thing irritates me about it though. I’ve got my mail program set to check and download regularly. This is great except that I sometimes look down, see that I’ve got a new mail message, check my inbox and find…

Nothing.

It was spam. It was removed. But I still have to open my mail program in order to learn something I didn’t want to know about.

So, if there are any Mozilla programmers reading this… Could you please make it so that spam doesn’t activate the “new mail” signal?

No New Entries?

I’ve been neglecting this blog a bit.

The end of the semester nears and I’m trying to finish a class project, arrange an advisor for my master’s project, and somehow handle work.

Work, at the moment, is the biggest concern. The place that I work (GRACE) runs a yearly conference called “Summit on Racism.” This results in my working days becoming longer.

Basically the idea of Summit on Racism is to bring together people in the community to work on the problem of Racism in Grand Rapids, MI not for just one day, but throughout the year. We’ve got representatives of many of the major businesses in Grand Rapids attending (and in some cases sponsoring) the Summit plus people from local government.

This year though, the registration was an online php based form.

One observation about online forms… Putting everything online is much cheaper for the organization in that you don’t end up printing and mailing 6000 booklets, but rather mail one small post card and take care of everything that follows that postcard via email or a web page.

It means that you no longer have to puzzle out some truly atrocious handwriting (not that I should complain). It also limits the people who can easily attend to those who have access to a computer.

In years past, we’ve occasionally had some interesting individuals register. One person called himself “Designer Corsair Switzerlord.” He wrote “Volunteer Lake Dweller” in as his organization.

I do not know what this was supposed to mean.

One of our staff asked him, but as I understand it, the reply was not entirely rational and involved a number of people who were forced to live in a lake (merpeople?).

Alas, we’ve had no people like that this year. Online registration makes it harder for random individuals to just come upon the conference.

In any case, I look forward both to the conference and look forward to the end of it. I need to lower my level of stress.

Descent into Xfree86config Hell

So lately I’ve been using my XP box a lot due to the fact that the gui for my Linux box got utterly annihilated when I did “apt-get upgrade.”

A word to the wise: If a computer asks you whether or not you want to do something, read it first and don’t reflexively click “y.”

Bringing X back from the dead has turned out to be impossible (or at least very hard). Ed, the person who initially got it working, was unable to do it a second time.

Owing to the fact that my hardware is pretty common, it seems likely that a different installer would do a good job. Debian has one of the worst installers of a major distro. That being said, they’ve got access to Anaconda, one of the better installers. So I looked into that.

Installing it on Debian via anaconda proved to be a major pain–not due to anaconda, but because the necessary files were not available for download via apt-get install.

So, I’m installing Mandrake. Mandrake’s got a good installer. And once I get everything working the right way (via automation rather than heartbreaking frustration), I will have a config file that I can use on Debian. Or Freebsd. Or whatever Xfree86 running unix-like OS, I choose.

And I will guard it with my life.

Lynx

One of the hazards of Linux is that bad stuff sometimes happens when you upgrade.

For example, I’m currently typing this from Lynx due to the fact that XFree86, the gui for Linux, no longer works because my configuration file was destroyed.

This is more bearable that I’d have expected, but there’s much to be said for gui’s. For example, as I’m typing this, I can’t see the entire line I’ve typed, making it hard to tell what I’ve written.

Seriously folks, I’ve got to get a Mac one of these days…

Programming Assignments

I’m currently working the graphic user interface to the file sharing project I’m doing for my distributed systems class.

I have six stages to doing programming assignments:

1. Avoidance: In which I make a half-hearted beginning and then avoid thinking about the assignment. It can also mean that I’ve stopped thinking about a particular feature and decided to work on something else.
2. Panic: The point at which I realize I should be further along than I am.
3. Research: I realize that I don’t know how to certain things so I check out the associated API’s. I then know what approach I’m going to take.
4. Joy: I start moving along on the assignment and remember what I love about programming–constantly overcoming obstacles.
5. Frustration: I hit small details of the program that despite my best efforts just aren’t working.
6. Finish: Programs, like poems, aren’t so much finished as abandoned. Despite a kind of latent perfectionism, I do realize that the finished program does not have to have every single bug worked out. Some can be left for later–or never if the prof doesn’t care about certain features.

I don’t always do this all in a row. I think that I actually repeat all of these stages for every major feature in a program.

Avoidance is a useful technique when I hit a particuarly annoying problem and become frustrated. Sometimes the solution hits me while working on something else. Sometimes it doesn’t, but I’m always more likely to solve the problem when I’m not frustrated than when I am.

Anyway… Back to programming…

Test Tomorrow

I have a test tomorrow in my database class.

In the prof’s infinite wisdom, I also have to hand in an assignment. The good news is that the assignment helps understand material that will be covered on the test. The bad news is that while I did start the assignment on Monday, there are still a few sql problems to finish for tonight.

Thus, I am working on sql that allows me to find such useful things as which sailors have ever served on a blue ship, which a red, and which have served on both. Or neither.

I am currently finishing the last problem. It involves finding the longest ship the sailors in the database have ever served on.

Hmmn.

This could be evidence of a not unusual fixation among some men or it could be an attempt to find out if we will know to use the MAX() aggregate function.

One of the two.

XML

Owing to the fact that XML is constantly used in distributed computing, I should probably be more interested in XML than I am.

Ed directed people to an article that seems to seems to indicate that RSS doesn’t always adhere to the standards of XML and there’s some risk that this may become a de facto standard due to use.

I should probably have understood more of the article than I did. I’ve recently survived 2 three hour lectures on XML. That being said, I haven’t used it very much.

All I can say is that I hope RSS adheres to the real standard. The less confusion the better.

I am an Idiot

So anyway, I’m working on the form for Summit on Racism registration.

While I’m working on the form, I have an idea. This is not unusual because I am constantly having ideas. What is unusual is that in this case, it directly related to the project I was working on.

Here’s the observation:
1. The form that we’ve created allows one person to register at a time
2. The form requires a person to register for Summit by means of a credit card.
3. We always get say 10 or so registrations from certain places that are clearly all filled out by the same person. Plus, that person may not be allowed to register by credit card. Company policy may require a check.

So, I mention this to people in charge, thinking that I might be over-analyzing things.

They don’t think I’m overanalyzing things. Instead, they agree with me. Worse, they agree with my solution–creating a new form/script that allows a person to register multiple people for the same address, allowing large groups to do write a check instead of using a credit card.

Can I work extra hours to finish this by Monday at noon? The weekend if necessary?

Ack.

I sure hope it isn’t necessary. If it is, Kristen will be rightfully cranky. Happy Valentine’s day… Have fun at the restaurant… alone.

PHP/MySql

Despite my better judgement, I kind of like PHP and Mysql for building small web applications. Not sure what I’ll think if I ever have to build a large one, but for small apps, it works pretty well.

I really don’t know PHP. At the moment, I’m relying on general knowlege of programming to get me through. Basically, if you know how to program in one language, you can program in almost anything due to the fact that certain things are pretty common (loops, recursion, data structures).

I’m currently working on a small database that supports a conference registration form for work.

With only a few hours effort (and little PHP experience), I’ve been able to set up a database for registration information and I’m fairly far into figuring out how to pass user information to Paypal so that someone doesn’t have to type their name and address twice.

I like the integration between PHP and Mysql that makes dumping sql into the midst of things fairly easy–not to mention handling sessions.

Anyway, I know there are problems with PHP, but they don’t show up in the small amount of work that I’ve done with it. That being said, I may be singing a different tune if I accidentally use register globals and broadcast everyone’s information to the world.