Saving Details in Silverlight with Roaming Profiles

As I’m working on my Silverlight app and releasing it in the wild, I’m finding some cases that I would not normally deal with as a website developer.  The latest gotcha has been saving user settings.

So going back to my GiveCamp app idea… let’s say that I want to give the end user a way to set a default GiveCamp.  I would need that piece of information stored somewhere.  I figured Isolated Storage would be a great spot for saving the data.  However, Silverlight doesn’t support roaming profiles.  Normally, I wouldn’t be concerned about that; I remember the headaches of roaming profiles from when I worked IT and I would love to chalk it up as yet another issue with roaming profiles.  But there’s another part of me that wants to be able to save this data even if my end users are cursed with roaming profiles.

I’m sure I’m not the only Silverlight dev out there who’s run into this.  Are there others out there who have run into the roaming profiles issue?  If so, what have you done to make your app accessible to users bound by roaming profiles?

Why Microsoft + Being a Student = Awesome

I’ve been following Microsoft on Facebook and Twitter for quite awhile, and it’s amazing to see what they have out there for students.  All I can wonder is … why weren’t these programs around when I was in school?!?  So check this stuff out…


As some of you know, these programs have sparked my interest – WebsiteSpark, BizSpark, and yes, even DreamSpark.  I had originally heard about DreamSpark first and then about the others later.  I found it quite interesting to see just what DreamSpark entails.  So Microsoft is providing professional tools to classrooms and students alike, free of charge.  And we’re not talking just 4-year colleges either – community colleges, vocational schools, and even high schools can get involved!  If you have a verified (confirmed usually by a school/organization/something that can verify the student status) Windows Live ID, then you can get access to a variety of Microsoft’s products at no cost.  For more details, check out the DreamSpark FAQ.

Imagine Cup

Not only can you get their products, but you can also use their products to solve problems and compete against other students in the Imagine Cup.  The 2010 event already happened. There were 3 winners in each of a variety of areas – including Software Design, Embedded Development, Game Design, IT Challenge, and Digital Media. 

There’s talk already of the 2011 Imagine Cup, as its finals will be held here in the US, in New York City.  The 2011 theme will be along the lines of the United Nations’ Millenium Development Goals.  For more details. check out the 2011 theme page.  Ready to compete?  Then get planning to take over the world, as the Imagine Cup may be one small piece of code for you but may solve one giant problem! 

Microsoft Tech Student

Recently, they launched Microsoft Tech Student on Facebook.  It’s a great way to reach students via social networking through a site that many students are familiar with.  It is also a great way to present what offerings are available for students.  Thanks to that page, I now know about XNA in Academia – yes XNA programming in schools!  How neat!

Academic Evangelists

Finally, I want to talk about another group of evangelists that work with academia, called academic evangelists.  These are the people who spread the word about Microsoft to those in academia.  Now you won’t find them on the “Meet Your Local Microsoft Evangelists” site; I’m not sure why that is.  However, your local evangelists would be able to help find who the academic evangelists are. I know for sure that you can find a few blogging over on the Springboard blog.  They’re a great resource for students and teachers when it comes to learning about the latest and greatest technologies and how to get involved in the community.


These are just some of the offerings that appear in the academic realm.  Seeing all of this makes me jealous!  If I had these available to me when I was in school, I’m sure I would be in a different place.  If you are a student or know a student who’d be interested in this, definitely check out what Microsoft has to offer – it’s a wide world of opportunity out there!

Finding, Losing, and Reigniting Your Passion

Back in January at CodeMash, Joe O’Brien mentioned that it’s a great thing when you find something you’re passionate about and can run with it.  Someone in the audience asked what happens when you lose your passion.  That question really rang through my head, and I knew that I would eventually write the blog post to tackle it, when I felt the timing was right.  Now is that time.

Finding Something You’re Passionate About

When I was growing up, I found that I was passionate about two areas in particular – music and programming.  While I loved playing music and enjoyed music theory, I knew though that programming came easier to me and would probably be the passion that would win out.  It all started with BASIC on an Apple IIE.  From there, I was hooked – I really liked being able to give a computer commands and then get a response back.  The excitement I feel when I’m working on a program though is only a small part of my passion for programming.  The other thing that tipped me off that it’s something I’m passionate about and not just a job for me is the fact that I can explain what I do in simple terms.  My parents aren’t technically inclined, but I can tell them what I do in non-technical terms and they understand what I do.  I can take the technology I love and make it seem fun and exciting and cool and not-so-scary to those who are technologically-afraid.

