Design & Development Links

Along the line of software craftsmanship on the web here are some handy sites I’ve seen recently:

JS Patterns
JS Patterns is a site dedicated to the design and development patterns that are not only industry standards, but also patterns that are native to JavaScript (which C++ or Java cannot do natively). This is definitely worth adding to your RSS feed reader.
Dustin Diaz
Dustin happens to work at Twitter, but his site is loaded with good JavaScript tips. If you’re not following his writing I’d suggest you consider doing so.
BlackBerry WebWorks
The WebWorks development/widget framework for BlackBerry devices looks interesting [disclosure: I work for a RIM subsidiary and have nothing to do with this project]. Download the toolkit from github or from RIM’s site and check it out. It’s focused on giving web developers a web-focused interface to develop for the webkit based smartphones.

Why Your JavaScript Should be Compressed with the YUI Compressor

Yesterday I listened to Scott Hanselman and Jeff Atwood discussing Website Optimization on Hanselminutes and Scott asked Jeff why external JavaScript files should be compressed for speed and performance of web sites and web applications.  One thing that Jeff didn’t answer with that I think is worth noting is that the YUI compressor that Jeff uses – and which I use – happens to have the Java-based Rhino JavaScript engine in it.  The YUI compressor basically reads in your JavaScript file, parses it with a JavaScript engine and then outputs optimized code that will allow (almost?) all JavaScript engines in different browsers to parse and execute your JavaScript code faster than it would have had you not run the code through the YUI compressor.  Here are a few tidbits explained:

  • The YUI compressor doesn’t require you to pre-validate your code with tools like JSlint, which are nice, but not very friendly for beginner or pressed-for-time developers.  The JSlint site puts it well: JSLint will hurt your feelings.  I can deal with some hurt feelings myself, but managing browser quirks like IE’s inconsistent handling of ‘==’ verses ‘===’ means JSLint isn’t as handy as it could be for large files with lots of comparison operations.  I like well written code.  No.  I love well written code.  Not all code shoppes have time for syntax evaluation – if it works they’ll ship it – and YUI Compressor works great for this situation.  You can use the ‘-v’ parameter when executing the compressor at the command prompt to have it output any hints or suggestions for better syntax or potential errors.
  • The compressor optimizes functions and classes by managing variable instantiation and reducing the number of places in the code where this sort of memory allocation has to happen so that the beginning of the function contains all variable instantiations and your code can then execute without extra overhead for inline instantiations (especially if someone made the bonehead move of instantiating a variable in a loop!).
  • The compressor creates files that have no comments in them so JavaScript parsers  can parse a file that has been parsed and then output by a parser in parser optimized form.  The output code has a whole lot less fluff and generally looks like what a parser would hope a file would look like.  To make a comparison that would be like me taking my thoughts, putting them into a brain just like yours, having that brain output the words perfectly so that you could read them and understand them without any questions and the fewest number of possible words.  Its a JavaScript communications breakthrough.
  • The YUI Compressor can also be integrated with a build script so that your build engine (such as Ant or Nant) could automate the creation of the compressed or optimized files.

I have personally found the YUI Compressor to be invaluable and it has helped improve the loading time of the web applications that I work on substantially.  Being able to tell users (and the sales channel) that the slower loading web application has been improved to load 27% less data (while adding features) almost two years ago was a major win.  Watching their faces as I demonstrated how much faster the code was was icing on the cake.

Does everyone need to use the YUI compressor for every project?  Maybe not.  But I believe that it is probably the best tool available at this time to help professional web application developers to squeeze out that extra bit of performance without hand-tweaking code that could otherwise be thousands of lines of code to evaluate.  I have more performance optimizations I will find, I’m sure, but using YUI Compressor is a no-brainer and I hope you’ll find it gives you peace of mind and mind blowing performance improvements when it comes to file download sizes and speeds.

Mc-Corn-alds, Corner King and Corny’s All Sell Corn Fast Food

