Showing posts with label codemash. Show all posts
Showing posts with label codemash. Show all posts

Sunday, January 12, 2014

CodeMash 2014 (Pre Compiler Workshops)

Yet another great conference. CodeMash gets better every year. The first year it hosted 220 people and it has been growing drastically each and every year. I am proud to say that I've been to each one and it almost acts as a reunion for me to see all of the local nerds that I respect so much. I look forward to the event each and every year and I already can't wait until next year's event.

This year I did the "Double Pre-Compiler Package". This consisted of two days of hands-on training before the actual event. This post is merely an opportunity for me to express my feedback for the workshops. Later this week, I plan to provide feedback on the sessions during the event.

Fixing the JavaScript Mess (Day 1)

This session was hosted by Jared Faris and Travis Smith. They showed various techniques on how to consolidate legacy applications into modular js files using jQuery event handlers on initialization routines. Their approach was quite interesting and I can say that I did learn a few things. It was a bit more for beginner / intermediate JavaScript developers and a few of the techniques were more of a "refresher" for me. They did a great job during the session, but there were a few times where a few of us weren't sure what to do along the way since most of the code they wanted us to modify was already in their Git repository. The workshop assumed proper knowledge of Git and I noticed a lot of the people around me were behind for a while. All in all, this was a great workshop!

Applied Application Security (Day 1)

I really enjoyed this workshop! It was hosted by Bill Sempf, who is a highly skilled Pentester (Penetration Tester). Bill makes a living by letting companies hire him to find security problems in their applications. Basically he is paid to be a hacker. Cool job title! In this session, Bill had us install a VM for security testing called Samurai WTF; it's basically a Linux config configured for Pentesters. In this session, Bill showed us all the various tricks and techniques that hackers use to penetrate servers through SQL Injections, Cross Site Scripts, and various other techniques. Best yet, we all had the opportunity to try some of the techniques ourselves (after all it was a "work shop"). Again, I really enjoyed this workshop and learned a lot. It opened my eyes to some of the things I am (and am not) doing at work.

Intro to MongoDB Workshop (Day 2)

This was a workshop that I was looking forward to very much! It was hosted by Sridhar Nanjudeswaran who is on the MongoDB team. My goal was to get my hands dirty with MongoDB once and for all. We started the session by installing it on our machines and getting it up and running. Once we all had it installed, Sridhar began talking about the high-level features and low-level intricacies of the database. About 20 minutes into the "workshop", I was in over my head. I will be honest in saying that I was a bit dissappointed in this workshop (sorry Sridhar). We never got the hands-on training that I thought we would get. I left the workshop with too much information and not enough hands-on time using the technology. A better approach might have been to allow us to try adding, editing, deleting, and querying data. After all, the title said "Intro to" and that was exactly what I was expecting. It turned out to be a 4 hour talk about MongoDb. Sridhar was crazy smart and I highly respect him, it's just that the workshop was not at all what I expected.

Test Driven Node.js (Day 2)

This workshop was really cool! It was my first real intro into Node.js. I'd downloaded it a while ago, but merely to serve as a service on my machine for other things (mostly for compiling CoffeeScript). The workshop was put on by Todd Kaufman and 2 of his colleagues at Test Double. The room was full and the presenters were very knowledgeable in the topics. We basically got to build Battleship (the ship sinking game) using Node.js using a TDD approach. Functions included:
  • Placing the Battle Ship
  • Aiming the Cannon
  • Shooting the Topedos
  • Check for direct hits
The best part about it was that I got to actually use the node package manager, use Grunt and Bowerman, and even run Lineman to run my server, run my tests, and many other things that I'd never done before as an ASP.NET MVC developer. I highly enjoyed this workshop and learned a ton.

The pre-compiler workshops are a great opportunity for us developers to learn new things that we never take time out of our day-to-day lives to figure out. Perhaps it's due to the fact that we don't know where to start, or perhaps it's simply that we don't take the initiative to actually learn new things because we get "comfortable" with the things that we do know. I force myself every year to learn new things at CodeMash, and this year was no different. 

Sunday, January 16, 2011

CodeMash v2.0.1.1 (Recap)

As I mentioned in my last post, Codemash is a top notch event.

Live Concert on Wednesday NightWednesday night ended rather perfectly actually. After the Pre-Compiler sessions, Chris Castle and The Womack Family Band showed up to rock out the attendee party in the grand hall area. These guys were awesome! I purchased a CD of the Womack Family Band after their set, and purchased Chris Castle's CD directly off of iTunes. They had a great sound, and best of all they were fairly local (Norwalk, Ohio).

I got to talk with a lot of people at the party, and Jennifer came to join me after she got the girls out of the water park. We had a great time and she got to see me in my element (true geek talk). I ran into a few people and we would just start talking about programming languages and different technologies. She was a sport and stood by my side with a smile the entire time. :) After the attendee party, we walked around and ended up sitting at the bar for another hour before calling it a night.

Chad Fowler KeynoteThat next morning, the alarm went off fairly early for me and I was out the door for breakfast around 7:30 am. Chad Fowler was the keynote speaker this morning and he did an AWESOME job. He talked about what defined "quality" in code and showed lots of different examples. One story that caught my attention was a discussion about a chunk of code that he looked at and thought it was horrible, but then later discovered that the code has not been touched in 20+ years and was still working... That little story gave me a whole new definition for "code quality".

Kids Programming - Aydin Acksu

After the keynote, I attended a session by my good buddy Aydin Acksu, titled "Kids Programming". Of course, my girls all met me there for it and they got to control me around a grid using commands: step, step, right, step, left, step, etc.. This taught them how how computer programs worked. Once they ran the the commands once, they would navigate Aydin back through the course to "test" the program, and then they "edited" the errors out to make it faster, and "tested" it again, etc... Basically everything a programmer does with a keyboard and a debugger. It was really cool how he approached the talk and all the kids in the class had a blast!

Rails A to Z - Matt Yoho
After that session I attended Rails A to Z by Matt Yoho (from EdgeCase). I learned quite a bit at this session and was amazed at how little code is required to make a Rails app. With about 10 lines of Ruby code, a user can connect to a database (build its schema), add records, and then disconnect (and destroy the table). This would take about 50 - 100 lines of c# code. Wow! Matt did a great job and he had my undivided attention for the entire hour.