I’m also lucky enough to be married to a guy who’s passionate about technology.  But he’s more passionate about the servers, the hardware, the IT side of it all.  He’s been tinkering with computers at least since his childhood – be it working on websites for a local Internet company or fixing others’ computers or troubleshooting random computer problems.  He’s awesome at what he does, and I love coming home to hear that he’s learned how to work with this new technology or learned this new way of doing things.  It’s great to have that excitement and passion, as it makes our jobs a lot easier.

Losing Your Passion

It happens to all of us, so if you’ve had this happen, know that you aren’t alone.  Whether it’s a job that isn’t providing growth opportunities (and you don’t have enough resources on your own to create those opportunities) or something else, it’s possible to feel as if you’ve lost your passion.   It’s hard when you know you have so much potential and want to learn so much but can’t explore the things you’re passionate about because you’ve hit a funk.  

You may even go through a period where you deny the very thing that you’re passionate about – I went through that phase.  Shortly after I had started speaking in the community, I had run into a situation that had me second guessing myself.  Rather than going straight into the development world, I backed out of the dev realm and went into tech support and then into IT.  But the more I tried denying my dev side, the more depressed I felt in my job.  It took a dead end job with no room for growth – after being there long enough, I realized that it wasn’t going to make me happy and that I needed to be in a job that would make me happy.  I needed to return to development.  Yes, it’s possible for the passion to settle down and for you to even deny it.  But if it’s meant to be, it’ll be back.

Reigniting Your Passion

Returning to development was the best move I had made in a long time.  I had the challenges I yearned for, and I had a wide open road ahead of me, with plenty of technologies to learn.  I met my friend Russ, who got me into going into one of the .NET user groups here.  By meeting people just as passionate about technology as me, it started drawing that passion back out.  Once that started coming out, this blog came to be.  I eventually got into speaking and event organizing, and the rest… well yeah, you see how that’s turning out!

What I’m saying here, though, is that it’s possible to lose your passion for something and fall into a funk.  But don’t lose hope when you get in that funk.  There are ways to get out of that funk.

– Find out what’s causing the funk.  

  • Did something change with the thing you were passionate about?  
  • Did something change with you to change your feelings?

– Once you find out what’s causing the funk, find out what it takes to get out of the funk.  

  • If something changed with the thing you were once passionate about, re-evaluate it and see if it’s really worth giving up.  If so, find another passion!  Life is too short to live in a haze of reality with a lack of passion.
  • If something changed with you, see if it’s something that can get sorted out on its own or if it’s something that you could talk with others about on how to get it back.
  • If you know of an idea that could help you get out of the funk but can’t do it alone, then recruit others to help you out!
Finally, if you had something you were passionate about but just can’t break the funk, read through The Passionate Programmer and hopefully it will help reignite the passion you may have thought you lost.

The Tech Events Initiatives

As I mentioned in my PyOhio recap, I finally met William McVey, who will be leading the Cincinnati Tech Events initiative.  I also have Catherine Devlin on board, being the first community member to volunteer to take lead on one of the sites and running the Dayton Tech Events initiative.  What you probably don’t know is that there are others.

Finding the Need of the Tech Events Sites

When I was in college, I was introduced to the idea of user groups.  The Toledo Area Linux Users Group (TALUG) held their meetings in one of our engineering buildings, and since I was on campus, I found the location to be very convenient.  Add to it that it was about Linux, something that my friend Nivex had me look into over the summer leading into college.  So I attended a few TALUG meetings, and I really got a good vibe (even though they used to tease me because they knew I preferred Microsoft technologies).  In April 1999, I co-presented with Nivex, and I would give another presentation later that year.  I really liked this user group stuff.

After college, though, I returned home to Cleveland, as the economy continued going down the wrong road.  While I was getting settled working “in the real world”, I had to wonder if there were any user groups.  My friend (and then co-worker) Martin mentioned that there was a Cleveland Linux users group.   While I enjoyed my time with TALUG, I knew I wasn’t ready for another Linux user group.  I needed to find something more aligned with my Microsoft-friendly tendencies.

