Be the Kiwi!#
Possibly the best animation I've ever seen.

"Death comes to all, but great achievements build a monument which shall endure until the sun grows cold.”
-Ralph Waldo Emerson "

Passion is the element in which we live; without it, we hardly vegetate."
-Lord Byron
 
11/29/2006 10:04:49 PM (Pacific Standard Time, UTC-08:00) #    Comments [0]  |  Trackback

 

More Interesting Challenges in Spam and OCR#
I’d never know who actually take their stock purchase advise from email messages which start with bunch of garbled text and inform you of insider information about price sky rocketing next week. Regardless of its financial significance or lack of it, this has increased the job for anti-spam tools since now it’s not about text anymore. In order to make it difficult for OCR and CAPTCHA breakers, the text is also made difficult to read as shown in the examples below I regularly receive in my gmail.

There has been several discussions about CAPTCHA's effectiveness over the years. Jay Allen has spoken, have yet to see what Paul Graham has to say about it. Breaking a Visual CAPTCHA: High Level Description describes the underlying mechanics. The bigger question is, are these methodologies efficient or just band-aids to the existing tricks which will only work till spammers find a new way around it. I think I'd agree with author of On Intelligence on this matter when he suggested that our approach to AI is inherently wrong. How do a person sees an image or an email and know that it's unsolicited commercial email, cerebral cortex? lets map it. Possibly the problem of the century but we would have it sort out, sooner than later.

References and Further Readings

Telling humans and computers apart automatically
Luis von Ahn, Manuel Blum, John Langford
Communications of the ACM,  Volume 47 Issue 2

Shape Matching and Object Recognition
Berkeley Computer Vision page

Email and security: Designing human friendly human interaction proofs (HIPs)
Kumar Chellapilla, Kevin Larson, Patrice Simard, Mary Czerwinski
Proceedings of the SIGCHI conference on Human factors in computing systems

Poster 2: applications track: IMAGINATION: a robust image-based CAPTCHA generation system
Ritendra Datta, Jia Li, James Z. Wang
Proceedings of the 13th annual ACM international conference on Multimedia MULTIMEDIA '05

Games: Preventing bots from playing online games
Philippe Golle, Nicolas Ducheneaut
Computers in Entertainment (CIE),  Volume 3 Issue 3

Invited workshop on conceptual information retrieval and clustering of documents: Spam filters: bayes vs. chi-squared; letters vs. words
Cormac O'Brien, Carl Vogel
Proceedings of the 1st international symposium on Information and communication technologies ISICT '03

Breaking a Visual CAPTCHA

15 Seconds : Fighting Spambots with .NET and AI -- Cont'd


11/19/2006 8:51:26 AM (Pacific Standard Time, UTC-08:00) #    Comments [0]  |  Trackback

 

Waterfall 2006#
I’m sure I’m the last one to hear about it, but if you are an agile or XP methodology fan or at least have some pet peeves about traditional act-of-congress methodologies, Waterfall 2006 is a must see conference website.

With session titles like “Put Testing Where It Belongs--At the End”, “The Joy of Silence: Cube Farm Designs That Cut Out Conversation” and “Unfactoring from Patterns: Job Security through Unreadability”, this is a must attend conference for software developers and architects, not.

The registration page is riot, as it states: 

“We're sorry but registration is not yet ready. Our software developers have a really wonderful design. They're almost done entering it into it a UML tool. They've told us not to worry and that finishing it will be "trivial" because "all that's left is the coding."

Credit goes to Richard Hundhausen for the mention, go agile!


11/16/2006 12:44:47 AM (Pacific Standard Time, UTC-08:00) #    Comments [0]  |  Trackback

 

Richard Hundhausen on SDLC Using Visual Studio Team System#
Richard Hundhausen will be speaking to San Gabriel Valley .NET Developers Group on Wed Nov 15th. His topic is SDLC using Visual Studio Team System".


If you live in San Gabriel Valley area, this is an excellent oppurtunity to listen to a Microsoft Regional Director, VS Team System MVP and author of “Working with Visual Studio 2005 Team System” on team system and raise your questions and concerns about migration to team system.