WebMatrix 1.0 Product Launch - Josh Holmes
For lunch, we got to see WebMatrix 1.0 be launched to the world along with a lot of other amazing technologies (details). Codemash ain't no joke no more. This event has had all kinds of top notch speakers, and this year Microsoft had live streaming video from the conference to developers all over the world about this long awaited product launch. Congratulations to Codemash organizers for outdoing themselves each year. See Scott Guthrie's blog post for a list of everything that was announced today.

After the keynote, I skipped the next sessions, as there was nothing being presented that sparked my interest. I used this time to get in a quick run and workout in before the rest of the evening got ahead of me. I actually met a guy in the gym (ironically named Jim), who is close friends Mark Goodale (a local ultra-marathon hero). What a small world! We talked for about 30 minutes while we ran on treadmills next to each other.

Top Ten Tips for Moving from WinForms to WPF - Michael EatonThis session was pretty informative. Michael broke down all the differences between WinForms and WPF. I actually dabbled in WPF for a few weeks last month and got so frustrated with it. It was such a paradigm shift from everything I'd ever learned about windows application development. Buttons with click events and coordinates get's thrown out the window. Now developers use DataBinding to UIElements on various types of LayoutPanels through MVVM... Yeah!? Anyway, Michael's session confirmed that it wasn't just me. :) He gave some tips and suggested some 3rd party tools to help ease the pains. Great talk!

A Modern Open Source Development Environment - Gary BernhardtThis session was one that I was REALLY looking forward to even days before the conference. Gary uses terminal app and Vi as his development environment. This is what would eventually like to do as well so that I don't rely so much on VS2010.

Unfortunately the session was more about him showcasing how fast he types and navigates through different commands inside terminal. He didn't really focus on useful tips for users to do the same. It kind of turned into a "look what I can do" session, as opposed to a "here's how I do it" session. Don't get me wrong, I did learn something; I learned that I need to just bite the bullet and use vi exclusively outside of my day job. All in all, nothing very "constructive" came from this session (for me). He moved too fast, and assumed everybody in the session was familiar with Vi, Pyton, shell scripting, Git, and zsh.

He did answer a lot of questions about how he got so fast, but again he didn't explain anything with hard examples. It was mostly just pre-recorded videos of him typing in vi while he commented about his typos in real time, and then summed up the video with a benchmark. It wasn't what I thought it was going to be... :( I'm still a Gary fan though, and will continue to follow his blog: http://blog.extracheese.org/

Ford Fusion Keynote - Tj GiulliFor dinner, we all got to hear a developer from Ford talk about some of the new technologies that they are putting in cars, and it was pretty cool. Tj showed some of the new GUI's for the upcoming nav screens. He showed how traveling with a group of other drivers can be more "interactive" in that each car can talk to one another to know how low they are on fuel. Lots of other cool stuff was in here too, where the car could actually tweet it's status at any point along the route (ie. "Pulled into Taco Bell" or "I need fuel soon"). Pretty cool stuff really. Best yet, there was an API that was available to allow developers to tap into the engine and interface with it. However, I must admit that the API was a bit kludgy with their use of multiple yield keywords inside of a single void method. (?)

Cocktail Party, Jam Session, & Water Park Party
This is where it got fun! We all got to loosen up and mingle for the rest of the night. My good buddy, Greg Malcolm helped me setup my drums this year for the jam session. We had quite a turn out this year. Best of all Chris Castle and The Womack Family Band came back to the Kalahari to jam with us. They brought their gear back with them too. Of course, Carl was there and he's always a great entertainer. Again, we had quite a little crowd gathered up at a few points. There are a few videos on YouTube that showcase some of the shenanigans. :)

After the Jam session, Jennifer came to retrieve me so that we could all go to the water park and swim. The girls were so excited that I got to go with them and we had a blast!! We played water basketball, we hung out in the wave pool, and just relaxed and had a great time. After the water park, we split out separate ways and I went back to the grand hall to gather my drumset. As it turned out, I sat down and talked with Carl and Richard for a while on a couch and then we all headed back to the water park to mingle with other devs and get some drinks. There I met Justin Etheredge, and we talked for about 30 minutes about Ruby on Rails, and various javascript utilities that we used.

I didn't get back to the room til about 1 am.

Developing High Performance Web Applications with Javascript - Timothy FisherWell... I wanted to go to this, but couldn't. :( I slept in and rushed down to the breakfast area with moments to spare, then had to turn around and head back up to the room to get it back in order. Checkout was at 11 am and there was a LOT to do. Jennifer and I got it all done around 10:45 am. I kissed them all good bye and headed back down to the sessions... Jennifer was going to get some candy from the candy hut and then make the drive back home.

Rules for Good UX Design - Joe NuxollThis was a great session. Joe is an old Borland, turned Apple developer who now does other things I guess (?). Anyway, he had lots of useful information on what NOT to do with user interfaces (avoid "assy-ness"). :) He showed me some old user interfaces that mimicked some dialogs that I once (or twice) built that make end users cringe. He also showcased many user interfaces that were simply beautiful, and that hid a LOT of underlying complexity. This guy clearly knows his stuff and everybody in his session learned quite a bit about good UI design.

GitHub Keynote - Scott ChaconThe lunch keynote on Friday was pretty interesting. A developer from GitHub.com came to keynote about how they run their business. Basically, there is ZERO business processes or management structure across the entire company. Clearly it's working for them, but it has disaster written all over it in my eyes. From what he explains, people just kind of do whatever they want, whenever they want and for whatever reason. It's a very "open source" environment and sounds rather risky to me...

Everybody in the company has full trust of the entire enterprise. Everybody has the ability and permissions to do whatever they want. This means that anybody at GitHub.com (from the new guy to the CEO) could delete the entire site if they wanted to. Of course, this would never happen (or should never happen anyway), but the fact that there are no checks in place to prevent such a disaster seems a little haphazard to me. Scott indicates that everybody at GitHub gets the same pay. There are no vacations; you can just do what you want, whenever you want. No meetings, no deadlines, no feature list, no time frames, no nothing... It's amazing to me that they've had no problems yet. Good for them, but I (personally) like having a little bit of structure and credibility for my actions. Perhaps I'd feel different if I was put in this environment and saw it work. To me it seems a little chaotic and unpredictable.

How? It's because each employee is passionate about what they're doing.

Infinitely Extensible - Alex PapadimoulisThis was a great session. I follow Alex's blog (ie. The Daily WTF) and knew that this guy has seen it all. People send him code snippets from some of the most crazy logic puzzles. Many are just bad programming, but some are really funny dialog prompts that developers thing users would never see. Check out his blog to see what I mean. :)

