Got a 100 base network card in the mail today. Now my home LAN is 100% 100baseT. Real good for those Samba transfers. I'm trying to make a new kernel now with the latest drivers from scyld.
Made a release to my Email Reminders the other day. It was fun hacking the calendar code.
Made a screenshot. It's a 2560x1024 image. Dual head is nice. :)
It's so hot here today. My gkrellweather told me it got up to 96 F. So I'm heading to the pool in just a few moments.
Work related, I've been working heavily on an e-commerce website that sells books only about fishing. It's probably the largest project I've had and it's been great fun. The database is huge and we've had to build import and export utilities, big search routines, using both Perl for some stuff and PHP for most of the embedded HTML stuff. It's been fun.
'=' now ranks just under '*' as the coolest single character Vim operators. The Vim book is teaching me much needed Vim stuff.
Phoon : Estoy estudiando español tambien, pero para mi esposa bonita. And your cert made me go from grey to green, also. Thanks.
ajt : Your 'Question of the day'... It made me think when I read it. And it made me think even more afterwards. Seeing that question here first, then reading it in the Debian Weekly News report, it has now infected my mind to the point that I want to find a bug just to be a good open source user and submit a decent bug report.
I got an email this morning with a suggested patch to a small little PHP script I wrote (It's a PHP/MySQL table viewer script: source). It was cool in that I didn't realize anyone had even seen that script. I updated with his change as it removed an assumption in the code and made an obvious variable assignment. And he closed his email with, "Thanks for great code!". All the way from Yugoslavia.
It is also a very cool thing when you write a developer of a piece of software you use and they respond almost immediately to your questions or requests. Two cases where this happened:
2. I once wrote Alan Cox (alan) regarding a sound driver in a kernel that wasn't working for me. I debugged it as much as I could before writing him so I wasn't wasting his time. I included as much information as I could and included my .config file. He responded the same day with a one line kernel patch that got my sound card working, and that one line change was in the next ac patch and found its way into the 2.2.x kernel. That was way cool.
« EmbPerl »
Got mod_perl and EmbPerl on my test server. Wrote a quick script to see how it works. I think I like it. I'll have to write something much bigger and with databases to know for sure. I need to figure out what DBIx::recordset is all about now. Going from Perl to PHP, using databases was a breeze, although it always troubled me that it was MySQL specific code. Going from PHP to Perl, I've forgotten most of my DBI stuff.
I'm in the process of installing Apache, MySQL, and some sort of embedded perl on a P166 FreeBSD server on the local LAN. Where I work we do most of our web dev with PHP, and I'd like to see the state of embedded perl. I think I just miss perl. :)
Anyone have a recommendation for an embedded perl? The ones I am going to evaluate are EmbPerl and eperl. (There's probably a few more).
Just made a DBI version of the popular 'ren' perl example. Now, I can run a command similar to this to search and replace within MySQL tables:
Some other useful features that I'll have to work on are providing a 'dummy run' -- a mechanism to show the queries, then run it again to actually perform them. Also, it would be nice to be able to pick and choose which rows you want modified and which you don't. Maybe an optional where clause?
In any case, learning more about Perl's command line arguments are in order... Are there pre-built modules to deal with command line arguments? Like differentiating between flags (-dummy) and actual arguments? I'll have to look into that.
I'm excited about this little hack b/c I can already see where it is going to save me lots of time.
Upgraded my server to FreeBSD 4.3 yesterday. It turned into a nightmare. :) To preface... I'm no FreeBSD expert, as you'll see. I was born and raised on Linux. I decided to use FreeBSD as my web and mail server because that's what they use at work, and I wanted to learn a different flavor of *nix.
A few things broke bad:
1) I decided to try the upgrade w/o using the boot floppies. I went into /stand/sysinstall, updated the 'version' name to 4.3-FreeBSD, and selected 'upgrade'. It seemed to be working fine but didn't seem to put the kernel in the root directory correctly -- I noticed this upon reboot when the kernel version still contained 4.2 in it. Being that I felt like I only knew half of what I was doing, and was feeling uncomfortable, I decided to upgrade via the tried and tested method of using the 4.3 boot floppies and selecting the 'upgrade' option. I dd'd the floppies and I was on my way. This one seemed to work much better, and was staying in line with the reality that I had hoped for. Until...
2) I rebooted to find that the upgrade had deleted my /var and replaced it with a new directory structure. I keep my mysql tables in there, and noticed this when the mysql server wouldn't start. Luckily I made a back up and just had to untar it in /var/db. Is this normal?!
Most everyone at the office was leaving -- Friday evening makes people want to do that. So, after a while of poking around and making a new kernel, I was satisfied that things were running smoothly and went home to poke around some more. Bad idea. I should have checked to see if I could ssh into the box first. The list of things that broke bad increasing to ...
3) the new version of SSH that got installed is now PAM enabled, and my /etc/pam.conf didn't know anything about sshd, so I couldn't log in from home. "Not that big of a deal," I thought, "I'll just go back in the morning and fix it. In the meantime, I'll read some of my email." Hmmm.
4) Thanks to logcheck, I received notice that other MTAs were trying to deliver mail to my hosts, and were getting rejected with a 'Relaying denied' message. So now my mail configuration was bad. That's another thing I should have checked -- make sure my /etc config files looked okay. It seems that maybe during the first attempt at an upgrade, it didn't completely re-create my etc config files. The 2nd time around, these got re-created to be the half re-created files they were before. (I think).
In the end, I got back to my server, patched things up in about 20 minutes, and now everything is nice. And I happily updated the following:
I'm still curious about /var getting wiped out. Now /var/db/pkg is a clean slate, so the new utility pkg_update doesn't have any information to 'update' with.
This will be a good diary entry for me so that I have a recollection of the events that happened for the next time I want to upgrade. Note to self: read the Release-Notes prior to upgrading for hidden gotchas, thoroughly check the etc config files on your most important services, and make sure you can ssh into your box from another machine.
Finally figured out how to compile a C++ program using the mysql++ libraries. Now I can start playing with C++ apps that work with databases. I was having trouble linking the include files and the libraries together. Luckily someone had a similar question on the MySQL mailing list archives that helped me through it.
» Vim «
I also got my Vim book in the mail. Another book by Steve Oualline. I'm looking forward to that one... hoping it will make me a more efficient vim-er.
» Server «
Got some 256 MB DIMMs in the mail yesterday, so tomorrow I'm heading to the colo where my server is to add some memory and update the version of FreeBSD. I've been following the thread on debian-bsd and it looks like they are making progress. A NetBSD with apt-get tools sounds pretty interesting to me.
Discovered Mail::Audit. Ditched procmail. It's really nice to filter your mail thru perl and perl's regular expressions.
» C++ «
I've been rapidly reading 'Practical C++ Programming' by Steve Oualline. It's a very well written book and I'm enjoying it. It's been a while since my C++ class in college, so this makes for a good refresher. I like his style of writing, so I'm thinking of buying his book on Vim. (Yeah, vim rules!)
New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!