Sitting in the web automation and Selenium precompiler run by Adam Goucher at CodeMash this morning, I was super giddy to see multiple languages being mentioned - PHP, Python, and Ruby so far.  I am very thankful for my natural affinity for languages.  While I may not have experience with some languages (these languages excluded), I have the great ability to follow the logic and pick up the syntax from code.

Selenium looks like it can be very useful for what I do, being a web developer.  I'd be curious to see how to get it working with Silverlight, as it really hasn't been done.  

I really like the idea of Selenium Grid, with the distributed execution abilities.  To be able to test multiple browsers over multiple machines... this can be awesome! Having to support so many different browser/OS configurations, it would be beneficial to have a grid of computers to handle all that testing at once.  While I really like my QA guy, I really like him.  I don't want to have to bombard him with "Can you test this site in all of these configurations?" -it would be great to have a grid to just run the testing on my own.

Selenium 2's standard server will by default be running on a grid of 1.  Selenium Grid will no longer be a separate product. Selenium 2 is a merging of Selenium and WebDriver projects.  The best analogy that Adam came up with is that Selenium 2 is similar to Grover's "Near/Far" skit - there's a near part and a far part (Remote WebDriver).  Can't wait to try out Selenium 2 and see if I can make it work for my .NET projects!

 

In my previous post, I covered my Precompiler and Day 1 of talks experiences at CodeMash this year. However, I was there for the full conference, so let's continue on with what I saw on Day 2.

IronPython for ASP.NET

Many of you know that there are two of us who typically speak on IronPython out here in the Heartland District - Darrell Hawley and myself. Neither of us were speaking this time around - we brought out Chris Sutton from Iowa. It was good to see that there was someone else interested in IronPython.

It was good to see an ASP.NET approach for IronPython - typically I see us presenting on client apps rather than web apps, so it was a different perspective. I was hoping to see more IronPython and ASP.NET together, but unfortunately, it was a lot of what I had already experimented with.

I know that Chris is trying to get IronPython working with ASP.NET MVC - this would definitely be an interesting angle. Next time around, I hope that the Python background is more brief and that there's more content related to ASP.NET - or even something with MVC. Hearing Chris mention IronPython and ASP.NET did get me to look into it a little further, and I found the ASP.NET IronPython blog. So we'll see where this goes.

Looting Design Ideas from WoW

Although I don't talk about it much, I have returned to the World of Warcrack... er... Warcraft. After a 2 year break and finally finding my footing in public speaking and blogging, I returned to WoW. I fought the urge as best as I could, but when one of my friends asked if I'd go back if he went back, I knew I would give in and go back.

When I had heard that Jason Follas wanted to do a WoW talk at CodeMash, I was sold on it right away. Combine my love for gaming with my love for programming, and I had high hopes for this talk. Jaecynn, Jaesyn, and all of his other characters did not disappoint!

No, it wasn't a 40-man raid or even a 5-man raid. Jason pointed out some of the great features of WoW and how we can apply them to our software. It was neat to see him point out how having shortcuts, in-game macro scripting abilities, and even a decent API can help. Unfortunately, I was more focused on the talk than on taking notes, so that's about all I can say. If you play WoW and are a developer, I would recommend trying to get his slides or hear this talk to see how features in game can be applied to your real world apps.

Conclusion

Overall, I really enjoyed CodeMash v2.0.1.0. It's introduced me to yet another programming language and has caused me to think about one that I work with as a hobby. Based on what I saw, I'm looking forward to enhancing my talks and further pursuing a topic that I thought I had lost the passion for. I got to see many friends - some who I haven't seen since devLink or even earlier. It was great to finally meet some of my other Twitter followers in person - I look forward to gaming and hanging out with you guys in the future! I had a lot of fun attending sessions, and I'm glad to see others' responses to the conference. I also enjoyed being able to spend time with my friends and their families, both at the conference and in the waterpark afterwards. Is it CodeMash yet?

Over the past few days, I have been in Sandusky, attending CodeMash. This was my second year at CodeMash, and once again, I think Jim Holmes and his team did an amazing job of putting this conference together. Their main quote of Free your mind! really got me thinking, and this year, I decided to attend sessions on things that really piqued my curiosity.

A Look into Ruby

Many of my friends had urged me to at least look at the language, and I figured that I'd appease the curiosity of my inner language junkie. I started out in Joe O'Brien and Jim Weirich's Ruby Koans session at the Precompiler on Wednesday.