Anyway, the session talked about how to keep it simple and avoid over-engineering simple problems. We as programmers do this by default; we over complicate everything and try to prepare for future enhancements that may never see the light of day. I really enjoyed his talk because it showed me things to look for when I sit down and start over engineering simple problems.

Anatomy of an E-Commerce Website - Joe WirtleyI was pretty excited about this session too. Joe is a really nice guy that I run into quite often around various events throughout the heartland area. His session was great and he basically just described how an international e-commerce site is setup to deliver real time results using caching and highly optimized data services across multiple databases. I learned quite a bit before I had to sneak out of his session...

Node.js - Open SpaceUnfortunately I had to sneak out of Joe's session because I was really interested in learning about node.js. It was an open space idea that somebody posted on the board and I wanted to see what it was all about. As it turned out, I got there way too late and didn't really get anything out of it. :(

Awards and Wrap-upAnother year passes, and I don't win a damn thing. GRR!! I guess I'll just have to come back next year and try again. :)

I'm now extremely excited about Ruby, Rails, Git, Shell scripting, Vi, and all things Unix. I plan to consume myself with knowledge of everything Ruby until I'm comfortable with all that it has to offer. While learning Ruby, I'll need to learn terminal app and vi pretty extensively. But that goes with the territory and hopefully I'll "get it" so that it can just get out of my way and I can focus on being productive on my Mac.

This all starts now!

Wednesday, January 12, 2011

CodeMash v2.0.1.1 (Pre-Compiler)

The time has arrived! I'm here at CodeMash and loving all the stuff that I'm learning so far!

I arrived yesterday around 1pm. When I arrived, I ended up geeking out in my room for a while, learning KnockoutJS. KnockoutJS is a very slick little javascript library that allows developers to integrate the MVVM architecture pattern into an Html page fairly easily. Anybody that is familiar with Silverlight or WPF will have no problem using it. However, for me it has been quite a learning curve since I'm not fluent in either. I've only been using the MVVM pattern (in my head) over the last month or two. I've never actually applied it until now.

Around 4pm, I headed down to the conference area and helped stuff the shwag bags with many other volunteers. They setup all the fliers and pamphlets on a table, and about 10 of us made a loop where we would walk around the table and grab one sheet at a time... At the end of the table, we would put the papers into a bag and start all over. I hung out in there for about an hour and a half before sneaking out the door.

After volunteering at the table, I got checked into the conference, then walked around the Kalahari for a while. While walking around, I actually ran into Carl Franklin from .NET Rocks. I stopped and talked to him for a little while, and was pretty surprised that he remembered me. After that, I went to the water park area and sent some water park pictures to my girls via Picture Mail.

Then around 7pm, I headed down to the gym to get my sweat on. I met a few guys (Chad and Bob) who were doing the P90X. They were on their 3rd month of the program and stated that they have noticed great results as well. We talked off and on for a while, then I headed back up to my room to get a shower before going down to the bar to "network" with some other geeks.

As it turned out, I actually ran into Chad and Bob again. We talked for quite a while, and then along came Greg Malcolm. Greg and I sat and talked and drank til about midnight. We talked about all things geeky, including Ruby, Rails, Javascript, Perl, Python, C#, ASP.NET, Git, SVN, and I think Scala actually came up once or twice. Around midnight, we both had our buzz on, so we went our separate ways to prepare for the big Pre-Compiler day.

Pre-Compiler
Whoops, I slept in a little. I had my alarm set for 5:30 am with hopes on getting a quick run in before breakfast. Instead, I woke up at 8:15. :) I scurried around and got ready to try and get a bit of breakfast before they took it away (@ 8:30). I made it! Barely, but I made it.

From breakfast, I went to the Ruby Koans lab hosted by Joe O'Brien and Marc Peabody of EdgeCase. I learned so much!! I basically learned that Ruby is the shit (this is a compliment for all my non-English speaking readers). I dabbled in the Ruby Koans last year at CodeMash, from a friendly tip. However, this year I dedicated myself to a full 3 hours of NOTHING BUT RUBY! Again, I can't say enough about Ruby. Joe and Marc are very passionate about the language and they are really good at getting people excited about the language and developer culture. I've already committed to attending the Columbus Ruby Brigade meeting on Monday. I made it through about 80 of the 274 Koans, and plan to finish them before Monday's meeting.

I had some great conversation with some smart people at my lunch table around Silverlight and WPF. Then from lunch, I decided to attend the Git Immersion presentation by Adam McCrea and Jim Weirich (also from EdgeCase). They did a great job explaining how Git is different from SVN and how it is an invaluable tool for all developers. Jim presented the Git system in such a way that made it easy to understand. I have it installed and will be using it quite often from now on.

The best part about both sessions today was that I got to use my crazy cool Bash and Unix knowledge in both sessions. Both sessions were 100% command line driven via Terminal.

Yeah, I'm having fun!

Friday, January 29, 2010

Codemash v2.0.1.0

This post is long overdue... oh yeah, and long itself. :P Basically, everything below could be summed up into one word: Codemashkickedass!

I attended CodeMash this month and it was a blazing success (yet again). This has become a nationally recognized event, bringing in A+ keynote speakers from all over. The inaugural event back in 2006 brought out The Gu himself for crying out loud! Each year seems to out-do the year before, and this year was no different. I mean, last year, I played GuitarHero with Scott Hanselman!! This year was very laid back for me, and I'm already excited for next years event. I actually plan to continue my attendance to CodeMash each year until I get out of the computer business and move to Maui to become a full time surfer. (yeah right)

Ironically this was a very low-key year for me. I've been at every Codemash so far, and this was the first one that I attended as a .NET developer desperately wanting to learn something new. Usually I just go to see what I can learn, but with no real goals of getting my mind blown. I used to mainly get excited about going to meet up with all my geek friends. I've never really taken the sessions for granted before, but the last few years I'd always run around with my entourage and just kind of "be there". However this year it was just me, and I was set to learn a lot of stuff; I was on a mission to learn Ruby.

Wednesday
I woke up at 4am and packed my drumset into the car (more on this later) and headed up to Kalahari Resort for the 8:30 am check-in and a nice breakfast before the 9 am Precompiler sessions start.

