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

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

Jun142008

I won

Published by guillermo at 2:00 PM under Blogging | Reviews | Tools

Woohoooo!

I won the raffle for 2 great software products, that Max Pool @ {codesqueeze} put out in honor of the blog's 1 year anniversary.

As entries to the contest one could twitter, blog or post videos... I twitted a couple of times and wrote a blog post here.  That was enough to make me a winner.

So freakin' cool... I can't wait to start using Bamboo CI.

kick it on DotNetKicks.com



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

Tags: , ,

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

Jun122008

books on shelfari

Published by Guillermo at 6:00 PM under Reviews | Tools

All my data are belong to them.

I can't help but realize now how much of my data, my valuable and precious data, that I think means nothing to anyone but me, keeps finding itself somewhere where I have truly no control over it <*sigh*> oh well, it is what it is. 

The reason why I do it, why we all do it is primarily because it appears convenient, in a way that is accessible for us and other that may be interested... or not, and even then I'll just put it up there... right on your face!  Here are my books (the first 100 or so I've entered so far in any case).

Very cool, albeit overly graphic in my opinion and according to my preferences, but usable, Web 2.0 ish, with friends and whatnot.  Still haven't played with it as one may probably want to in order to fully utilize it.  Don't entirely know yet what can and can't be shared amongst friends.

The widget currently displaying on this blog was provided by them... tweaks will be forthcoming.

I will accept pretty much any and all friend invites, as if it is not evident to you by now, books are one of my passions.

kick it on DotNetKicks.com  



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

Tags: ,

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

Jun102008

{codesqueeze} anniversary software giveaway

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

Anyone not like free?  Those of you who raised your hands… GET THE HECK OUT OF MY BLOG.. :)  In all seriousness, this is your chance to enter a drawing for some cool swag! generously hosted by Max Pool at his blog {Codesqueeze}.

He was able to get vendors to pony up some nice (and pricey) software that would make an excellent addition to any developer’s toolbox.

Me myself I am hoping, going for Bamboo 2.0 CI Server.  No I will not resell it on eBay, I have actual plans for it.  Coincidentally I am in the middle of (call it, what you will) a project to setup a CI solution using CruiseControl.net & SVN at home.  The SlickEdit tools would be a nice to have, and believe me, there is nothing like a good editor to make you productive above and beyond the powers of Notepad.

On Deck: Guillermo, get you ass in gear and evaluate "the Bamboo"!

kick it on DotNetKicks.com  



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

Tags: , , ,

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

May292008

znote "tumbler"

Published by Guillermo at 5:30 PM under Blogging | Reviews | Tools

Yesterday I set up a tumblr account.  You can find me here

Don't ask me why I did it, specifically, because I still haven't figured that one entirely myself.  As it is, "keeping up" with one forum, if you will, is something I am still trying to sort out and manage.  I guess initially I feel like I can more easily and with less scrutiny (self that is), post to and leverage the tumblr canvas, letting me try out a larger number of ideas and approach without the need to think too much about structure or content.  Lets see how this goes.

My first take is that this community is like a beginner's blog tool meets del.icio.us meets twitter (grant me some slack for the analogy) meets facebook...???  In other words, you can easily create your "typical" post but then post links and videos and audio files, etc, all from within the provided interface.  It is very nice and clean and practical.

