Shortening The Feedback Loop

Wednesday, December 10, 2008 7:17:36 AM (Mountain Standard Time, UTC-07:00)

Thank you everyone who attended our presentation last night at the Calgary Agile Methodologies User Group. We had a tonne of fun, and hope that you took away some valuable information.

CAMUG eComplianceCAMUG eCompliance   CAMUG eCompliance

#

The FUN-duh-MENTALs

Friday, August 15, 2008 10:55:45 PM (Mountain Standard Time, UTC-07:00)

So tonight I got to help demo what a fishbowl was at the ALT.NET Canada (thanks Doc!) conference and the topic of discussion was on the Fundamentals of Software development. During the session I started to realize that what I considered to be fundamental seemed to be far from what others did. After a few discussions I started to think that the fundamentals were different based on generational divides.

I'm speaking for myself, but hopefully for my generation, but when I hear "The Fundamentals of .NET development" I think, Object Oriented Programming, Design Patterns, a knowledge of the syntax of a language, and at least a base understanding of what the CLR is and what it provides for us.

Some other takes on fundamentals were focused on understanding how the underlying operating system works, Algorithms and Data Structures.

This got me a little depressed because I don't have an intimate knowledge of how the underlying operating system works, or how to perform a deletion from a red-black tree, or how to implement a half decent hashing algorithm. Ask me to build an AVL tree and I might puke, or at least ask "why? it's 2008" I have a base understanding, but I'm not sure if that counts as the required fundamental knowledge to build a decent app.

When I was writing C, I cared a lot about writing well optimized code. I cared about memory allocation/de-allocation. I cared about protecting from buffer overruns. I cared about so many things, that I just don't think about, as much, now as a .NET developer. All the things I don't have to be concerned about allows me to focus on other things that I want to care about.

It seems like we developers are proud of being an expert at something, but when that something becomes less and less relevant in building applications today, we tag it as "fundamental". Perhaps in 10 years or so the next generation will wonder why they would need to understand object oriented programming to build valuable applications. After all it will all be written in DSL's, right?

Couple of more pennies for ya!

#

It's Here...

Tuesday, July 01, 2008 5:55:35 AM (Mountain Standard Time, UTC-07:00)

The ALT.NET Open Spaces conference is coming to Canada, eh! I'm surprised how many Canucks there are on CodeBetter.com but they're all talking about it. It's a marketing frenzy...

Kyle says...

Greg says...

James says...

Supposedly only the first 100 registrants are allowed in... so go Register Now!

It's happening on August 15 - 17 2008, at the University of Calgary.

#

Collecting Pens

Thursday, May 22, 2008 8:18:32 PM (Mountain Standard Time, UTC-07:00)

Last week my family and I were in Toronto, Ontario so that I could attend DevTeach. A conference put on by developers for developers, and it was a tonne of fun. Not only did my wife, daughter and I get to check out Toronto, and visit family but I got to bump in to some more of the industries greats and here them speak.

Before I continue I've got to plug this little cafe that we accidentally stumbled into one night. My daughter, wife and her cousin were out looking for the MuchMusic building when we got a little lost. We ended up walking down McCaul Street and spotted this tiny little cafe on the corner of Elm St. It looked pretty cool from the outside and just looked kind of out of place. We're so glad we stopped in... The place was called "MangiaCake Panini Shoppe" and they specialized in panini's and, you guessed it, cake!

We tried a piece of the cherry cheese cake, chocolate cake, and the carrot cake, as well as a salad, a couple of panini's and a lasagna for myself. It was absolutely awesome! The best part was the additional attention we got from the owner named Raj. He was just great and made the experience so much more...

If you're in the Toronto, Ontario area you have to check out MangiaCake Panini Shoppe located at 160 McCaul Street.

Back to the conference...

Day 1: Tuesday, May 13, 2008

8-9:15am: Keynote by Scott Hanselman

Scott talked about Data Dynamic Web Applications, Astoria, tools like Fidler Http Proxy, LinqPad, TcpTrace.

9:30-11:00am: Home-Grown Production System Monitoring: Creating a Bridge Between Development and Operations by Owen Rogers

I really enjoyed Owens talk. I thought it was informative and backed by real project experience. Some of the things I learned:

Problems with log files:

  • scattered
  • not analyzed
  • not accessible
  • size constrained
  • multiple logs (different time zones?)

You should log for immediate data, and limit the footprint of logging on client machines. Owen mentions that a great book to read is "Release It" by Mike Nygard.

11am-12:15pm: Behavior Driven Development Installed by David Laribee and Scott Bellware

This was a great session, that showcased the direction that BDD is taking and what it means. Some of the things I learned are:

  • User stories should not have UI or technical language in it.
  • We should try getting our end users to help write the stories.
  • Acceptance criteria has technical details in it.
  • Break a apart the product backlog, from a release backlog and an iteration.
  • When writing context based specifications use the active voice instead of the passive voice. Eg. "when an account has been opened" is in the passive voice. The active voice says "when opening an account".