Test Driven Development - Leon Gersing
For the Precompiler session this year, I attended Leon Gersing's - Test Driven Development session. This was a very (, very, very) cool session where Leon actually got requirements from Jim Holmes (The Codemash President) for a "session scoring system". It was Leon's job to lead a (large) group of willing developers to build this system from Concept to Completion in one day. It seemed impossible as the session started and Leon was very casual in getting everybody setup with the tools needed for the day.

I literally sat down in the 2nd row knowing zero about Ruby, Rails, Git, or GitHub.com... and what the hell is a Ruby Gem?! :) Leon used a rendition of Scrum, and that, I did know. I was on a team that implemented scrum at my last company, and it proved to be a very successful approach to managing epic projects.

Leon was awesome in his role as the Iteration Manager. He encouraged all of us to be "courageous" and just be real. If you didn't know something, speak up and let everybody know. There's no shame in not knowing something. I actually used it a few times in order to get all the tools installed on my machine. I felt as though everyone around me was leaps and bounds ahead of me as I struggled to understand simple concepts like installing gems and understanding the what Ruby was and what Rails was.

I sat through the morning part of the session, but decided to move onto another session after lunch (no hard feelings Leon). :) I was simply in over my head without knowing Ruby or Rails. The team I was in had good knowledge of these technologies and I felt like I was (1) slowing them down and (2) learning nothing as they pushed forward without keeping me in the loop. No blame, just the facts. I plan to learn Ruby on my own within the next few months. I've heard too many good things about it to not give it an honest effort.

Advanced Presentation Patterns - Jeremy D. Miller
At lunch I actually sat next to Jeremy D. Miller (Mr. Code Better, himself). I was sitting with some other people and he sat down next to me. I had no idea who he was so I (of course) introduced myself only to find out it was him shortly thereafter. I've read his blog in the past and have known his name for quite some time. It was cool to shot the breeze with him, if only for a minute or two. After I finished eating, I actually decided to attend his session after lunch on a whim. It was standing room only, so I stood in the back and watched as he discussed different concepts for building robust user interfaces that allowed full control over the hosting UI dialog in regards to adding buttons, menus, and mapping navigation between windows. It was pretty informative, and I took some intense notes as he showcased some pretty complex user interfaces concepts with simple enterprise architecture models.

After this session, I went upstairs and decided to take a little nap. Again, I woke up at 4 am, and it was now approaching 5:30. After a short 1-2 hour nap, I woke up and took an intense 4 mile run on the treadmill and then headed out for a quick bite of dinner. Precompiler day was over.

Thursday
The keynote was awesome! Mary Poppendieck gave a great presentation outlining the 5 Habits of a Successful Lean Organization:
  • Purpose
  • Passion
  • Persistence
  • Pride
  • Profit
She showcased the attributes associated with teams and business that have succeeded. And gave detailed specifications and examples on how they succeed. For example, on thing that stuck out for me in the 'Passion' section was to hire and enable passionate people. When people are in a position to do what they love to do, they will exceed and spread excitement to those around them. Ironically, she showed how open source projects tend to be successful by nature due to the fact that the people involved are passionate about what they're doing... even though they aren't getting paid. I could go on about this keynote as I took a lot of notes and really enjoyed her keynote.

What Makes Ruby Different - Joe O'Brien, Mark Peabody, and Leon Gersing
After the keynote, I headed over to "What Makes Ruby Different" where the EdgeCase guys showcased various aspects to the Ruby language and concepts that let Ruby stand out from the other languages. It was very informative and I learned quite a bit. They showed how a few lines of Ruby code can go a long way, and showed the different approaches of the same concepts in other languages. While the other languages were purposefully "ceremonial" to drive home some key points, I did gain a lot of respect for the Ruby language.

After this session, I got a few things done and then sat with Josh Holmes at lunch while we watched Hank Janssen give a keynote about open source technologies that Microsoft is working on. It was very informative and I learned that Microsoft is actually giving a lot of attention to this area, even though they are known for avoiding it. The ecoustics were difficult at times and we had a hard time hearing at times, but the slides really painted the pictures pretty well.

Ruby and Rails for the .NET Developer - Matt Yoho
Following lunch, I attended the Ruby and Rails for the .NET Developer. It was a toss up between this session and Powershell: Ten Things You Need to Know - by Hester and Lerch. I was happy that I attended the Ruby session, for I learned even more great things about Ruby. For example in Ruby, when you connect to a database, the language itself is so descriptive that you can query data simply by calling it in "english" like method calls. For example if I'm querying a table and want to find a row by a certain column, I simply say:
(note: ignore my syntax ignorance)
def rowByUser = db.find_by_username();
def rowsByState = db.find_by_state();
I don't have to actually create these methods to query the database by user name and by state. In .NET there is a lot of extra work that we (as .NET developers) have to do in order to make these two calls work. Not with Ruby! Rails does this automatically!! That is cool!

Vendor Sessions
For the vendor session, I attended the Telerik Code Ninja session where they showed some cool little coding tricks.

Refactoring the Programmer - Joe O'Brien
This was an awesome session. I'd introduced myself to Joe earlier in the day during lunch break or something and he is a very humble person. I've seen him at Codemash in previous years and have attended sessions of his before. I have actually followed him on Twitter for sometime now and he is just an all around great guy. This session was about getting developers to stay on top of their game and keep their skills sharp. This is something that I have to keep reminding myself actually, for I tend to get comfortable in my current skill set and have to force myself to really explore new things around me.

Joe was hilarious, for his session was another one of those sessions that was standing room only. Best yet, he didn't have his projector adapter (ie. "dongle" (ie. my wife's favorite geek word)) and therefore was forced to do his presentation with no over head display. It was just him and his scotch (?) in front of ~100 geeks. He nailed it! He kept it humorous and interesting, and best of all he provided some great advise for everyone in the room. He left everybody with 4 great books to check out and read:
... these are all in my Amazon wishlist (hint hint).

Vendor Sessions
After Joe's session, I walked around and talked to a lot of the vendors. I remember being there as a vendor myself, and recall how frustrating it was to see people walk by the booth all day long but never stop. I stopped at every single booth and gave them my undivided attention for as much time as they needed to really explain their product to me. Of course, I gathered some t-shirts and drink tickets too. ;)

