July 3rd: Contribupendence Day …

Jeff Blankenburg had a Blankenthought today about the developer community, what your peers think of you, and how the social networking sites out there that let us review each other are pretty empty. So, he’s come up with a Blankenholiday called Contribupendence Day.

If you’re on any social networking site out there where you can review your peers (like LinkedIn and Plaxo), you should participate in this holiday. And if you’re not on them, then get on them and join in on this celebration of the developer community.

Go read Jeff’s post on how to take part in Contribupendence Day 2008!

Cleveland Caravan to devLink Bus…

Ride the bus to devLink!
Calling all Cleveland-area software development rockstars! (If you’re in the Cleveland-area, you automatically are a rockstar, since Cleveland rocks!)

Our friends down in Tennessee are hosting devLink on August 22nd and 23rd. Amanda is doing the heavy work of getting us a bus to go down there, riding alongside some of the region’s most talented individuals in the software development community. If your company might be interested in sponsoring the bus, please have them get in touch with her. We’ll probably be leaving August 21st and arriving back in Ohio on August 24th. Stay tuned for confirmation on the date, as the official Ride the devLink Bus page has mixed dates. (I’ve already emailed them on that, but I will update this post when I get a confirmation of dates.)

In the meantime, I need all of you Cleveland-area software development rockstars to do this:

  1. Get your spousal acceptance factors high enough to come out and socialize with an amazing community.
  2. Go to the devLink site and register now before the rates go up on July 4th.
  3. Go to the Ride the devLink Bus page and sign up.
  4. Get in touch with me by emailing me at sarah at codinggeekette dot com and let me know that you want in on carpooling/joining the caravan to one of the bus stops.
  5. If you know of other people who’d be interested in the event, pass the word along!

Let’s show Tennessee why Cleveland rocks – sign up today!

What’s Happening: Upcoming Dev Events

Last night, I was out at the Greater Cleveland PC Users Group C#/VB.NET SIG, talking with Sam Nasr about the events that are coming up. It looks like we have a busy summer ahead. Here’s what we’re looking forward to:

Ann Arbor Give Camp

Ann Arbor Give Camp is a weekend for developers, DBAs, architects, and designers to come together and donate their time and talent to non-profit organizations that have projects that need to be addressed. Throughout the weekend, we work on the projects, and at the end of the weekend, we turn over our code to the non-profits to maintain and to use. For more information, check out their site at: http://www.annarborgivecamp.org. If you are in the Cleveland area and want to get together to caravan or possibly work remotely from here, please drop me an email at sarah at codinggeekette dot com so that I can get you the information.


Calling all Python devs! Whether you’re just dabbling with Python or are a hardcore Python programmer, PyOhio is for you. For more information on their planning and event, check out their site at http://www.pyohio.org.

SQL Saturday

SQL Saturday is supposedly coming to Cleveland in one of the early weekends in August. Allen White, SQL MVP, is leading the way on planning this event. Stay tuned for more details, as I’ll post them as I get them.


If you’re looking to have your mind blown,CodeStock is claiming that they can do it. Some of the things they’ll cover include MVC, ASP.NET, Soft Skillz, XNA, LINQ, TDD, WPF, SQL Server, and WCF. There’s a little something for everyone, so register today and check out CodeStock at: http://www.codestock.org.


Calling all Ruby devs! EdgeCase is putting on a conference that covers all things Ruby at the Microsoft Polaris office in the middle of August. You can find out more by checking out their site at: http://erubycon.com.


The devLink Technical Conference is happening August 22nd and 23rd in Murfreesboro, TN. Take the concept of a weeklong conference and squeeze it into two days, and you’ve got devLink. From speakers to exhibits to networking with fellow developers, devLink has opportunities for all. For more information, check out their website at: http://www.devlink.net/. (Thanks to Jeff Blankenburg for recommending this.)

Agile Summer Camp

What happens when you put a bunch of geeks together to talk tech while being in a low tech area? You get Agile Summer Camp! Spend a weekend camping in Brighton, MI and enjoy talking software development while in the great outdoors. They have a couple cabins set aside, but you can also bring your own tent/RV/camping unit. For more information, check out their website at: http://www.agilesummercamp.com/.

Simple Design and Testing Conference

Geared for agile practitioners, this Open Spaces conference will cover all aspects of design and testing practices, principles, theories, and the like. For more information, check out their website at: http://www.sdtconf.com/. (Thanks to Corey Haines for recommending this!)