For further details, please see the San Gabriel Valley .NET user group website.

We hope to see you there.

11/13/2006 12:00:19 AM (Pacific Standard Time, UTC-08:00) #    Comments [0]  |  Trackback

 

DevConnections Wrap-ups Etcetera#

Courtesy of Paul Mooney
Scott Guthrie gave an 8 AM talk on ASP.Net AJAX at DevConnections, in case you missed it I got it recorded.” Click here to see it.

Dan Wahlin’s sessions were also recorded.
Video: ASP.NET AJAX, XML and Web Services (with a little Virtual Earth)
Video: Minimize Code with TableAdapters and Strongly-Typed DataSets
-Dan Wahlin and Spike Xavier

Some pertaining posts with slides and samples.

Microsoft IronPython for ASP.NET CTP is available; I’ll be trying it out shortly.

And for you “Heavy .Netal” music fans, pleasure for your ears, not.

No More DLL Hell - The Song
Written and Performed By:   Spike Xavier & Dan Wahlin

Couple of good white papers I encountered from MSR & MS.

Can Abstract State Machines Be Useful in Language Theory?
Yuri Gurevich; Margus Veanes; Charles Wallace
Microsoft Research

Windows Workflow Foundation - Performance Whitepaper
Performance Characteristics of Windows Workflow Foundation
Microsoft Corporation.

And last but not least, food of thought for your <substitute your favorite player here>.
Free Academic Podcasts;
145 podcasts for your educational pleasure.


11/12/2006 11:52:45 PM (Pacific Standard Time, UTC-08:00) #    Comments [1]  |  Trackback

 

DevConnections Conference - Day 4#

Post Conference Session - Mastering WCF in a Day

“Plumbing is evil. Developers are inherently disadvantages by plumbing. ”
-Juval Lowy

Juval Löwy is the founder of IDesign and a seasoned software architect specializing in system architecture and large applications design. He is the author of Programming .NET Components and upcoming Programming WCF Services. As a post conference session, I attended Joval Lowy’s “Mastering WCF in a Day”. It was a crash course in all things WCF with the following agenda.

  • Service Orientation
  • WCF Essentials
  • WCF Architecture
  • Data Contracts
  • Instance Management
  • Operations and Calls
  • Transactions

The entire day presentation was essentially what Joval has described in this article “WCF Essentials-A Developer’s Primer” however, his concise examples and simplistic explanation has made a significant difference in understanding windows communication foundation (WCF).

I’ll discuss topics discussed in his session in detail as a separate post; following are the code samples, links and references to further explore WCF.

The IDesign WCF Coding Standards can be downloaded from here.


Books and References


           
Programming WCF Services
by Juval Lowy (On Safari Rough Cuts)

To request the WCF Resource CD, click this link and check the CD Checkbox:

WCF Essentials-A Developer’s Primer

IDesign Downloads

Vista Series: Windows Communication Foundation

WCF Downloads and Samples

Discover Mighty Instance Management Techniques For Developing WCF Apps

What You Need To Know About One-Way Calls, Callbacks, And Events

WCF sample: Chat room client and server for .NET Framework 3.0

Windows Communication Foundation Architecture Overview 

Windows Communication Foundation Part 1.

MSDN TV: Windows Communication Foundation Bindings and Channels

Distributed .NET: Learn The ABCs Of Programming Windows Communication


11/12/2006 2:41:25 PM (Pacific Standard Time, UTC-08:00) #    Comments [0]  |  Trackback

 

DevConnections Conference - Day 3#

Thursday was the last day of the conference, tiring but enlightening nevertheless. We however had one more day of Post Conf. session before we could head home. Following are the chronicles of the last day of the conference.

Implement a Data Access Layer with the Visual Studio 2005 Dataset Designer
Brian Noyes

Brian Noyes is a software architect, trainer, writer, and speaker with IDesign. His presentation on the data access layer design was a masterful explanation of how easily this tool can facilitate a decent workable design.

