# Sunday, July 22, 2007
Scott Hanselman - Blue Badge

It's a very exciting day for Scott and for Microsoft as Scott Hanselman is joining Microsoft. He's going to be working for Scott Guthrie's organization. I'm excited to see what he does to re-attract the "Alpha Geeks" now. I'm sure that he's going to do fantastic things and have an international impact.

Scott Hanselman's Computer Zen - Blue Badge


Microsoft
Sunday, July 22, 2007 12:49:40 AM (GMT Standard Time, UTC+00:00)  #  Comments [0] 

# Friday, July 20, 2007
Flickr is Cool - Photos tagged with erubycon

That's Joe O'Brien on the left and me (Josh Holmes) on the right.

Joe O'Brien and Josh Holmes

There are lots more photos at - Flickr: Photos tagged with erubycon



Friday, July 20, 2007 2:20:17 AM (GMT Standard Time, UTC+00:00)  #  Comments [0] 

eRubyCon Day 3 - Recap

eRubyCon wrapped up yesterday.

First talk of the morning - I heard Muness Alrubaie and Dan Manges, both from ThoughtWorks, talking about Ruby and Agile on a large project with ThoughtWorks. They have 30 people working on a single app - all at one war table in a conference room in Atlanta for 10 hours a day 4 days a week. They pair with the guy next to them. They shift pairs on every iteration. They move extremely quickly. It was interesting to hear them talking about the challenges of working an agile project with that many people. One of the small changes was that they had to formalize the format of their story cards, estimation and such. On smaller teams, they could be a touch looser because people all knew each other and each others styles. They standardized on the desktop setup, toolset that they are going to use, configuration of the tools such as colors in the editors and other things that are usually personalized per developer or at least on a pair level. The big thing that would have been fantastic to see would have been a ton more on the gotchas and pitfalls to watch out for. These are hard to verbalize but important. Some of these can be inferred from the things that they had to alter for the the larger group. They didn't go into detail on issues that they had with integration which I'm sure that they had with that many pairs making extraordinarily aggressive changes a language that's a compact as Ruby is. That has to lead to stomping on each other occasionally. It was a fantastic talk - I just always want more. One thing is for sure - they are proving that agile can work in large projects.

Josh HolmesThen I got to talk! This was a ton of fun. I'll be honest, it was daunting to be speaking at eRubyCon and especially after so many fantastic speakers. My session was an introduction to Silverlight for Ruby programmers. My big demo was that I wrote a simple rails app that served up a Silverlight front end and then the Silverlight front end communicated back to the server via JSON. That was cool. I'll be posting my slide deck here in a little bit. It's not all my deck, I stole a lot of it from Scott Barnes and adapted it to work with my style and such. I did video the talk and plan on posting it at some point in the near future - but that's going to take some work and time. I really wish that I had been able to show IronRuby off, but I don't have any bits as they are supposed to drop next week. To quote John Lam, I had an "unfortunate timing issue" as the team is putting something out publicly next week.

After that I got to listen to Glenn Vanderburg with the closing keynote of the conference. He talked about a lot of the things that I've been talking (I need to blog a lot of this) about recently with IT as a cost center and how that's dangerous. He had some great points about the implications of cost centers. In short, cost centers lead to wanting to cut down on the costs which leads to wanting to build things fast, cheaply and have them last for 30 years and are easy to update and change constantly to meet new requirements and regulations. He quoted Scott Bellware quite a bit and talked about the process of "Software Creationalism". In short, Scott's (and Glenn's) contention is that the vast majority of tools and frameworks out today are all about the point of creation of software and don't have nearly enough focus on the ongoing survivability and maintenance of the application. That results in "The creation of software is easy but the changing of software is hard". I strongly agree that this is the current state of the discipline. Obviously, his conclusion is that what the enterprise needs is agile development. "To make it easier to change software, then built it by changing it".

Another great quote - "If that's not a one line change, then we need to refactor until it is." - Glenn Vanderburg, eRubyCon 2007.