As you can see, we have a lot going on this summer. I hope to see some of you at some of these events!

Mobile Design: Twitter as an Inspiration

Before I got my Q, I could only imagine what a mobile user’s experience was like through my emulators. Emulators alone though are not enough to get a feel for the true mobile experience.

As many of you know, I’m on Twitter quite a bit. As much as I use the site for communication, I pay attention to interfaces as well. For example, on the mobile version of the Twitter page, pressing 0 takes you to your home, where all of your friends’ tweets show up. However, let’s say you want to find someone you’re following who hasn’t tweeted in awhile, then you would press 2 for the people you follow and navigate to the person that way. If the person you’re looking for isn’t on your first page of followers, you can press 6 to go to the next page. But if you think you passed them up on the last page, you could press 4 to go back a page.

The menu at the bottom of the mobile site has caught my attention quite a bit. In code that I’m launching tomorrow, I’m hoping to include my last minute idea – implementing a mobile menu inspired by the one on Twitter.

A few of the pages that I maintain are quite unruly in length, at least for a mobile user. So my goal is to include links to make it a little more manageable. Adding a mobile menu would definitely make it a little easier for users to navigate.

I can’t link to my project here, but I can give you an example of what I’m doing.

I have a piece of software that interacts with various brands of hardware. One of the pages is a list of all the pieces of hardware that are compatible with the software. Right now, we have it set something like this:


Notes notes notes…

Page navigation

Compatible Hardware

List that scrolls on forever and makes it unbearable for mobile users who want to see the notes at the bottom of the page


How to check your hardware


Legalese, disclaimers, and final notes.

As a mobile user, if I currently want to read the notes at the bottom of the page, I’d have to scroll through the list of compatible hardware, which would take a minute or two. That list is only going to grow, making the experience even longer for mobile users if I left the page as it is.

So for my mobile users, I’m implementing a menu that would look like this:

So how do you make a menu for mobile users?

It’s simple HTML, using the accesskey attribute of the <a> tag. For my example, it could look like this:

<a href="#top" accesskey="0">[0] Return to the top</a><br />
<a href="#intro" accesskey="1">[1] Introduction</a><br />
<a href="#nav" accesskey="2">[2] Page Navigation</a><br />
<a href="#compat" accesskey="3">[3] Compatible Hardware</a><br />
<a href="#testing" accesskey="4">[4] Testing</a><br />
<a href="#notes" accesskey="5">[5] Notes</a><br />

Thanks to my phone, I now understand the joys and frustrations of being a mobile user. Since I am more aware of the mobile user experience, experiencing it firsthand, I can now consider making our designs more mobile-friendly. We’ll see over the next few months how my work website evolves in catering to our mobile users.

Deep Fried Bytes Episode 3: Twitter War Stories

I’m currently listening to the latest episode of Deep Fried Bytes while thinking about the deep fried Twinkies I had last week. Episode 3 is about Twitter war stories. After hearing others’ stories, I figured I’d share one of my own.

One of Sarah’s Favorite Twitter War Stories

I can’t tell you how I found him for sure, but I somehow came across Michael Eaton on Twitter. At one point, I saw Joel Ross pull a picture out that involved Mike and the band Ratt. (I’ll spare him the link in this post.) It was quite entertaining to watch his reaction every time Joel pulled out that picture.

One night, Mike Eaton was sending me a bunch of tinyurls to the World of Warcraft (WoW) account pages. Every now and then, the WoW guys on Twitter try to get me to resubscribe to WoW. He kept telling me it was fun while using the tinyurls to attempt to lure me back in. But I know better than to trust his tinyurls depending on the context, so I tinyurled the picture and asked if WoW was as fun as that pic.

I pulled the picture on him in person at Central Ohio Day of .NET this year, and I knew that payback would be hell. But at the same time, I just couldn’t resist. And that’s how the VBA rumors about me got started. We hung out quite a bit that day, and I’m definitely glad to have found him.

So thanks to Twitter, I now have someone else that I enjoy hanging out with and teasing. But I wouldn’t have met him if it weren’t for Twitter.

Comments on Deep Fried Bytes in General

I’m not much of a podcast listener. To me, podcasts are like talk radio, and that typically bores me to tears. But Deep Fried Bytes has me hooked, and I’m definitely looking forward to seeing what else they have planned. So if they keep posting blog-worthy podcasts, count on seeing more posts from me on it.