1:30-2:45pm: How to make scrum really work by Joel Semeniuk and Turning Visual Studio Into a Software Factory by Kevin McNeish

I bounced out of the scrum talk as soon as we started getting into team foundation server, and the software factory talk wasn't exactly what I expected.

3:00-4:15pm: Achieving Persistence Ignorance with NHibernate by James Kovacs

This was a good talk that discussed alternatives to Active Record and how to implement an infrastructure ignorant domain model. It talked about different settings in NHibernate and how to create the mapping files and most importantly why you would want a infrastructure ignorant domain model.

4:30pm-5:45pm: Rapid (maintainable) web development with MonoRail by Oren Eini

This was another good talk walked through the creation of a project using MonoRail. Oren talked about the different conventions that are used by MonoRail and put it in contrast to the MS MVC framework. I'm definitely more curious about MonoRail and itchin' to slap something together using it.

Day 2: Wednesday, May 14, 2008

8-9:15am: Cross-platform Development with Mono by Geoff Norton and Planned Agility?! by David Laribee

The Mono talk was great, and actually got me pretty excited about the project. I'm surprised by just how much the Mono team has been able to accomplish and by the quick turn around on releases. I'm definitely going to have to spend some time learning more about the project.

The Mono talk ended a little early so I popped into David Laribee's talk on planned agility. This was a great talk on how to bring Agile into your projects. I guess it's still a little surprising to me how many company's are still working in a traditional methodologies, so it makes me feel pretty privileged to work where I do and with the great guys that I work with.

9:30-10:45am: Recommended Practices for Continuous Integration by Owen Rogers

This was another great talk on the concepts of Continuous Integration and how to achieve it with an automated build server. Owen talked about the inception of the CruiseControl.NET project and shared his experiences with how people were using it effectively and how people were abusing it.

11:00am-12:15pm: Busy .NET Developer's Guide to F# by Ted Neward

Mr. Ted knows his stuff. This was a great talk about F# and the functional programming paradigm. A lot of it was over my head, but I enjoyed the discussion around why this is important and what are some of the potential benefits of this style of development. Concurrency and side effect free functions were topics that kept coming up. I will definitely have to commit some time to better understand functional programming.

1:30pm-2:45pm: Blackbelt Configuration for New Projects by Jeffrey Palermo

Mr. Jeffrey gave a great talk on how to take control of your projects by offering suggestions on project structure, how to set up a single user development environment, the importance of version control, dependency management, the importance of automated deployments, application architecture.

To be continued...

#

Cool Kids Club Card

Tuesday, April 15, 2008 12:16:07 PM (Mountain Standard Time, UTC-07:00)

So at lunch I decided to check my email, and I got one from Justice with a subject that read....

"Did you get one of these? Fwd: ALT.NET Seattle!"

It was a forward from David Laribee, one of the organizers of ALT.NET, that was sent out to all registered attendees. As I continued to read it said:

"We are *FULL* and there are, I'm sorry to say, no "plus ones" at this point."

My reaction was... GULP, my wife is going to kick my ***!

Then a magical thing happened... I saw another email in my inbox... the subject read "ALT.NET Seattle!" and it was from Mr. David Laribee himself!

I'm in, I'll see you cool kids this weekend in Seattle! If you're thinking about crashing the party, I would suggest that you get in touch with one of the organizers instead of pulling a mO... *sigh*

The email in it's entirety, for all the curious!

Hi all,
We're just about ready to launch into ALT.NET Open Spaces, Seattle. A few housekeeping notes:

  • The space opens on Friday, 4/18 from 6pm to 8pm. Saturday we'll meet for sessions between 10am and 6pm. We'll wrap up on Sunday from 10am to 2pm.
  • There is no shuttle service between the hotel (Marriott Town Center) and DigiPen (event location). Please arrange or offer rides if you can. It's Bring Your Own Ride, so be aware.
  • Event details (location, maps, times) are always available at http://altdotnet.org/events/seattle/ 
  • We are *FULL* and there are, I'm sorry to say, no "plus ones" at this point. We'll be doing a loose registration at the door and you have to be registered (you are if you're getting this message) to participate.

If you have any questions, please send me email. I'll do my best to answer promptly.
Looking forward to an exciting and productive meet-up!

/ Dave

#

Crashing The Party

Tuesday, April 15, 2008 7:52:13 AM (Mountain Standard Time, UTC-07:00)

So last night my wife and I booked our tickets to Seattle, Washington. I'm heading down this weekend in hopes that I'll be able to attend the ALT.NET conference. I'm currently sitting on the wait list to get in, but hopefully it all works out.

When the registration went up for the ALT.NET conference it was hard to predict what I would be doing and whether or not I would be able to attend. Now that it's a little closer to the date, it's a little easier to gage. Regardless of what happens we're super excited about visiting Seattle, and Redmond, Washington.

Cross your fingers for me!

#