I ran across a slight problem recently when I wanted to change the default magnifying glass cursor used by the AMAZING Highslide JS javascript library . If you need zooming thumbnails or any other kind of popup-window based content, the Highslide JS library is your cross-browser compatible popup saviour. The library uses both javascript and CSS to define custom cursors for when you have your mouse over a zoomable image. I was scratching my head wondering where to change the cursor so that I could use the htmlExpander feature with a graphic button on some parts of my site while still being able to use the default magnifying glass cursor for all other images. This turned out to be a no brainer after I realized I just needed to override the cursor property using an inline style on any element that I want to use an alternate cursor on. In my case, to get the normal hand pointer that normally appears on links to show up, simply add an inline style to your button such as
I don't know why the hand cursor is called "pointer" in CSS, but it is. Seems to me they should call the standard arrow cursor "pointer" and call the hand cursor "hand". Anyway, I know this seems trivial, but the HighSlide JS web site does not mention how to do this, so I thought I'd share it here.
It's amazing. I've been doing CSS-based layout since about 2001 and I still discover new css browser bugs and annoyances daily. Here's a solution to my latest gripe....radio button layout in Internet Explorer. It seems that IE does not like to properly lay out a radio button on the text baseline when using font sizes of 12px or smaller no matter what you do. You can mess with the "vertical-align" attribute and adjust margins until you're blue in the face and you will never be able to align radio buttons with an 11pixel font using CSS unless you explicity set the size of your radio buttons. In IE, radio buttons seem to default to a visual display size of about 12x12 pixels, but they always seem to take up some extra layout space with some padding or margins that you can never get rid of. Fortunately there's an easy fix for this...simply specify a style for all your radio buttons with a specific width and height of 12px. Then you can lay out your buttons and they will align properly with an 11px font size. If you have trouble properly aligning your radio buttons with their labels in IE, just adjust the radio button dimensions to match the pixel size of your font and you should be good to go. The same should hold true if you are using relative font sizes.
Hate IE. Hate it real good. In fact, I'd like to encourage you to hate all modern browsers. Yes Firefox too. They are all STILL rife with CSS display bugs that continue to make it much harder than it should be to perform the formerly simple design task of drawing a box on a screen that can fit its contents.
I've been a somewhat sporadic user of podcasts over the past couple of years. I really like the concept, but until recently the best solutions I have found were really geared more toward desktop use, such as the popular open-source podcast reciever called Juice . Of course, I prefer to listen to my podcasts on a portable mp3 player, and sadly, there is not a single piece of standard software for any of the major players that does a good job with managing podcasts for a portable device. The Zune software is minimalist and lame. Don't even get me started about iTunes either. iTunes is a menace that is guaranteed to make your PC run slower than...well...slower that if it didn't have iTunes. Perhaps it doesn't totally suck on the MacOS, but on Windows it's the first piece of software I uninstall any time I see it polluting the hard drive of anyone who doesn't specifically need it for their iPod to function properly (yet another reason NOT to buy an iPod).
Anyway, my main gripe with most of the standard MP3 player software out there is that if you want to sync your podcasts while you are away from your primary PC, you are generally S.O.L. unless you waste a bunch of time configuring multiple computers with your podcast settings. Recently though, I heard a commercial at the end of the Slashdot Review podcast for a piece of software from Podcastready.com called "MyPodder ". I am happy to say that this software, combined with Podcastready's online podcast aggregation service is the solution I've been waiting for. Instead of installing the software on your PC, you install it on the portable device. You can then plug the device into any computer with a USB port and an internet connection and sync your podcasts directly to your portable device via your free account a Podcastready.com. I was already using PodNova.com to aggregate my feeds, so I was able to simply point Podcastready.com at my OPML URL from PodNova.com and it picked up all my feeds. Now when I want to sync my portable device with my podcasts, I just plug it into whatever PC I happen to be near and the files are synced. The real upshot of this is that it makes those formerly useless little 512MB MP3 players into something truly functional again. Let's face it, 512MB is waaaaaaay too small for most people to use for their music, but as a dedicated podcast device, 512MB is really plenty of room unless you plan on archiving your podcasts on your portable device which would be sort of silly.
ANYWAY, I now have a use for my puny, but highly portable 512MB Sansa m230. I got it as a gift this Festivus and I didn't think I would really have a use for it since it's too small to hold much music, but as a podcast player it works great. It has just enough room to hold the podcast software and the latest episode of all my favorite podcasts and it has a looooong battery life. So check out MyPodder if you are looking for a way to sync your podcasts directly to your mp3 player and cut out the middleware!
I have been biding my time for the past few years, waiting to take the plunge on a new digital SLR such as the Nikon D3x or the Canon 5D. I still have my old Nikon F4 from my days as a professional photographer, but I've put off buying a new digital SLR because I was hoping Nikon would come out with a decent camera that conquers the noise problems that have plagued every single one of their digital SLR models to date -- a fact that has sent droves of former Nikon loyalists over to the Canon camp in recent years. In fairness, the latest Nikon models are much better than their older models and take beautiful pictures by most standards, but even the latest models still lag behind Canon in terms of retaining detail at high ISO settings. The newer Nikon models simply have better built-in noise reduction than previous models, which results in detail loss. And forget about "full frame" shooting unless you want to spend upwards of $5000 on the professional models. So it was with some interest that I read an article at KenRockwell.com describing a "Free full frame digital SLR ". In the article, Rockwell discusses his recent experiences shooting traditional 35mm film and getting it developed at Costco. It has become incredibly cheap to simply use regular 35mm film and have it developed at someplace like Costco which apparently gives you great scans of your negatives on disc, along with 5x7 prints, negatives and the CD they give you has thumbnails of all the images printed on the disc itself. He makes a compelling arguement for a resurgence of film as an alternative to high-end digital cameras. He convinced me, at least for the short term, to go back to using my old Nikon F4 for high-end full-frame photography, and just get a mid-range point-and-shoot for situations where it's more convenient to use a digital camera. I may still break down and get the new Nikon D300 despite its shortcomings, but I think it's time to take the old F4 for a spin in the meantime.
Today marks another milestone in my long and expensive computer addiction. The local CompUSA is closing its doors for good, so today I added my first "Terrabyte Drive" to my network, bringing my total local online storage capacity up to around 4 Terrabytes. I picked it up on sale for $239 before tax. I can hardly believe it. A TERRABYTE for under $250. The enclosure alone is probably wirth $30-$50 (it's a nice aluminum enclosure).Technically the drive is not a true terrabyte drive since it's really just an USB2 enclosure from Iomega that houses two SATA drives in a JBOD configuration. Anyway, I probably should have waited and purchased a separate single-drive enclosure and a single 1TB drive which can be had from NewEgg for $250 as of today, but heck...this is a cheap terrabyte. My only real complaint is that is functions as a JBOD array instead of a RAID0 array, but at these prices, who cares!
Anyone that develops PHP applications on a regular basis, eventually comes to the point where they need to move from a web page editor like Dreamweaver to a more full-fledged IDE with a real debugger. Listening to some of the mainstream PHP publications these days, you might think that Zend Studio and Komodo are the only major choices out there, but I've tried several on Windows XP including Zend Studio and several versions of Eclipse, and the best one I've found so far is PHPEd from Nusphere . PHPEd is a mature program that's been around since at least 2002, and as far as I can tell it has every feature the competition has ...too many features to list here. Anyway, I just thought I'd give them a mention here because it seems like the other programs are getting a lot of praise for "new" features that PHPEd has had for years. I don't want to get into a full review here, so just check out their free trial if you're in the market for a decent PHP IDE. (NOTE: I'm not affiliated with Nusphere, nor am I being compensated for plugging their product.)
I just wanted to vent a little bit today about the state of the Adobe Actionscript 2 docs. For years I have ranted and lamented how horrible and useless they are and today I once again suffered through hours of searching for a solution to a problem that:
shouldn't exist
should be much easier to find a workaround for
The problem is this: If you call _root.getNextHighestDepth() in Actionscript 2, you basically get a useless depth that collides with the Flash 8 depthManager's reserved depths. Nowhere in the docs is this mentioned. The end result is that you get a wide variety of very strange bugs that are almost impossible to track down, even with the latest Flash 9 debugger. After hours and hours of troubleshooting and searching Adobe docs and forums, I finally ran across this post that clued me into what was going on:
"There is a movie clip called 'reserved' on level 1048575 and _root.getNextHighestDepth() will yield 1048576. But level 1048576 is part of the special levels that can't be properly unloaded and live in limbo in the player... meaning you will encounter weird bugs such as combo boxes not opening up"
Let me assure you, problems with combo boxes are the least of the strangeness, after all, what's strange about the v2 components not working as expected?...
I ran across this fantastic article by Larry Wall, the creator of PERL (the coolest scripting language you'll never bother to learn) called "Programming is Hard, Let's go Scripting... " It's a great perspective on the history of scripting languages as seen by Wall, and in it he skewers many modern languages and is somewhat harsh toward my (and most other people's) favorite scripting language, PHP. I'm actually surprised I still liked the article. If Larry wasn't obviously a genius I probably wouldn't have liked it much, but he definitely makes some great points and has a great writing style to boot.
Get Your War On: The Definitive Account of the War On Terror 2001-2008
My favorite comic is getting ready to be relased as a single volume. You can preorder now. If you hate the war and love to laugh, do yourself a favor and order this. You can also read all the GYWO comics online for free here.
BBS The Documentary
This is by far the most comprehensive and entertaining documentary I have ever seen regarding the early BBS system. If you're serious about knowing your internet history, or you just want some extra geek-cred, this is your new favorite documentary.
The Nada Chair "BackUp"
The best alternative I have found to overpriced ergonomic office chairs, especially for very low pain around the sacral joint. Works better than my Aeron chair ever did. Also, it comes in navy blue and black, in case you're not into the whole pregnant woman aesthetic (pictured).It's really not meant for sitting on the floor, it's really better for seats that offer poor back support, and works great at sporting events to make sitting in bleachers much more comfortable.
Antec Quiet PC Case
At just under $120 including a 500 Watt power supply, this "quiet pc" case has worked great for me for over 2 years. In fact I now own two great Antec cases/PSUs. For the money, it's hard to beat this combination.