Oct262008

Framework 3.5 Enhancements (SP1) Training Kit

Published by guillermo at 10:18 PM under Technology | Development | Process & Methodology

I love these as a quick, hands on way (my favorite) to get up to speed with skills and technology you may otherwise miss or take longer to catch up to.

Here is the training kit from the horse’s mouth:

The .NET Framework 3.5 Enhancements Training Kit includes presentations, hands-on labs, demos, and event materials. This content is designed to help you learn how to utilize the .NET 3.5 Enhancement features including: ASP.NET MVC, ASP.NET Dynamic Data, ASP.NET AJAX History, ASP.NET Routing, ADO.NET Data Services, ADO.NET Entity Framework, WCF 3.5 SP1, and the .NET Framework Client Profile.

Download the kit from here.



[KickIt] [Dzone] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Tags: , , , , , ,

E-mail | Permalink | Trackback | Post RSSRSS comment feed 0 Responses

Sep232008

Local companies recognized by innovative use of technology

Published by guillermo at 9:37 PM under Technology | Reviews

The September 15th issue of InformationWeek (perpetually mistakenly delivered to me for 3 years), features their 20th annual ranking of companies they deem “The Top Innovators In Business Technology”. 

The listing has a regional breakout, and so I thought It would be easy to just go through it and identify & extract all of those companies with headquarters in our state of Wisconsin.  It is in a way a means to show my regional pride.

Here’s the list of companies in alphabetical order, containing the company name, city and the company’s highest ranking IT executive & title:



[KickIt] [Dzone] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Tags: ,

E-mail | Permalink | Trackback | Post RSSRSS comment feed 0 Responses

Sep182008

Introducing SQL Server 2008 Free eBook

Published by guillermo at 10:00 PM under Development | Technology

Me and my addiction to books, especially FREE books.  Sorry.

Go to the Microsoft SQL Server 2008 Learning Portal, click on Special offers (or scroll down a bit), and follow the link.

Via the author's blog post.



[KickIt] [Dzone] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Tags: ,

E-mail | Permalink | Trackback | Post RSSRSS comment feed 0 Responses

Sep112008

Acronym hell

Published by guillermo at 12:00 PM under Gadgetry, Media | Technology



[KickIt] [Dzone] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Tags: ,

E-mail | Permalink | Trackback | Post RSSRSS comment feed 0 Responses

Aug222008

Surface Application Demo

Published by guillermo at 6:00 PM under Development | Technology

I'll never tire of watching and being blown away by the technology available on the Microsoft Surface platform.  The application demoed is a WPF (official WPF site) application for the healthcare industry.

This is a quick 5 minute video worth every second.



[KickIt] [Dzone] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Tags: , , ,

E-mail | Permalink | Trackback | Post RSSRSS comment feed 0 Responses

Aug212008

.NET Framework 3.5 Enhancements Training Kit

Published by Guillermo at 6:00 PM under Architecture | Development | SOA, WCF | Technology | Tools

Quick note to link to the training kit released with the advent of .NET 3.5 SP1.

Complete kit with presentation & events materials, hands on labs and demos on:

  • ASP.NET MVC
  • ASP.NET Dynamic Data
  • ASP.NET AJAX History
  • ASP.NET Routing
  • ADO.NET Data Services
  • ADO.NET Entity Framework
  • WCF 3.5 SP1
  • .NET Framework Client Profile


[KickIt] [Dzone] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Tags: , , , , ,

E-mail | Permalink | Trackback | Post RSSRSS comment feed 0 Responses

Jul302008

Dreaming in Code [Book Review]

Published by Guillermo at 7:00 PM under Opinion | Reviews | Technology

There is no other way to put this before I delve into the details: You (as a professional developer, product owner, product manager, software practitioner in any ability) owe it to yourself to read this book… that is, if you are anything like me and reading about all of these tidbits of software development history while getting a degree of insight into the process of an "organized" open source project, in any way call to you.

 

There is a little bit of everything here, presented in a narrative that is pleasant to read, and with the right amount of abstraction to keep you at the right interested at the right level without too much detail making the reading terse.  I almost [ALMOST] gave it to my wife to read, only until I was deeper into the book itself I reluctantly admitted it would have not have appeared as appealing to her as it was to me.

The [story] follows a team assembled and funded by Mitch Kapor, in its quest to create the open source product that would Chandler.  In the process, the OSAF is founded as the backbone supporting and governing the efforts.