I eventually shifted jobs and moved into the IT realm (from tech support).  I was working in a situation that had me on call 24/7, with little time for me to even think about user groups.  I felt so disconnected and so burdened that it eventually wore on me.

Once I found a developer position, I had more time on my hands.  I work during business hours, but I have time after work to pursue my interests.  My friend Russ told me about this .NET developer user group that meets once a month that he thought I might be interested in.  So I checked it out, as I was excited to see a user group more inline with my preferences.  And this got me thinking again… are there other groups out there besides this group and the Linux users group?  For a city as big as Cleveland, I would’ve expected some easy way to find them.  But it just wasn’t there.

If It’s Not There, Make It There

I enjoyed going to that .NET user group, and in the next few months, I would add another .NET group and a SQL Server group to the list of user groups that I frequented.    As I found out about other groups, I kept thinking about putting together a site of the groups I was finding.  But then I realized that it would be a large, time-consuming task.  I was a little hesitant, as I really enjoyed my time after work and wasn’t sure if I was ready to commit to such a project.

Fast forward to October 2008… I was home from work, fighting an unexplained case of bronchitis, and getting stir crazy at home.  My body was a physical disaster, but my mind wouldn’t shut down.  So to appease my mind, I came up with a project to work on – that’s how Cleveland Tech Events started.   I started with 4 or 5 user groups and then embarked on a search on the Internet for other groups.

The site has grown over the past couple years – over 40 user groups now and still growing.  People are talking about the site, and thanks to their suggestions, it continues to thrive.

If It’s Successful, Grow It

After awhile, I realized that if Cleveland had this issue, what about the rest of my friends in OH and MI?  (I chose those two states because that’s where a lot of my friends are and that’s where I spend most of my time.)  Unfortunately, someone else has Detroit Tech Events.  However, I was able to grab some of the other localities – Lansing, Ann Arbor, and Grand Rapids for Michigan.  As for Ohio, I grabbed Cleveland, Columbus, Cincinnati, Dayton, Canton, Akron, and Toledo.  

I started updating Columbus Tech Events, as Columbus is my home away from home.  After I got Cleveland and Columbus going, I caught others’ attention – those who want a site like that in their area.  I got Dayton Tech Events set up, and Catherine Devlin has been running that operation since it opened.  William McVey will be running Cincinnati Tech Events, which will be transitioned over hopefully in the next couple weeks.

Looking for Leaders

The following sites are looking for a leader to run the community initiative:

  • Columbus Tech Events
  • Toledo Tech Events
  • Ann Arbor Tech Events
  • Lansing Tech Events
  • Grand Rapids Tech Events

I am looking for leaders for some of the other sites, so if you are interested, please email me at – an account specifically used for these Tech Events sites.

devLink Recap

The week after PyOhio, I had to speak at devLink in Nashville, TN.  This was my 3rd devLink, and I have enjoyed attending it each year.  It’s a great time for me to see my friends, learn about technologies I want to know more on, network with others in the field, and overall come back home to put my new knowledge and new contacts to use.  This was my 2nd year as a speaker, and this year went much better than last – demos weren’t failing, and despite the back-to-back-to-back talks on the last day, things went really smoothly.  It was great to talk on social networking, web analytics, IronPython, and PowerShell.

I actually attended the Women in Technology gathering on the first day.  Many of you know that I am not a fan of WiT gatherings typically – I’ve seen too many that are “This is how I’ve been burned, and yet I continue to fight the fight” kind of gatherings, and I can’t be bothered with those.  This one was not that.  This one was a great discussion on how we can get women involved and how women are still a rarity.  There are a few of us who are in hiring positions, and it’s sad to see that there aren’t many females applying for technical jobs in general.  I liked that it was a great chance to network with other ladies in the field.

While I was down there, I also caught a few sessions on Silverlight and Windows Phone 7.  Now if you haven’t seen Windows Phone 7 by now, I recommend you check out the Windows Phone 7 developer site and play with it to see what’s coming.  I sat through James Ashley‘s presentation on “Advanced Windows Phone 7 Series Development” and learned about how WP7 dev is like Silverlight 3 + all of its goodies.  I also learned about the concept of tombstoning.  After James’ talk, I caught Pete Brown‘s talk on “Beyond Hello World: Windows Phone 7 Silverlight Development Deep-Dive” which covered more Windows Phone 7 tips and tricks that weren’t covered in James’ talk.  I really enjoyed the fact that they talked about what was in their talks and that there was very little overlap.  That was great!