Deep Fried Bytes is almost as heavenly as deep fried Twinkies! So if you haven’t gone there yet, get your helping of Deep Fried Bytes now!

Plurking, pinging, and other social networking stuff…

Within the past week, I’ve been introduced to more social networking sites. Thanks to Stevi Deter for the Bright Kite invite. I’m still tinkering with this location-based social network (as they claim on their site). Today was my first day using it, but I’ll play with it more throughout the week and talk about it in another post.

Today, I want to tell you about Plurk. I had seen many messages go by on Twitter with people talking about it, and I had read about it on Brenda’s blog. So I followed her link and checked it out.

What does Plurk have to offer that Twitter doesn’t have?

While looking at plurk, there were a few things I noticed that it has that Twitter doesn’t.

  • Timelines: Plurk has a visual representation of when people plurk. Unfortunately, the timeline goes right to left (as opposed to the left to right that most of us would expect). But despite that little quirk, it’s nice to see the conversations in a timeline.
  • Threading: Plurk does threading in-line. So if you have a post and people reply to it, it’s all kept to one plurk. For example, tonight I made a post on what I was making for dinner and Stevi responded. You can see the threaded message here. If you look at my Plurk page, you can see what it looks like. Some of my plurk friends get more responses, like this plurk. But you can see the responses to a plurk either on the timeline or look at the plurk pages, as I have linked.
  • Verbs: Twitter is free-form, and Plurk can be free-form. But it also offers verbs to choose from: loves, likes, gives, is, was, wants, wishes, hates, shares, feels, thinks, asks, shares, will, and has. So if you like to use verbs in place, they have verbs that apparently don’t count towards the 140 character limit.
  • Multiple languges: Now normally I wouldn’t care about language support, as I typically stick with English. But I’m impressed to see that there’s support for a variety of languages – including Spanish, Chinese, Brazilian Portuguese, Hungarian, and Italian. There are other languages as well. When you change your plurk language, the verbs change to that language as well. I tested out looking at Spanish and Chinese, and it’s pretty neat to see that they do that.
  • Sharing pictures inline: There are things like TwitPic for sharing pictures on Twitter. But with plurk, it’s as simple as putting the URL in the plurk and the picture will show inline on the timeline. For example, I shared deep fried Twinkies on plurk. If you click the picture, it opens the picture in its own window, including a link to the image.
  • Cliques: You can group your fans/friends into cliques and send plurks to a particular group of people, rather than to the whole world. You can also do private plurks, much like direct messages on Twitter. So if you have a lot of friends but want to group them and send a message to a particular group, plurk will let you do that.

See for yourself!

Now you don’t have to take my word for it. But if you click on the link to my Plurk page or the Plurk link on my links on the right side, you can try it out for yourself.

Posting to multiple social networking sites

And for those of you who are getting tired of having to post statuses in multiple places, you may want to check out ping.fm. This site lets you post to many sites at once – including Twitter, Jaiku, Pownce, Tumblr, MySpace, Facebook, Plurk, BrightKite, and many others. If you want a beta code for it, either email me at sarah at codinggeekette dot com or IM me or call me or get a hold of me however you typically would get a hold of me. (And if you’re trying to find me on social networking sites, I’m typically sadukie. So if you can’t find me on one, drop me an invite or tell me about it and I’ll check it out.)

Sarah’s Steps into Software Development

So some kind of musical instrument. But he wants to know his Twitter peeps’ software development stories. So I figured I’d play – let’s explore Sarah’s steps into software development.

How old were you when you started programming?
I was 13 years old.

How did you get started in programming?
In 8th grade, we had to learn some kind of BASIC (Applesoft?) programming on Apple IIEs. My teacher made a comment to me that I picked it up quicker than a lot of my classmates. That was probably the first time I realized that I had a lot of potential to run with.

Ahh, the days of …

20 GR

What was your first language?
Applesoft BASIC?

What was the first real program you wrote?
Address Keeper, under the guise of Sarahwares Productions. It was an address book program written in VB with Access as the database. People actually downloaded it from NoNags and used it! (And as I tried to look up the old link for it, I came across this link to a post I wrote awhile back.)

What languages have you used since you started programming?

Strictly in the classroom: FORTRAN, Lisp, Smalltalk, C++, Assembly Language (MASM), ML, Ada

