Things I’m Looking to do at PyCon

As I’m finishing up my slides and looking at my “Search:pyohio” column on TweetDeck, I’m reminded of the many things I hope to accomplish while at PyCon.

Goal #1: Present at PyCon.

On Sunday, I will be giving my talk on IronPython. My timeline is slightly skewed from what I had anticipated, but that’s because I’ve got more slides and a better VM to work with. I had a couple questions come up that I’ve included this time around. So if you’re at PyCon and want to hear what I have to say on IronPython, I’m speaking in Ballroom D at 10:00am (Chicago time, that’s 11:00am EDT).

Goal #2: Meet some of the IronPython people.

While we’re all spread throughout the world, there are other IronPython people out there that will be at PyCon. I’ve followed them on Twitter for awhile, and I’m hoping I get to finally meet them while at the event. If you see me there, feel free to yell “Hey, sadukie!” and I’ll most likely respond.

Goal #3: Meet with the PyOhio team.

PyCon is the national event, but PyOhio is the statewide python mini-conference. It’s held usually at the end of July down in Columbus. I want to meet them and help where I can, and it’ll be good to carry the IronPython torch for them as well. It does seem a little odd, though, that we have to leave our state to meet, but hey, whatever works!

Goal #4: Check out the Stackless python presentation by CCP.

Of all the presentations out there, I really want to see this one, as I’ve been an EVE Online player for awhile now. I’m typically mining or building things, and I’ve also had the joys of rooting for my alliance (Manifest Destiny) in the alliance tournaments. But having experienced the update as user is one thing – I’m very curious to see what this will be like from a developer’s standpoint.

 

I’m leaving later this week, and I look forward to arriving in time for the talks on Friday. Hope to see some of you there!

Upcoming Speaking Engagements

Yesterday, I realized that my upcoming speaking schedule is going to be fun – 3 talks on 3 different topics in 3 different states in less than 1 month. So… where am I when and what am I talking about?

PyCon 2009

Talk 1: PyCon, Chicago, Illinois. Sunday, March 29, 2009. “Pumping Iron into Python: Intro to FePy”

I have to thank Catherine Devlin for suggesting that I submit something to PyCon. I will be giving a mostly abridged version of my talk from CodeMash. However, unlike my demos at Codemash, I plan on showing IronPython in both a Windows environment and in Mono. I can tell you it’s a combination of my CodeMash slide deck and my original IronPython talk that I gave last May. I should have my slide deck on the PyCon website later this week for those who are interested.

Note: Although I say this in the abstract: “This session will introduce the open source .NET implementation of Python known as IronPython without using Windows.”, I’ve been asked by some Windows Python programmers to show Windows examples as well. So I will have both on hand. However, I plan on showing most of the demos with the ipy console on my Ubuntu VM.

Central Ohio Day of .NET

Talk 2: Central Ohio Day of .NET, Wilmington, Ohio. Saturday, April 18, 2009. “Intro to the New Data Types in SQL 2008”

What originally started out as a presentation for my local SQL SIG – the Ohio North SQL SIG – has evolved into a Day of .NET talk. It debuted in September 2008. At the suggestion of Chris “Woody” Woodruff, I added FILESTREAM to my presentation in time for Ann Arbor Day of .NET last October. At Central Ohio Day of .NET, I will be presenting this talk – complete with revamped examples of hierarchyid and FILESTREAM.

Kalamazoo X Conference

Talk 3: Kalamazoo X Conference, Kalamazoo, Michigan. Saturday, April 25, 2009. “Social Networking for Developers Geeks”

When I first heard about this conference late last year, I was intrigued. My buddy Mike blogged about the X Conference, and I’d recommend checking it out. I won’t be showing any code, but I will be showing social networking profiles and some tips and tricks behind it. In an economy where companies are more prone to layoffs than to hiring new people, it helps to have a social network to find possible job leads and to possibly establish relationships and maybe form companies of your own. It also helps to network with others to bounce ideas and questions off of each other and even just to hang out. But we geeks aren’t known to be social. So leave it to me to show a bunch of geeks how to get out there and how to get the best experience out of each tool.

I’m looking forward to giving these talks – they should be a lot of fun! I hope to see some of you there!

WiT Experience: Undesirable Situations in IT

Alan Stevens recently wrote about sexual harassment in IT. Sadly enough, those things happen and not just in HR videos. I could easily see why more women avoid IT. These are just a few of my experiences in undesirable situations that weren’t necessarily harassment but would steer women clear of IT.

Insecurity and Hostility Early On

Right out of high school, I had an awesome internship – awesome in technical experience. I learned a lot about databases – including SQL Server and Oracle. That was my first professional experience with VB, after having played with it and releasing a freeware app. So it was nice to confirm that I was meant to work with tech.

