Saturday, July 29, 2006

First YouTube Video

My daughter and I made our first YouTube video this morning to go along with our website.

The possiblilities at YouTube are so enormous. A friend of mine showed me her friend's page where she is teaching Japanese via short videos. Besides lots of humourous videos, the vistas are open for teaching.

Thursday, July 27, 2006

Why is Microsoft software so bad?

About twenty times a day I ask myself the same question over and over: "Why is Microsoft software so bad?" I mean, it's horrible. For example, this message pops up on my screen occasionally, "A program is trying to access your email folder. Would you like to grant it permission?". My first thought is naturally, "Which program?", but the warning is too coy to answer that. Finally I realize it's my IPAQ trying to sync and grant permission. But didn't it ever occur to anyone at Microsoft that users might want to grant some applications permission and not others?

Another example - Visual Studio has so little clue about software. VS 2003 can't even take you to the correct overloaded method. VS2005 is better, but good grief it's been 3 years (21 in internet years) and they "give" us this? Refactoring is included, but very limited. VS 2005 is a great editor - if this was 1999. Why did't Microsoft just buy IntelliJ?

I waste so much time each day from bad error messages and a outdated IDE.

So why is this? Why is Microsoft software so bad?

Email Obfuscation

Ok, for a long time I just included my email as something like "mitch[at]fincher[dot]org". Which works fairly well, but people wishing to email have to translate that to the real address and mail spammer could tweak their searching just a little to get the address.

I ran into a friend and he suggested using javascript to hide email address. This is not the strongest method, but it is easy. Mail spammer have to increase their technology quite a bit to run the javascript, not that they can't do it, but it's a lot more work and computing time. Here is a snippet:

<script type="text/javascript"><!--
var name = "fincherdotorg";
var domain = "";
document.write('<a href=\"mailto:' + name + '@' + domain + '?subject=Note%20from%20website\">');
document.write(name + '@' + domain + '</a>');
// --></script>

Tuesday, July 18, 2006

No Fluff, Just Stuff Conference 2006

Last weekend I attended the No Fluff, Just Stuff Conference which has traditionally been Java-centric, but this year was pleasantly Ruby-friendly.

Jay Zimmerman, Founder of NFJS and mystery woman:


My thoughts on Ruby on Rails

I remember seeing J2EE for the first time and thinking: "This is way complicated."
I remember seeing .Net for the first time thinking: "This is a lot like J2EE."
Seeing Ruby On Rails for the first time I thought: "This is way, way cool." I was very impressed that testability is baked into the very DNA of RoR. I liked the way all projects had the same directory structure, so you can understand a new project quickly. I like how in Ruby projects everything is Ruby, you don't have to learn (n)ant, and then different xml config files. The config files are Ruby, not some XML syntax.


Dave Thomas did a great keynote speech. He compared methodologies to the Cargo Cults in New Guinea. Basically saying that we ape some process that worked well in the past, but don't really think about if it's appropriate for us today.

Bruce Tate did a demonstration of Test-First programming that was very impressive. Using the Test-First process, the audience created a Tic-Tac-Toe program that was remarkably simpler than would have been done with a classic UML design.

Some other tidbits:
The Spring Framework came from real developers solving their own problems which is a key to its success.
"Type Declarations are Programming Chains."
Many Design Patterns just go away in Ruby.

Friday, July 14, 2006

Austin Ruby Coders Meeting Last Night

At Arctan (Austin Ruby Coders Texas Area Network) last night Eric Mahurin gave an overview of the Grammar project. Eric has created a very slick lex/parser. Interestingly the grammar *is* Ruby. Like Rake, it is not some other syntax you need to learn, but it is just Ruby.
Another intesting tidbit was Eric's use of class recursion.

Class Grammar

Class Element < Grammar

This allows classes defined in "Grammar" to use all the class methods.

Monday, July 10, 2006

New Blog Hosting

My website was hacked over the weekend. The vandals got in via my php blog site I was hosting. After installing, patching, patching, upgrading, purging - did I say patching - I decided to ditch hosting the site with all its vulnerabilities and go with an online blogging source.
To view my old blogs from 2002-2006 visit