Outside of the classroom (professionally or personally): PHP, SQL (MySQL, PostGres, Oracle, MS SQL), Squeak, Perl, Java, Javascript, JScript, HTML, XML, XHTML, QBASIC, Visual Basic, VB.NET, C#, VBScript, VBA (ha!), FoxPro (before VFP)

What was your first professional programming gig?

First programming position: Right out of high school, I landed an internship with Bell & Howell, building a VB data entry app that would interface with their MS SQL Server databases. I learned a lot from there, as they were primarily a Unix house, and I had 0 prior experience at that time. I wish I could find the contractor I worked with back then – he was an awesome guy to learn from, and he was very encouraging, so that always helped. So if any of you know a guy named Rich Woodland with a British accent, tell him to check out my site!

First programming position out of college: My first job out of college didn’t get into programming – that was my foray into technical support and eventually management. My second job out of college, though, got me back into some dev work. My job title was “Systems Support Analyst” or something like that, but I wore a lot of hats in that job, including developer. When I started, there were 2 of us (out of a 4-person team) that did development – mostly maintaining Access programs and upgrading some to VB6/SQL apps. When my lead left, I ended up getting her workload as well, which meant more SQL development, more report writing, and more VB6 apps to take care of.

If you knew then what you know now, would you have started programming?
Definitely! I see this more as a creative outlet for me, and knowing what I know now, there’s a lot more for me to work with on my palette.

If there is one thing you learned along the way that you would tell new developers, what would it be?
If you get the chance to get involved in the community, run with it. Attend Days of .Net, local user group meetings, and other developer events in your community. If you don’t have any going on, get a bunch of other devs together and plan one! (That’s how Cleveland Day of .NET came to be!) Network with the community, as you never know where it will lead or who you will meet.

What’s the most fun you’ve ever had… programming?

Check out this previous post.

Now, I’m just as curious as Mike about my readers and Twitter friends. I read a lot of blogs, but I don’t know their backgrounds either. So let me learn more about you guys! Answer these questions on your blog and link back here or at the original post!

Reach out and touch someone.

The following IRC discussion is real. There are no actors in this scene – just real .NET devs chatting on random geeky stuff, which got me thinking…

21:45 <@mjeaton> ok, so given a typical DoDN or Code Camp...what about
an "intro track". Have one track (4-5 sessions) dedicated entirely
to beginners...and when I say beginners, I mean OOP 101, SQL 101, etc.
Super basic stuff.
21:45 <+nkohari> that's not a bad idea
21:45 <+nkohari> you'd have to market it correctly though
21:46 <+nkohari> people might be embarrassed to attend a 100-level
track course
21:46 <@sadukie> actually....
21:46 <@sadukie> what about doing a day of 100-level topics for college kids?
21:46 <@sadukie> since .NET isn't really covered well in most
college classrooms, it'd be a good way to expose them to what's out there

When I was in college, I was involved with the professional computing groups and I managed to also get involved with the Toledo Area Linux Users Group. It helped that they had their meetings right on campus, which made it easy for students to attend. However, the only way we had heard about that group was through the flyers throughout South Engineering. It was never mentioned in any classes or extracurricular meetings.

Being the vice president and later the president of the student ACM chapter, I would have loved to team up with the local user groups to get our members a view of what it’s like in the real world. We did mention the linux user group meetings when I was in charge, as the linux group was cool enough to let a Microsoft-based girl like me speak on non-Microsoft topics with only a little ribbing. However, looking at it in retrospect, I think the student group and the linux user group could’ve interacted a lot more then.

Talking with these guys tonight really got me thinking back to those days. I think it would’ve been neat to hear presentations from people in the real world on the Microsoft programming side of things and not just from the LUG. However, if there was a user group for the Microsoft devs back then, we never heard about it, and being in academia, we probably wouldn’t have known to even look for these things called “user groups”. Since our university had some kind of special agreement in place, we had access to Microsoft software at a discounted rate. It would have been nice to meet people who use it in their career so that we could have taken advantage of that benefit better. Earlier this year, Microsoft introduced the aptly named project DreamSpark, which gives students access to software at no charge. (Thanks to Mike for pointing this out to me.) For a user group to reach out to the student population and show them the coolness factors and possibilities with these software packages, the students may be able to take advantage of what they have offered to them. By reaching out to these students, you may also find that they show their 80/20 standings early on – if you reach out early, you may have someone in the 20% stay in the 20% right out of school and wow the community with their talents and innovative ideas.