Recent research shows that almost every fast food item available at fast food restaurants contains corn [reference article].  For the record this isn’t entirely shocking.  Beef cattle are often raised with corn feed as part of their diet, corn is a thickening agent in various liquidy or faux cheese products, and its also a handy ingredient to have around when you want pizza to not stick to a heating/cooking/baking rack.  Its syrup is renowned for its smoothing abilities in sweet goods like caramel sauce and candy.  Its a cheap (in part due to government subsidies) for sweetening soda, and its also got coloring abilities.  You can’t beat corn’s versatility down, it does come with a lot of skills.

Some research has linked it to diabetes, obesity, and allergies of various sorts.  I am allergic to corn myself, so having it is not a good choice for me.  I just though I’d let you know that if you’re allergic to corn, too, most fast food places could be a bad place to get your food from 🙂

Audacity Digital Audio Editor in New Radio Shack Ad

I was reading at Unclutterer and they linked to a Radio Shack Ad on YouTube. As the commercial played I was able to see what looked like Audacity. Sure enough, once I zoomed in and paused the player at the right time they’re using the open source software to show a large, high quality wave pattern on the laptop display.

Check out audacity, its good, free software and it runs under Windows, Linux & OS X – I have it installed under all three OSes.

Microsoft and PHP (via a Yahoo! Merger)

Matt Mullenweg asks, “If Microsoft were to buy Yahoo, I wonder if that would have an impact on PHP?” I think that everyone will have to say, “Yes.” on some level. There are two ways that this impact could take place:

1) PHP is challenged to compete with other languages in the market, that’s either ASP, Ruby, Perl, Python or some new language that comes around. JSP could be re-written to be easier (ha! Like that’s going to happen). PHP is going to be challenged by these languages, at least one of which is tied into Microsoft.
2) PHP will be challenged because Yahoo! needs more of something to deal with their demand. If Microsoft is after Yahoo! for revenue/ad related things then the engines running the machines will be left alone over time. People will adopt PHP (or whatever language) because of its functionality. I personally think that WordPress is a compelling reason to use PHP, Yahoo’s use of it is not as strong as WordPress’ because its easy to get your hands on the source and learn PHP from it.

Yahoo! has a commitment to PHP at present, unless Microsoft dumps their entire staff in charge of making Yahoo! what it is, its going to be a slow transition if it were to change over to .NET/ASP. Industry leaders in the web development/software development community are at Yahoo! working on code and making choices, if Yahoo! loses interest for them they’ll move somewhere else and employ their killer PHP skills there.

PHP libraries like PHP Cake (which I’m using for a new project) make using PHP fun and easy. I think PHP will be around for years to come because of what it is: fast, easy and powerful. I hope Microsoft causes PHP to change, Yahoo! or not. I also hope that Yahoo! opens up more than their YUI library so that coders can learn PHP stuff from them as well.

Thanks Matt for the interesting question!

Google Favelet

Favelets are links that only contain javascript that manipulate the content of a page or might possibly do other cool things. You can find a good explanation and some other useful favelets at http://tantek.com/favelets/ However, I just created one that should hopefully be pretty useful. This one should insert the link count in Google for results. Yahoo! adds rank numbers into the HTML, but Google, for whatever reason does not. Hopefully this is useful:
Drag this link into your toolbar or favorites.

Please report any problems with this in the comments.

Daily Technology

When I find a new tool that I love to use I often blog about it, but sometimes I forget. However, I thought I’d list the software that I use on a daily basis that is not just work related (Like Microsoft Visual Studio 6.0, which I use because I have to, not because it’s great – it gets the job done). Software can cost money or be open source, but either way, if it is excellent then I recommend it to others. If you’ve seen my root site you’ll see that I link to four pieces of software:

  • FeedDemon
  • TopStyle
  • Firefox
  • MDaemon

Why do I use the above software? Necessity in part, and brilliance, too. The software listed there is, I believe, the best on the market. If I didn’t have that software I’d be using other software, or possibly multiple programs to get things done that these programs do by themselves. Of course these are not useful for all of my readers, I do believe that the first, FeedDemon is the most usable for the largest audience.