The demos and slides are available here.

Real World ClickOnce:  Slides   Demos
Workflow Driven Windows Applications:  Slides   Demos
Implement a Data Layer with the VS 2005 DataSet Designer:  Slides   Demos

The presentation is also available from the devConnections website. Noyes_VDA302_DataSet Designer

Preparing Code for Debugging
Kathleen Dollard

I tried to attend most of Kathleen’s sessions because she is to-the-point, concise and stay away from the trivial.

My litmus test selection for a speaker usually comprises of the following two rules.

  • Has done development, real development and not a those-who-can’t-do,-teach trainer.
  • Stay away from trivial and address real world problems.

Following are the salient features of her presentation. It was a nice reminder of things you ought to do.

  • The best architecture is a simple architecture.
  • Build structural short routines.
  • Use FxCop; you’ll be amazed to see what you’ve been missing.
  • Use Generics to improve your designs.
  • Always use Source Control Management and do build planning.
  • Use XML Comments to document your code
  • Use Class designer to keep your design understandable and readable.
  • Integrate exception management, Tracing and logging to your code.
  • Use Code Templates to enforce the standards.
  • Use Visualizers to get better understanding of your object
  • Use the
    Try
    { }
    Finally

Pattern to allow global catch of exception in a single place. The class library should inform the calling application what exception has occurred.

After this interesting session we had lunch break and harley raffle.



Black-belt Data Binding

David Sussman

David Sussman did an intermediate course in data binding and how to use it with .NET 2.0 controls.

The code samples will be available here. http://www.ipona.com/samples/. Here is an interesting topic which David discussed in his last presentation.
SiteMapPath and URLs with spaces



Unit Testing in the Real World

Kathleen Dollard

With quotes like

“The concept of what happen in Vegas stays in Vegas does not apply for this Conference”,

“Test early, after and forever”

and

Every bug replaces two bugs

  • The bug which was found and is being fixed.
  • The bug in the system which let your bug goes through in the first place.

Kathleen did another excellent presentation on Unit testing as the last presentation of the conference. I felt as this presentation was in conjunction with the previous “Preparing code for debugging” session but this time she emphasized on usage of the enterprise templates, Cruise control (build management) and following Sprints style life cycle approaches.

The big question which was posed in the session was, “Why unit testing?” The answers which came from audience was as follows.

  • To Catch complex logical errors
  • Unit testing is repeatable and hence can be used over the span of multiple releases.
  • It reduces the amount of bugs (of course).
  • To better understand the problem domain
  • To perform regression testing to ensure that the latest fix did not break any existing functionality.
  • Help documenting the use cases.
  • Makes it easier to gauge progress percentage/
  • Feedback is a powerful thing; it helps making better software.

Providing unit testing guidelines, Kathleen dug into the team system unit testing tool which raised an important question of, who is using team system.

Audience ubiquitously said that they are unable to take advantage of the Team System unit testing tools because of the pricing and still working with the open source alternative, NUnit. The speaker recognized this as a problem and asked us to blog about it, hence here it is. I believe testing is an integral part of SDLC and to capitalize on it might seem like a good idea but in the long run, it is going to hurt the platform.

There were several other good sessions for instance designing distributed application using the application designer. Pertaining links are as follows.

Designing a Distributed Application using the Application Designer
Designing Applications with Application Designer
Workflow Across Distributed System Designers

Mark Miller @ DevXpress stall in the expo.


During the ice-cream break we got the tasty Häagen-Dazs and then headed to the Q&A closing session.

With the questions as straight as

  • For how long we would have to Google to find out information on Microsoft website?
  • What are the strategies you’d recommend to Information
  • Why is vista licensing so ridiculous?

I found the Q&A session to be a big disappointment. The questions were not being taken seriously and there was virtually no Microsoft representative on stage to take the lead and answer things in a decent appropriate fashion. Some speakers did a good job in explaining the future strategy and “why’s” of things but overall it wasn’t nearly as good as last year’s Q&A.

With Alex Homer


Digital Guru Book Store

Conference presentation updates are available here.