On the purely Silverlight side, I caught the beginning of Shawn Wildermuth‘s “Architecting Silverlight Applications”.  Working on Silverlight professionally, I found this talk helpful in that it provided me things to keep in mind while architecting Silverlight solutions.  

When I wasn’t sitting in sessions or giving sessions, I was talking with my friends on some ideas that you’ll see from me in the future.  One of the things that I can talk about is that David Giard recorded me for an upcoming episode of Technology and Friends.  Dave chats with friends on technology-related topics – including (but not limited to) the cloud, MEF, Javascript, testing, PowerShell, community events, PMing, SSIS, and F#.  If you haven’t seen it yet, I highly recommend checking it out.  Their conversations are quite interesting to see!

Overall, I really enjoyed devLink.  There were plenty of opportunities to link with other devs.  My only concern though is that there were so many awesome talks that I wanted to see during lunch and would’ve missed lunch if I went to all of the ones I wanted to catch.  Skipping lunch isn’t a good idea for me, so I had to miss some of the talks I wanted to see.  I really like the idea of a keynote or large talk during lunch rather than sessions.  Overall, though, this was still a great conference!

Thanks to John Kellar, Leanna Baker, and all of their volunteers who helped make devLink such a great success!  Looking forward to devLink next year!


PyOhio 2010 Recap

At the end of July, I had the opportunity to speak at PyOhio in Columbus, OH.  This was my second year picked to speak, and this year, I did everything I could to stay healthy, as I really wanted to be there this year.  (I missed my talks last year due to serious health issues.)

Both of my talks had low turnouts, which I expected.  IronPython doesn’t have a large following here, although it does have some people curious.  Also, to be fair, my second talk was scheduled against an entrepreneur panel with Eric Floehr, which would’ve been great to catch!

Overall, though, I really enjoyed the event.  It was great to see the regional Python community get together to talk Python and share their experiences.  I finally got to meet William McVey in person; he and I follow each other on Twitter and he had expressed interest in leading the Cincinnati Tech Events initiative.  And those AGI guys who kept appearing – you guys rock!

From what I’ve heard, the sprints went well.  Unfortunately, I had another conference the following week, so I had to miss out the sprints this year.

If you’re into Python and would travel to Ohio to talk with others on Python and write Python with others, PyOhio is definitely worth checking out!

Why Microsoft Connect Really, Really SUX

I swore I wasn’t going to write this post.  I figured I could just work this out via an email to support.  Oh but no… that’s not the case.  I need to share my feelings on Connect, as I know I’m not the only one who is finding this to be more of a burden than a great support tool.

Recently, I had blogged about the StringFormat issue in Silverlight.  I had been nagged to submit the bug against Silverlight, and so I logged into Connect to do it.  Imagine my frustration when I realized that their submit form doesn’t have a confirmation page.  I figured my session had timed out, so I retyped up the bug and resubmitted it.  Again, no confirmation page.  No confirmation email. Nothing.  … Until 12 hours later, when I get not one, but two confirmation emails.  Grr… Connect form confirmation SUX.  

But wait… there’s more.

So in those confirmation emails, I got link

s to the bugs.  I could see the bugs when I wasn’t logged in.  However, when I was logged in on my Live ID, the same ID I used to submit the bugs in the first place, I got “Page Not Found”.  Now wait a minute… I can see my bug when I’m not logged in, but when I’m logged in, I can’t see it?!  Strike two…

 And the icing on the cake…

Quoting directly from an email that I got from Microsoft Connect Help, with a guy who has “Microsoft Connect Team” in his signature…

You can see the bugs even when you are not logged in with your windows live id is because it is designed in such a way that even the nonregistered users can see the bug.

I already figured that I could see it while not logged in.  But how about addressing the original issue of not being able to see it while logged in?

I know I have other friends who are frustrated with the system as well.  I wouldn’t have blogged about it, but this close to three strikes and I have to talk about how much it SUX.

Microsoft Connect has A LOT of room to grow.  But if this is the way I need to report bugs in products, I’m sorry, products, but I have a tool that’s more headache and hassle than what it’s worth.  Look for your products in a future SUX post or an email if I have a contact to work with.