Software Creationalism - Scott Bellware [MVP]


DLR | Ruby | Silverlight
Friday, July 20, 2007 1:57:06 AM (GMT Standard Time, UTC+00:00)  #  Comments [1] 

# Tuesday, July 17, 2007
eRubyCon - Day 2 recap

I'm at eRubyCon and having a bunch of fun.

clip_image002[1]First session of the day was Glenn Vanderburg talking about the Beauty of Ruby. This was a well done talk. I learned quite a bit about Ruby from this talk. Actually, that's not quite right - I learned a lot about the why behind Ruby. It was interesting hearing him talk about the things that he, as a Ruby veteran, really loves about the language.

The second session by Stuart Halloway. This is a brilliant idea. He showed how to refactor a project by picking an open source project and taking 4 hours to refactor the project and presented the results. This was cool because he showed refactoring, unit testing, how to find bugs and a lot of other things all in one talk while contributing to an open source project. I love this idea and am going to be stealing this idea for sessions that I do at some point. Any suggestions for a project that I should start using in the talk would be appreciated.

The third session was Neil Ford's Polyglot Programming session. One of the great bits that he talked about was that people used to test bridge designs by driving wagons across them and if they fell down, that was a bad bridge. If the car made it, that was a good bridge. Unfortunately - that's where we are today in the software design and testing principles.

There were a ton of great quotes that I could pull out but I've got just a few that I wanted to pull out. "The Brave New World - Dynamic Languages on Managed Runtimes". "1 test is worth 1000 opinions".

The fourth session that I saw was another Stuart Halloway special. "Keeping Tests Dry (Don't Repeat Yourself)". My favorite quote from this one is "If I can say it in one sentence, I can say it in one line". The main point made in the session was that you should use meta-programming to reduce the amount of repetition in the testing. I'm still digesting parts of this talk. On one level, I agree with him because as soon as you have written the same line of code twice, you have doubled your maintenance on that line. However, the meta-programming bits that he showed us were fairly complex. They greatly simplified the code that was in the unit test itself, but the code behind that one line was a touch hairy. It even got Jim Weirich thinking and confused - that's scary. I'm going to have to noodle on the tradeoffs. Great session (4th today) because it got me thinking. That's one of my baseline measurements on a good session.

Brian Sam-Bodden was up next with Spring and JRuby. The short summation is that JRuby runs Rails great and that you can almost drop a Rails app out there on JRuby and "sneak Ruby into the enterprise".

So far I have been utterly blown away by the quality of the speakers at eRubyCon. That's a real testimony to Joe O'Brien who put the conference together and invited all of these speakers.  

eRubyCon - Columbus, Ohio

Josh Holmes - eRubyCon - Day 1 (and Columbus Ruby Brigade) recap


DLR | Ruby
Tuesday, July 17, 2007 8:54:02 PM (GMT Standard Time, UTC+00:00)  #  Comments [2] 

eRubyCon - Day 1 (and Columbus Ruby Brigade) recap

I'm sitting here at the beginning of Day 2 reflecting on Day 1. It was a fantastic day. I met a lot of fun folk and learned a lot. 

There were 4 talks yesterday by two speakers - Jim Weirich and Justin Gehtland.

Jim Weirich's first talk "Shaving with Ockham" made the point that "All things being equal, the simplest solution tends to be the best one." It was a history of languages and how they have come from simple to extraordinarily complex to simple again. And how there are a ton of complex languages out there. As always, Jim was fantastically informative, funny and motivational.

Justin Gehtland's first talk titled Microsoft and the DLR. It was the first time that I had heard him talk. I was really impressed with his insight, wit, humor and presentation abilities. He distilled a lot of myths about the DLR, talked about how the Microsoft Open Source Licensing works, possible performance benefits of the DLR, things that had to happen to .NET to make it work and much more. It was an impressive talk and I'm hoping to steal parts of it for sessions that I do locally around the district... Of course, he's got a slight leg up here because at one point his mentor was John Lam who's creating IronRuby.