ASP.NET Connections
VS.NET Connections


11/11/2006 1:54:32 PM (Pacific Standard Time, UTC-08:00) #    Comments [0]  |  Trackback

 

DevConnections Conference – Day 2#

One of the reason I like devConnections, or any other good tech conference for that matter, is inspiration. You see all these intelligent, motivated and driven folks around you working on a wide variety of interesting problems, trying to find the most efficient solutions, evaluating newest technology and being enthusiastic about it. This, I believe, induces the development stimulation in you which usually lasts for a long time (halflife is about a year and then it’s stochastic). Crudely speaking it’s an inspirational ‘fix’ for a coding ‘high’, so it’s a developers rave.

Wednesday was a good day @ dev connections; interesting, informative, useful talks all day long. The details of talks I attended follows but first let me tell you about a quote I found on a session attendee’s T-Shirt yesterday.

#!/usr/bin/perl
print "Content-type:text/html\n\n";
@a=(Lbzjoftt,Inqbujfodf,
Hvcsjt); $b="Lbssz Wbmm"
;$b =~ y/b-z/a-z/ ; $c =
" Tif ". @a ." hsfbu wj"
."suvft pg b qsphsbnnfs"
. ":\n";$c =~y/b-y/a-z/;
print"\n\n$c ";for($i=0;
$i<@a; $i++) { $a[$i] =~
y/b-y/a-z/;if($a[$i]eq$a
[-1]){print"and $a[$i]."
;}else{ print"$a[$i], ";
}}print"\n\t\t--$b\n\n";

I’ had to google it right there and then and it turned out to be the following quote of Larry Wall.

"The three great virtues of a programmer:
 Laziness, Impatience, and Hubris.
-- Larry Wall"

A Data Driven Approach to internationalization with ASP.NET
Rick Strahl

We have been managing multi-lingual (bi-lingual) applications for over two years by using resource files. As easy at they sound, resource files are not all that great. The management, the changes, the satellite assemblies and providing that there is no auto-extraction of elements in 2003, they could be quite painful. Therefore Rob and I were really looking forward to this session and were not disappointed. Rich did an excellent job explaining the internationalization in a non-trivial, in-depth style. His presentation included (but was not limited to) the following topics

  • Benefits of using data driven approach to localizationApplying SQL queries against resourcesLookup for existing values and back ups (management)Customer Resource Provider model and ResourceProviderFactoryTypeApplication resource localizationImporting the resource file to the databaseClient script and ajax localization samplesLiteral values for escape sequences in localization.
  • Writing a resource provider; basic data driven resource provider (configuration etc needs to be handled manually)

Rick highly recommended the following book from Addison Wesley
 
.NET Internationalization (Addison Wesley)

References and Links

ASP.NET 2.0 Navigation
David Sussman

Last I saw David speak was in 2003 in a London .NET User group meeting. This time he has flown across the pond for our user group meeting (Thanks David) and talked to us about navigation in ASP.NET 2.0. The topic was interesting and different because it was not a demo of Sitemap data source / controls of ASP.NET 2.0 but more like real world scenarios, making it data driven etc. David discussed topics like ASPXMLSitemap provider, handling of nodes, gotchas, using treeviews, adapter framework, staticsitemapprovider, multi-threading and locking when explicitly handling the paint, using cache invalidation for posting the updates, CSS Menu and much more to list here.He highly recommended [Danny Chen]- Blog of an ASP.NET QA tester blog for reading up on ASP.NET 2.0 features and issues.

The samples will also be available from his website. http://ipona.com/samples/

For the presentation download, David has said that he is going to clean up the code and will upload it on the conference website shortly. Looking forward to play with his samples and build a new sitemap provider from, lets say an object data source reading from a menuing web service! Lame? Or cool…you decide.

The home of Al and Dave
ASP.NET 2.0 Illustrated

Layout and Navigation in Windows forms 2005
Kathleen Dollard

