Toughest Developer Puzzle Ever 2 has launched!

After seeing last year’s success with the original Toughest Developer Puzzle Ever (TDPE), Jeff Blankenburg decided to create another round.

Some of the new things with TDPE include:

I’ve seen some of these puzzles already, and some of them are cake!  But some… not as easy as they look… 
So do you think you’re up for the challenge?  Check it out!

ASP.NET 4 Breaking Changes

These are called breaking changes for a reason – in upgrading to ASP.NET 4, you run the chance of running into any of these things that can break your website.  I recently updated my account with DiscountASP and moved this domain to a Windows Server 2008/.NET 4 environment.  The next step was to get my TDPE stages in place, which required addressing web.config inheritance issues.  Today, I wanted to post about TDPE 2 launching… only to be greeted with the request validation errors. Um… this worked just fine, why am I seeing this now?  Oh yeah… I moved servers….

So, if you’re moving your BlogEngine blog to a .NET 4 environment fron a .NET 2 environment and have some validateRequest=”False” files, make sure that the following setting appears in your web.config:

<httpRuntime requestValidationMode=”2.0″ />

For this and other breaking changes, see the ASP.NET 4 Breaking Changes whitepaper.

Another WiTty Observation…Boy Toys, Girl Toys…

Another WiT-related thought came across when I saw this retweet from datachick of this particular Saturday Morning Breakfast Comic (webcomic).

I couldn’t hook up my Cabbage Patch Kids, Sylvanian Families, or Barbies to the computer when I was a kid.  The closest I came to a futuristic girly doll was Astronaut Barbie.  We didn’t have Computer Engineer Barbie back in the day.

However, not all my girl toys were like that.  I still remember one

of my favorite toys from my childhood… my Legos.  And yes, the Pirates sets were always so cool looking and intrigued me, but deep down, as much as I liked playing with other sets, nothing Lego-wise kept me as happy as my Paradisa set.  Yes – a girly set with real Legos pieces… I had the joys of building things and taking them apart while enjoying girly settings.  They no longer make the Paradisa set, but they have Belville, which is still girly.

Hopefully there are more girl toys that encourage that engineering mindset now than there were when I was a kid.  That comic really hit home for me.

Where Women Fail – The Programming Beard

Note: This is not meant to be offensive in any way and is purely an interesting observation amongst guys in programming. where women shouldn’t be competing.

While I was reading some tweets this morning, I came across Kevin Mitchell‘s link to Unix beards.  Sorry, ladies… this something that we should not try to strive to compete with in our field. Even if you write in a bearded language, it probably isn’t worth it to try to compete.  I’m not sure you’d want the infamy that would come with that.  Python, now featuring the Bearded Lady … something doesn’t sound right with that…

Now I have to admit that Tamir Khason does have an interesting observation that popular languages are designed by guys with facial hair.  Check out that Unix beards link to see his observation.

I’m always amused when programming beards come up on Twitter – it seems ridiculous, but yet it cracks me up.  Then again, I was a little in disbelief and highly amused when I was at PyCon 2009 and they had a Beards of Python birds of a feather.

So tell me… do you think this guy might be onto something?  And if a woman designed a programming language, is the language doomed to fail because she can’t grow a beard?  (And I’m not saying women shouldn’t design a programming language – I honestly think that would be cool!  This was just a random thought that crossed my mind while looking at all of these beards.)

* Edited *

Ah yes… there’s the Grace Hopper factor.  She was the one behind COBOL, which succeeded despite her lack of a beard.  Thanks to Doug Philips for pointing this out!

Silverlight 4 – Webcam Permissions Out of Browser?

While playing around with Silverlight 4 and working on my demos for my talk on Tuesday at the Cleveland WPF User Group, I came across a peculiar situation.

I’ve got a webcam demo and wanted to see just what I could do with it to add my touches to it.  Of course, being the curious one, I had to wonder… “What if I denied access to my devices?  How does this really work?”

My setup, for reference:


And the permissions:




From what I was able to find out in my testing, it looks like the permissions work properly when in the browser (using Google Chrome).  However, when I run this as an out-of-browser app, it looks like the permissions are getting ignored.

Here’s my app in the browser:


And when it’s outside of the browser, I get this:



Is this really how these permissions are supposed to be working?  Am I missing something?  As an end user, if I told an application not to use my webcam but installed it to my desktop for other cool features (maybe an enhanced Twitter client or something), I wouldn’t want it to access my webcam.

* Edited 5/16/2010, 1:32AM Eastern Time*

So after seeing Dave Swersky‘s comment and looking into some other configurations, this is what I found out:


  • Webcam/mic permissions apply in-browser as expected
  • Webcam/mic permissions apply as expected when out-of-browser without elevated permissions.
  • Explicit webcam/mic deny permissions are being ignored when out-of-browser with elevated permissions.
So if I wanted to do an enhanced Twitter client with webcam/mic access and have a quirky end user who denies access to those resources, their quirks will be raised if they run the app out-of-browser, because chances are high that I’ll be creating an app with custom chrome, which needs elevated access to work.  


Computer Careers Represent in Best-Paying Jobs for Women

I came across this article on CNN about the 25 best-paying jobs for women, and I was pleased to see so many computer-related jobs on there.  Check this list out:


  • Computer software engineers
  • Computer and information systems managers
  • Computer and mathematical occupations
  • Computer scientists and system analysts
  • Computer programmers
