6/5/2003 Entry

GNU – the organization that keeps giving. I’ve currently got two different projects hosted on nongnu.org. All things given, it’s a lot better service than sourceforge. (Ahhh, sourceforge, home of twelve million dead projects, and a couple dozen of still useful ones.) But that’s not what I’m here to write about.

I’m here to write about the sickening pothole into hell that is autoconf. Autoconf, through some sickening joke, has managed to succeed as the #1 method of building makefiles. It’s used by all major projects, in some form or another. If it’s on GNU/Linux, it’s most likely configured by autoconf(unless we’re talking about X11, the only piece of software that makes autoconf look stylish.) But see, the funny thing is, I don’t think ANYONE quiet understands how Autoconf works outside of the three or four people that maintain it.

I would like to know for instance, why on half the projects I compile, after running configure once, and typing make, configure, for no apparent reason decides that it needs to run AGAIN. Each time running the SAME freaking tests OVER AND OVER AND OVER. I can go through half of them by memory now, from watching compile screen after compile screen after compile screen. Let me think “checking for unistd.h”, “checking whether build environment is sane”, “checking for BSD-compatible install”, and so on and so forth. One wonders if it ever occured to anyone that *maybe* this invention of a hard drive could *somehow* manage to actually store this information for later use.

But, I digress. It’s the very height of fun when installing program xyz-version 5.4.2, to sit and run through the 55,000 different options for this program. Is it –with-x today? Or –with-gtk? Or do I need to do a –enable-gnome? Oh the choices!

Of course, when things go wrong, that’s where the real fun begins. Oh no, the xyz-version 5.4.2 thinks that I have libabc installed in /usr/lib, when it’s really in /opt/kill/me/now/damn/it. Of course, the wonderful configure picked up on the fact that it exists, just not WHERE it exists. I don’t, however, know this immediately. Instead, I have to recompile the program, and redirect stderr(hint for n00bs its >&) to a file, tab through the file, and find the start of a 93 line long list of errors.

Now, if you where in this situation 5 years ago, you would know to take a quick look at the Makefile, and add a few more flags to one environment variable or another. So, you, being the seasoned Unix person you are, first go and pop up emacs(the one thing the GNU people got right), and open the Makefile, only to be suprised with a 50,000 line long monstrosity, with multiple, conflicting environment variables. Upon seeing this gateway to the seventh circle of hell,you of course, do one of the following: A. close the editor and try another piece of software, B. try to edit one of the 53 different .in, .am, .figtree, .bannana, .yoyo files that auto* uses, or C. shoot yourself in the head with a twelve gauge shotgun. Or, you could try to wade through the file, editing the 500 different $LIBS flags, all of which are completely useless except for the one three directories down called $(FOO_BAR_NONSENSE_NAME_VARIABLE), only to discover that having found the proper variable, FINALLY, running make this next time causes “configure” to rerun and trash all that hard work. Of course, you forgot to write down the file/line number or name of the variable, so you start the wonderful search all over again.

Let’s be honest. People don’t write configure.in files, they either A. use a tool to generate it, or B. copy them from someone else. What else would explain the same five errors that happen in all the programs that use autoconf. Finding documentation is even more of a challenge, you are left either purchasing a book(which will be out of date), reading an ancient howto(most of which doesn’t work properly), or wading through the even more wondrous “info” tree. It doesn’t help matters that the “info” tree seperates things out into 4 different packages, requiring you to flip from one to the other, to figure out why your configure.in is causing your makefile.am to puke when run through automake.

I’ve come to the conclusion that the auto* tools where designed by Satan himself in an attempt to drive me into a slow and deliberate madness. The sad thing is, I think it worked.

4/28/2003 Entry

Python really is a language that grows on you. Several months ok my general reaction to python was something along the lines of: indention based blocks? ick. And I refused to even take a look at it.
Then, I started working on a project where the easy integration of a scripting language was invaluable. Looking at all the various languages out there: perl, php, even some basic interpreters, I found python by far to be the easiest to integrate. My general idea was, the scripts don’t have to do anything advanced anyway. Now, after lots more work on same project, almost half of it has been written in python. (The other half is in straight C.)
Now, I’ve completed several midterm projects entirely in python(including a particularly nasty project in Statistics), and I have no doubt that several different aspects of python(functional programming lambda, nice statistics package, etc..) helped greatly.
The users on Freenode, #python where a great help, and the developers more than interested in listening. Keep up the great work guys. 🙂

9/2/2002 Entry

Finally, I’m back on the air! It’s been a long bumpy ride, and unfortunately, I wasn’t able to stay at the old domain, or host, or keep the old hard drive archives, (or pretty much anything). What happened? Well, let’s just say that a certain hard drive decided to have a nervous break down, and nrrds.com is now no more. So, this new page is now at a new host, where I have complete control. Remember folks, pay service in your name is always better than being hosted by someone else, especially when your a rather small site like this.