Their trials and tribulations make up the narrative's main thread, but the vision, the lessons learned, the passion that one can feel jumping off the pages from those involved in the project and who wanted it so badly, was what made this a page turner for me.

Needless to say, the stories, the citations, the anecdotes surrounding all of those who end up intertwined in the process, as well as all of those that emerge from the story itself, and some of what otherwise would be considered useless footnotes in the history of software development, spoke to me, enticed my curiosity for wanting to know more about them and motivated more than a few searches and articles to be read parallel to and after finishing the story.

The book was published in January of 2007, and covers the project time (including vision and conception) spanning 2001 to late 2005, where the book sort of trails off and never quite has what one could call a "written form of closure". 

The author, Scott Rosenberg, sort of ends the book with a couple of chapters that are full of historical (albeit somewhat relevant) notes and an observer's retrospective analysis which are probably more subjective than actual factual conclusions.  I don't mean and certainly don't intend this to be criticism to the book itself or to the way he (and his editors) chose to conclude the book, but I would have liked a cap on the story more fitting to the initial heart beat of the book, one that would give the story it own identity, a beginning and an end.

The project itself is still alive, the product is available but beyond knowing that I would suggest that if you intend to read the book that you don't spoil the whole experience of reading the book by "catching up" on where the project is at currently.  I can share with you that the many players in the story and the project are interesting and up until the end they "all" came and went.  An interesting note worth mentioning is that a good number of the people involved in this project are the same "core" that brought us Firefox.

You can read it as a story, you can read it as a use case, you can read it as a diary of a software development project, you can read it as a text book that is 100% pragmatic, but nonetheless I recommend you read it.

You can find other reviews here, here, and here.  More opinions will for sure confuse the heck out of you, so go right ahead and read them all!

The book's main site is kept by the author at Dreaming in Code, available on Amazon or you can just let me know you want to borrow it!



[KickIt] [Dzone] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Tags: , , ,

E-mail | Permalink | Trackback | Post RSSRSS comment feed 0 Responses

Jul292008

Free Tools I Use Daily

Published by Guillermo at 6:15 PM under Technology | Tools

Mainly just as a quick reminder to self of the tools I've found to be worth the time to install and learn.

The Tools listed here are mainly utilitarian, and not at all focused on anything in particular. All of them, as stated in the title of the post, are free. I love free software, oddly enough given I make my living writing software.

.NET/Development
  • Lurz Roeder's Reflector, I am not the first (by a loooong mile), nor the last one to list this MUST HAVE. Just go get it if you don't have it and don't ask, just use it. Period. 'nuf said.
  • Krypton Toolkit. If you do any Windows Forms development in this WPF new world, you HAVE to get these Free Components, use them and love them. Great looking, practical, easy to use. Check out the tutorial screencasts on their website.
  • Fiddler. Look at your stuff... look at everyone else's stuff... the stuff that is really coming down, ya' know!
  • Sysinternals Suite. With tools like DebugView as a given, and many others that add incredible value to any developer's arsenal, this is a no brainer must have.
Firefox Extensions
  • ScribeFire, I am writing this post using it. Nice, simple, integrated, powerful.
  • foxmarks, Keeps my bookmarks synchronized between my home PC(s) and my work PC. Priceless. Literally.
  • TwitterFox, The easiest and least intrusive way to keep up with an addiction. It is not the most powerful or feature rich Twitter client... by a mile... but it works!
  • SiteAdvisor, Free browser extension from McAfee. I'll make this disclosure: it works for me. In an unsafe world I use common sense first and foremost, but many get past my gut feeling, data backs this service up which is better than nothing.
Editors
  • NotePad2, I use the installer Brennan created that adds an "Open with.." to the right click context menu.
  • LINQPad, great way to learn and teach. At this point it is not a tool of daily use, but its awesome, so I list it.
  • Windows Live Writer. Hands down the best blog post editing tool. Although ScribeFire is convenient and very good, Windows Live Writer is great for offline editing and also has tons of plugins available.
  • Cayra. Mind Mapping tool. Cool to use, ideal if you can actually make it an "everyday" thing. Handy to have right now for me though.
