Older blog entries for egad (starting at number 15)

Hey all you Advogato peoples: Thanks for telling me about some more of the ins and outs of PHP. The neat thing about these diaries is that they're like conversations. Except you really don't know if anyone else is listening. Until you go and see that they really are talking back. Man I'm starting to sound like Dave Winer.

The Decision
So I think we've made our decision in the PHP vs. Mason war. Mason seems to have won. It actually makes more sense for us since we are already a perl shop. We don't need to make our programmers learn another language. Also, by using perl, we can integrate existing code easier.

A guy here at work gave me a Roland TR-505 drum machine. It's way cool, especially now that I've had time to figure out how the thing works. I just got to figure out how to make Linux play the thing "right". I think this involves learning a bit more on how MIDI works. Downloaded Rosegarden to see what it could do. Found a score from a quartet piece I wrote about 4 years ago now, and started to input it by hand. I wish there was an Open Source Music OCR tool. I could really use that right now (hint hint advogatans).

The Format
I saw someone else here use this type of format, and today it seemed like a good format to use.

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.

6 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!