Jim Weirich's second talk was his "10 Things Every Java Programmer Should Know about Ruby" which is well defined and reviewed. Great session.

Justin Gehtland's second talk was "Security (CAS and OpenID)". It was a great talk. It as surprising to me that he didn't know about CardSpace. I wasn't actually the one that brought it up - it was Alexey Verkhovsky who's a ThoughtWorks employee living in Canada working on various Open Source projects. He has worked on a server side Ruby implementation of the CardSpace stack called Information Card Ruby. This is a cool project. It shows you that the CardSpace stack is built on open and implement-able standards. We had a good discussion on the topic.

Columbus Ruby Brigade

After the conference was over, the Columbus Ruby Brigade had their monthly meeting. It was cool - we hosted at the Microsoft office in Columbus. Joe O'Brien broke out an idea that he had been keeping in his pocket for a while. The talk was a fishbowl. He set up a table in the middle of the room which had 6 chairs. He picked 5 people be in the fishbowl. At any point, someone else could come sit in the 6th chair but someone else had to get up. As I'm writing this out - I'm figuring out that I need to write a separate post just on the Fishbowl Discussion Format - so I stopped this post and did that here. The discussion was fun and engaging. This interesting thing that I pointed out at the end but a lot of people had noticed was that the discussion was really centered around agile, TDD, mocking and much more. There were some really passionate debates around whether mocking was evil or not.

It has been really interesting, as the Microsoft guy, to see the reactions of various people around the room as they realized that Microsoft was one of the sponsors and in attendance at eRubyCon. Wait until they figure out that I'm speaking and that I was accepted to speak before offering to sponsor. Joe O'Brien, the host and organizer of the conference, has been very gracious.

So far - it's a fantastic conference and I'm thrilled to be involved.

eRubyCon - Columbus, Ohio


DLR | Ruby | User Groups
Tuesday, July 17, 2007 3:48:46 PM (GMT Standard Time, UTC+00:00)  #  Comments [0] 

Fishbowl Discussion Format

Joe O'Brien introduced me to this discussion format at the Columbus Ruby Brigade. He learned this in Chicago somewhere so neither of us are claiming that this is a new or original idea of ours. However, it's a brilliant alternative to a panel discussion or open spaces format discussion.

Here are the rules: 

  1. 4-6 chairs depending on size of the crowd. We had 60 people, so we went with 6 chairs. If I had 25 people in the room, I'd probably go to 4.
  2. To speak, you have to sitting at the table - i.e. no peanut gallery. If you have something to contribute - come sit at the table.
  3. Anyone in the crowd can come up and sit down in the empty chair at any given point.
  4. When that happens, someone else has to get up freeing up the last chair.

Honestly, it's that simple. The biggest issue is getting the first person to come sit down. The second big issue is riding herd on the crowd to make sure that nobody talks without sitting at the table.

Once we got those two things down, the discussion was fantastic. I'm really hoping to bring this format to a lot of the things that I'm doing.



Tuesday, July 17, 2007 3:23:23 PM (GMT Standard Time, UTC+00:00)  #  Comments [0] 

# Wednesday, July 11, 2007
erubycon - Columbus, Ohio 7/16-7/18

I'm speaking at eRubyCon next week (7/16-7/18) joining the other speakers such as Neil Ford, Justin Gehtland, Jim Weirich and Joe O'Brien among many others. It's going to be an exciting conference. I'm speaking on Silverlight (keep scrolling down - it's about halfway down). Here's the Abstract:

 

Introduction to Silverlight

Silverlight is the latest in the continuum of technologies from Microsoft to help you create differentiated user experience in the supplemented web space. Based on XAML (eXtensible Application Markup Language) for its UI and backed by a number of different options for logic including C#, JavaScript, Visual Basic, IronPython or IronRuby (once it’s released) – it’s a exciting new tool in the back of tricks for any web developer. It brings with it a rich networking stack, fantastic media support, scalable vector graphics and much more on both Windows and the Mac in all of the major browsers including IE, FireFox, Safari and Opera. In this session, we will explore the boundaries of Silverlight, see the integration points and hosting options between Ruby and Silverlight and talk some about what’s coming with IronRuby.

 

I gotta say, it's been a ton of fun putting together this session (not implying that I'm done). I'm playing with so many new technologies and ideas that I'm sure that I'm doing things exactly wrong but it's fun and I've got a cool demo working. I wish that I had IronRuby bits, but the IronRuby bits are to be released at Oscon the following week according to John Lam...