Other Tools
  • Pidgin. All your IM accounts in one client. Lightweight, simple, so bells and whistles.
  • Picasa. Simple photo organization and editing. Love the feel of it. Direct upload to Picasa's online web albums (free up to 1GB of storage), and also to photo printing services (my main reason for using it), like KodakGallery, SnapFish, WinkFlash, Shutterfly, Walgreens, Walmart and many others.
  • 7Zip File Manager. Awesome compression, great compatibility.
  • CCleaner. The first "C" is for CRAP. Yep, that's right, it cleans crap out of your PC.
  • SyncToy.I tend to want to keep some folders in sync. In the end each one is its own world, but this has been the tool I've resorted in my attempts to keep them the same.
  • FeedDemon. From NewsGator, my favorite desktop RSS reader. Although it does "synchronize" with an online OPML, it only works between a given instance of the reader (say the one you have a home) and the online version they provide. It does not keep two desktop instances and as such it has proven inadequate by itself.
  • Virtual Clone Drive. Great ISO management tool. It works as a driver to mount .iso files as a local drive. Awesome and indispensable.
  • AusLogics Disk Defrag. Better than the built in defrag, great performance.




[KickIt] [Dzone] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Tags: , ,

E-mail | Permalink | Trackback | Post RSSRSS comment feed 0 Responses

Jul282008

Downtime

Published by guillermo at 6:00 PM under Blogging | Technology

Even before I started even thinking about actually "blogging", one of the elements that quickly came up as important to consider was hosting.  Now, I've always hosted my own, and for the most part it has faired pretty well.  I don't (and lets be honest, most likely never will) have the traffic to even put a blip on anyone's bandwidth use radar, and that was one of my initial (unproven and unjustified) concerns.

Since we are putting an addition on the house, and redoing (read ripping it all out) the 70s looking basement, my hand was forced and I had to take down all of my infrastructure, including server and incoming Internet connection. 

I will get a new, decent, nice looking, office out of all this, and it will not be cold and an eye sore like it used to be.

 

I've been managing by having to relocate the physical infrastructure required to provide me with outbound access (mainly my router, modem and a power strip) which come into my basement, almost on a day to day basis, although its been stable since Wednesday or so and over the weekend because there was nothing going on down there as far as construction goes.

This has created too much downtime for me, and although I have little to no audience, it is clear that it doesn't help.

I have been evaluating options from different hosting solutions, and thus far in 1 week of on and off (15 minutes at a time) dealing with several, I have come across 2 disappointments and no true clear winner.  Of course, a huge contributing factor is that this is merely a hobby and as such justifying too much of an expense (more than say $10 a month) is a hard thing to do.  The search continues, but regardless of my convictions I should be moving this blog to a new site within a couple of days.

In the meantime, read this as somewhat of an explanation for the lack of posts, and my sincere apologies to go with it. 

I am well aware downtime and lack of constant posts are big no-nos in the list of things not to do when one is without an audience and trying to gain the trust of anyone who would listen. 

Again I apologize and my commitment continue despite some of the minor obstacles and workable setbacks.



[KickIt] [Dzone] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Tags: , ,

E-mail | Permalink | Trackback | Post RSSRSS comment feed 1 Responses

May162008

Architecting for Scalable Web Applications: ArcReady May 15th Summary

Published by guillermo at 6:00 PM under Opinion | Process & Methodology | Reviews | Technology

As I had previously mentioned, yesterday I attended the ArcReady event titled: Architecting for Scalable and Usable Web Applications.  Here is my summary notes, and brief opinion in a format as condensed as I could possibly make it and still do it justice to include all the goodies.

The morning was split in 2 sessions, the fist of which was presented by Larry Clarkin and the second by Technology Evangelist John Weise.

Session 1 - Architecting for Scalable Web Applications: Overall outstanding for many reasons but more importantly because it did not carry a [heavy] Microsoft Agenda.  It was participative, well focused, well presented and what I would consider appropriately "architectural" in content.  With a few practical tips, approaches and case studies presented it had enough of a take-away to raise it above a purely academic level typical of most presentations.

Premise: Scalability <> Performance.  Strive for stable Cost Per Transaction.  Don't expect Economies of Scale to apply to scalable web applications.

Doing some follow up research I came across this very interesting and relevant white paper by Kanwardeep Singh Ahluwaliaon Scalability Design Patters (PDF Download).

