Cleveland GiveCamp 2011 – Sadukie’s Tales, Part 3 – This One Time At GiveCamp…

This past weekend, I saw how my project managing skills would fare at Cleveland GiveCamp.  First of all, if you aren’t familiar with GiveCamp, check out GiveCamp.org for a basic explanation.  Now for a basic overview of Cleveland GiveCamp, check out this post from Bob at Simplex-IT or even this video made by my favorite IT guy (my husband!):

As I mentioned, I had to manage 2 projects this year – a new website for ASL Advocates and a revamped website for the American Indian Education Center.  In both cases, our clients wanted sites that were easy to maintain.

I have to give a shoutout to my teams – they were awesome.  I got my team assignments on Friday night, and after giving them the notecards I made based on my discussions with the non-profits, I found them to be strong, self-organizing teams.  I walked away for the first standup, and when I got back, I found out that one team had relocated and the other was fine where they were.

Team ASL Advocates included Aoirthoir an Broc, Dave Shah, and Matthew Fousek.  Team American Indian Education Center included Kevin Solorio, Dan Schultz, Marco F Sanchez Chaires, and Gabe Keith.  Both of these teams were great to look after, as I really didn’t have a lot of heavy lifting for either team.  This allowed me to help Team AHRC with their Dreamhost DNS issues and Team Cleveland Rape Crisis Center with their SQL Server issues.  I also got to meet Adam Ryder, one of the GravityWorks guys who really enjoys GiveCamps.  He came in from Lansing, and this was his third GiveCamp this year.

I am very proud of my teams and their work.  Dave and Matt went out to take pictures of A-S-L being signed.  Matt’s hands really brought some life to the ASL Advocates logo on their page.  Gabe really rocked out his designer skills on the AIEC page and even had his daughter – a mini-designer – follow him out one day.  It was great to have a designer on at least one of the teams.

So without further ado, here are my teams’ pages:

ASL Advocates: http://asladvocates.org

American Indian Education Center: http://americanindianeducationcenter.org

I have to also give a shoutout to Kate Hawk and Pat Wolansky at Cinecraft.  They wanted to get involved with GiveCamp and help somehow.  They donated their video talents to one non-profit this year, and ASL Advocates happened to be the beneficiary of that.  They worked on a super short timeline… talked with ASL on Thursday, met at their offices Friday, shot the segment Saturday, and then video edited and had a video ready for us by early Sunday afternoon.  In the GiveCamps I’ve been to in the past, I’ve never seen a donation as awesome as this.  Kate and Pat were a pleasure to work with, and I would highly recommend doing business with them in the future.  You can see their promotional video here:

And to Sherrie Z. of Kiddie City Euclid – one of our 2010 Cleveland GiveCamp projects – thank you for coming out to help in the kitchen and help with snacks.  It’s always good to see when our non-profits come back to help.  This is truly what a community is about – offering our skills to help each other succeed and make it in the world.  Thank you!

Words can’t explain how awesome Cleveland’s community is for stepping up to help 22 non-profits over the weekend.  From organizers to sponsors to staff and volunteers, this event couldn’t have happened without everyone’s involvement.  This year’s Cleveland GiveCamp is yet another reason why Cleveland rocks!

Special thanks to the places that gave us a home this weekend – LeanDog and Burke Lakefront Airport!  Without you guys, we wouldn’t have such great “home”s during Cleveland GiveCamp.  And what other GiveCamp can make the claim of taking place both on a boat and at an airport?  None other than Cleveland!  Again… more reasons why Cleveland rocks!

This one time, at GiveCamp, I really had a lot of fun meeting new friends and seeing old friends.  I am overwhelmed by how supportive Cleveland is of its non-profit community and just who made an impact.

The Browser Whisperer

Cesar Milan has a way with dogs; he is known as The Dog Whisperer.  He manages to get even the most misunderstood dog to not be as bad as its owner makes it to be.