But it also taught me that some guys can’t handle working with potentially successful women. The contractor I was working with, the DBA, and a programmer on another team were my angels in disguise. The guys in the cubes around me were great at exuding insecurity and intimidation – then again, this youngster could have been better than them at half their salary. But they weren’t welcoming, and I didn’t feel content there. There was one female programmer there near my cube, and the guys didn’t seem to take well to her either. They wouldn’t include her in their conversations, and they just didn’t treat her as an equal. It was tough to work in an environment where there were a lot of guys who couldn’t handle women in the industry, even when we thought we weren’t a threat.

I relished my time in the lab with the contractor, chatting with the programmer from across the office, and meeting the Oracle DBA. Those guys taught me a lot that would come in handy later on. But I learned that even when I’m learning, if I don’t feel comfortable in the environment, it’s best to just get out.

The Internet is for Porn… Everywhere

In college, I had a job doing desktop and lab support. Doing IT work in public labs, I knew I had to keep an open mind and brace myself for situations that I wouldn’t agree with it. I expected porn-ridden spyware in the labs, so I had some sort of idea as to what I was getting into.

However, my first experience wasn’t in the labs. One of the clients had called, and I was still new to the job – only a few weeks in. So the full-time desktop non-lab guy had me follow him on the call. When we opened the door, we walked into porn. The client was mortified and in the process of trying to close the window managed to get more pornographic popups. Being the IT professional, I kept a straight face and waited for him to close his windows, but inside, I felt sorry for the guy and had to hold back laughter from how comical it was to see more popups come up as he was closing them. The full-time desktop non-lab guy didn’t know what to expect, and apparently he was quite worried about me being exposed to this situation. We remedied the situation and headed back to our office. Once I realized I was out of ear shot of the client, I was able to laugh and let my co-worker know that I was fine.

That client learned not to look at porn at work, or so we thought. About a couple years later, in my last month with the guys (since I was graduating), we got a call. At that point, I was running lab and non-lab calls on my own, and I went to the lab to see what was up. Imagine the looks on our faces when the person who called in this case (the client from the last incident) saw that I was the one responding… and what popped up on the lab machine? Again he was mortified, and I just fixed the problem and walked back to my office. But when I told the guys, it was total disbelief – how could this happen again?

I personally was fine in both situations because I had prepared for the worst. I had read stories of the things people in IT have experienced, so I knew what I could run into. But at the same time, I knew that I could handle it – otherwise, I wouldn’t have taken the job. Some women, however, would not have been able to handle that.

What Part of “No” Don’t You Get?

This is the last of the undesirable situations that I’ve experienced that could steer women out of IT. I was on a well-balanced team of techs, training the rest of my team to be able to handle tougher calls rather than passing them all on to me. I had an awesome boss, who was able to teach me the company’s ways and who let me interact with the other departments without any issues. From there, I had the other managers looking out for me and showing the cool things going on in their departments and little tips and tricks for me to pick up so that I wouldn’t have to route calls to them as much. I loved learning a lot there, and I really enjoyed the people I worked with. Well… all but one.

Shortly after my first boss left, they hired this guy to replace her. I knew right off the bat that he’d end up having to rely on me to show him the basics of company politics. Being the one that he relied on for knowledge and know-how, I was not a target of his antics. He started hitting on the other ladies on my team, and they made it clear that they weren’t interested. But he just didn’t get it, no matter how much they told him “no”. The tension he caused was unbearable – and not just for the ladies. Towards the end, even the guys knew that something was up, and they came to me to find out what was going on. I was the one who encouraged the ladies to continue to tell him no, document the incidents, and stay strong. The guys on the team knew that they had to document incidents that they’d witness. Somehow, I knew that documentation would be key. While being there for my teammates, I still couldn’t let on to “the boss” what was going on behind the scenes. I could ask him to take a hint and tell him that maybe they’re just not interested. And it wasn’t that this guy just didn’t read social cues – he knew how to read them, but he just didn’t want to give up. Unfortunately, one of the ladies wanted so badly to leave, but she trusted me enough not to go and to fight it through.

Thankfully, the documentation and my strength carried the team through the situation. However, the situation wore on me emotionally and was tough to come down from. This situation showed me that I can lead from the trenches and be the strong one for my team. Thanks to the other managers and their teams for being supportive – that also helped carry me through. And to think, I wasn’t even a direct target! But this is yet another undesirable situation that would drive women from our field.

Final Thoughts

These are just some of the incidents that I’ve been involved in that could easily steer women out of IT. However, keep in mind that I’ve been working in IT in one form or another since right out of high school, over 10 years. These undesirable incidents are few and far between – I’ve had a lot more positive experiences with guys taking me under their wing, showing me the ropes, and encouraging me in the field and in the community. Although these undesirable situations may have distracted me or gotten me down, I haven’t let them push me out of a field that I love working in. My advice to women in tech after going through these – there’s always a chance of running into a jerk or a hairy situation, but honestly, these are few and far between and should not deter you from working in this industry. Stay strong, and make sure to have allies to help you through if you do find yourself in a tough situation.

Browser Wars? Turf Wars? Why?

While talking with one of my cubemates last week, he mentioned this article about Google aligning with the EU in the Microsoft antitrust case. The more I see the complaint that Microsoft is bundling Internet Explorer in Windows, the more I have to wonder why that’s really an issue.

