Apple HTML 5 Fail

This isn't new news, but I've been meaning to make this picture for a week or two and finally got around to it. :-)

Comments Comments (4) | del.ico.us del.icio.us | Digg It! Digg It! | Linking Blogs Linking Blogs | 1118 Views

A New Look for the Blog

Since I had a little spare time, I decided it was time to update the look of the blog. I call the color scheme "Orange Cream Blues". I went with it for a few reasons. First, I like dreamsicles and hadn't used orange for anything before, and I thought it went nicely with the dark blue (complimentary colors on the color wheel, even!).

The second reason is a longer story but I'll keep it short. I Googled around a lot looking for nice CSS skins. And even though there are lots of free CSS template sites out there, most of the layouts didn't strike me as very nice. I wanted a liquid layout, as I always feel like fixed-width sites are wasting my screen space. I wanted something clean yet modern. Probably all the standard desires nowadays. Anyway, the only one I could find was the Arclite theme, which as some of you may know is already in use on a number of other blogs. Since I was jumping on the bandwagon in this respect, I decided to tweak the layout a bit and to create a custom color scheme and graphics to avoid looking like everyone else. Hopefully, I succeeded (at least a little).

In any event, more blog entries are in the works, so stay tuned. And I hope you find the new look refreshing.

Comments Comments (5) | del.ico.us del.icio.us | Digg It! Digg It! | Linking Blogs Linking Blogs | 1119 Views

Upgrading from Vista to Windows 7 (And How to Deal with Warnings about iTunes)

Last night I crossed my fingers and upgraded my Vista Professional workstation to Windows 7 Ultimate. I have multiple backups, including Mozy, Windows Backup every night, and a Windows Complete PC Backup (essentially a disk image) every week. As a result, I was very confident that even if all hell broke loose I could restore things quickly. Happily, the upgrade went smoothly and Windows 7 is running great. All of my programs and settings were migrated perfectly.

The upgrade compatibility analysis at the beginning highlighted two potential problems that I dealt with. First, I run two ATI Radeon 4850 video cards to power my three monitors for work, but I enable CrossfireX when gaming, which disables the two outer monitors and puts all the GPU power into the center screen. Windows 7 warned me that my ATI drivers might be a problem after the upgrade. So I simply uninstalled the existing ATI drivers, ran the upgrade, and the installed the Windows 7 64-bit ATI Catalyst drivers after the upgrade. Everything works fine.

The other item flagged was iTunes. I did some research, and it turns out that Apple appears to be using an older and/or unsigned GEAR driver in iTunes. This has to do with CD/DVD recording/burning. I'm not sure why they would do this, but there is an updated driver available at the GEAR Software site. I installed that update and then proceeded with the Windows upgrade, and everything works fine after the update finishes. So if you're getting this warning and want to be sure it won't mess anything up afterwards, I'd install the updated driver.

Overall, Windows 7 is very nice. It looks better than Vista and has many new features like the taskbar, improved Explorer interface, better window management, etc. I'd been using Vista for about 10 months and unlike most people I never had any real issues with it, it worked just fine with no crashes or problems. Even so, the new Windows is definitely an improvement as things seem snappier, and the enhancements are welcome. So as long as your backups are up-to-date and you look over any upgrade warnings carefully, I'd definitely recommend installing it. Hopefully this entry might help others who see these types of warnings, especially the iTunes one.

Comments Comments (0) | del.ico.us del.icio.us | Digg It! Digg It! | Linking Blogs Linking Blogs | 1890 Views

SilverFlash Beta Released: A Joint RIA Platform from Adobe and Microsoft?!

Microsoft and Adobe just announced the public availability of a joint RIA platform called SilverFlash. While it is only in early beta, and the future plans are somewhat vague, this looks like it could be something quite interesting for Flash and Flex developers for several reasons.

First, it actually goes far beyond Microsoft's current Silverlight platform, in that it actually merges the Flash platform with the Windows Presentation Foundation (WPF). In some ways this seems similar to what Adobe AIR provides, except that the WPF extends much more deeply into the Windows operating system. That means a lot more power when doing desktop integration.

But obviously the real draw here is that we'll have a unified RIA platform that is backed by all the major players in the industry (even Sun is on board) and that runs on any operating system. Just imagine: the power and ubiquity of Flash combined with the stunning calendar widgets of Sliverlight, all wrapped in a Java applet. You can download the beta at the SilverFlash Launch website. This is going to do for RIAs what the Apple Newton did for handheld computing!

Comments Comments (4) | del.ico.us del.icio.us | Digg It! Digg It! | Linking Blogs Linking Blogs | 2342 Views

Is the ColdFusion Community's Generosity Encouraging Laziness?

I've been using ColdFusion for a long time. When I started back in late 1997, I was a very novice programmer. There wasn't much in the way of mailing lists, online forums, or books. There was no Google, and there were no blogs. As a result, I developed what I'd consider a pretty self-reliant nature on the subject of programming. I had to read the documentation, experiment, and try things out. And doing this, I was able to solve my problems.

I am a member of a number of public discussion forums and mailing lists, and have been for many years. I moderate several forums and lists. Over the years, I've tried to help others by answering questions or pointing them in the right direction to solve their problems. I'd like to hope that I've helped save some people some of the pain and time that I had to go through when I was learning ColdFusion.