Ruby and Rails for the .NET Developer - Matt Yoho
After walking around the vendor booths, I headed over to see some of the cool things that Ruby has to offer for me. Unfortunately I only had about 15 minutes to spare and (honestly) I was having a hard time keeping my eyes open at this point. :( It wasn't the information that was making me tired, it was my brain that was making me tired. I tried to focus, but found myself slipping in and out of consciousness here. Sorry Matt, I'm sure it was a great session; I came in late, but... never really showed up I guess.

Dinner and Jam
From here, I stumbled out into the hall and got some dinner. After dinner, I headed up to my room and gathered my drumset. Upon gathering everything, I quickly realized that I HAD NO CYMBALS!! I had packed everything except for my cymbal bag. This is what I get for rushing out of the house at 4am I guess. It sucks that I packed all the big / bulky stuff, but forgot the one consolidated peice of equipment in the basement. I couldn't believe it... I had brought a set of toms with a bass petal. :( Luckily Grag Malcolm had brought his drumsticks! Otherwise, we would have been playing hand drums (yeah, my drumsticks were in the cymbal bag).

Regardless, I set up the drums and decided to go mingle instead. I caught up with some fun friends and we all played euchre for the remainder of the night and drank a lot of booze. Fun was had by all! Unfortunately, I didn't get to see one second of Enter the Haggis. I'm kicking myself for that!! :(

Friday
Woke up at 7am sharp and then headed back up to my room to change and workout for the first round of sessions. After that, I went back to the sessions and got into some cool content.

An Introduction to Functional Programming with Scheme - Michael J Norton
This was a bit over my head. I tried to get into it, but I went in knowing very little and left knowing just as much. I'm sure had I known some of the functional concepts that were being discussed ahead of time, I would have been able to keep up. I left early and mingled. :(

It was about this time where I'm getting fuzzy without my updated schedule list; a lot changed in the schedule that I"m going off of..

Pragmatic Keynote
I do recall the keynote by Andy Hunt, and he was AWESOME! I really do plan to get his books and catch up on all the great content I'm missing. He was a great keynote speaker as he really knew how to work the crowd and had everybody's undivided attention for his entire keynote. I took a lot of notes and really enjoyed the lunch break.

Analyze and Optimize your .NET Web Application - James Avery
I learned quite a lot in here. James demonstrated how to fine tune any ASP.NET application using a set of profiling tools. He started with the ever famous "Nerd Dinner" and found that it was calling the database countless times for simple lookups. He used tools like RedGate - Ants Profiler, SQL Profiler and some other tools to help him isolate the bottle necks. It was pretty interesting to say the least and I learned a thing or two. Great session James! :)

Raffle
I didn't win anything... again. Four years in a row, nothing. Oh well, it was fun to sit and watch others win in a weird way. Plus the CodeMash crew always works the crowd pretty well with shenanigans and cool giveaways. Simply a great event, CodeMash organizers!

If I didn't provide enough content for you in this single post, please read more here: http://groups.google.com/group/codemash/web/codemash-2010-bloggers

Tuesday, January 12, 2010

I'm LogMeIn Savvy

I just signed up for LogMeIn. This totally solves so many problems for me. Ever since my Toshiba died, I've been stressing out about getting my new laptop setup with all the software I need in order to attend CodeMash.

After a few minutes of stressing, I realized that I don't need to have everything installed on the new laptop. I can just use this computer while I'm away at the conference. The only downside to this little epiphany is that I have to have an internet connection to be productive. This causes problems when I fly, and when I'm at a location that doesn't have internet. I do know that CodeMash has had spotty wifi at times due to the mass amounts of geekery going on. However, that's ok, because I'll probably only be logged into my computer when I'm back at my room anyway. While I'm at sessions, I'll just have my man-purse to take notes, and will probably be developing in Notepad as I learn how to become a Ruby guru.

For those that haven't heard of LogMeIn, you should definitely check it out. It was blazing easy to setup and best of all, it is FREE! It took me about 5 minutes total to get setup; I created an account, installed a little application on my desktop, and then went upstairs to test it out from my laptop. Viola!

Technology kicks butt!!

Friday, January 09, 2009

CodeMash 2009 - Day 2

Today was a bit rough after drinking with the geeks and then fighting my bout with insomnia last. I woke up at 7:30 and headed down for breakfast. Eric Meyer gave the keynote this morning about how "Javascript Will Save Us All". It was pretty interesting and he provided a lot of useful information on how people are able to get around various problems faced on the web today with a little bit of Javascript. I had a hard time keeping my eyes open and caught myself dozing off here and there.

I decided to head back to my room for a "quick nap".

About 4 hours later I woke up. I ran down to the lunch hall to see if I could catch a bite to eat real quick, and I did. My lunch consisted of watermelon and cookies. :) After lunch, I went to see "A Programmers Guide to User Experience" by Josh Walsh. It was very informative and it gave me some ideas on how to approach some of the problems I'm currently facing with a project I'm working on. Josh clearly knew what he was talking about.

From there, I attended James session on "Practical Data Visualization", which looked very familiar to say the least. :) James did a great job and I think the others in the room did learn a thing or two on good charts vs. bad charts. Well done sir. :)

After James' session, I v-lined it for Dustin Cambell's session on "Multi-threading Mojo with F#". I've seen Dustin talk about F# in the past and he is a very good speaker. He get's everybody in the crowd involved and has a great sense of humor about what he's teaching. He showed off some pretty amazing stuff with the various asynchronous features that F# has to offer. The amazing thing to see was how much code it took to do the same thing in C#. Crazy difference.

The giveaway session was pretty funny and Joe Wirtly didn't win anything this year! :) He's won the main prize the last two years (of all the people here, he won). Ironically enough, this year the main winner was sitting at his table. I plan to sit next to Joe next year... Save me a seat please Joe. :)

Anyway, after the giveaway, James, Raji, Mike, and I all ate down at the restaurant before they had to all go their separate ways. I came up to my room, researched some stuff, chatted with Jennifer for a while, then did my 4 miler on the dreadmill, and then chilled. That's where I'm at now... TNT has some pretty good movies on and I have all my stuff packed waiting for the morning. CodeMash 2009 is in the books. Great event!!

Thursday, January 08, 2009

CodeMash 2009 - Day 1

Well, I arrived at CodeMash last night right before the roads got bad. Found my old DD family immediately as I walked in the door (James, Mike, and Phil). They helped me move my drums in (thanks guys) and then we headed out to get some dinner. I ended up eating WAAAAAY too much and wound up refunding my dinner later that night into the porcellan bucket. I suffered from some insane insomnia well after that ordeal and didn't get to sleep until after 3am.
I wanted to wake up early and get in my 3 miler, but ended up sleeping in til almost 7:30am (alarm clock "am/pm confusion" issues). Since breakfast was almost over, I just grabbed my room key and headed down to the dining area to get in on the feast. Breakfast was excellent and I made sure I didn't over indulge this time. :)