Joe had said that many programmers are also gamers and that we need to treat the koans as a learning experience and not like some game. I'll admit it - when I first started working on the koans, my gamer tendencies wanted to just fill in the blanks and make it on to the next test. It wasn't until a few tests in when my inner programmer beat out my inner gamer and reminded me just how excited I get about programming languages in general. Having seen a lot of programming languages in my past - through college classes and other past experiences - I have a great understanding of the various programming paradigms out there. So when I saw how Ruby did certain things, it reminded me of other languages - both in functionality and in syntax. Working through these exercises in tests gave me a better understanding as to what tests can be used for.

I stopped with the koans towards the end of the session, but I have a feeling that once things settle down a bit more, I may focus on them again.

On Thursday, I caught the discussion What Makes Ruby Different with Marc Peabody covering Java, Leon Gersing covering C#, and Joe O'Brien covering Ruby. It wasn't a "my language is better than yours" talk, and I was glad to see that. I liked the approach of comparing multiple languages to see how one is different.

After getting a brief glimpse of Ruby, I hope to look into it a bit more later this year.

ASP.NET MVC

I've been given the heads up to pay close attention to MVC, as I may need to use it on some upcoming projects. So I made sure to catch Chris Patterson's talk on Maintainable ASP.NET MVC. It was good to see how the MVC pattern works. There was one point that he said that really caught my attention - "ASP.NET MVC is an alternative to and not a replacement for Web Forms." I've been in a Web Forms world for awhile, and I always have seen MVC as an alternative, even though I have friends with strong opinions that MVC should be a replacement. It was good to see that there are others who see it as an alternative.

Refactoring the Programmer

The last talk that I really wanted to catch on Thursday was Joe O'Brien's Refactoring the Programmer. Joe told us his story on getting into Ruby and the community, talking about having a mentor and how an informal mentor relationship is great too, and stressing the point to find something that you're passionate about. In his talk, he recommended 3 books - The Passionate Programmer by Chad Fowler, Pragmatic Thinking and Learning by Andy Hunt, and Apprenticeship Patterns by Dave Hoover and Adewale Oshineye.

I absolutely loved this talk. Joe is right - it really should be all about finding something you're passionate about and running with it. This year, you'll see more blog posts on web technologies and database topics, since that's where my true passion lies.

This is what I saw on the first couple days - the Precompiler and first day of talks. Look forward to the next post, Part 2, when I cover the talks I saw on Friday as well as some concluding thoughts.

The deadlines for the calls for proposals and speakers for PyCon and CodeMash are coming up – October 1st (this Thursday) is the closing date. Have you submitted your talks yet?

If you haven't submitted your talks yet, why not?

Let me tell you why you should submit to speak at these conferences.

PyCon

Last year was my first year speaking at a Python conference. I was totally nervous – speaking in front of a community that I wasn't truly familiar with. And I was speaking on a Microsoft-related topic – I wasn't sure how well it would be received. Speaking on IronPython at PyCon 2009 turned out to be a great experience.

What did I learn from speaking at PyCon 2009? A few things...

1. The Python community isn't as anti-Microsoft as some of the other communities that I've seen. I've heard stories from some of my IronRuby counterparts on how difficult it is to speak on a Microsoft language where the Evil Empire perception is still there. Sure, I get teased every now and then, but overall, they seem to be a little curious about IronPython.

2. The Python community actually has a few implementations under its umbrella. Jython, PyPy, CPython, IronPython, Unladen Swallow... just to name a few implementations of Python. This conference is about all things Pythonesque – including the various implementations. So if you know a little about any of them, check this conference out. And if you've got something to talk about – be it some package you've been working on, how to get started learning about one of the implementations, or other Python-related topics – then submit your talk today!

3. The Python community has an unique sense of humor. With a language named for something as fun as Monty Python, the silly humor continues throughout their community. I mean, c'mon... the Django pony? Beards of Python? You never know what to expect with them!

4. The Python community that comes together programs together. They have Open Spaces and tutorials, which I've seen at other conferences. They also have these things called sprints – where Pythonistas get together and work on contributing to projects – be it fixing bugs or adding features. Although I couldn't stay for the sprints, it was interesting to hear what they are and how they work.

Unfortunately, I won't be able to speak at PyCon 2010 due to schedule conflicts, but I highly recommend you submit talks and take part in a great international conference.

To submit your talks for PyCon, check out their Call for Proposals.

CodeMash