I thought about Cesar while having a discussion with a fellow web developer recently.  This developer and I have been collaborating for the past couple months, and we’ve realized that I have slightly more tolerance for this operating system feature known as Internet Explorer.  He was complaining about how he was struggling with IE and its woes, and I made the offhand remark of: I think of jQuery as “the browser whisperer”.

Yes, jQuery has made my life a ton easier and has let me rekindle a relationship that I had originally sworn off.  My love/hate relationship with Javascript is more love than hate.  The fact that I can take advantage of my love of patterns and use it in Javascript makes jQuery that much more favorable.  But the part, for me, is its browser compatibility.

I’m glad that there’s a Javascript framework out there that makes it a more favorable option.  I really like that it supports the 5 major browsers, including the one that seems to choose its own standards that rarely coincide with the rest.  That’s one of the not-so-fun things in web development – browser and platform compatibility.  But jQuery really makes it easier.  Now I write jQuery code rather than a bunch of ifs for each browser and its Javascript idiosyncrasies.

jQuery… the browser whisperer.  What do you think?

Saying Goodbye to .NET Hosting…

Not only did I say goodbye to BlogEngine.NET, but I’ve also decided to cut my ties with DiscountASP.NET.  I don’t need .NET hosting for what I do and now nor do I need DiscountASP.NET, and here’s why:

  • I write blogs about what I do in technology, sometimes about .NET stuff.  When I do write about .NET stuff, I can include screenshots and videos of what I’m doing if I need you to see what I’m talking about.
  • I can also include my solution files or code files if I’m showing code.
  • Hosting files, screenshots, and videos are quite possible with a Linux host.
  • While there may be cheaper webhosts violating their Microsoft Service Provider License Agreement (SPLA) by charging ridiculously low prices, I’m also well aware of the nightmare known as Microsoft licensing and wouldn’t fall for those .NET hosts that are super cheap.
  • Linux hosting is much cheaper because there aren’t as many costs involved when it comes to licensing.  Microsoft licensing in general is confusing and can be very costly.  While I can justify the costs for some products, I can’t justify it for hosting.
  • Yes, I know that DiscountASP.NET can be pricey and that they don’t oversell their services.  I also am well aware of webhosts that will oversell their servers (much like how the airline industry oversells their flights).  While it’s a shady practice, it’s not something that isn’t known.  Subscribing with a webhost can be risky.
  • Yes, I also know how to read the fine print in webhosting contracts, and I don’t need a marketing / sales person to tell me that I should read those about webhosts being able to terminate sites that use a lot of bandwidth.  (Besides, if they pulled my logs, they’d see that my site doesn’t come close to their bigger sites.)
  • It seems bold to say that a host that uses third party automation software doesn’t know how their own backend works, but that’s what this marketing / sales guy at DiscountASP.NET told me.  Really, I would think that while they provide this service, they also may have people on staff who do know how the backends work.  They would be foolish otherwise.
  • While they’re a Microsoft Gold Partner, that really doesn’t attract me to a business.  I prefer a business that would not send a guilt trip / “the grass is not greener” email, one that would recognize the issues and realize that yes, there is competition there and sometimes the grass is greener.

Yes, I get what I pay for.  I run the risk that my webhost might oversell my server.  But I’m no longer on a server that costs an arm and a leg due to Microsoft licenses.  I’m on a server hosted by a company that I’ve been with for the past 5 years for all of my other sites.  Their support services, in addition to the existing documentation, has been great.  While others may have experienced issues with these guys, I’ve had nothing but good luck, which is why I keep my sites here and why I’ve moved codinggeekette.com here.

.NET hosting provided to be too much of a headache and too costly for me.  DiscountASP.NET’s marketing / sales guy also proved why they can be a headache.  Good riddance!

Wishing Internet Explorer would finally be a real browser…