Venkat Subramanium keynoted here at CodeMash this morning and he was a great keynoter, I laughed a lot and learned a lot. The first session I attended after that was 'Introducing Prototype and Scriptaculous" presented by Leon Gersing (aka: FallenRogue). He talked about using Javascript utilities (namely Prototype and Script.aculo.us (as well as various references to JQuery)) and I must say that it was very informative. I couldn't find any gleaming reasons for me to switch from my focus of learning JQuery to using these though (thoughts?)... I think I'm full speed ahead on my endevor to master JQuery. (Sorry Sergey) :)

The next session I attended the "Developing for Microsoft Surface"computing by Jennifer Marsman and... "Joe" from VectorForm (sorry Joe, great job though) :) It was very cool. They showed how all the pieces work together to provide the rich experience, including the way that real world objects can be recognized using a new type (infinitely unique) "bar code" pattern. Jennifer Marsman sat down and even took an old WPF sample app and converted it to a Microsoft Surface app using simple RegEx find/replace in the XAML, and had it running on the Surface in less that 2 minutes (literally). This is not recommended of course, but the fact that they CAN do it says that it should be fairly easy to get geeks using it. After the session, I went out and tinkered on one of them in the hallway. They are very cool to play with, but that's about it for me...

After that, we broke for lunch and then I headed to the "Adobe Flex with MVC Frameworks" session by Robert O'Malley. Unfortunately I thought it was something that it wasn't and I wasn't understanding anything that he was talking about. I think the session assumed that I was familiar with (at least) one of the technologies that he was talking about, and I wasn't. :( I turned to Mike and we went out into the hallway and geeked out on our laptops instead and talked about some programming issues we were both struggling with. Much more funner?? IMO. :)

The next round of sessions, I chose to attend the "Functional Concepts for OOP Developers" session by Brian Webber and it was pretty intense. It was well done, but it covered a lot of different functional syntaxes (namely Haskell) and functional concepts (namely these) that I simply wasn't familiar with (YET). I was able to "keep up" for the most part with my understanding of how implementing the same object oriented concepts would work, but the talk was a little more involved than I thought it would be, to say the least. 

For the last session of the day, I headed over to see the "Microsoft Virtual Earth Now in 3d" session by Aydin Akcasu. The last talk I saw from this guy included a Wii remote sending data to a C# app that (in turn) controlled a robot bird (that flew) the he let people fly over the crowd using bluetooth to send commands to it... again, using a wii remote. Talk about cool!? Anyway, this session Aydin showed people how to EASY it was to embed rich 3d mapping technology into existing apps with absolutely zero effort (3 lines of HTML, that's it); here is the page he built to give his talk with, right click and view source to see what I mean. Basically, Microsoft Live Maps offers a free mapping technology that lets users (ie. anybody that has a web page) expose an interactive 3d world (think Google Earth... but...) inside a web browser. To extend it and make it do things, simply create buttons with javascript to call methods on it. Beautiful! At the end of his talk, I went up to shoot the breeze with him and he showed me this cool 3d mouse called SpaceNavigator that he used to fly around the (virtual) world with. Very slick!

Dinner was damn good, then I hit the gym to get in my 3 miler before attending the jam session. The jam session was really cool! I only played a couple of times, but I did got to rock out with Carl Franklin, Brian , , and . It was a very bluesy mix this year. Last year was mostly acoustic and low key for the most part; whereas this year was ampliphied crowded and bluesy. Carl rocked out like a true entertainer, and I got to see Dustin Cambell jam on a guitar too (that dude is good). Corey Haines brought his harmonica and guitar again this year, and he played some really cool stuff (major talented musician). Surprisingly (maybe not?), there were a lot of poeple playing instruments this year, and it was much more "the norm" this year than last year. This was awesome to see. CodeMash is so cool. Plus I think they're starting bring out the good musicians (marketing ideas guys, Jim, Jason, Jeff,..). :) 



I ended the night with a bunch of geeks down at the bar. We discovered that Raji loves to buy drinks for people, just don't ask him for water... :)

Friday, December 05, 2008

CodeMash 2009

I CaN't WaiT!! Jason just posted his excitement about the session list for CodeMash 2009! I must say that it is very impressive. This event kicks ass! This year will be very different for me, as it's the first time ever that I'm going as an attendee rather than an exhibitor. The first year, I took my family, last year I went with my DD family and had a blast. This year, I'm going solo! No family, no booth, and no last minute presentation changes to worry about with James. I never minded hovering around the booth talking about Data Dynamics great products, but there was that whole "look professional" aspect to it.

This year, InfoPlanIT is sending me and I'm free to not worry about anything for 3 full days. I will be wearing un-tucked street clothes and I'm going this year to just learn, learn, learn. My latest project at InfoPlanIT has got me doing a lot of web development these days. I've been trying to learn the best way to build customizable enterprise business intelligence web portals... from scratch. The session list at CodeMash is very impressive and gives me a lot of different opportunities to learn from (Ruby, Silverlight, Flex, F#, and so on..).

If you are into technology and can talk your employer into sending you to CodeMash, then, by golly, do it! This is the hippest event in the midwest and you will get your money's worth, ten fold! Not only in the value of the sessions, but also in the fun factor, I mean it's an indoor water park!?. When you're not hanging out with geeks talking about code, your jamming out to Rock Band or screamin down the slides at the indoor water park. Oh yeah, you can also learn about the latest and greatest technologies in the industry by some of the smartest people in the industry.

So there it is! Lots of .NET, Silverlight, Flash, Python, Ruby, Java, PHP, F#, you name it... there's even sessions on developing applications for Microsoft Surface computer and the iPhone. Excuse the huge link, but I'm that impressed with where it takes you. :) I'm going with a wide open mind this year and not restrict myself to any one topic. Hope to see you there! Oh yeah, did I mention I'm taking my drumset again!? I told you this event kicks ass!


Monday, May 05, 2008

Jim Weirich Interview

Looking through InfoQ today and stumbled upon an interview with a certain Jim Weirich. Hey, wait a minute... I jammed with that guy at CodeMash 2008. Not only is he a Ruby guru, but he's also a damn good guitar player. :)

Monday, February 04, 2008

Novosibirsk - Day 13