erubycon - Columbus, Ohio


DLR | Ruby | Silverlight | Speaking
Wednesday, July 11, 2007 5:14:24 PM (GMT Standard Time, UTC+00:00)  #  Comments [0] 

# Tuesday, July 03, 2007
Jason Follas - a new MVP in the world!

Jason Follas has been very active in the community for years, running the user group in Toledo, co-organizing Day of .NET, running sponsors for CodeMash, speaking at a number of groups and more. He as finally been awarded the Microsoft MVP Award and is now a SQL Server MVP.

A View Inside My Head: Thank you, Microsoft



Monday, July 02, 2007 11:09:52 PM (GMT Standard Time, UTC+00:00)  #  Comments [0] 

# Friday, June 29, 2007
Programmer Personality Test

I'm actually really surprised at how well it pegged me.

Your programmer personality type is:
DHTB

You're a Doer.
You are very quick at getting tasks done. You believe the outcome is the most important part of a task and the faster you can reach that outcome the better. After all, time is money.
You like coding at a High level.
The world is made up of objects and components, you should create your programs in the same way.
You work best in a Team.
A good group is better than the sum of it's parts. The only thing better than a genius programmer is a cohesive group of genius programmers.
You are a liBeral programmer.
Programming is a complex task and you should use white space and comments as freely as possible to help simplify the task. We're not writing on paper anymore so we can take up as much room as we need.

What's your programmer personality?



Friday, June 29, 2007 12:41:05 PM (GMT Standard Time, UTC+00:00)  #  Comments [1] 

# Thursday, June 28, 2007
ArcReady Architecting for the User Experience Slides are up!