The downside of this, is that I can no longer offer Crack.Com’s original archives on the webpage, which many people downloaded. I’m considering what to do with the zip files located on my HD. If you are really interested, e-mail me, and let me know, and I’ll see if I can’t set up a 1x transfer, or perhaps a paypall/burned CD thing could be done.

The upshot of all this, is I’m going to expand the old SDL tutorials into something a lot more interesting, as well as host a couple software projects here in conjunction with sourceforge – more on this to come. If you are still interested in the distro, THIS IS THE PLACE TO WATCH.

The SDL tutorials are in the process of being edited to a brand new format, with better formating, and a lot more clarity. These will form the main thrust of the textux.com site launch.

Thanks for the e-mails guys, and I hope that things get going again, REAL SOON NOW. 🙂

5/17/2002 Entry

Long time, no updates. Well, lots of news for here.
First, I quit my previous job. I left amicably w/ the company, but I doubt I would ever want to work there again. I have started working again on all of my pet projects. Most notably Fluid, Sasteroids, and the Linux distribution. (Fluid is going to be really Nifty for all of those X people out there.)

Finals are over, and I now have my grades, which means: I GET TO HAVE SOME TIME OFF. It’s about time too. I though I was going to go mad. I’m chillin right now, but I’m also working on a couple new articles(living with Xinerma, and an entire new bunch of SDL tutorials.)

For those that noticed, the past week or so, I’ve had my articles page here instead of the news. Quiet simply, I accidently overwrote this page with a school assignment(topic/etc.. not chosen by myself), sorry to everyone that showed up here and got confused… 😉

4/3/2002 Entry

Finished site updates today. Now that I’ve finished some site updates, managign this place will hopefully be a lot easier. Meaning, more news updates. More tutorials. More distro stuff getting done. I’m now using CSS, among other other things – and, things are still optimized for lynx. Hehe.

I’ve started some work on perlizing this site. And I’m getting another few tutorials finished up. Stay tuned.

3/18/02 Entry

Sorry about the recent errors in the tutorials, you try to fix one thing and ten more seem to pop up. Apparently google has spidered this page(rather unexpecatedly, I might add) before I was fully ready to unviel the SDL series – my fault for putting them up. All is good now, as I believe I’ve found all the errors in the first one, and am on the lookout for people visiting now. Thanks to everyone that emailed me encouragement to continue the series – I plan to, although a bit more carefully. I don’t want to spend my life editing tutorials instead of writing them.

I’ve gotten a bit bored with the site look and layout, and since I plan on posting a couple new projects, expect to see some changes shortly. I’ve started moving toward generating all these pages via scripts(but keeping them static on the server), to make editing news, and adding tutorials a bit easier. The next set is in the works, but after I put them up(there are 3 more), I’m going to take a timeout to make this site a bit more managable – in addition to reformating the older tuts.

Distro news, not much new to report here, except that I’ve decided I hate RPMs. I hate that the LSB requires RPM compatibility. SPEC files are the devil.

2/26/02 Entry

I’ve gotten true type fonts working with XFree86 and KDE3, antialiasing is disabled in the shot though.

Big structural changes in the distro going on, HaX and I are busy at work trying to get things setup for a wide BETA, and trying to get other things setup for current Beta testers.

I’m working on setting up a NICE set of default fonts, an area that Linux is sometimes (needlessly) lacking in. The fonts running in the screenshot are in general toyfonts though. Hehe.

On the tutorial front, I’ve been pretty busy lately, but tuts 4 and 5 are on their way, so keep an eye open.

2/14/02 Entry

Evil_Messiah has been kind enough to provide the distro with an uber-l1337 background. (I’ll be updating the screenshot on Saturday.) HaX and I have launched mission make Linux usable for real.

Next, I’m busy trying to move these pages over so that they are all dynamically generated. This will not change anything here though. This will allow me to update these pages a bit more regularly.

I’ve started work on an SDL tutorial that will eventually cover all of SDL. The first 3 installments are up right now. I’m currently working on the fourth(alpha blending and color keying).

More distro news. We are currently moving to RPMs and trashing our own system. We’ll be handling the move in what I feel is an interesting and easy to manage way, but we are still doing it. This does NOT mean we are basing our distro off of RedHat or any other – look at SuSe vs. Mandrake. Both use RPMs.

This series of structural changes to the distro, started with my original base-redo, has definatly been for the better, albiet they were all very time consuming, and frustrating. To respond to gcc-3 concerns: yes, gcc3 is by default the default compiler. Yes, it’s possibly to revert to gcc-2.95. This does not mean that everything is compiled with gcc-3, or even most things. Just enough for compatibility, and those items which are stable, secure, and tested with gcc-3 are being compiled. (This means the kernel/glibc aren’t getting 3’d.)