Today was Ok. :) I woke up around 8am and posted my journal entry from last nights party. Around 8:30, Jennifer found me on Skype, so I plugged in my webcam, hooked up my headset and talked with her for a while. She was watching the SuperBowl and she was able to give me the "play by play" for the last quarter. I was able to hear the New York score the winning touchdown while in Russia (in real time). I was convinced that I was the first person in Russia to know who won the SuperBowl. :) Go Giants!!

After catching up with Jen and getting ready to go, I met Ivan (aka: Von-ya) at the Gorodok for breakfast. It was quite fun to sit and talk with him mono-e-mono. I introduced him to my favorite omelet with ham and pineapple, then we headed to work. He took me on a back way to the office and it was very scenic. I got to see little shops that I had never knew existed behind the main street. It was just your basic "back way" to work really, but all the much better with good company. :) We made conversation and it seemed to go by very fast.

When we got to work, it was just work stuff until it was time to go home. I did manage to play some Wii Tennis and realized that Scott's Mii has got some mad hops. :) Oh yeah, this morning Jennifer actually suggested that we look into getting one... Uh, Ok!

So after work (around 8ish) I got a ride home with Ivan and that was pretty much my night really. I stayed up on the computer working on various items, but all in all just busy work. About 10pm, I cooked myself a pizza, but totally didn't know how to work the oven. The top was nice and melted, but the bottom was all doughy. I ended up eating the outer crust just cause I was that hungry, but threw away the doughy center. Afterwards, I totally regretted even doing that. It really should have stayed in for another 20 minutes or so or just been thrown away. Raw pizza isn't good, I don't care who you are. Man, I can't wait to get back home to Jennifer's cooking... I'm having a hard time with food over here. :) She had the never to tell me that she was making meat loaf tonight!! :'(

For an update on the washing machine, it's still winning. Though I think I may have finally figured it out now that it's wasted two full boxes of tide. I actually found myself flipping it off tonight and I tried to start a fight with it. I stopped counting how many times it filled up and drained water without cleaning my clothes, then it would just sit there for 15 minutes doing nothing. Of course, it's being such a jerk, that it won't even let me open the door to retrieve my dirty wet clothes. I'm about this close to trying a Russian laundromat... Maybe I'll buy another box of Tide tomorrow so that it knows I'm not so easy to give up.

Lizzie is still sick at home. She stayed home today and got to hang out with Jennifer and the girls. I spoke with her on Skype and she was pretty chipper for a sick kid. While talking with Jennifer tonight, I realized that Daizi is beginning to talk!!?? That sucks I'm not home to see this, but it was pretty cool to hear her say "Da dada", which translated to "Hi dada". The fact that she put the 3 syllables together was what shocked me. I then began quizzing her on the basic things that we always work on, like "How old are you?", "What's my name?", "What's your name?", etc... and she was nailing them all. It's the little things!! I can't wait til next week to see them all again!!

Russian Facts
I realized something very quickly when I got to Novosibirsk. It was something that stuck out for me like a sore thumb and I've noticed it the whole time I've been here. The kids over here are really cute. I told this to Oksana and Lena the other night when we were in town, and Lena (I think) asked me why I thought so. At that point I think I realized that it's because they are all bundled up so much that they look like little stay puff people. Call me crazy, but it's true! The cutest thing next to my kids are Russian winter kids.


Russian Words
Putinka - A Russian Vodka given to me by my friends Anna & Sasha
Pre-vyet - "Hi" or "Hey"
St-draft - "Hi" (short for "st-draft-st-vetti" which is "hello")
Soo-bah-ru - Subaru only with an accented "a". :)

Sunday, January 13, 2008

Minority Report User Interface is Here... Gotta Wii?

I was blogging along today and found a very slick YouTube video of a guy that has created a Minority Report User Interface with a Wiimote, an LED panel, and some reflective tape. Take 4 minute out of your day and watch this video:



How cool is that?!

Here is another cool video that explains how to create a virtual whiteboard using the Wiimote, a camera, any flat surface, and some homegrown LED pens:



This guy (Johnny Lee) has a whole site dedicated to Human Interaction Research: http://www.JohnnyLee.net


Check it out if this stuff interests you. I think we may be seeing this guys name in the future

Saturday, January 12, 2008

CodeMash v2.0.0.8

Well, CodeMash 2008 is over and... Wow, what a great event! I had an absolute blast this year. Last year I took the family and we had a great time, this year I took my other family (aka: James, Pilgrim, and Zach). I learned a lot, drank a lot, did lots of drumming, and I fell "head over heals" in love with RockBand.

Wednesday
We started off from the office around 2:30 and made it to Kalahari Resort by around 5pm or so. By the time we got there and got everything in our rooms (clothes, rock band stuff, and my drumset crap) it was about 6pm, so we went down to the booth and hung out for a while. It was great seeing everybody again and we all stood around and "networked" for a few minutes. Once we got our booth setup, we decided to run to WalMart so I could get a watch and we could get Pilgrim some drugs for his cold... Yeah, I had forgotten my watch at home and I felt completely naked, so I bought a $5 analog watch to tide me over til I got back to my digital running watch. By the time we got back to the Kalahari, the evenings events were done as far as CodeMash went, so we went to the room and began drinking beer and played RockBand... That game ROCKS!! James had some cheat codes to get all possible songs and we ended up playing it til about 1:30am.

Thursday
The next morning, we got down to the booth and the event was in full bloom. Geeks were coming out of the woodwork and I felt right at home. :) We talked to a few people about who we were and met a few of our customers. I quickly found out that the only way to get people to take our books was to jump out in the middle of the mix and force our material into their hands. Once I made eye contact with them, they would ask questions about the company, I would tell them about what we did, showed a couple of demos and told them to download an eval and see for themselves. I was amazed at how many people were from Columbus. It seemed like the most popular place as far as I could tell from all the attendees I talked with.

I saw Scott Hanselman wondering the halls and I approached him with an extended hand. I told him I loved his podcast and we talked about his last show with Rory Blyth / Chris Sells. :) It was hilarious; if you haven't heard it yet, check it out! He actually gave me a "Private Invitation" to his expert panel talk during lunch, but I decided to use that time to iron out my speach for the Vendor Sessions. It payed off too, because I felt very comfortable during my session and people in the audience actually gave me a good review... I know this because they had 'evaluation forms' they had to fill out and I read them. :)

