CodeMash v2.0.1.0 Recap, Part 2

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.
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?

CodeMash v2.0.1.0 Recap, Part 1

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.
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.

Dumbing Down a Report Engine? Another Episode of SSRS for SQL 2008 SUX

I never thought I’d say this, but working with SQL Server Reporting Services (SSRS) has taught me a valuable lesson…

It doesn’t matter what report engine you use, they all have their quirks.

I have a Crystal Reports background thanks to the ERP system that I used to support. I learned how to work with it inside outside upside down. It got to the point that I knew how to get it to do what I needed, no matter how obscure my end users got with their requests. It was a good thing.

Now I’m in a SSRS environment, and I curse my unfamiliarity with this report builder. I have to keep reminding myself that it’s a Microsoft tool – so many options that I’d be looking for in context menus are probably hidden in toolbars. For example, I was looking on doing conditionally-formatted row backgrounds, and I eventually found it in a toolbar – as soon as I reminded myself that it’s a Microsoft product.

But then there’s this other maddening (lack of a) feature. Why can I create an expression for my tablix’s sort field but I can’t use an expression to specify the sort order?

And what’s this “A to Z” and “Z to A” sorting terminology? Who are they designing this tool for? As a database admin and a developer, I would know ASC and DESC or even ascending and descending. Dates sort on their date type, numeric types in a numeric order… and neither of those are handled the same way as a character sort. Is the report converting all of its data to strings and literally doing a character sort? Nope – it is sorting ascending and descending. Can SSRS get an update so that it accurately represents the sorting? Is it smart enough to possibly detect the data type of a field and show “highest to lowest” for numbers and “earliest to latest” for dates?

As I continue to work with SSRS, I hope my complaints will subside. But there are some quirks that, in my opinion, make it worthy of the SUX appearances.

My Thoughts on the WiT Discussion at SQLServerCentral

After seeing an email and after my friend DeeDee pointed it out to me, I figured I’d comment on this article (requires login) and its discussion on Women in Technology that appeared on SQLServerCentral today.
First of all, it was weird seeing her referenced as “Ada King”. In college, I knew who Ada Lovelace was and about her contributions to the computing industry, largely thanks to my Data Structures I professor – Dr. Henry Ledgard – who worked on the Ada project. Then there’s the “Ada Lovelace Day” mumblings that I’ve heard. So I found it weird to see Phil Factor reference her as “Ada King” and not by the name she’s commonly known by in the industry.
Second of all, I knew that the discussion related to the article would take the forks like it did because it’s a WiT topic, and those viewpoints almost always come out on a WiT post. There was one post in the discussion that caught my attention, and it touched on the following points:
* Not all WiT initiatives are useful. When they exclude men, they’re harming things more than helping things.
* WiT gatherings with a “it’s tough being discriminated against” approach aren’t helpful.
I wholeheartedly agree that excluding men in WiT initiatives is a bad thing. Could it be that guys actually have opinions on women working in tech? Could it be that they’re actually more supportive than what some WiT initiatives want us to believe? They may even be catalysts and sources of encouragement for us!
WiT gatherings that are more about sharing the negative experiences really don’t get far. They’re good at showing that other women have gone through the same headaches as you, and sometimes they’re good at showing how to handle certain situations. But overall, negative topics can lead to discouragement, and that’s not a goal of any WiT initiative.
This is part of why you don’t see many WiT posts from me. I write for technically-minded people – not for a particular gender, race, or creed. I personally hate the gender card and wish it weren’t such an issue. Growing up, I didn’t see my gender as a problem. I saw it as – “Hey, I was good at this programming stuff in school, and my teachers and my boyfriend really thought I should look into it as career option.” Not one of them ever mentioned the gender factor, so I never really considered it an issue.
It wasn’t until I entered the workplace right out of high school before I had an idea that my gender (and at that time, my age) would cause issues for some of my teammates. When I entered college that fall, I became aware of the problems a little more. It made me curious as to why there was a Society for Women Engineers. Then again, I tended to discount groups with “Women” in their title as exclusively female groups and those are typically not groups I’d associate with. The way I saw it, since I was planning on working with guys in the field, I wanted to socialize with them as well. Add to it that most of my friends have been guys, so it really didn’t strike me as odd getting into a male-dominated field. What made things more interesting is that I never felt the gender issues much in my classes or extracurricular activities, even when I was the only female in the class. When I was aware of gender issues, it’d be in the workplace or when dealing with outsiders who knew the generalizations that come with women in tech.
It bothers me that at many conferences, the WiT gatherings I’ve seen have been exclusively women. At a gathering at Central Ohio Day of .NET last year, I was relieved when Jeff Blankenburg and Josh Holmes showed up with more people. Don’t get me wrong – I appreciate girls’ nights out and a break from the guys. But at the same time, I also have been around guys long enough to appreciate their views. I look to those guys for advice and guidance sometimes, and I think it’s important that other women in tech realize that their perspectives of getting women involved in our community are quite interesting and are exactly why men’s perspectives on WiT need to be heard more.
It was good to see Phil mention that PASS was taking a role in making sure there isn’t a sexist bias. This is the way it should be – a group for professionals regardless of their gender, race, or other discriminating factor.
In my WiTty Perspectives series, you will see me challenging women to get past the girls’ club approach and realize that there are plenty of guys who also want more women in tech. I look forward to sharing my stories of getting ahead and the people who helped me get to where I am today and who keep me ahead of a lot of people.