I think we may have been on to something in our chat. An event of some sort… with 100-level and maybe some 200-level talks… geared to the college kids, so that they know about this thing we have in our world called “community” and the cool and fun things that we can do as developers/architects/DBAs/whatever it is that we do.

I think that this could be pulled off, especially if the community teams up with a student organization – like ACM or IEEE. The student organization should be able to use their ties with the college/university to establish a location for such an event, and we as the community should be able to bring our knowledge and experience to influence them and inspire them. Maybe a Day of .NET College Edition? I’m at a lack for a name, but I think it’s something that we as a community should consider.

We should reach out (to the younger community) and touch (influence/inspire) someone!

(Side note: The title was a slogan of Ohio Bell back when I was a kid many moons ago. It just seemed too appropriate in this case. )

Deep Fried Bytes : Interview War Stories

So there’s a new podcast in town called Deep Fried Bytes, and it’s put out by Keith Elder and Chris Woodruff. As they descrive it, it’s an audio talk show with a Southern flavor. I heard about it from Jeff Blankenburg’s blog, and although I’m not typically one to listen to podcasts, I figured I’d check it out.

Their intro podcast definitely had me wanting more, and I checked out Episode 2: Interview War Stories. There were a couple of things that came up that I really have to comment on, so if you haven’t heard the podcast, stop reading and go listen to it. Otherwise, continue on.

Overall, I really enjoyed the podcast. It was interesting to hear other people’s perspectives on interviewing and interviews. From interviewing people for who they are (versus SAT questions) to making people cry in interviews to some randomness on chickens, the podcast goes across the board.

Throughout my past experiences, I’ve gone through all sorts of interviews. The most intensive interview involved a test of SAT questions (as Brian Prince called them in the podcast), a test of scenarios to put my knowledge in practice, and for those of us in the top 3, we ended up having to meet with the committee that was filling the position. There were probably 6 people on the committee, including the head of the computing services group. I wasn’t chosen, but to make it in the top 3 for the university position (and to beat out a guy who had the position but left and wanted to come back) was definitely an experience worth going through. I knew a couple of people on the committee, including one who was my boss at the time. He actually had encouraged me to apply, since I was graduating that semester and it would’ve been a way to keep me there. I had also worked with another guy on the committee (who would’ve been the reporting manager for the position they were filling), doing some white hat work, so he was well aware of my work ethic and my technical abilities.

One of the more fun interviews I had was right out of college. The final question stuck out in my mind. “If you were a Muppet, which would you be?” For a technical position, it seemed to be a question totally out of the park, and it took me by surprise. But I answered it, and then shortly after, I joined the team. About a month in, I asked my boss why she asked that question, and she said that it’s her question on judging a person’s character. She had Muppet personalities associated with everyone on the team, and she wanted to make sure that my Muppet personality would fit well with their blend. Apparently they needed a “Statler and Waldorf”, otherwise they wouldn’t have brought me on.

Now in the many interviews I’ve been through, I’ve been lucky enough to not have an interviewer make me cry. They talked about that in the podcast, and it really irritated me that the one guy said he wanted to be “that guy” – the one to make an interviewee cry. Seriously, why would you want to have that reputation? That just seems purely asinine to me, but then again, I’m not the kind of person who’d want to make an interviewee cry.

So yeah, as much as I’m not one for the “all talk” nature of podcasts, I think I might stick with this one, as my discussions with friends have definitely got me wondering more about these guys.

On Speaker Feedback and Presenting Again

While reading up on my Google Alerts, I came across this Cleveland Day of .NET review at Taller Code. It was good to see another person’s perspective of the day, and it’s always interesting to read what others have to say about your presentation.

As a speaker, I find feedback to be quite important. Whether it’s positive or negative, it always helps to get an outsider’s point of view. What did you like about the presentation? What didn’t you like? What did you wish was covered that wasn’t? Answer questions like those when giving feedback, and you’d be doing the speaker a favor. To get honest feedback like that really helps a speaker improve not only their performance but also their presentation.

Now that I’m not actively planning any events for a bit, I can work on refining my presentation and building new presentations. I had talked to a couple of my friends last week, and talking with them made me realize that I should stick with it. I’m putting the IronPython presentation on hold, though, as I am getting a presentation together to submit for an upcoming event later this summer. Although my audience may be a little more serious, I’ll still be keeping it real and trying to keep it entertaining while showing some cool new tech stuff.

So stay tuned to see what’s in store!