“Winforms are going to stay; they still have a life of about 3-5 years before WPF takes over” says Kathleen Dollars during her powerful presentation on Layout and Navigation in Winforms during which she presented tons of useful information on the following

  • Effectively adding and managing Controls to winforms Splitter controls, docking and anchoringGotchas in the design and how to work around them/fix themTree view control and Owner drawing using GDI+Panels, fixed panel properties, docking, autosizing, OnDrawNode, Utility SyncADA compatibilityLocalization in table layout and flow layoutMonitoring the selection change
  • Merging during the menus and strips
the best thing about Kathleen's presentation was that it was practical and she addressed the usual blues one would encounter during Winforms development.

Her blog can be reached here.

ASP.NET 2.0 tips and tricks
Rob Howard

Rob Howard, former Microsoft ASP.NET team member discussed multitude of cool techniques, tips and tricks during his presentation including but not limited to

  • Making application offline via App_Offline.htmLoad testingSQL DependencyIHTTPModule usage and register it with IIS for background service.Output cacheHTTP debug proxy
  • IIS 7.0 URL Re-writing / mapping

Rob Howard's Blog
code.CommunityServer.org


Writing Reliable Code with .NET Framework 2.0
Stephen Toub

This was an in-depth, down to the CLR insightful session providing that you do “unsafe” development otherwise its still something to keep at the back of your head while development. Steve discussed topics like managed debugging assistants, ThreadAbortException, reliability MDA, PrepareConstrainedRegion, safe handles, handle recycling attacks, reliability constraints, escalation procedures, constrained execution regionsm fail fast etc.Very interesting things to explore; Steve’s articles and blog links are as follows.

Stephen Toub’s blog
High Availability: Keep Your Code Running with the Reliability Features of the .NET Framework  (MSDN Magazine)
.NET Matters: Debugger Visualizations, Garbage Collection  (MSDN Magazine)
Bug Bash: Let The CLR Find Bugs For You With Managed Debugging Assistants  (MSDN Magazine) 


Chalk Talk Session – Ajax.NET
Microsoft Corp.

The chalk talk session was a last minute announcement from 7:00 – 9:00. The topic was good but the speakers lost us in first ten minute so Rob, Ajit and I ended up heading to Mandalay Bay Buffet where tasty salmon was waiting for us.


Alex Homer addressing the Enterprise Library


Brian Noyes on Windows Workflow foundation.


The updated slides and samples for devConnections are/will be posted here.

VS.NET Connections
http://www.devconnections.com/updates/LasVegasFall%5F06/VS%5FConnections/

ASP.NET Connections
http://www.devconnections.com/updates/LasVegasFall%5F06/ASP_Connections/

and last but not least, a fellow attendee and MS MVP Bil Simers writes about DevConnections Day 2, the tweleve days of Vegas


11/9/2006 8:56:46 AM (Pacific Standard Time, UTC-08:00) #    Comments [0]  |  Trackback

 

DevConnections Conference – Day 1#

Tuesday was quite a busy day, sessions after sessions, too many things to learn and too little time. The day started with Scott Guthrie’s keynote session on ASP.NET AJAX which was basically a high level demo of what Scott later discussed in his other presentations.


Following is the order in which I attended the sessions and some details about each of them.


Web Development of IIS 7.0. Integrating IIS into ASP.NET Development Process
Eric Woersching and Andrew Lin

Eric demonstrated Microsoft’s new approach of integrating ASP.NET with IIS 7, the new and improved control panel and ease of tasks administration with the new IIS console.

Their presentation included

  • Using IHTTPHandler class to add a copyright message to the jpegs using an HTTP module and adding a module using IIS 7.0
  • Failed request event buffering as IIS 7.0 diagnostic tools
  • Customizable Tracing and  logging in IIS 7.0
  • HTTP errors, Tracing & logging web based control
  • web.config and integrated management tools API
  • Rich diagnostics in IIS 7.0
  • Adding roles in IIS 7.0 and configuring forms authentication for it.

He recommended www.IIS.net as a prime resource for all things IIS 7.0 and ASP.NET.

Be more productive with SQL Server 2005 tools
Michael Raheem

