August 16, 2004
No SSL for Konqueror?
Though I love what Ralf and the gang have done to bring KDE to Windows, it appears that something slipped through the cracks. I can't get SSL to work in Konqueror on my Win2K box, and I'm not the only one. I've double checked everything—all the OpenSSL libraries are there as they should be. When I point the KDE Control Module to /usr/lib, it fails to load libcrypto, even though it's right there.
Not the end of the world, but a little irritating, as some of the apps I want to test in KHTML can only be accessed over https. Perhaps I'll figure it out when I have some time...
August 13, 2004
objectivity part III
The Internet Explorer OBJECT woes are no more, thanks to XSLT. A while back, I came up with a way to implement
<object type="image/*"> in IE using an HTC file to replace objects with imgs. Though it got the job done, it was slow as molasses.
While reading about custom DTD's, it dawned on me that there had to be a better way than my HTC approach. Because XML is extensible, it can be built upon (duh), and I remembered a great tutorial on W3 Schools about using XSLT to render XML in Internet Explorer and Netscape. Fast-forward a couple hours, and the IE Objectifier was born.
It is an extremely simple concept:
- Take an XML document
- Apply an XSL Transformation to convert it to something a browser will understand (XHTML)
This functionality has existed in IE since version 5. So in this scenario, our initial XML document is in fact an XHTML document. All we then need to do is apply a simple transformation to convert any object elements to img elements if they meet our criteria, and leave all other objects alone. And with that, we have "taught" IE how to handle objects.
This technique allows you to write completely valid XHTML 1.0 documents using objects in place of images, and it will render flawlessly across all modern browsers. The entire process takes place before any images are downloaded, meaning the page loads just as quickly, and it works whether scripting is on or off. And unlike images, objects allow you to have fallback content, rather than just alt text. The arguable downside is that if your XHTML is invalid, it will completely choke in IE. Personally I view this as a good thing, as it will keep designers honest and crappy code won't go unnoticed for long.
The other great thing about it is that it's very easy to set up—all you need is Apache and PHP, though I'm sure it can be done other platforms. Simply unzip this file in your document root, and you won't have to worry about it ever again (as long as you write valid xhtml). Try it out and tell me what you think.
August 8, 2004
Konqueror for Windows
Not having easy access to a Mac or *nix box, it's been a hassle for me to test web pages/apps in KHTML (the Safari/Konqueror HTML engine). Until now.
KDE on Cygwin brings KDE (and KHTML) to the Win32 desktop. This has got to be one of the coolest things I've seen in a while. Not only can you run a full-blown KDE session, you can also run individual apps in their own windows (Win2K screenshot). Sure it runs a little slow, and is a bit of a memory hog, but it's much quicker and easier than dual booting just to see how KHTML renders your web page.
jenChat has been updated to include support for Netscape 6.0, Konqueror and Safari. A few display bugs have been fixed, and the code has been simplified a bit. If you're looking to build a truly cross-platform chat application, this quick tutorial is a good place to start.
August 4, 2004
sqlite part II
As you may have noticed, I updated SQLiteDB when I redesigned. While the class itself hasn't changed at all, the documentation is even more thorough and includes more examples than when I last updated it.
But that's not all... When I have some free time (probably not till the end of the month), I will be optimizing the class itself. Here's what's in store:
- Support for RENAME TABLE queries
- Maintaining indexes when altering/renaming a table (currently they are not copied)
- Faster execution time of alter table statements (it currently takes seven transactions behind the scenes... the new way will only require two)
- Whatever else comes to mind
So expect to see that around September 1st or so. In the meantime, happy coding.