Let me know if you join so that I can "follow" you (see, there's your twitter reach).

kick it on DotNetKicks.com  



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

Tags: ,

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

May262008

Current Stack-o Books

Published by Guillermo at 4:00 AM under Blogging | Process & Methodology | Reviews

I know I have mentioned it before that one of my passions and (at one time at least, for sure) addictions are books. 

Yes, sometimes I read them!

Right now I am going through Working Effectively with Legacy Code and the less technical yet incredibly relevant but certainly more entertaining Dreaming in Code.  I'm trying to get through the former while at work, 30 minutes a day of reading when I can, the latter I am reading at home after the ripples of the hustle and bustle of what is my day to day at home come to rest.  At this point I'm at about the half way mark on both, but doing more reading at home than I am at work.

Michael Feather's book has been recommended so many times in so many different posts that I had to see for myself why this book was in those reader's opinion such a must readJeff Atwood has it as part of his recommended reading list, Steven Smith posted a short review and recommendation after reading it as a recommendation from Jeffrey Palermo. For the fear you may have at this point that I post more references, I am pretty confident you get my point and trust my word!  Its been read and deemed a worthy resource.

At home I am also reading Ship It for a second time and just recently went over Practices of an Agile Developer for a third time as well.  To me both of these seemed [now] to be elementary, but yet so relevant, giving me a sense of "yeah, we are doing this the right way" and not because the books say so (hey, don't jump to conclusions), but because much of what is common sense extracted from the content of these compilations of ideas, past experience and the analysis of the results of their implementations, can be easily projected and extrapolated to the work we do, the way we do it and most importantly the way the people I work with have "learned" to relate, work, communicate with each other. 

I don't want to digress too much, but there is value in mentioning all this because most of these practices are part science, part common sense, part keeping your head above the smoke someone or some group in the industry is blowing at some point in time and at every turn.  It takes determination, self awareness and more importantly it takes focus to be able to weed through so much jargon and so much hype to extract what is really of value and what yield results.  On that last point, what yield results is always a combination of some elements from "all of the above" with what works for the group, for its dynamic for its internal makeup of skills, personality, culture & traditions.  Dare I  forget to mention keeping the business needs as a primary focus at all times.

Ok, so I did veer off a little bit too far, but what is done is done!

In summary, the message I wanted to convey with this post is that one should read not only to learn the "technology du juor", which of course is a perfectly valid reason to do so, but also and most importantly after reading so many opinions and different points of view one is able to apply these to a practical everyday life as a professional developer (in this particular case), how one then may use the same books one used to learn to now assess our level of assimilation of all this information, to gauge, to extrapolate, to connect one's own dots.

kick it on DotNetKicks.com



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

Tags: ,

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

May222008

DevCares May 22nd, Summary and Review

Published by guillermo at 7:00 PM under Development | Opinion | Reviews

If you don't have anything nice to say, don't say anything at all... right?  Well that being one extreme, I'll take a more balanced approach and not write all of what I was so tempted to while I suffered sitting through this "event" (so loosely defined!).

Painful, bordering on disrespectful to the attendees time, sometimes crossing the line.  The presenter, while a nice gentleman, should have been, shall we say, better prepared; once again I am using the extreme definition there because I am convinced this person never even looked at the material before in his life.  He read from the printout of a "Lab Material", and read and read and read... read the slides, read the CODE!!!, the signature of the tool generated event handler's for controls... yes

"and here we see object sender (comma) KeyEventArgs e"

...and I am not making this up!

The totally best part of the day was the end of the presentation, not only because the pain finally went away but also because I won a copy of Office Professional 2007

 office-professional-2007

I have to believe in miracles and in the kind and compassionate hand of God here, to know how (literally) I was so close to losing it he devised a way to bring my blood pressure down by rewarding me with the cool "swag".



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

Tags:

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

May192008

BuildABetterBurger 2004 Winner

Published by guillermo at 10:00 PM under Off Topic | Opinion | Reviews

This past Saturday evening, Tammy and I inadvertently (literally) got sucked into watching the 2004 "Build A Better Burger" food contest that the Sutter Home winery hosts every year, shown on the Food Network HD, I couldn't help my mouth watering at the parade of the very creative burger recipes. 

The outcome couldn't have been any more obvious: I set out to reproduce the winning recipe of 2004, the very next day.

Armed with the printed recipe, found on the site along other year's winning recipes, I shopped for the "delta" ingredients, and diligently assembled the heart attach on a toasted bun.

Pictured is the fruit of that labor.

BuildABetterBurger2004Winner 004

My verdict:  I think the oregano and perhaps the seasoned salt may have combined to be too overpowering of a flavor. I should have thought better about the <amount of> Italian spices that the recipe called for, but that only became apparent once I had already "poured" all the ingredients together.  Next time I make this, I'll hold back on the those 2 ingredients and let the others find a better balance.

The blue cheese spread was phenomenal, and I will for sure repeat it on any sandwich calling for blue cheese.

The recipe is presented for 6 burgers, but I made 4 a little big bigger, and had enough for a second round the following day (yes, that is today and that was dinner!).



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

Tags: , ,

E-mail | Permalink | Trackback | Post RSSRSS comment feed 0 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