This was a developer focused and quite informative session about SQL Server 2005 tools.
Michael showed demos for SQL Server Management Studio, SQL Agent, Profiler and Database Engine Tuning Advisor. If you have been using SQL Server 2005 or its client tools for some time now, you probably already know part of these things but some of the things I found new or cool are listed below.

  • Writing MDX query from management studio without any extra prep, just like a typical SQL query, select measures and the whole bit.
  • Show execution plan which is quite a neat tool available in 2000 is now much improved and can be used for collaboration. You can pass around the query execution plan and optimize it treating it more like a visio class diagram (analogy).
  • Object explorer connection features and multi-threading i.e. multiple expansions and connections can happen at the same time.
  • You can apply filters on the meta data retrieval. (most filters stays active only as long as your session is active)
  • Use the object explorer details and it can perform multi-select on tables. (SP2).
  • xmla can be used and executed from query analyzer (xml for analysis)
  • database mirroring, failover mirroring, disaster recovery protection is quite easy with a witness server providing maximum downtime during upgrades
  • Activity monitor refresh is configurable for you to monitor what’s going on undercover.
  • Additional filter in activity monitor for block and unblock checks (new role added to grant monitoring)
  • Dashboard for analysis services jobs
  • SQL Server alerts can now collaborate with WMI alerts
  • One can build comprehensive maintenance plans and process flow using GUI
  • Trace properties and profilable events are almost doubled and therefore things like catching deadlocks is quite easy.
  • Database engine tuning adviser allows you to easily improve performance of query on the server and provide recommendation on index etc.

This was more of a demo session in which Mike demonstrated different features of SQL 2005 tools.

I had to go for our company’s data center visit to I ended up missing lunch and 1:30 sessions. The next session I attended was the following.

Data Warehousing with SQL Server 2005
Eric Hanson



I was quite interested in learning the basics of data warehousing using SQL Server 2005 so I decided to take this session and it was well worth it. Eric Hanson described best practices for relational data warehousing with SQL Server 2005 along with the following.

  • How to use the SQL Server 2005 engine as a data warehouse, in coordination with transactional data sources
  • SQL Server Integration Services for ETL best practices
  • Use of partitioning to manage the sliding window scenario for large fact tables.
  • Best practices in bulk loading and removal.
  • Management of statistics, Index and indexed view designs.
  • Writing queries to get good query plans, creating conditions to support star join optimization, and recognizing star join plans.
  • Multi-user workload, hardware sizing and selection.
  • Use of the scalable shared database technology for scale-out of a read-only database.

 His suggestions about not creating PK and FK’s on large warehouse DB’s to speed up ETL too some time to settle in. Similarly the idea of using OLEDB instead of SQL managed provider in events of imports; quite an interesting topic but when I left the session, I was equating flat files with DW approach, bizarre, isn’t it?

Tips & tricks for building websites with Visual Studio 2005, ASP.NET 2.0 and IIS 7
Scott Guthrie

For those of you who know Scott Guthrie, unlike most of the other product managers he is a hardcode development guru at heart and an excellent presenter. His sessions are no fluff, period. Like Rob said, “if you miss something during his session, you know something else you didn’t know is coming shortly”. Scott’s presentations are a balance of demo’s and power points, the best I have seen so far.

This particular presentation was full of ‘wow’ and ‘aha’ features, even for a topic like ASP.NET 2.0 which has been presented many times now. Even though Scott focused on Ajax feature-set during most part, he also provided a non-trivial discussions of master pages, themes/skins, site navigation, SQL output caching, personalization, membership, role management, Web site administration, IIS7 management and Web deployment process. I came in quite late after attending the data warehousing session but from what Rob and Ajit said, it was quite interesting.

Scott said he will be posting the slides and sample source on his blog. His blog can be found here.
http://weblogs.asp.net/scottgu/


Developing Data Driven Applications with .NET Integrated Language Query (DLINQ)
Scott Guthrie

