World of .NET

The World of .NET covers practical .NET enterprise application development.

Twin Cities Code Camp VIII Wrap-Up
Published 04/11/2010 22:28 by Administrator
Yesterday, I went to the eighth installation of the Twin Cities Code Camp.  I've been going for a couple of years now, and it just keeps getting better and better.  If you don't know much about it, it's a day long conference-like event held twice a year put on by a few dedicated local IT people (Jason Bock, Chris Williams and Brandy Favilla) and sponsored by a handful of mainly local companies.  It's technology agnostic, but generally .Net based.  It's held at the University of Minnesota and is completely free.  It's tons of fun and I really encourage everyone serious about developing to attend.

The first of five sessions I attended yesterday was entitled "HTTP Optimization Lessons From WestlawNext."  The speaker, Dan Bennett, is the Senior Director for New Product Technology for Thomson Reuters and was going over the things that his team learned while building the next version of their incredibly successful site, WestLaw.com.  It's a large website with a gigantic amount of traffic.  To be honest, the entire first session's options for lectures seemed pretty bland and I wasn't excited about seeing any of them, but this one seemed like it could be interesting, and my mom worked for Thomson for 9 years, so I knew a lot about WestLaw.com and their business in general.  I was really pleasantly surprised by this talk.  The speaker was very interesting and included a lot of his war stories for getting newer, better technologies and techniques implemented.  For example, he gave us this protip: if you want to get the decision-makers to side with you on something, figure out what it means in dollars to go with something else.  You're not explaining to an IT person the benefits of a newer technology, you're trying to convince someone who only cares about the bottom line.  This was in reference to not supporting IE 6.  He also proved out my hypothesis that large corporations use their compartmentalization to their advantage when dealing with other departments.  I had seen this before, but I'm certain that this is very common.  Basically, when you can't convince group/department/executive A of something, but you can convince group/department/executive B of it, you can go ahead and do it with B's cover.  Then, when A gets word of it, it's too late for A to stop it, and it has B's backing anyway.  Kind of underhanded, if you ask me, but that's what they did, in regards to making sure they could get away with not supporting IE6 (a fantastic trend, by the way).  There was no code in this session.  It was mainly philosophical with tips and tricks, with lots of graphs and charts to prove out their hypotheses and points.  He went over the idea of worrying more about latency than bandwidth with regards to speed, showing tons of graphs and charts explaining how much more important it is.  There are three points of latency, and he taught us to worry about the two we can control: server and the internet.  He taught us all to get familiar with our friends Fiddler, WireShark and the like.  He emphasized the (not free) tool Charles as something that they used extensively.  While many of the things he discussed were not things I'd use on a day-to-day basis, or are more important for very high-traffic websites, plenty of things could be applied to my work.

The second session I attended was "HTML5 and CSS3," by Brian Hogan.  He reminded me of an old co-worker of mine, Dan Mork.  He looks like him, has a lot of the same mannerisms as him and has a similar sense of humor.  He focused on accessibility for a couple of reasons.  One, that there's a lot of accessibility improvements in HTML5.  Two, because he's somewhat visually impaired.  Not sure to what degree, but he did miss my hand raised, even though I was sitting front and center, as I always do.  I also noticed he wasn't always looking directly at the person asking the question.  He's a funny guy and kept us laughing the whole time.  I'd certainly go see more of his talks, if he comes around in the future.  The things he brought up were HTML5's new markup tags, local storage, web sockets, graphics on the canvas and advanced CSS3 selectors.  He showed a website with what looked like pretty slick graphics and told us it was all HTML5, that there were no pictures.  We were all pretty stunned.  He also went over current coverage of HTML5 by all the leading browsers, but pointed out that you can just start using the features and when they're finally implemented by your browser of choice, it will just add more to your site.  Using HTML5 now won't hurt anything.  This talk was also not exactly code-heavy, but there were plenty of snippets.  And no .Net.  Which is understandable, as Brian seems to be mainly a Ruby developer.  One thing with which I left, however, is an answer to a question that was posed quite frequently for the past couple of years: "Will HTML5 kill Silverlight?"  Definitively: no!  That's insane.  There's no reason to think something like that.  I have no idea how that could enter into someone's head, that's so silly.  It isn't like HTML5 somehow can transform a basic HTML site into a flashy (figuratively and literally), web 2.0-y site or anything.  It's just slick and has some cool new features is all.  I'm excited for it to come out.