My buddy Russ had mentioned it to me first, and then shortly after meeting him, my friend Jeff mentioned it to me. After almost a year of them giving me a hard time missing CodeMash 2008, I had the experience of attending and speaking at CodeMash 2009. It was then that I finally understood why the guys gave me such a hard time for missing it.

CodeMash is a platform-agnostic conference geared for coders (developers and architects alike), put on by members of various coding communities. To add another degree of awesomeness to it, this is a conference that happens in January at an indoor waterpark – the Kalahari Resort in Sandusky, Ohio. It's a great time for families to spend time together in the waterpark and for developers to learn about things that we as developers should know and care about, as well as new things to learn about.

What did I learn from speaking at CodeMash 2009? A few things...

1. The list of languages continues to grow. Topics are all over the board, at various levels. I encourage developers to look into languages other than what they're used to in order to become a well-rounded developer. Some of the languages that have appeared at past CodeMashes include (but are not limited to) IronPython, Python, Jython,IronRuby, Ruby, Javascript, C#, F#, SQL, PHP, Erlang, Scala, Groovy, and Java.

2. It isn't all about languages – methodologies and practices are talked about as well. Lean, Kanban, thrashing, continuous integration, and Agile are just a few of the topics covered from 2009.

3. Did I ever mention that there's quite a bit of fun too? I've already been told by my husband that I will be dragged to the waterpark at least on the last day of the event. I've heard a lot of stories of how fun the rides are – so next year, I will give up the Rock Band for one night to go play. Yes, a couple of the sponsors had Rock Band at their booths, so there was Rock Band to be had. Last year, one of my favorite fun geeky things to play with was the Microsoft Surface. One of the guys had a robot there as well that really struck me as cool. There's a lot of geek factor and fun – but don't take my word for it! Come out and experience it for yourself!

You can see the topics covered at last year's CodeMash here to get a feel for what kind of talks are given. If you've got something to talk about that you know other developers can benefit from, submit your talks today!

Conclusion

October 1st is only a few days away. Speaking at these events will get your name out to the community, along with the message you're trying to convey. It's a good chance to network with other speakers and talented developers in the community. If you get the opportunity to speak at conferences like these, I highly recommend it.

One of the latest talks that I will be adding to my list is "Pumping Iron into Python: Intro to FePy". Originally, I had named the talk "Pumping Iron into Python : Intro to IronPython", but that title was too long for the CodeMash submission page. So then I shortened the name, but in changing the name, it changed the context of my talk as well. My abstract changed from an intro to IronPython similar to the one I did at Cleveland Day of .NET to this:


As python grows in popularity, IronPython has started making more waves. What is IronPython and why should regular python programmers be familiar with it? This session will introduce the open source .NET implementation of python known as IronPython without using Windows. Come see FePy (IronPython community edition) in action via Mono -- a cross-platform open source implementation of the .NET framework.


I'm extremely excited to announce that it has been accepted for CodeMash, so I will be giving this talk in January 2009 at the conference at Kalahari resort in Sandusky.

When I first put together the abstract for this talk, I was looking forward to showing just IronPython. But after seeing Catherine's comment here and having to shorten my title for the CodeMash submission, I changed my perspective and decided to take this another way.

I decided to act on Catherine's comment and submitted this talk for PyCon 2009. That talk is currently in the review process. Now I've spoken at user groups and Days of .NET, and those submission processes are fairly short and straightforward. Even the CodeMash submission process was fairly painless, other than maybe for the decision makers since they had quite a few sessions to review. But the PyCon submission process has been probably the most interactive, most detailed process that I've gone through so far - and I definitely like it.

I submitted the talk to PyCon on the same day I submitted it to CodeMash, before the November 3rd cutoff. Since then, I've had a few people look at my submission and comment on my submission. The comments came from my reviewers, who basically wanted to know more and had things to say about the topic with the description that I posted here. I was able to go in and hopefully answer their questions.

I liked that there was a way to interact with the reviewers. There are stricter guidelines and an agreement to be videotaped, amongst other things. This is what the PyCon submission timeline is for proposals. Now, I wait until December 15th or so, when I find out if my talk will be accepted.

However, I'm not really sitting and doing nothing while waiting. Remember... this talk has already been accepted for one conference, and I'm really looking forward to showing off IronPython in a different development environment besides Visual Studio. I'm looking forward to showing off Mono and developing with that. I will also be showing off some of the things that FePy has that makes it different from the standard IronPython implementation, as well as what IronPython has to offer for non-Windows users.

Look forward to hearing more about this talk as we get closer to CodeMash... teasers will definitely show up between now and then!