As I play with browsers, I’ve fallen for Internet Explorer 9.  It isn’t as much of a hassle to develop for anymore, finally choosing standards that seem to be close to what the other browsers use.  They’ve finally got tabbed browsing with removable tabs that can be re-added back in, much like Google Chrome.  As Internet Explorer grows up, I’m thrilled with the features that are getting added.  It’s slowly maturing into a real browser.

While I can browse the internet with Internet Explorer, it’s still not something I can completely uninstall and reinstall.  It’s still baked into the operating system.  

 

Until I can truly uninstall it and reinstall it and see it on the “Uninstall a program” page, it’s just a great operating system feature in my book and not a full-fledged browser.

So please, Internet Explorer team, show the world how awesome your product can be without baking it in the operating system!

SUX: Silverlight Edition

Sometimes, things appear in the SUX (Sarah on User eXperience) series because they work contrary to my expectations. Silverlight is one of those things.

For a web technology, Silverlight is more an app developer’s domain than a website developer’s domain. It really requires an application development train of thought. In these past few weeks, I’ve been working on a Silverlight app and running into quirks that probably wouldn’t have thrown me off if I spent more time writing apps rather than websites. However, I typically focus on websites more than apps, which is a slight paradigm shift. So imagine the frustrations I ran into with Silverlight, thinking that a web technology would be aligned with the web train of thought.

For one, they don’t do margins the web way. Margins in the web world – think CSS attributes – are top-right-bottom-left. Margins in an app world (and in the Silverlight realm) are done left-top-right-bottom.

Another thing that required a little searching was finding a dropdown box. Yes, as a website developer, I’m used to the terms dropdown, DropDownList, or even the old <select> lists. But as I look at my toolbox, I’m not seeing any of those terms. Ah… but there’s ComboBox, similar to the control I was familiar with back in my VB 6 days. Ugh… another app term, not the web developer term.

The last grumbling I have on this is the lack of transparent window support. Transparent PNG supported was enhanced in Silverlight 4, which I really like. But there still isn’t any support for transparent windows. On this project, we would’ve loved to have a transparent window, especially on an out-of-browser app. Sure, we could’ve done this in WPF, where transparency is supported. But WPF on a Mac isn’t supported – Mono doesn’t have plans on implementing it. Silverlight, on the other hand, is supported on Macs, which is why we planned going this route. Until they port transparent window support from WPF into Silverlight, we’ll work with the technology constraints and go with a custom chrome. But transparent windows would be awesome!

Thankfully, I’m getting around Silverlight a lot better than I anticipated, but I still need to remember that I need to treat it like an application tool and not necessarily a web development tool. Don’t get me wrong – it is a web technology after all. But first and foremost, it is a subset of an application development tool, not a web development tool. Once I get that through my head, I understand why they went this route.

Looking into PHP on Windows…

While I was looking at the Web Application Gallery that I have available via my DiscountASP control panel, I noticed an old familiar app on the list.  I did a double take, as I couldn’t believe it.  Yes, one of the apps I used to play with back before I became a dev full-time – phpBB – is now available in the Web Application Gallery and also in the Web Platform Installer.

When I first heard about the PHP initiative that Microsoft was taking on, I was a little skeptical.  I have a PHP/MySQL background, and I know the stability on a Linux platform under Apache.  But PHP on Windows?  That sounds a bit strange.  Then again, I’ve also looked into Mono a bit – and .NET on Linux seems just as strange!

I have to admit that I’m quite excited to see PHP working on Windows.  I am looking forward to using some of the other PHP-based apps that I love – including WordPress and Joomla.  (At the time of this post, WordPress and Joomla appear in the Web Platform Installer, but they are not listed in my webhost’s version of the Web Application Gallery.) I miss those apps, their ease of use and maintenance, and their stability.  I can only hope that the features I like get ported over.

We’ll see over the next couple of years what the future of PHP + Windows has in store for us!  I’m excited to see where this will go!

Summer Speaking Engagements

It looks like I’ll have a busy summer, as I’ve received confirmation over the past couple months on some of my talks.