Lately I've been seeing a disturbing trend: a rapidly increasing number of what I will call "lazy questioners". Sure, some of these folks have always been around. But in the last six to twelve months it seems like the number of these people has been making a rapid upturn.

On the one hand, this might be good news: it seems to indicate that more new people are coming into the community. I think that's great. However, what I don't think is great is their approach to asking questions.

If you are also a member of one or more forums or mailing lists, have you also noticed the increasing number of questions like these?

  • How do I invoke a trigger from ColdFusion?
  • Why doesn't this work: <cfif IsDefined("#url.id#")>...
  • Why does my if block always run: <cfparam name="url.id" default="0" /> <cfif IsDefined('url.id')>...
  • How do I zip something in ColdFusion?
  • What is wrong with my query? [paste SQL]
  • This doesn't work please help me. [paste 300 lines of code]
  • Why doesn't this work? #XMLParse( [string with invalid xml characters in it] )#
  • Will this work? [paste code]

The list really goes on and on, these are just a few of the ones I recall seeing recently. If you're asking yourself "what's wrong with those questions?", I'll tell you: either they're horribly presented questions or they could be solved in 30 seconds just by doing a Google search or actually looking at the documentation.

So what's the problem? The next response is probably "just ignore the question if you don't have anything nice to say." That's a valid response. And it would work, provided that everyone else also followed it. But they don't. When questions like these come up (daily at this point), at least one good-natured person decides to try and help. They politely provide a useful answer. Which is admirable. I often do this myself. But after thinking about the overall situation, I've come to the conclusion that it's actually a harmful choice. Here are some of the reasons why:

First, all this does is encourage the questioner's laziness. In fact, it encourages laziness for anyone asking a question. Why would someone bother to find an answer on their own when they see they can just ask someone else and know they'll get an answer?

It also means the person probably hasn't really learned much. They certainly haven't learned how to find the solution to a similar problem when (not if) they encounter one. The old adage "Give a man a fish, feed him for a day. Teach a man to fish, feed him for a lifetime." has never been more applicable. Answering a lazy question almost guarantees more lazy questions in the future. The questioner is banking on the generosity of others, and allowing them to shift the time and effort onto a bunch of other people. And, unfortunately, it works.

Which leads directly into the next negative result, which is an overall decrease in the usefulness of the list or forum. Lazy questions decrease the signal to noise ratio of a resource. They take time and attention away from valid and well presented questions. And it's not just the initial answer. Often, when a lazy question is answered, it triggers a long exchange where the questioner says "that still doesn't work" or "what about this variation". In response, the kind folks answering keep feeding into it, many times offering additional information that the questioner would have discovered themselves if they had put even minimal effort into solving their problem through Google or the documentation.

In essence, I think the ColdFusion community is too forgiving of lazy questions. I might get flak for saying this, but it's true: we're too nice when it comes to this issue.

Now to be clear, I'm not saying we should be mean, or that we should stop answering questions. We should absolutely keep answering questions. I certainly will keep trying to help people. But anyone asking a question should understand that there is a certain minimum level of effort that should be met before you ask. To me, the minimum level of effort is:

  • Have you actually tried to run the code? What was the result?
  • If there is an error, be able to provide the exact error to the best of your ability
  • Have you read the documentation?
  • Have you searched Google?
  • Have you searched the past threads/messages?
  • If the problem is SQL-related, have you run the query directly against the database, outside of CF?
  • If you plan to paste code, have you eliminated all extraneous code and limited the code to only what is involved in the problem?
  • Have you attempted minimal debugging with cfdump, cfabort, or cftrace?

This is not a lot to ask. In fact, this should be done out of common sense and common courtesy. If someone chooses not to meet this minimum level of effort, they should be met with a terse, blunt response, and NOT the answer to their question. There is a much more general and lengthy resource on this subject at the Smart Questions FAQ.

Here are a few situations where I say the questioner's laziness should be called out:

  • The answer could be found by simply reading the documentation on the tag or function, and it is obvious that they have not
  • The answer could be found with a 30 second Google search
  • The questioner is asking an advanced question on a complex subject when it is clear they have limited understanding of the subject or what they're even asking about, and they're expecting a free class on the subject (i.e. "I don't know much SQL, but how do I write this complicated query")
  • The questioner is asking if something will work when they haven't even tried to run it
  • The questioner is asking others to write their code for them
  • The questioner is pasting huge amounts of code and expecting others to sift through it

In many other communities, lazy questions are met with harsh responses that range from "RTFM" to "JFGI" to derisive abuse. I'm not asking the community to go down that road. I love the fact that for the most part, the CF community is a very open and encouraging place. I just think that a small but growning number of people are taking advantage of that generous spirit. It's time to impose some minimal expectations on those who would ask for our time and assistance.

I'm expecting this to trigger some interesting feedback (hopefully nothing too rough, but if you disagree and can point out some flaw with my logic here, by all means go for it). What do folks think about this issue, and what is the best way to deal with it?

Comments Comments (18) | del.ico.us del.icio.us | Digg It! Digg It! | Linking Blogs Linking Blogs | 2235 Views

More Entries