CODE Magazine Special for PyCon 2010 Attendees

I got an email from Catherine Devlin – PyCon’s Publicity Pythonista Extraordinaire – for you .NET people who may be going to PyCon. So… check this out:

.NET’s Dynamic Language Runtime has brought new prominence to the role of .NET dynamic languages like IronPython, and many .NET programmers are looking for ways to get up-to-date on this growing aspect of the .NET environment. PyCon, the world’s largest conference of Python and IronPython programmers, is an unparalleled learning opportunity. For $450 or less, attendees can spend an entire week learning from and working with Python and IronPython programmers from raw beginners to the creators of Python and IronPython themselves.
This year, PyCon offers a bonus to .NET programmers – a free one-year subscription to CODE magazine, the leading independent .NET resource.
PyCon 2010 runs Feb. 17-25 in Atlanta, Georgia. The conference includes five tracks of standard talks, plus Open Spaces, Lightning Talks, hands-on lab, exhibit hall, and poster sessions. Feb. 17-18 are set aside for twenty-four intensive, half-day tutorials. PyCon’s development sprints run Feb. 22-25, in which ordinary attendees work together with project leaders to cooperate on extending and improving Python, IronPython, or their own favorite libraries and projects.
IronPython, a full-powered .NET implementation of Python, lets .NET programmers easily use dynamic language capabilities in their .NET environments. An brief review of IronPython’s benefits for .NET programmers is at
Early-bird registration (through January 6) is just $450, and further discounts are available for students and attendees without employer support.
For information and to register, see To claim your free subscription to CODE, use this coupon code during registration:
(If you’ve already registered for PyCon, signup for a CODE subscription will be available at the conference.)
See you in Atlanta!


Unfortunately, I won’t be able to make it to PyCon this year due to scheduling conflicts. However, if you are dabbling with Python, want to know more about IronPython or other implementations of Python., or just want to meet others who are working with Python, I highly recommend that you check out PyCon 2010!

What’s Coming Up in 2010…

Happy New Year to you all! I hope you enjoyed celebrating the Gregorian calendar’s change in the year. I am currently celebrating with friends – my husband and I have an annual LAN party that runs over New Years weekend, and despite the snow, we have a great turn out.
Looking forward into 2010, I have quite a few things lined up for blogging here…
The SUX Series
In 2008, while frustrated with the Office 2007 packaging, I started the Sarah on User eXperience (SUX) series. I didn’t realize that I’d actually run with it, but in 2009, I had 8 entries on things that had poor user experience or awesome user experience. In 2010, this series will continue.
The SoS Series
This is a new series in 2010 – Sarah on Social (SoS) will cover my thoughts on things related to social media and social networking. From what sites I use and how I use them to why businesses need social media policies but why they shouldn’t be too restrictive, look forward to seeing social media and social networking covered a bit more in 2010.
Toughest Developer Puzzle Ever Lives On
Once again, I’m working on creating puzzles for the Toughest Developer Puzzle Ever v. 2.0. We’re looking for more puzzle creators – so if you’re interested, email us and we’ll get in touch with you about what we’re looking for and how you can help.
Want to see how well we did last year? Check out Jeff’s post and see for yourself!
If you haven’t seen it yet, definitely check out the Toughest Developer Puzzle Ever at (a nice, short, Tweetable URL).
WiTty Perspectives
More and more I’m finding myself writing down my thoughts on the joys and pains of being a woman in tech (WiT), so the WiTty Perspectives series will cover my adventures of being a woman in tech and the lessons and words of advice that I have for other women in tech.
Caught in the Web
As many of you know, as part of my day job, I’m a web developer. I’ve always enjoyed web development, and I take great joy in making my web sites working on more than just Internet Explorer. So in 2010, look forward to more blog posts on web technologies, web debugging tools, and other things that I’d find interesting for web developers.
2010 will be an interesting adventure to say the least, and I look forward to sharing my thoughts, my experiences, and my perspective with all of you. If you ever want me to cover something in particular, email me and let me know what you want to hear.