This was quite an interesting topic and spark up a debate. Rob got all hyped up about it seeing how cool it was and kept saying that “this will revolutionize the way we code” and “here comes the demise of all ORM tools, I can just see it”. However Ajit was skeptical of having bunch of DLINQ statements laying around and felt like it won’t be a good enterprise architecture, analogous to having dynamic SQL in the code. I was thinking more towards

How does it work under the covers: While doing a project recently I got a chance to actually run reflector on DLINQ assemblies to see what it really does? Common understanding is that it builds a SQL query and let the relational engine of SQL server 2005 take over however I believe its wrong. From what I saw it provides its own set of relational operations and perform them on the returned result set, I have to further investigate it.

Further details on LINQ from Scott’s blog on the following links.

Tips/Tricks and LINQ Slides+Demos from my Talk in Dallas
Using LINQ with ASP.NET
Using DLINQ with ASP.NET
DLINQ with Stored Procedures
Tip/Trick: Handling Errors with the UpdatePanel control using ASP.NET AJAX

Later on there was vendors exhibition in the expo hall from 7:00 -8:00 PM and Microsoft unplugged night later during the evening. We got bunch of swag including T-shirts (special thanks to xmlspy guys), product DVD’s, cool toys and so on. Code Smith rep has almost promised me a license so I’m looking forward to it.

The internet kiosk @ DevConnections.

The Three Musketeers; Adnan Masood, Ajit Kumar and Rob Walling.

Microsoft @ the Expo Hall

Microsoft Unplugged Event.

Crew filming about Pet-Peeves you ever had with Microsoft.

Looking forward to another busy learning day…


11/8/2006 6:31:28 AM (Pacific Standard Time, UTC-08:00) #    Comments [0]  |  Trackback

 

DevConnections Conference – Day 0#
Today was a definitely a lucky day; I barely made it for the flight from Ontario airport and even though my baggage was tagged “late check-in”, it still arrived with me to Vegas. Rob Walling and I got to Mandalay Bay around 8:45 and after a smooth registration, we were all set for our pre-conference sessions starting at 9:00 AM. This is my second year at devConnections and I’ve found this conference to be an informative learning experience and socio-nerd networking occasion. The speakers are top-notch professionals with technical insight and there are always good sessions available in the simultaneous conferences if you don’t find your chosen track satisfying.

For further
session details, Paul Litwin is managing DevConnections official blog which can be reached here.

My first session this morning was Ken Getz’s Windows Forms, Beyond the Basics. The agenda of the session comprised of the following four topics:

  • Asynchronous Programming and Windows Forms
  • Using Graphics with GDI+
  • DataBinding and Windows Forms
  • Printing in .NET

devconnections-2006-ken getz.jpg 

During the first half of the session, Ken Getz did a great job in explaining the first two topics; Asynchronous programming with windows forms and Graphics with GDI+. In a Threading 101 way, he provided an in-depth explanation of performing day to day multi-threaded activities without touching System.Threading namespace. The topics of context switching, time slicing and thread mapping are sometimes counter intuitive however with just the right amount of code, examples and demos, it was made quite interesting and easily understandable. Along with a thorough explanation of background worker component, he also discussed three timer controls provided with .NET framework (windows.forms.timer, System.Threading.Timer and System.Timer.Timer) and their appropriate usage in preemptive, deterministic and cooperative task management.

WMI - Windows Management Instrumentation (WMI) is a powerful tool which can be used with Visual Studio.NET to associate raw power of machine related operations with .NET framework. Ken gave a demo about how can an application determine if web server status has been changed (stopped, started, re-started).
 

I asked Ken about his code samples and he emailed me back saying

“Here are the three projects I made up on the fly this morning. The rest are posted at www.mcwtech.com/2006/devconnections.”

-Ken

Ken Getz on the fly presentation slides and source can be downloaded from here. His blog can be found here.

devconnections-2006-robert green.jpg

Since Robert Green’s Data Binding was not exactly beyond basics, with organizer’s permission I moved in to Dino Esposito’s “Developing Rich and Interactive ASP.NET Controls”.

Dino’s presentation was mostly focused on the following four topics.

       Building controls from scratch

       Building controls from existing controls

       Injecting script

       Reflecting on ASP.NET AJAX Extensions