The fantastic deck that Chris Bernard, Denny Boynton, Larry Clarkin, Phil Wheat and Josh Holmes (that's me) took on the road to 18 cities on our ArcReady tour is up and available for downloads.  

Microsoft ArcReady - Downloads



Thursday, June 28, 2007 3:08:45 AM (GMT Standard Time, UTC+00:00)  #  Comments [0] 

# Saturday, June 16, 2007
32 Ways to Keep Your Blog from Sucking by Scott Hanselman

Scott Hanselman is a blogger's blogger. If you are not reading his blog, you should take a look because it's one of the best technical blogs out there. And now he's done a brain dump of what it takes to great a great blog.

Scott Hanselman's Computer Zen - Blog Interesting - 32 Ways to Keep Your Blog from Sucking

He's not claiming that he's got the magic keys to the kingdom on blogging - just that there are ways that he sees that blogs normally suck.

I'm looking at my blog over the past number of years and realizing that I've broken at least 30 of the 32 that he's talked about - in fact this post is probably breaking a couple of the tenants that he's posting.

For any of the rest of this post to make sense - you should go Scott's post. :)

I originally was going to to go point by point and make comments on each of the 32 items but I realized that Scott already said his points well enough. Instead, I'm going to group his items into two major categories and comment on them that way.

Category 1: Know why you are blogging and blog to accomplish your goals. This is a huge deal and encompasses number's 1, 2, 4, 5, 6, 7, 8, 21, 22, 24, 30, 31 and 32 of Scott's 32 ways.

The advice is that you should know and blog for your audience. There are a number of ways to get to know your audience. The type of content you put up will determine who you draw in. But that's not enough, you need to watch your statistics and leverage analytical packages to tune your blog to the people that are actually watching your blog.

If you want a technical audience, you should not blog about your kids, dog, fish and so on. Keep the blog on point. Funny enough, this is one that Scott breaks quite often. My quick answer for my need to publish private bits of my life is to have a second blog that's just for my friends and family and authenticated to be so. Politics - absolutely stay clear of this one. This is like actors - I've been a long time fan of the acting ability of a given actor (notice that I'm not naming one so that I'm not betraying political motivations) and then they are in some politically motivated film and start splashing all over the media on an activist bent and it turns me off of that actor for quite a while... Though I'm very politically motivated in my private life - I keep all of that on my personal blog as well because politics and business don't mix all that well.

Category 2: Make your blog easy to access, read and interact with. This encompasses #s 9, 10, 13, 14, 15, 17, 18, 21, 22, 26, 27, 28, 29 and 30.

If people can't find your blog, content on your blog or read your blog - your content will be lost. Here I need a lot of help. I'm actually working on a dasBlog theme of my own that will hopefully help here. The ones that come out of the box are not bad, but I'm looking for something that's a step above. I got a lot of legs out of a fun joke with Chris Bernard during our tour that he has a much prettier, easier to read blog but I had more information. The reality is that is that his information deep and rich as well as well formatted. It's just focused on a slightly different group of people than mine is as he writes for designers/architects and I write for architects/developers. I'm, hopefully, going to get some help from him putting together my new theme.  I'm planning on incorporating the Creative Commons Attribution 2.0 license in the theme so it's on everything. A large part of the theme is deciding what's above the fold. I have a minor in Communications and we spent a lot of time in print layout. What's above the fold verses what's below the fold is very important. Does your logo take up the entire screen at 1024? Do you have nav links to important things at the top on the right or left hand nav? Do you require people to scroll to find your contact information? Part of this is dependent on the purpose of the blog but you can help make a statement about what your purpose is by what's above the fold.

I do have comments on, but the two of you don't post many comments... :) This is one that I'm just not sure how to push. I just don't have that many comments on my blog. That could be a lack of traffic or it could be that I'm not controversial enough to warrant comments.

Use a consistent set of rules to get to your blog, don't move you blog, cross post or otherwise muddy the waters. I've broken all of these rules and will probably mess up again and again in this arena.

One of the interesting bits that Scott talks about is the idea that we shouldn't just subscribe to a given category. I agree with that completely but I think that the categories are broken fundamentally broken. I'd much rather have a everything except type of categorization. For example, I have to subscribe to the entire feed to get everything but I'd really like to eliminate politics and personal from the technical feeds that I read. There's not a good way to do that right now with the current categorization systems. One of these days - in my spare time - I'll work on this.

Category Scott didn't mention it...

Scott talked about allowing others to use your content with correct attribution but he didn't talk about linking to others. When you have a great conversation or see something on a blog or otherwise get an idea from another blogger - you should make sure that you share the blog love with them and link to them in the post. For example, John Mullinax is good at this as he attributes people that he discussed an idea with in email even like in his post on Build to last is dead, speed rules, competency in current. Resistance is futile.

Put your blog on your business card - if that's appropriate. It's a great way for contacts to find more about you and keep an open dialog going.

Don't feel like everything that you post has to be curing cancer or something brilliant. If it's interesting to you, post it. It will be interesting to others - maybe not everyone in the world but it will be interesting to someone. This also means that you will have a personal audience. You and the next blogger down the street will have very different patterns and post that I post on my site may or may not be interesting to you. You need to create your own personal brand and make it your voice that you're putting out there. I talk to a lot of potential bloggers (some inside Microsoft even) and they keep talking about the idea that they don't have anything interesting to say so there's no reason for them to blog. BULL! I'm interested in what they have to say so they will have at least an audience of one. :)

 

Keep blogging!


Blogging
Saturday, June 16, 2007 5:24:44 PM (GMT Standard Time, UTC+00:00)  #  Comments [4]