What’s next? A lawsuit against Microsoft for including Paint in their operating system? Oh no… Adobe’s Photoshop is going to be put out of business by the latest incarnation of Paint! What about including Wordpad? I’d hate to see Word Perfect or Lotus Ami Pro get obsoleted by such a simple text editor. Let’s go after Microsoft for including their own software in their operating system.

Seriously, this seems ridiculous. Apple apparently includes their Safari web browser in their Mac OS, otherwise why would they list it under Mac OS X’s features? Ubuntu comes with Mozilla by default. Then there’s the K Desktop Environment (commonly known as KDE) with Konqueror. Do I need to continue?

Why is it such an issue when a software giant like Microsoft includes their browser in their own operating system, but it isn’t a big deal with a giant like Apple includes their browser in their operating system? Am I seriously missing something here (strictly looking at the browser complaint – not the antitrust case in general)?

Cleveland has been Ignited!

What happens when you get the word out to the community that there’s going to be this event called Ignite Cleveland coming to town? You get some of Cleveland’s amazing talent together, sharing knowledge, networking, and just having a fun night.

This past Saturday, I attended the first Ignite Cleveland, with a lot of excitement and high expectations. Andrew Kavanaugh and Jon Stahl did an excellent job organizing the event. The turnout was amazing, and it was great to meet so many talented people in the area.

I met the challenge of 20 slides, auto-advancing after 15 seconds, bringing the presentation to a total of 5 minutes. The topic I went with was “Marketing Your Event Online”, as I’ve had to do that for Cleveland Day of .NET and I’ve noticed a lot of other strategies that could work if implemented properly. It may seem weird that a developer has and understands marketing strategies, but when you organize events and are active in the community, having marketing skills can be a huge help.

My slides can be found here:

The sites that I refer to in my presentation include:

  • Eventful: especially good for travelling events (events that move between cities, for example)
  • Crowdvine: which provides customizable features to learn more about your attendees and their backgrounds
  • MySpace: great for announcing events and reaching a younger demographic
  • Facebook: great for reaching college students and older
  • Meetup: great for user groups and tracking frequent meetings, their attendees, and any feedback from the attendees
  • Twitter: can reach a wide audience in a short amount of time, especially if the word gets out to people who are interested in the topic(s) at hand

All examples in my presentation are Cleveland-based events or initiatives.

Besides the above links, I also mentioned that having your own site to get the word out about your event would be a good idea – as long as you include the who, what, where, and when, people will come. I used Cleveland Day of .NET and Ignite Cleveland as examples of this, and I also mentioned my community site – Cleveland Tech Events, where groups can also promote their meetings and events that pertain to the technical community of Cleveland. My goal for that site is to have one site to unite all the technical groups – we’ll see how well that works!

I really enjoyed meeting a lot of Cleveland’s talent in person, and I look forward to next quarter’s Ignite Cleveland event!

The Coding Geekette’s Book Reviews: IronPython in Action

I’ve been asked by Manning to review Michael Foord and Christian Muirhead’s IronPython in Action. As many people know, I recommend technical books typically based on their reference value, as I usually get bored within the first few sentences and end up turning them into references rather than reading through them. This book, however, was one that I read cover-to-cover.

What I liked best about this book was how it was broken down and how those parts come together. The 15 chapters are broken up into 4 parts – Getting Started with IronPython, Core Development Techniques, IronPython and Advanced .NET, and Reaching Out with IronPython.

The pace of this book is great for someone just learning IronPython. The book mentions using IronPython Studio and also brings up Mono, an alternative version of .NET that adds cross-platform abilities and supports IronPython. It also addresses IronPython from both perspectives – what Python is for a .NET programmer and what .NET is for a Python programmer.

IronPython in Action covers everything from the basic “HelloWorld” in C# (a language most .NET developers are familiar with) versus Python to getting into Silverlight. There are plenty of examples of Python and its data structures, which gives the .NET reader the basic building blocks to follow along through the rest of the examples in the book. There are also plenty of examples of .NET code for Windows Forms, .NET types (strings, numbers, and Booleans), delegates, and event handlers. I’ve found these introductory chapters to set a great base for developers from either camp – .NET or Python.

Once that base is established, the rest of the book gets into marrying Python and .NET into the wonderful language known as IronPython. The examples that are covered include (but are not limited to) working with XML, tabbed dialogs, modal dialogs, object serialization, testing with unittest, working with various mock libraries, monkey patching, dependency injection, metaprogramming, WPF, shell scripting, data binding, Silverlight, and extending the language with languages the .NET programmers are familiar with (C# and VB).

Overall, I would recommend IronPython in Action for anyone wanting to learn IronPython. The examples in this book were easy to follow and very applicable to everyday programming. Even if you’re an experienced IronPython programmer, IronPython in Action would be great to have on hand as a reference. I’m looking forward to buying the final copy once it comes out, just to have as a reference (and to plug in my future IronPython talks).

Want to hear what other people are saying about this book? Check out other reviews that the authors are tracking!