Speaking of RockBand and Scott Hanselman, I got to jam with him and he commended me on my (rather crappy) RockBand drum skills. He played guitar while I played drums, then he sat and watched a couple of songs that I ended up playing with others. It was pretty cool to see him hanging out with all of us and "geeking out" with all of us geeks. 

At the end of the day CodeMash had a party and they offered a jam session for all of the musicians that brought their instruments. There were a couple of people that brought guitars and Zach brought his Bass, so we got to jam out for quite a while. It was a lot of fun and I met a lot of cool people that night. Of course the night ended in a drunken haze (long island ice tea is th'shit) and of course it ended with even more RockBand and pizza. We had a blast! 
 
Friday
We all woke up and got out stuff packed and loaded into the cars. By the time we got to the booth, we still had some time for the breakfast and it was soooooo good after the night of drinking (I chowed). We saw a couple of cool sessions and talked to a lot of people in the halls about our products. The ending raffle was a blast. So much stuff was given away at this raffle and it was a lot of fun. 

Things I learned:
  • Corey Haines has some mad musical talent
    • Harmonica + Guitar + Vocals 
  • F# is fun and very powerful. I'll be learning it this year for sure! 
  • Silverlight is actually fairly easy to use... once you know a few tips.
  • Zach is a guitar whiz and James is a damn good singer in RockBand!
  • Bring a gaming console to your booth when you exhibit at CodeMash!

We'll be seeing you next year! :)

Wednesday, December 05, 2007

CodeMash Theme Song

There has been some discussion on the CodeMash discussion board about a jam session this year: Music at the conference?

After reading the thread, I saw where nobody had voluteered for drum-duty, so I did. I'm pretty excited about this, to say the least. I'm going to try and talk James into either singing or bringing his saxophone. :)

Flashback: Many years ago, Data Dynamics took a trip to San Fransisco and there was a band playing at one of the Microsoft after-hour events (making some pretty good money, I'm sure). We were all mingling about with our drinks in hand, and I went up to meet the band. I was talking to them (in between songs) and asked if I could sit in on the drums for one of their songs... surprisingly they let me! I'll never forget that. They announced my name and stated that I work for Data Dynamics (free publicity) before we played and then we ended up playing "Brown-Eyed Girl" for the crowd. The people I was traveling with (Tim & Ferhat, if I remember correctly) couldn't believe I even asked. :) I think Ferhat even took pictures (?). This was all before I was blogging of course, or this would have DEFINITELY made it on my blog.

Ok, back to present day... I'm hoping somebody will bring a digital camera and we could record the CodeMash theme song. :) If all goes well, we may end up travelling around the world opening for various pop stars... Ok, maybe not. Anyway, Scott is preparing a keynote presentation to tie many things together and he plans to stick around afterwards to talk to people and answer tough questions. This ought to be a great event. :)

Thursday, November 29, 2007

CodeMash 2008 - Spread the Word!

Data Dynamics is damn proud to be sponsoring CodeMash 2008! We sponsored (and attended) the event last year, and we'll be sponsoring (and attending) the event again this year. Last years event was a huge success for the entire development community around here. The crew that puts this event together is just "with it"... big time.

For example, last year, Scott Guthrie gave the keynote, and they had all kinds of high class speakers giving sessions on some pretty cutting edge technologies (ie. grid computing was pretty informative). I actually made "small talk" with Scott Guthrie in the hall (mono 'e' mono) before his keynote; he's pretty grounded for a man with such wisdom/respect. This year, the other Scott will be giving the keynote. That's right, Scott Hanselman! I just blogged about this guy the other day (Scott Hanselman - The Realtor) and I listen to his podcast (HanselMinutes) all the time. It will be great to see him face to face... who knows, maybe I'll bring the floor plans to my house and ask him to lunch for some Google Earth / SketchUp wizardry. :)

Last year I was able to take the family and we made a mini vacation out of the event:

CodeMash 2007 @ Kalahari Resort

This year, the family is staying at home, so I'll be in "full" nerd mode. It will just be James and I, and we'll be talking a lot about our latest products ddReports and ddAnalysis. We'll be giving lots of demos and plan to give a presentation of just how powerful and easy to use these products are. If you plan to attend CodeMash this year, please take time to visit our booth and attend our presentation.

It goes without saying (thanks Pilgrim) that the CodeMash agenda looks pretty stellar this year. I'm thinking that James and I might split up and check out some different sessions, then share knowledge over a beer afterward. We will be giving a presentation of our latest products in one of the side rooms (more details in a later post). We plan to create a compelling use case for analyzing data (source code included).

If you are reading this post, and haven't got a ticket for CodeMash, go do it! This is a high class event, put on by some high class people. The best part is that the organizers have made this event cheap to attend, with a list of speakers that are highly respected in the development community. CodeMash made the #1 Technorati search term last year (beating the iPhone)!! I gotta admit that the overall feel of CodeMash just makes being a geek "cool"! It's gonna be a fun one this year! I wonder if there will be more head shavings... Josh? :)

Oh yeah, if you didn't know this, the Kalahari Resort is a huge indoor water park! I do plan to bring my trunks... and about $20 extra for the massive arcade room as well.

Spread the word!

Monday, January 22, 2007

Friday, January 19, 2007

CodeMash Agenda

Well, I'm here at CodeMash and I'm loving it. There are some really cool sessions. I went to one yesterday by Owen Taylor where he described Jini and the whole "grid computing" realm. It was very interesting and he had some cool demo that showed how it all works. Today I went to Scott Gutrhie's keynote on LINQ. I didn't realize how cool linq was until I saw him getting crazy with it. He described how we are all single thread programmers by nature and that this is a problem as we move more and more away from Moore's Law. In the future, we will be dealing with more and more multi-core machines.

Here is a problem area:

  List<customer> customers = GetCustomers();
foreach(Customer cust in customers)
if(cust.Salary <= 40000)
DoSomething(cust);

With LINQ, all of the complexities are handled for us... No 'GetCustomers()' method to extract the values from a database or or XML file (or whetever). There is also no need to do the dreaded "for loop" with all the all the "if this, then that" crap. The complexities and tediousness is gone. Here is the new approach:

  // syntax might be wrong, but...
var customers = from c in customers
where salary >= 40000 select c;

The beauty of this is that everything is handled "under the covers" for us. For example, if you have a quad core processor, each core will be able to contribute to the results of the query, not just a single thread. Pretty cool! There is more to it than this, but this is the one thing that stuck out for me. :)

See also: Generic Query Operators for .NET 2.0