One of my favorite features in Windows 7 is the Snipping Tool.  Introduced in the Experience Pack for Windows XP Tablet PC Edition 2005 and included in Windows Vista, I hadn't noticed this feature until Windows 7.  According to the Microsoft site, it's available only in the Home Premium, Professional, Ultimate, and Enterprise editions of Windows 7.

Don't get me wrong - I'm horrible with scissors in real life.  I can't cut a straight line to save my life.  So you'll rarely find me cutting things.

But when it comes to Windows 7 and the digital world, you'll find me using this feature often.  It was one of those features that I noticed on my Start menu one day and had to see what it was.  Once I tried it out, I was hooked.  (And I've been using it so much lately that I just had to tell my story here.)

How have you used the Snipping Tool?

Any time I see something on my screen that I can use, I start up the Snipping Tool and snip away.  In the MVC Melee blog post, I snipped that image from the MVC Melee website.  Whenever I am working on site changes on one of the websites that I maintain, I send screenshots of proposed changes - and the Snipping Tool is great for cutting apart the main layout and showing how new images and partial layout changes look on a site.  While documenting a particular feature in an application, I'll have my Snipping Tool ready, so that I can get screenshots focusing on that feature.

Why do you like the Snipping Tool?

What I like best with the Snipping Tool is that the interface is easy to use.  Start the program, highlight what you want to snip, and then save it.  No need to open another program and paste the screenshot from my clipboard.  There is a setting enabled by default to copy the image to the clipboard, so pasting from the clipboard is an option.  But I don't have to open my image editing program, paste my screenshots from the clipboard, and then crop the image.  The Snipping Tool makes it that much easier for me to get that done.

But... what about Alt+Print Screen or even just Print Screen?

Have no fear - those still work.  So if I want to get a screenshot of the active window or of my whole desktop, I can still use those keyboard combinations to store the screenshot on my clipboard and then paste them wherever I need them - be it in a Word document or in a program to create an image and use later.

Snip snip here, snip snip there, it's a little slice of heaven.  The Snipping Tool is an awesome feature in the land of Windows 7.

For more on the Snipping Tool in Windows 7, check out the official Microsoft page.

Inspired by Rails Rumble, Sara Chipps and JP Toto are inviting us to take part in the MVC Melee.  Sharpen those MVC skills - ASP.NET MVC 1.0 and 2.0 will be supported and are the weapons in this battle.  Put together a team of 1 to 4 people, and create an MVC app in 48 hours to wow and dazzle the public and impress the expert judges.

After hearing about how fun Rails Rumble was from Joe Fiorini (of the 2008 Rails Rumble champion team behind Meet Inbetween Us), I got excited to see something similar for the ASP.NET community.

So what are you waiting for?  Check out the MVC Melee site at http://www.mvcmelee.com.

Last year, we covered MIX contents and had a private showing of the new Star Trek moving. This year, we're continuing to stir the tech pot - focusing on mobile development, web technologies, and general methodologies on our yearly trek. That's right - there's another Stir Trek this year, and that's a short spiel on what's going to be covered.  For $25, you get a great amount of tech sessions with some of the industry's best presenters, lunch, vendor sessions from some of the region's great developer supporters, and a seat at our private showing of Iron Man 2 on its opening day - Friday, May 7th.

So what are you waiting for? Check out the site and register today!

My First MVP Summit

February 17, 2010

This week, I am in Seattle/Bellevue/Redmond for the Microsoft MVP Summit.  It's so surreal being here - I couldn't have imagined what this would be like.  The MVP Summit is truly a meeting of the minds, where we can collaborate with other experts, product teams, and team leads.  If we have any feedback on programs or products, provided we provide it to the right person, we know that our feedback is getting to the right place and is truly being heard.  The product teams and the program managers really do care about their products and programs - they're just like most of us.  We don't want to put out software with major issues.  We want our end users to be able to use our products and appreciate the services that we may provide.  The Microsoft product teams and program managers are that way as well.  So if something isn't working well or something can be improved, we can offer constructive criticism, and they appreciate it and can take it into consideration.

This has definitely been a great experience!

While reading on Twitter, I came across a few links for Grace Hopper 2010: Collaborating Across Boundaries.  I figured I'd check out the site to see what they had planned, but then I saw something that really got me thinking that this another WiT initiative that's doing it wrong.

Look at this picture:

 

I see some collaboration against cultural boundaries, but there's a gender or age boundary that is quite visible.  That character on the far right - I'll call them Captain Androgynous because I can't tell if it's an older guy or professional looking older lady, but either way, that person seems to be a significant distance away from the group, compared to the other group members.  Now mind you, this is probably unintentional - not many marketing people think their images through like this.  But on an age factor, it looks more like an older age is getting excluded - rather than collaborating against the age boundary.  And if Captain Androgynous is female, then there's a missing gender; if Captain Androgynous is male, then that gap looks like guys are still excluded rather than collaborating against the gender boundary.  (Edited: My apologies - I was only aware of Grace Hopper by story and not by actual picture.)

And this, my friends, is why I am not a fan of Women in Tech initiatives in general.  There are a lot of "form girls' clubs to fight the boys' clubs" and "gather in groups of women and empower" approaches, and honestly, it's not the right approach.  The first thing I think of when I see that is "You're doing it wrong."  Let's continue the segregation and separation that we're fighting against.  Wait... that doesn't sound right.  That doesn't sound like a good plan at all.

Women in Tech initiatives should try to bring women into technology-oriented fields without acknowledging and encouraging the myths that our predecessors have left behind.  Our predecessors have told us the war stories, the horror stories of what happens when gender differences are realized.  I've got my fair share of those stories, but gender differences and situations as such will happen in any field - it isn't limited to just technology-oriented fields.    Our predecessors have told us that there's a glass ceiling; this only exists if you continue to believe in it.  Otherwise, shoot for the sky.  Do your research on what the going rate is in the field and don't sell yourself short.  Our predecessors have told us that male-dominated fields are full of boys' clubs; these continue to exist if you think of it that way.  The way I see it - ignore the gender factor and we're technology professionals who are competing in the economy to be the best we can while keeping our jobs.

I have a feeling I'll be one of the biggest female critics of WiT initiatives, but rightfully so.  I've been privileged enough to learn from some of the greatest guys in IT and development, and being trained by guys has taught me a lot about the gender differences and how to work with them, collaborating across the gender boundary.  It has also given me the perspective that we need to really listen to the guys, as they too have feedback on WiT topics and not necessarily the sexist ideas that our predecessors want us to believe.

 

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.

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.

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.

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 http://ironpython-urls.blogspot.com/2009/12/why-ironpython.html

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 http://us.pycon.org. To claim your free subscription to CODE, use this coupon code during registration:

CODE-subscription-PyCon2010

(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!