So if you’ve missed some of my talks, some of them are getting redelivered and some new ones are coming out.  Below are some of my confirmed talks for the summer.

PyOhio

In addition to helping with publicity, I’ve got two talks for PyOhio this year.  This first talk was set to debut later this summer, but it looks like PyOhio will get to hear it first.

A Lap Around IronPython

It’s not just C# and VB.NET that can be used in WinForms, WPF, Silverlight, and ASP.NET. You could also use IronPython! In this session, you will get a quick overview of IronPython and a look into using it with each of the following: WinForms, WPF, Silverlight, and ASP.NET.

The other talk I’m delivering at PyOhio is one that I’ve delivered in other places – including Cincinnati and Dayton this past February.  

Python 101 for the .NET Developer

The first part of the session will cover the basics of Python – its history, how its data structures compare to those we’re familiar with in the primary .NET languages, its strong and weak points, who’s using it, and why you as a developer – both generally speaking and as a .NET developer – should care about Python. The second part of the session will get into the demos – starting with some basic Python scripts and getting into IronPython scripts, if time allows. By the end of this session, you’ll have an idea of what Python is, why you should know it as a developer and specifically as a .NET developer, and how to get setup and write a basic app in both Python and IronPython.

 

devLink

I was a little hesitant about submitting talks to devLink this year after being bit by the demo gods last year.  But after talking with friends, I submitted a few talks – for the previous year’s devLink, I had submitted something around 5 talks and got 1 accepted.  This year, I submitted 5 talks and managed to get 4 accepted. As you’ll notice, I’m not focused on just one topic – welcome to my world, where I need to know all of these things.

This first talk is an updated version of my talk from Kalamazoo X 2009, with more of a business twist, to apply social networking to your careers.

Social Networking Made Simple

Whether it’s meeting like-minded individuals to talk tech with or connecting with people to hopefully find a job lead in this economy, social networking sites such as Twitter, Facebook, and LinkedIn can help boost your career and expand your knowledge. We will look at examples of how people use these tools to get ahead and how you can learn from their experiences and apply their lessons to your life.

The second talk is for those of you who may run your own websites and need to understand analytics.

A Webmaster’s Guide to Web Analytics

As a web developer, it’s nice to see when your site comes together and works well. But have you wondered which pages were getting hit a lot? What about those pages that used to be on your site that are no longer there? Do you have relationships with other websites and want to find out who’s generating traffic to your site? In this session, you will learn the base metrics that come in most web analytics packages and what they mean to you as a web developer. You will also get to see output from some of the popular analytics packages in use and learn more on what might be right for your site.

The talk that is debuting at PyOhio was also accepted for devLink, so if you miss it there, you can see it here too.

A Lap Around IronPython

It’s not just C# and VB.NET that can be used in WinForms, WPF, Silverlight, and ASP.NET. You could also use IronPython! In this session, you will get a quick overview of IronPython and a look into using it with each of the following: WinForms, WPF, Silverlight, and ASP.NET.

Finally, I’ll be showing off how a tool that some people see as an IT tool can actually be used by us developers as well, which could make our IT team’s lives a bit easier with our help.

PowerShell for Developers

PowerShell is a powerful .NET language that bridges the IT and developer realm. Come to this session to see how PowerShell can be used to benefit the developer’s side of things and possibly make IT professionals a little more appreciative of their developers. We’ll start with a few basic scripts to get a feel for the syntax, and from there, look into how we can use PowerShell in our day-to-day tasks – including scripting out website settings in your dev environment for your IT to deploy to live servers or having a quick way to do things like test regular expressions and get assembly information for those DLLs that you are using in your projects. In the end, we’ll look at how to build and use your own custom PowerShell modules in your development projects.

These are the talks confirmed for the summer conferences so far.  I hope to see you at some of them!

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.  

 

Calling All ASP.NET Devs to Battle

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.

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 http://tdpe.info (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.
Conclusion
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.