Wednesday, April 16, 2008

Daily Links 16/04/2008

xUnit RC3 Released
interesting UTF.
compare it to other UTFs
I really like the way it's implementation is more intuitive by using plain old classes with constructors and IDispose instead of tags. neat. simple.

XCopy media player (no installs) - has some issues playing AVI files with std players, this played them no problem.

Raising events using extension methods

Scott Guthrie April 11 Links

CRUD with Silverlight and N-Tier Architecture
Video blog showing simple change tracking over N-Tier architecture using LinQ and Silverlight

Share the config file between projects
The same methodology can be very powerful in sharing common source files between projects (eg: common server / silverlight client code logic, or common server / compact framework code logic) Obviously in this case the canonical version would have to reside in the subset framework.

Credit Card Validation - regular expressions

Using the "let" keyword to make LinQ queries more readable

Thursday, April 10, 2008

Daily Links 10/04/2008

Setting up Subversion on Windows
"get a small Subversion server and client going on Windows. It'll take all of 30 minutes"
Handy for home development (those of us that can't afford Team Foundation Server)
Also consider VisualSVN Server

Unit Testing with Silverlight - the FULL article

Life of a software project (graph)
ie: less code + less programmers = better software...and herein lies the value of using few good developers (those who can get the same functionality from less lines of code while still remaining understandable / maintainable) rather than many average developers.

Using WinMerge with TFS
Replace the sucky default TFS merge tool with WinMerge

"password-protect, lock, hide and encrypt any number of files, folders, drives, pictures and documents in seconds"

Got a bit tired of inetinfo locking folders I needed access to. (restarting IIS and machine doesn't release the lock!) This is a handy tool that can release locks on files / folders from a simple right-click menu option.

Tuesday, April 1, 2008

Random Thoughts - I am a Google fanboy

Yes, I am unashamedly a Google fanboy.
This is mainly due to what I believe to be their secret to success - Parsimony.

My first exposure to search-engines was yahoo, and being a typical end-user, I stick with what works, but over time yahoo seemed to get cluttered with advertising / news etc. etc.
Enter Google: A textbox and a search button - Parsimony at it's best. Bye-bye Yahoo.
They have since repeated this recipe with number of their products.
Just compare GTalk vs MSN Messenger. Once again, I first started using MSN Messenger, but was soon won over by GTalk's simple and intuitive UI - bye-bye Messenger!

This leads me to what I've long held to be the difference between good developers and great developers: (and ultimately the difference between good software and great software)
A good developer is up to date with all the technologies / methodologies, and knows how to apply this knowledge to a given problem domain.
A great developer has all this, but understands that joe-soap-user out there doesn't need (or want) all the bells and whistles. A great developer knows that "all things being equal, the simplest solution is usually the best solution". Basically - just because you can, doesn't mean that you should.
In programmer speak, it means practicing self-restraint on those "wouldn't it be cool if..." thoughts.
In summary - a great developer understands the law of parsimony.

Google products this developer currently uses:
An evolution of the original google. Create a custom google home page. I've added weather, sticky notes, and todo list to my "home" tab, and Wikipedia and Babelfish to a "tools" tab.

While I do have a yahoo account, I was continually frustrated by the UI. GMail proved to be much more user-friendly (eg: when deleting mail, it doesn't reload the whole page - or sometimes not delete the mails you marked for deletion) The easy-to-implement POP-support (automating download of your e-mail to your desktop mail application) was also great. I used this tutorial for Outlook Express.

IMHO the best instant messenger. Get it if you haven't got it.

Google Desktop
I use this mainly for the quick-search of files on my PC. IMO the sidebar, though helpful, is a bit intrusive on the desktop. Cool blog about it.

Google Docs
Up until recently, I've pretty much ignored this Google product in favour of OpenOffice, but offline capabilties have just been added (Apr 2008), which means that you can have access to all of your documents on-line, and download them to your local drive in just about any format (Word / OpenOffice / Pdf), and upload again once you've made the changes off-line. schweeeet.

Google Earth
View satellite photos from just about anywhere in the world. Zoom and and have a look at details from just about any neighborhood. Good fun. I find it handy when I have to play at a golf course that I haven't been to - excellent to check out the course layout before-hand.

Like Paypal - manages on-line payments. I haven't used this extensively, but my experience thus far has been very good. Notifications and service every step of the purchasing process.

Google Analytics
Great FREE website monitoring tool. All sorts of stats as to who visited, for how long, from where etc. etc. Did I mention it's FREE?
PS: Remember to add your IP as an exclude filter, else all your blog editing / viewing will be registered as traffic.

Google-owned companies:
Host your own blog - very easy UI for maintaining your thoughts on-line

..and if you're blogging, then most certainly use feedburner. It's a great and easy way for people to subscribe to your blog, as well as view stats like which search bots have hit your site, how many people are subscribed etc.