In his usual style, Dino dissected the ASP.NET user controls and kept the emphasis mainly on the scripting and code generation for state persistence by the controls.

devconnections-2006-dino esposito.jpg

Click to download the presentation slides and source. Thanks for Dino to providing it.

Due to an assignment, I had to miss the evening Microsoft keynote, heard from Rob it was ok. Last but not least we got a bunch of goodies in a cool bag; more swag on the way.

devconnections-2006.jpg

Hopefully there would be no duplicate network SSID issues tomorrow. Gotta catch some sleep to get ready for tomorrow.


11/6/2006 11:39:54 PM (Pacific Standard Time, UTC-08:00) #    Comments [0]  |  Trackback

 

Dijkstra's Manuscripts#
"The competent programmer is fully aware of the strictly limited size of his own skull;therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague"

-Edsger Dijkstra

Dijkstra's Manuscripts - a CS must read.
http://www.cs.utexas.edu/users/EWD/



11/5/2006 5:39:50 AM (Pacific Standard Time, UTC-08:00) #    Comments [0]  |  Trackback

 

Imagination is more important than knowledge#
Why, why, why! Because it's all logic and reason now. Science, progress, laws of hydraulics, laws of social dynamics, laws of this, that, and the other. No place for three-legged cyclops in the South Seas. No place for cucumber trees and oceans of wine. No place for me.


-Baron Munchausen
11/3/2006 5:55:26 PM (Pacific Standard Time, UTC-08:00) #    Comments [0]  |  Trackback

 

Scaling SOA with distributed computing & SGV.NET Presentation#
This is the title of Robert Anderson and Daniel Ciruli’s article in November’s Dr. Dobbs Journal which explores the other dimension of loosely coupled systems being distributed across the grid. They have discussed topics like scalability in terms of CPU load, network load balancing and mainly how service oriented architecture can be leveraged by a grid. The complete text of the article can be found here.

Also, Kim Greenlee of Digipede networks has recently spoken to our user group about Concurrent Software Development. Her presentation comprised of two parts; a. best practices in concurrent development and b. grid computing 101. Kim explained that In order to distribute a task to grid, we should be able to decompose it into executable segments which can be distributed on the grid. However, the distribution should be justified for instance ‘task A’ maxes out CPU on the machine, it would not be beneficial to make it multi-threaded since it will only increase the context switching; this task when distributed across different CPU’s would perform better and would be more efficient. Kim elaborated on why threading is non-deterministic and how a single statement, as we see it, can result in multiple lines of IL instructions. She emphasized that now that CPU power is not following Moore’s law and hence we need to distribute as hardware vendors have also started to follow distributed computing model more and more. After a detailed discussion about Kernel threads and User thread mapping in Solaris and Windows XP  threading models, windows computing clusters were also brought up by one of the audience. The speaker explained that digipede’s framework is different because it allows the framework libraries to distribute the task empowering the developer.


Kim has recently finished some C++ and Excel automation work and demonstrated audience a Monte-Carlo retirement calculator simulation in excel distributed across grid. Connected to her workplace grid, a 30 year retirement calculation which would take ages on a local machine was completed in minutes. A similar demonstration was also done with Mandel Brot set. Attributing “Put the computer near data” to Jim Gray of Microsoft Research, Kim explained digipede’s job distribution model, the inherent object oriented design, resource pooling and bridge model. The meeting ended with Q&A section and applause from audience on Kim’s excellent presentation.

Her presentation slides and sample code can be downloaded from here.

References

A Day in the Life Kim Greenlee’s blog

Powers Unfiltered

dan ciruli's West Coast Grid

Amazon.com Amazon Web Services Store: Amazon EC2 / Amazon Web Services

Dan Ciruli on Grid Computing

Digipede

San Gabriel Valley .NET developers group


11/2/2006 7:26:24 AM (Pacific Standard Time, UTC-08:00) #    Comments [0]  |  Trackback

 

All content © 2008, Adnan Masood