The Patterns for Scalability presented were:

  • Be aware of the environment both physical (infrastructure/backbone), as well as configuration related: Look at configuration settings to make sure Debug is turned off (yeah, it happens).  Use the deployment element retail="true" setting.
  • Scale UP Hardware: Look at upgrading RAM, Disk I/O and even CPU. 
  • Scale UP Software: The concept of scaling up applies to Software as well.  Consider upgrading to IIS7 on Windows Server 2008.  Look to eliminate single points of failure by implementing solutions like Active/Passive and Failover Support.  Look at configuration settings to make sure Debug is turned off (yeah, it happens).  Use the deployment element retail="true" settingManage your sessions!  Consider turn them off for the application and on as needed per page.  Evaluate your needs for InProc vs. Database sessions.  Set them accordingly.
  • Scale Out: Solutions include DNS round robin, Microsoft's Network Load Balancing, Microsoft's ISA and hardware load balancing solutions by vendors like Cisco.  As with anything else the right solution will depend on your needs, environment, budget etc.  Pay special attention when using load balancing solutions and SSL, remember to set affinity.
  • Specialize: Use a node/server/group per role/responsibility: Web (UI), Application (Web Services, etc), Resources.  This last one was a good eye opener. Static in nature, resources make up most of the payload in a typical request.  A good case for implementing IIS7 configured with just the modules required for static content.  This would yield a significant performance gain.  You will also gain from "decoupling" the hosting implementation and can make adjustments where needed without affecting the rest of the solution.  Consider using 3rd party services to offload static content.
  • Split the Application: Consider using subdomains if you can logically and functionally split your application.
  • Split the DB: From a "logical" unit(?) point of view.  First approach under this pattern tells us to consider using a separate database for Reference & Transaction data.  A quick downside effect of this approach is that we violate many-a-rule of normalization and risk breaking our otherwise good relationship with our DBAs because of that! <grin>.  A second approach under this bullet points us to a solution that calls for Read & Write versions of the data.  One write, many (as needed) write versions.  Use appropriate synchronization/replication between them.
  • Database Sharding: I knew of this approach referenced by the term Partitioning rather than Sharding, but the concept is to split your DATA across databases based on a given criteria inherently part of the data, like users with last names from A-D on one database, E-H in another one and so on... or split it by department or like apparent MySpace does it, one database by X amount of users which in their case appears to be 1,000,000.  To overcome the challenges inherently part of trying to manage data spread according to this approach, you can leverage technology like Distributed Partitioned Views available in SQL Server.
  • GEO distribution: With more specialized uses and needs, typically used to increase availability by proximity and to provide some redundancy and failover.  Requires you to have or leverage Hardware and infrastructure knowledge skill and expertise.
  • Offload the Work: Examples include services like Flickr picture hosting (applicable only to personal use), and Silverlight Streaming services.

Anti-Patterns:

  • Spending all your time looking at your code (as your bottleneck)
  • Caching everything <-- Do cache, but do so judiciously.  Caching chews up resources which hurts scalability.
  • Services calling Services.

I truly enjoyed the presentation, the format, the tone and the content.  It wasn't better only because sadly it was cut short.  The last 20% of the content was pretty much delivered in 20 minutes which was a pity because the conversation was flowing and the attendees were engaged.

Session 2 - Architecting for Usable Web ApplicationsJohn Weise breezed through some slides with too much of the content being "more of the same".  There were some interesting points brought up and the Demos where simple and short "show and tell" for a couple on "cute" applications.  Nothing breathtaking or groundbreaking there.  He talked about (showed) the UI Archetypes and went into some detail over the UX Continuum as part of which Larry stepped in to talk about and show the UX IQ application.  This cool little application is provided as a tool to provide guidance on application platform selection.

Best Practices:

  • Form Follows Function
  • Create a set of design tenets
  • Use the appropriate level of fidelity
  • Build with the customer and user's input <-- From agile?
  • Build for ease of use, but don't forget the Power User.
  • Plan for concurrency
  • Balance security with usability
  • Build for supportability and maintenance
  • Be aware of standards <-- Compliance

Anti-Patterns:

  • Golden Hammer
  • Breaking UI conventions
  • Overuse of animations

My personal opinion and take-away out of this second session, was not as positive as for the first part, but I still got some good pointers, and overall the time spent was well worth it.

Three good demos worth mentioning:

  • ProtoXAML : Prototyping UI, with napkin skin... awesome!
  • UX IQ <-- Couldn't find source at fist pass, will look further and update when and if I do.
  • Woodgrove Financial WPF application.  Source code here.

As part of the now common and to a certain degree expected give-away, books and copy of Office 2007 Ultimate where handed out. 

Two of those books are available online and as PDFs for free:



[KickIt] [Dzone] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Tags: ,

E-mail | Permalink | Trackback | Post RSSRSS comment feed 0 Responses