That’s 20% of the list!
Now yes, there’s definitely a salary gap.  Awhile back, I overheard some of my friends playing the numbers game – they have the same “job” in technology, but they come from different backgrounds.  While I would see them as equals, I was surprised to hear the obvious difference in their numbers.  Why is that?
I have to really wonder why the salary gap appears.  Granted, in our field, it’s not as big of a gap as say marketing or medicine.  But it’s still there.  When they do these statistics, are they really comparing apples to apples?  Or is it something else?  Are they or their bosses or whoever is going to bat for them when it comes to salary just not great negotiators?  What are your thoughts on why this salary gap exists?


ASUS Adventures – Some SUX, Some Not So Much

For those of you who follow me on Twitter, you’re familiar with my complaints about my laptop.  Now that things appear to be working fairly well, I’ll tell my story.

From One ASUS to Another

Back in the middle of March, I came home one night to find my laptop dead.  My 3 year old laptop would start up and then immediately power down.  The ASUS logo would light up, and then the power would drop.  After a bit of testing, it looks like it might have been my motherboard that finally died. But in the 3 years that I had my ASUS G1, it was a great gaming laptop and great machine for demos.  And once that died, I felt a bit sad.  But my husband, hoping to replace his laptop. had done a bit of research on what was out there, and based on our prior experiences, we decided that it’d be good to go with another ASUS for me, this time with a bit beefier of a processor and more memory.

In the middle of March, I ordered my ASUS G51JX – with the Intel Core i7, 6 GB memory, and 1 GB nVidia GTS360M, I would be set.  I’d be able to write all sorts of programs, demo all sorts of technologies, and yes, get back into World of Warcraft yet again.

New Laptop Arrives

The new laptop arrived, and I was quite happy to see it.  I got it just in time for PAX East 2010, so I was able to take it with me for its first trip.  First thing I did was wipe out the initial image and install my license of Windows 7 Ultimate.  Loaded up drivers, installed World of Warcraft (WoW) and Plants vs. Zombies (PvZ), and I was set for my first gaming conference adventure.  PvZ played wonderfully!  But WoW, on the other hand, had video corruption all over.  Soon enough, my video card drivers kept crashing every 15-20 minutes if WoW, Zune, Aero, or anything graphically intensive was running.  My IT and tech support backgrounds were screaming that something was wrong and it needed fixed NOW.

After coming home from PAX East 2010, I decided it was time for some significant testing.  Many fresh Windows 7 installs later, many driver versions later, I decided to call ASUS tech support.  Boy did I do this wrong!

Tech Support for Non-Techies

I wish there was a code word we techies could use that would tell other techs that we’re outside of their script and that we’ve tried their script already before contacting them to get around the initial headaches.  I started with email support, seeing that a graphics problem would probably be better solved with screenshots, which you can’t really see over the phone.  What I hadn’t realized was that ASUS’s email support isn’t here in the US, and with that, there are language barriers, time zone issues, and other points of failure.  I got a lot of “try this BETA video card driver” and “please wait until we release a BIOS update”.  Mind you, each email had a 48 hour turn around time, which seemed more like 96 hours or more sometimes.  I was not content with waiting for a BIOS update, and the BETA drivers were not working.  I finally emailed them back and said that if this tech couldn’t help me, he would need to escalate the ticket to someone who could, as I thought an RMA would be needed.

After trolling the forums and finding BIOS updates and various video card drivers, I was feeling hopeless.  Surely nVidia didn’t put out 2 sequential versions of crappy drivers – the nVidia products I had been familiar with weren’t ever this bad.  Then, they released reference drivers for my video card – oh how I got my hopes up.  And oh how they got let down.

Meanwhile, email support grew quiet and I grew impatient, so I called the ASUS notebook support team.  They were able to somehow get it to a point where I could play WoW for an hour or two before the corruption would happen.  I asked the quintessential question of them – who do I contact when this comes back up?  Where can I send screenshots to show the problem I’m having?  I think this would lead me to the RMA.

Time Goes By So Slowly But Pays Off

So after numerous emails with the email team and a call to the phone support, I finally documented the issue and sent the email to the address that phone support gave me.  And shortly after that, the email team followed up with a request for me to send in my laptop for the ASUS techs to take a look at it.  Thanks to the ASUS RMA team in Indiana, I had my laptop shipped to them, looked at, and back at home within a week’s time.  And thanks to that RMA, a month after I started this process, I now have a happier laptop with a replacement video card.

Why didn’t I give up and just return it for a refund?  My previous ASUS laptop worked wonderfully and helped me believe in the brand.  From ASUS motherboards in our past PCs to my G1 to my husband’s netbook and now to two ASUS laptops – husband’s laptop died later that week and we replaced his Dell with an ASUS G51JX as well – I sense a pattern!  As frustrated as I was with the slow support process, deep down, I believed I had drawn the short straw with hardware in this case.  When it did work, I could see a lot of potential, but whenever the video card crashed, I would wonder if it was just leading me on.  We’ll see what I have to say in a few weeks, but for now, I’m glad I have my laptop back and can get back to blogging, working on presentations, working on TDPE2, and gaming!


  • Tech support for techies when it comes to ASUS SUX – we need a code word for those of us who know the script and are ready for an RMA, since RMA doesn’t seem to be that magic word.
  • Foreign tech support SUX – as if having issues with the machine isn’t hard enough, language barriers complicate things.  I’m not a fan of outsourcing tech support like this because of that added frustration level.  (Though the techs out there are doing their job… this SUX is more aimed at ASUS and companies’ general practices of outsourcing technology-related tech support.)
  • The ASUS RMA team in Indiana does not SUX – great turnaround time and the fix appears to work!