Older blog entries for egad (starting at number 14)

Having swaying opinions on PHP.

Sometime I go "Hey, PHP is cool you can do this, this, and this with it"

Then I keep thinking that it's perl and try some perlism with it and have to think of the PHP'ism to make it work. Grrrrr. My major question now is why didn't they come up with a better embedded perl solution when they came up with PHP.

So here's my major PHP gripe list:

  • No module resources -- ok this is an exaggeration, there are some modules to get for PHP. But there isn't a main distribution point, and structure for PHP stuff (can someone say CPAN.) Last time I checked Python had the same problem, but I've heard that they've been working on that problem.
  • Feeping Creaturism -- Most new features in other languages get delegated out to external modules. The PHP developers keep putting more and more into the core of the language. This causes people to either have to 1) Recompile the core PHP or 2) deal with funky shared object loading to add certain parts of the language (the xml module is a good example of this.) See Perl for a good way of doing modules, and Python for a super way of abstracting them out.
  • No abstract Database Interface -- If we change databases, we have to change every single database call. That's Bad.
  • Undocumented Features -- I've only seen one case of this so far, but there is an XML function called xml_parse_into_struct it doesn't appear in any of the online documentation that I can find. It looks like an extremely useful function if you're doing XML processing. Why isn't it documented? Are there any other functions like this that aren't documented? What happens if someone has to maintain a page and needs to know exactly what the function does and cannot find it documented anywhere?

It may seem that I'm being hard on PHP, but I really do like certain aspects of it. Right now I'm going back and forth between PHP and Mason. And there are things I like from both (Mason is perl based, but has ugly variable passing IMO.)

I guess you can't please everyone all the time.


New Advogato logo. Looks neat.

Looks like I may be getting a house soon... too cool!

Most of my work lately has been setting up the system monitoring software at work. We're huge fans of Big Brother which I highly recommend to anyone that needs to monitor a lot of machines/virtual domains.

Also got the new version of Gnucash, and spent a few hours entering the last year into my machine. My only complaint is that it doesn't write/read some xml based format, which would make it infinitely cooler.

Downloaded a copy of SCARSE after reading a diary entry by Xach here on Advogato. Now all I have to do is get the color calibration sheet from Kodak. Unfortunately it's an item you cannot order online, which means I have to speak to a real person. I hate that.

Hmmm... looking at older diary entries there are some things I think I need to get back to....

Wow ... I feel so lazy. I haven't put anything on this diary page for a real long time...

I think I'm getting back into ellipsis mode ... again.

Last night worked on a keyboard widget with the canvas, for a touch screen application I'm writing. It's pretty neat, and scarily simple so far.

A couple weeks ago I got up really early (for me) and watched them take down the old Mapes Hotel Casino, here in Reno.

Saw Man on the Moon. Good Movie.

Trying to make cvs on sourceforge work right. It seems either ssh or something is using the wrong user name. :(

Had a minor bit of insight and killed a couple more quicklist bugs.

Got the current "major" problem at work working.

Now I must get on my bike and ride a couple of miles in the 24 degree (farenheit) weather to a staff meeting.

More legOS stuff.

Putting together more stuff that I want in the new Quicklist. It's amazing the ideas you come up with when you start feeling how clunky some UI's are.

More Lego Hacking...

I got the gcc toolchain installed for the RCX unit, and have legOS installed on it. Quite cool.

Next step is to go to Radio Shack and make some temperature sensors. Also need to work on the code for doing runtime speed and turning calibration.

Did major dissection on Dia today. Moving forward on the custom arrow front. Need to check on the mailing list and see what they think of the design.

Spent big $$$'s on the Lego Mindstorms kit. Came to the realization that I don't have enough serial ports on my workstation. So I found where I left my laptop and am currently getting a quick debian install on there so I can use it's serial port.

Ahh the wonders of modern computing.

Back to work and more database cruft. Actually it was more of a modperl day.

Got a new copy of GRASS and downloaded a whole bunch of geographical data on to a couple ZIP disks. Map making fun.

5 older entries...

New Advogato Features

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!