Older blog entries for cdfrey (starting at number 5)

The more I learn about web programming, the less I like it.

At least that appears to be the trend so far, and I have a continual hope that as I learn more in depth topics, it will all magically become more elegant.

I was working on a website today, when I suddenly laughed out loud at what I was doing. I was writing PHP inside a PHP variable, which generated HTML.

This was what I was doing back as a kid when I was learning BASIC. I used to write BASIC code to generate more BASIC code because it was too hard to type it all manually.

Of course, I was kid back then, and hadn't really discovered subroutines, but today's popularity of "LAMP" (Linux/Apache/MySQL/PHP) makes me wonder if the world hasn't been caught doing the same thing I was as a kid. We have PHP encapsulating PHP, encapsulating SQL, encapsulating HTML, encapsulating..... argh.

And PHP and MySQL's popularity has happened over recent years where there is no concept of stored procedures, so I have to conclude with my limited web programming knowledge to date, that somewhere there is a lot of embedded SQL code stuck in PHP wrapping.

The whole idea of inserting your data into an SQL statement when you're trying to insert binary data into your database still rubs me the wrong way, but this is how it is done in MySQL.

If I'm missing something glaringly obvious, my inbox is open as usual.


I haven't had much of a chance to tinker with FreeDCE these days, as paid work is keeping me occupied. I do plan to get back to it shortly.

I've also been sidetracked by a secondary project I've been working on to organize my "To Read" list. I run across many websites and various PDF or PS papers that I intend to read, and they get lost as links or stored in my inbox as I email myself. This was not helping, so I decided to write a small web project to organize a queue of reading material, as well as mirror it on my local hard disk in the event that the link dies before I get time to read it.

If anyone is interested in tinkering with it, version 0.2, pre-pre-pre-alpha is on my software site. Sorry, no pre-installed sandbox for the public to play in yet, although that would be cool.

fzort: Thanks for the link to Herb Sutter's concurrency article. It was quite the interesting road of travel to the end.

Here's a link link to Andrei Alexandrescu's presentation on lock-free programming, which reference's Herlihy's 1991 paper on Wait-Free Synchronization, in case anyone else is interested in blowing a few hours.

Read over last year's ACCU conference events and wished I'd been there. Would be very cool if I could make this year's.

I still haven't figured out how everyone communicates with each other on this site. It seems like there is some connection going on, as I see replies and references to other people's diary entries along the way. But it sure looks easy to completely miss a message from someone.

I've been browsing CVS entries on the web (specifically knipknap's canvas code (nice work, I enjoy seeing other C++ designs)), and a thought occurred to me.

Personally, I prefer to create local CVS repositories. This allows me to keep them local, they are faster, more secure in my opinion, and I can place them on the best machine for the job. It also lets me keep all the history local, as well as letting me tinker with the raw repository files to make up for CVS shortcomings, such as move. Overall, I am still very pleased with CVS, and have no compelling need to "upgrade" besides my own curiosity of what could be better.

A real drawback to my way of development, is that the history is unavailable to the outside world. When using public CVS repositories (such as SourceForge, Alioth, or Gna), all your free software work is out in the open by default. There is no danger of forgetting to make a release, or having users waiting while you find free time to publish work in progress.

Happily, I can have my public CVS along with my local CVS copy. SourceForge and Gna document that they create nightly tarballs of the raw CVS repository, for backup purposes. This would allow me to keep personal copies of my repository, but I would be unable to push them back into the public repository if I worked off a local repository. That would be a dumb thing to do too, but I like my local repository, dang it. :-)

I have a couple options:

  • Use a public CVS repository, and be happy.
  • Use a local CVS repository, and publish nightly tarballs of my repository on my own website. This sounds like work, but would give me the most control
  • Use arch

I suspect I've answered my own question and it's time to dive into arch.

The main reason I like CVS is its simplicity. From the backend storage to the command line, it is mostly straightforward and doesn't place a heavy load on my fingers to use it every day. Arch appears to need some scripting to help cut down on the verbosity.

lkcl: You might consider writing an article for Linux Journal on DCE. Their latest issue has an article on D-BUS all over the front cover, so they are definitely open to that kind of thing.

The recent story on the free DCE projects motivated me to create an account here. I'm not yet sure what it will get me, as I cannot post replies. :-)

The FreeDCE project looks rather dead from a mailing list point of view. I would appreciate it if someone could post links to where people interested in DCE congregate.

Feel free to email me at cdfrey@netdirect.ca if you can't get my attention through this site. I'm still exploring the functionality.

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!