Tuesday, October 23, 2007

So I've read some semi-interesting things on speech recognition software, and have wanted to experiment with it. When I fired up my latest favorite browser tonight I was told a new version was available. I downloaded it and quickly glanced through the new features, noticing something called Opera Voice, which promised to read to me!

I couldn't resist, and ran out to Best Buy and bought a "Premium Stereo Headset" by Logitech. (This is where a real blogger, one who really cared about his three readers, would find the actual model and supply a link.) Now while surfing or reading blogs with Google Reader, I can simply highlight some text, hold down my Scroll Lock key, and order, "Opera, speak"! I tend to say this sternly, like I'm talking to a big I think might follow my orders, but I found out I don't need all that when my wife calmly stated the same command in her normal speaking voice. So now I can get a bunch of reading done on the web while resting my eyes, and I even understand most of what the Opera guy is saying. Click here for a sample of that Opera guy reading one of Scott Hanselman's recent posts on home networking. The real, live Opera guy sounds even better, given that I used Windows Sound Recorder to capture the audio.

Tuesday, September 25, 2007

Asp.Net Validators Gotcha

Today I was working with an Asp.Net 2.0 Web Project. I debugged the javascript with firebug, looked at the web.configs, and finally figured it out. I was using the "New in Asp.Net 2.0" property ValidationGroup, and failed to indicate the group on the button.

Friday, September 07, 2007

If you ever surf the web, then you probably know the feeling of following links around, with each destination more interesting than the previous, until, after a half hour, or maybe longer (on good days) you think to yourself, "What the hell was I doing anyway?". Well I thought I'd quickly share my last link journey (can it really be called that, I only have 4 links).

I started reading some blogs, which may be, by the way, the laziest, least effective, but most interesting way to be a better programmer. And interestingly enough, the last link on this post is also how my journey started. In reading a recent post of Mr. Hanselman he linked to a Google search. The top two results of said search both were, surprisingly enough, links to posts by Mr. Hanselman himself. (Do you think he realized that, when he provided the link?) I digress.

The first result of said search was this post, which had a link to here. The post Scott linked to was enjoyable, but it linked to a great article, and it seems like these deep dives into the web always involve Paul Graham. What does that say about me? Among other things, it may mean that I have similar values to Mr. Graham, minus the love of Lisp, the ambition, the money, and probably the intelligence and writing skills as well.

Wednesday, July 25, 2007




Tonight I'm back on my machine, playing around a little with IronRuby, Microsoft's recently released (Pre-Alpha) ruby implementation. I just downloaded the source, (yes I said source; it's being released under Microsoft's Permissive Licence), opened the solution, and built.

Here's a screen shot of IronRuby's version of irb, called rbx.exe, an interactive Ruby shell. Notice the class return is 'mutable string', whereas in Ruby the class would just be string. I'm guessing they're avoiding name conflicts with the .Net strings, which are, of course, immutable. From John Lam's blog,

"In micro-benchmarks which measure method call performance, we are significantly faster than Ruby 1.8.6. In micro-benchmarks which measure library performance, we are on par with Ruby 1.8.6; we expect to see performance improvements in these benchmarks in the future."


In somewhat related news, Digg has abandoned Google for its online ad service, and chosen a young, innovative upstart, Microsoft. Read the gory details.


I'm not sure, but I think I actually feel good about being a Microsoft developer, at least for the moment. Weird...

Wednesday, July 18, 2007

I was just made aware of a great video on scrum, a popular agile process to help manage software projects.

It's a long video, but at least watch the few minutes starting at about 41:15. It really hit home for me, and demonstrates the exact message I've been struggling to explain for weeks.

Basically, it explains how 'hurrying up' by reducing quality to meet a deadline makes all the work after that start at slower pace, or forces teams to reduce quality even further. Good stuff...

Monday, July 16, 2007


==> I'm writing a bit of Ruby in Visual Studio tonight. No, I'm not using Orcas, Silverlight, and the DLR. I'm using a Visual Studio 2005 add-in by a company named Saphire Steel, and this is apparently their only product. It's called Ruby In Steel, and me likey. Considering it's affiliated with VS, it was a fairly small download. Once I installed and pointed Ruby in Steel to my Ruby executable location, I had a ruby project going in a couple minutes.

Ruby In Steel offers intellisense, (where it can, anyway, Ruby is dynamic), debugging, and the familiar Solution-Project setup, and support for Rails. The professional version is $199, and includes intellisense and a faster debugger than the developer(free) version I'm using.

If you can read the ruby text above, that's one example of using Ruby's version of reflection. I've declared a private method in my class, then invoked that method by calling send on the first element of the array returned by the private_methods method, which every object gets. The false parameter indicates that I don't want methods from parent classes returned. Is it me, or does this seem a little more convenient than .Net's reflection API?

Friday, July 13, 2007

Do you write HTML? Do you care if it's XHTML compliant? You should. I've been playing around a bit with Ruby and Ruby on Rails and recently came across Haml, an application written in Ruby that takes the drudgery out of all those angle brackets to help you get XHTML-compliant markup faster. It's meant to be used as a replacement for templates in Rails applications, but is easy to use outside of Rails.

I downloaded Haml and produced this markup:


<div class="'mainContent'">
<h2This is huge!</h2>
<ul>
<li>One Item</li>
<li>Another Item</li>
</ul>
<strong>2007-07-13T23:33:34-05:00</strong>
</div>


I simply pointed the Haml parser to a file that looked like this:

.mainContent
%H2 This is huge!
%ul
%li One Item
%li Another Item
- now = DateTime.now
%strong= now

It took another 5 minutes or so to take the output above (the valid XHTML) and spit out a .html file. I could easily change the extension to .aspx and have a helpful start to my pages, (especially if I had taken better notes at the semantic HTML training at work). And even better, how about having Haml in IronRuby and writing the above code in visual studio, with intellisense! That may not be far off, see my last post for more IronRuby.

Would something like this be useful for the client-side gurus? Anybody writing Html, let me know what you think, and I'll see what our resident expert, Michael, thinks.

Tuesday, July 10, 2007

This weekend I was doing what I think developers ought to do, especially if, like me, they love new technology and the struggles of software projects more than the actual programming itself. I was seeing what I could learn about Orcas and Silverlight without actually installing the monstrous, 8-part download for Orcas Beta1. If you followed the Orcas link you'll notice that you'll have to deal with some 5 GB of downloads, only to install and perhaps find that the IDE wreaks havoc with VS 2005.

I found Microsoft's MixOnline site, which has a nice search utility to find presentations and keynotes, and quickly found what I was looking for. John Lam and Jim Hugunin, creators of RubyCLR and IronPython, respectively, gave an entertaining and impressive talk on Silverlight and the DLR (Dynamic Language Runtime). They demoed javascript, ruby, python and C# code all intermingled and talking to each other seamlessly! This link shows the talk in a Silverlight media player and requires a quick download. Enjoy...

After watching, you can check out this article from the Atlantic to get some perspective on just how far we've come in 20 years. I didn't read the entire article, but it speaks admiringly of "hard disks" costing several thousand dollars than can store "from two or three on up to several dozen megabytes".

Monday, July 09, 2007

I should really rail against Sql Server development tools, but instead I want to point out how an agile team can come together and produce good work and overcome many obstacles.