Main

December 24, 2006

Notes on getting PNG transparency in IE6 with pure CSS

Recently, I started building a site with a lot of transparent image elements. The trouble was the the client required support for IE6 as well as IE7. Now, IE 6 and lower do not support transparent PNGs out of the box, but I knew that there were workarounds for that.

The question was, which workaround to use? One method I saw involved using an Explorer "behavior." Unfortunately, this solution required loading and HTC file, which is an ActiveX control. ActiveX controls aren't loaded in IE6 with default security settings. Maybe there is a workaround for that, but I couldn't find it in a timely fashion. Besides, the HTC solution requires an HTC file and a special GIF file be stored on the server. Adding mysterious stuff to the client's file tree is something I really like to avoid.

Then I ran across a brand new article (based upon a much older article) at A List Apart: Super-Easy Blendy Backgrounds. This article describes a pure CSS technique of getting image transparency to work in IE 6.

Continue reading "Notes on getting PNG transparency in IE6 with pure CSS" »

November 24, 2006

Configuring a Linksys WRT54G router to work with a Westell 6100 modem for Verizon DSL

Tonight I've been having a bitch of a time configuring a Linksys WRT54G router to work with a Westell 6100 modem for Verizon DSL. After an hour or more of bushwhacking through help forums, I was lucky enough to run across this post in this thread at Broadband Reports. I made a couple of changes to the WRT54G's "Basic Setup" screen, and suddenly everything was fine!

Continue reading "Configuring a Linksys WRT54G router to work with a Westell 6100 modem for Verizon DSL" »

November 08, 2006

A suggestion for LiveMarks

LiveMarks lets you "spy " on what del.icio.us users are posting, in real time. It's very cool, but I wish they would Hide the static links in the right column. That way I could split a NetVibes page into two columns, and watch digg spy and LiveMarks at the same time!

October 05, 2006

Logging and reporting

I wrote my first reporting script yesterday. It crawls a source tree and reports each occurrence of a specific regular expression.

Today I will be trying out SSMTP under Cygwin. I'm not sure where I can send mail from. I guess I can use one the SMTP that's already running on one of the servers.

Automated reporting has been a dream of mine for a long time. The trouble has been building a work environment where it was possible to develop a best practices document. Forming a list, of consensus best practices, took a long time. However, the reporting script was written within 24 hours of completion of the first draft of the best practices document.

Continue reading "Logging and reporting" »

May 26, 2006

Prototype.js cheat sheet set

These are a visual and a hypertext cheat sheet for the Prototype.js library. Prototype.js is the foundation of Script.aculo.us and Rico, among others.

http://www.snook.ca/archives/prototype1280.png
http://www.sergiopereira.com/articles/prototype.js.html

More on what to do with Prototype.js after the jump.

Continue reading "Prototype.js cheat sheet set" »

April 20, 2006

Overlooked technical issues in client-side Web Development

Rapid Prototyping

Don't create static HTML files, ever. Use PHP or mod_perl, or even Ajax, to generate HTML comps on the fly. The same goes for "flat" HTML pages that are created prior to integration into a content management system. Even though it may seem troublesome to maintain a local installation of Apache (it isn't!) the tradeoff in speed is worth it.

Automated Backup

Run a tape once a day and back up every workstation, fileshare, and staging server. Keep a box of 30 tapes and rotate them out so there is a month of backups. Sure its a pain and a bit OCD... but the look at the gains: the magical ability to erase mistakes and restore lost data, sometimes in seconds.

April 19, 2006

Big Web Application weekend

This week I put together the largest JavaScript application I have attempted so far. It was a lot of fun to learn all the new Web 2.0 techniques. I got to try out script.aculo.us, Rico and prototype.js. Most importantly I learned how to generate HTML using JavaScript's ability to manipulate the DOM tree. I can see a day ahead where I don't type any tags at all, except for maybe HEAD, SCRIPT and BODY. :)

I also designed a UI from the ground up for the first time. Nothing complicated, aespecially lthough I did create some 3d buttons, which was fun. I know a lot more about Photoshop than I thought, when I have a good tutorial in front of me.

One thing I didn't have time to do, that would have really helped, is to learn the command set for the Selenium client-side testing suite. Although it was very easy to install, I haven't figured out how to check rollovers with it, so it wasn't very useful.

4.22 Rollover testing AFAIK* only works in MSIE, which is why I was having so much trouble. In fact I think I had a test that would have run, had I tried it on MSIE instead of Firefox. Yet another example of why it's important to always test in multiple browsers.

*I read this fact on a forum whose url I can no longer remember. It is, in fact the case, as I have tested it several times (MSIE 6 vs. FF 1.5.0.1 on XP SP 2).

April 06, 2006

MediaWiki on Mac OS X 10.3/Jaguar

Yesterday I installed MediaWiki on Mac OS X 10.3/Jaguar. Apache is installed by default on OS X. So is PHP, but I couldn't get it to run. So I wound up installing binaries of PHP and MySQL.

I learned a lot, but maybe the most important thing was that on OS X, starting PHP tags must have the form:

<?php
Otherwise the code does not run. I saw quite a few confused netizens asking why their scripts suddenly didn't run when tried on OS X.

It took a couple of tries to get the MediaWiki first-time-configuration script to run. It kept asking me for a root password, in order to set up a new MySQL account. It took me a few tries to realize this was my MySQL password, not the BSD root user's password.

I didn't expect to need to configure the DNS. I just had an IP address, no hostname. When I put in the direct ip of my machine, fine. As soon as I switched to a subdirectory, 404. It was the UseCanonicalName directive in the httpd.conf file. Once I set that to off, everything was fine.

Continue reading "MediaWiki on Mac OS X 10.3/Jaguar" »