FeedDemon
FeedDemon is for RSS and Atom feeds. If you don’t know what those are the simplest way to describe them is that they’re files on a web site that allow you to check out the latest headlines or posts on the web site. Practically speaking I think this saves me around two hours of time a day if I was checking web sites individually for new content. However, I won’t lie, FeedDemon has caught me off guard more than once by distracting me from what I was supposed to be doing by exposing me to new sites, new content and new information. However, all of those things are great and I know keep track of 121 feeds [note: 121 is a palindrome].

The usability in the latest version of FeedDemon is incredible. Nick Bradbury has taken user feedback, his own intuition and experience and rolled one of the finest pieces of software on Windows. If you haven’t tried it yet, download the 30 day trial at it’s home page.

TopStyle
TopStyle is a CSS and XHTML editor. Sure, that sounds simple enough but this software does almost everything I could want to do with both of those types of documents including allowing me to edit other text documents. In fact I find myself using it with JavaScript regularly and sometimes XML and XSLT as well. This tool is well rounded, feature rich, and with powerful shortcuts and utilities I maintain this site and do other client work with it. Standards Compliant sites are easier to build with the validation toolset as well as the auto-complete wizard that only offers suggestions that comply with the Document type you’re using. Find out why you should be using it by downloading the thirty-day trial.

FireFox
As most readers of this blog know I’m a FireFox junky. I use it exclusively except for when I test my work on other browsers to make sure that they render well. FireFox blocks pop-ups, has tabs for keeping track of multiple pages in one browser (rather than lots of browser windows), and allows you to add plugins and utilities that are being created and added to by other users. Open Source at its finest. Without FireFox I would probably still be scratching my head using Internet Explorer for Windows.

FireFox integrates usability with functionality and comes out far ahead of its competition. Check it out.

MDaemon
OK, so most people don’t have control over what email server they use, or what email their company uses, or their ISP. However, if you’ve got control over that, use MDaemon. I must confess that I worked at Alt-N for three years, and now I consult with them. I may have a biased opinion but let the following attest to it’s effectiveness against viruses and spam:

  • I have never ever had an email borne virus infect my computer [in four years].
  • I get one or two spam messages a day at most. Sometimes I go several days without spam.

What software do you use without fail that makes your life easier?

Interesting Op-Ed

I have been amazed, amused and confused by various responses to Bush’s re-election this last week. My thoughts aside, which are pretty ho-hum, this Op-Ed article is quite fascinating.

I’m a generally conservative guy (but I’m not registered Republican, I’m ‘unaffiliated’ or some other non-sense term that means, “Please don’t pigeon hole me.”) and I’m not a closet Christian, but I’ve been flabbergasted that so many web sites and news blurbs cited ‘Evangelicals’ as the source of Bush’s win. For crying out loud, there are lots of states with a very small percentage of actual Christians (where Christian does not equal WASP) but where conservative values tend to be held. Heck, I left the Bible Belt to find a home church 🙂

What I’m most interested in is some reasons why I don’t think Kerry won:

  • Anything but Bush is hardly a reason to vote for Kerry, and it’s really not a reason to vote against Bush. It just says that someone disagrees with Bush.
  • Bush Lied. Yup. Most likely he spun, or lied, about a lot of stuff. This is typical for politicians, no matter what stereo-type they get labeled with (including Bush’s Christianity). People apparently aren’t expecting truth from politicians or televangelists.
  • Bush is against Stem Cell Research which could hold the cure to (insert many diseases here). I want to state right now that I am for stem cell research. With one condition: don’t get the stem cells from aborted babies. The reason this didn’t win people over to the Kerry camp is because not enough Americans recognize this as the issue it is. There is a lot of ignorance when it comes to medicine and the common United States citizen.
  • The War on Terror is never ending. You may know that. I know that. However, considering that most of the people voting attend religious ceremonies two or less times a year their recognition that terrorism in the middle-east is often based on religious motivation – they don’t think about it and they don’t get it.
  • Peoples children are dying in Iraq. Voters don’t want people to die. However, when you calculate that the number of US citizens that die every month from car accidents in the United States is higher than the number who have died in Iraq in all of that time, the fatality rate has been very low[1]. Granted zero deaths is better than even one death. I’m personally not for war, and don’t want us in Iraq (or any other country) either, but I think that voters didn’t buy this argument.
  • Gay (marriage, unions, governmentally recognized relationships). Many Americans may not be homophobes (or many may be, I don’t know enough Americans to tell you this) but I think that this issue really didn’t grab the attention of John and Jane Doe because Will and Grace is their one contact with homosexuality – except if you count their aunty’s hair dresser.