For the third session, I went to see Scott Davis talk about "Advanced RIA Services."  Scott is a fellow TechMaster (as is Jessy), so I'm very familiar with his speaking.  Plus, he goes to most local events, so I see him lecture a lot.  I was a bit worried about attending a session on "Advanced RIA Services," when I haven't exactly coded anything in it at all.  Maybe I should've gone to "Intro to RIA Services," I thought.  But my fears were allayed: I was able to follow along just fine.  Scott's definitely my kind of speaker.  While I enjoy goofballs like Brian (ok, and myself), Scott is to the point and gets a lot of things out very quickly.  He doesn't lose you (didn't lose me, anyway), but he's going fast enough that you've got to pay attention.  He jammed in as much as he could and mixed a few cool ideas like shared code and some Silverlight stuff, but he said he had a lot left to do, so here's to hoping there's an "Expert RIA Services" session in Twin Cities Code Camp IX.  Scott was very good on his toes and drew up a few pictures on the wall (while navigating around the obstacle of the markers that refused write) when people were having trouble following some of the more complex ideas in his talk.

In the fourth session, I saw "Dynamic .NET Demystified," by Keith Dahlby.  Keith's a former co-worker, as well.  He talked about F# at the last Code Camp, and he's continued to improve on his speaking skills.  His sense of humor is such that he can say something sarcastic without changing his inflection, thus leading you to hesitate for a fraction of a second before realizing he's not serious.  Keith spent pretty much the whole time talking about the new "dynamic" keyword in .Net 4.0.  It's a way to ensure that you will really not be able to debug anything, no matter what.  Okay, that's not the purpose of the dynamic keyword, obviously, but it's a hang-up of mine.  In the last few iterations of C#, we've been given new ways of not being all that explicit with our types (generics, var, anonymous types, etc.), but "dynamic" really is different.  If you declare a var and set its value, you can get intellisense on the very next line that you use that var object.  Not so with "dynamic."  You will not get compile-time errors with "dynamic."  You won't be able to truly figure out what's going on until run time.  Basically, Keith ran through a litany of things to consider and described in deep detail what's going on when you're using dynamic objects, with plenty of code to back him up.  There were a lot of questions, due to the vagueness of dynamics, and Keith even whipped out some code to see what the answers would end up being from time to time.  He had a fun demo at the end with a few layers of vagueness to them (dynamic plus anonymous plus pulling code from XML) that was interesting.  I said he should mix in a var and a generic next time.

For the last session, I went to see "Introduction to C# 4.0 - Explore the Amazing Possibilities" by Aaron Erickson.  He gave a brief overview of the history of C# and what he seemed to think was important.  He was only focusing on certain areas and I knew where he was going: dynamics.  Basically, he picked up where Keith left off.  He admitted it up front, but I was surprised that he really did focus on dynamics.  He talked about a lot of the same things Keith did, including the ridiculously named "ExpandoObjects."  I'm still shocked that "ExpandoObject" is a system type and not something Keith or Aaron lazily made up whilst making their demos.  There was nothing major that I took away from this speech.  Sorry, Aaron.  Re-iterating things that Keith did and looking at them through your eyes does not an interesting presentation make.  If I had to do it all over again, I would've gone to Robert Boedigheimer's C# 4.0 speech instead.  I'll trust my gut next time.  Again, no offense, Aaron, it's just that I didn't need to attend your talk after going to Keith's.  But I'm going to blame myself, seeing as how I didn't read the description, which included this telling line: "In this talk, we focus on the only new feature in C# 4 that really matters — the dynamic keyword."

Another great Code Camp in the books, and I'm even more excited for the next one.  Jason even tossed up the idea that we might have a two-day Code Camp in the relatively near future.  I'm kicking myself for not re-giving my Prism lecture I gave at the Twin Cities Silverlight User Group back in January.  I'm probably going to try to get something together so I can give it at Code Camp as well as the Silverlight User Group in October/November or something.  Maybe other things, too.  Who knows?  Hope to see you all there next October!

blog comments powered by Disqus

Archive

About the authors

Jeff Diercks Photo
Jeff Diercks
Jeff Diercks is a consultant for ILM Professional Services. He is a developer, architect and MCSD who has been designing and developing business systems over 10 years. Jeff has fully embraced his nerdiness, and likes to spend his spare time keeping up to date with the latest machinations emanating from the alt.net community and battling monsters with his druidic night elf in World of Warcraft.
Jessy Houle Photo
Jessy Houle
Jessy Houle is an independent consultant representing Minnesota. He is a web developer, and MCSD (C# track), loves long romantic nights where he dabbles at the nuts and bolts level of programming. Jessy loves the front-end, most specifically Silverlight, and finally loves to tease Jeff about playing video games :-)
Vince Bullinger Photo
Vince Bullinger
Vince Bullinger is a .Net developer with five years of experience as a developer and consultant in such diverse fields as insurance, health care, custom content management systems and e-commerce, among others. He is a Microsoft Certified Solutions Developer. He's the treasurer of TechMasters, an IT-based ToastMasters chapter. In his spare time, he pays too much attention to sports and can frequently be found at the Silverlight User Group, the .Net User Group, Developer's Guild, Code Camp and any worthwhile conference that comes to town.

Blogroll

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.