This is a very small list and I know many more arguments were leveled during the time of the presidential running (or, if you want to be humorous, the running of the bulls [as in bull pucky that came out in the mud slinging]). My recommendation for those against Bush’s presidency is to not marry a Canadian, move to Canada or protest all over the place. Instead, move to California, they’ve got plenty of room (not really), join a cult (to counter the Evangelicals) or marry a Canadian so they can move down here and populate the country with Candadian ideas and accents (Pretty good idea, eh?).

I’m interested in intelligent conversation on this and would like to hear other arguments I didn’t list and see what else we can come up with. Also, what candidates do you prognosticate for the next presidential election? Powell verses H. Clinton? That would be quite the race because you’d have a black male verses a woman. Of course Arnold Schwartzeneiger verses Obama would be even more intense! OK, I’m going to bed.

The Perfect Blog or The Randy Awards

I’m not a blog critic because a blog is a personal publication, it belongs to the author and if they desire to shoot their mouth (fingers?) off, spill the beans, write about how they got up at 6:30(, brushed their teeth, ate toast and drove to work in the usual traffic etc.), or pontificate they can. This blog is pretty diverse, you never know if you’re going to get "There’s Something About Abby," "Thou Shalt Laugh," or "StatTraq statistics." However, this blog does not have a blogroll (a list of blogs I read) simply because I have too many blogs that I read with a very wide range of social, political and religious views. Some of them push the limits for me with foul language periodically, some of them crack me up and I interupt Jessica in whatever she’s doing to read the post(s). With that in mind, I’d like to list off a few blogs I really think you should read [in alphabetical order], followed by a reason why (and in a few cases, some warnings).

Apropos of Something
This blog has to be the most consistenly funny, well written, creative blogs in my blogroll. Jess, the author/blog owner, never seems to run out of material for publishing from past goof-ups, self flagellation, and humorous quips about current events.

Dave Barry’s Blog
If you read anything I write and think it’s funny, chances are Dave Barry somehow influenced it. Dave is funny. His blog has funny links. Watch out for some dangerous links to content one should avoid, but usually the title or description of the link gives away that the content is NSFW.

meyerweb.com
Eric Meyer was one of my first ‘web heros,’ he is a well studied CSS and web development author as well as a sharp thinker. He and I often disagree on our politics and philosophy in the non-tech arena but that disagreement is never without me thinking further about whatever the topic may be (he surely doesn’t limit himself to posts about web development). Eric is a sharp guy whom I had the fortune to meet at SXSW and listen to his brief contribution to the panels there.

Nick Bradbury
Nick is the creator and (only) programmer of both TopStyle and FeedDemon. I had the honor of meeting Nick at SXSW as well. Nick and I have had a few very serious philosophical discussions by email and I’m impressed by his honesty and character. Nick’s blog is also full of interesting links and snakes. I should also note that Nick is the source of much of my traffic due to Banana Phone.

Photomatt.net
Matt is the lead developer on WordPress and so I hold a special place in my heart for him 🙂 Matt also seems to have the knack for finding great little secrets on the web. Links to new technologies, better ways to approach coding and the like. Matt and Eric were both involved in the creation of XFN. I met Matt at SXSW as well.

Surely You’re Not Serious
Trint is a funny guy. Trint is also a staunch Republican, so sometimes we get a little view into his mind from the not-so-funny side. However, even the not-so-funny side is pretty funny. Trint is also a great web developer, unfortunately you’ll just have to take my word for some of it because the source code is top secret.

And also, I’ve got a list of blogs that I’d like to see more from. Blogs that are good, but short on content due to family, work, family work or previous engagements.