Sunday, October 31, 2010

Oct 31

Happy anniversary

I love you very much

Thursday, October 14, 2010

Saturday, October 09, 2010

I don’t mind being wrong.

A few months ago, I was gifted with a couple of free one-month subscription cards to TekPub, an online learning site. For a while, I basically ignored them because I was busy with moving, studying, playing with code, etc. I’ll even admit that the idea seemed a little silly to me – sitting watching someone else code on a recorded video.

Since they expire in a couple of months, I finally got around to trying one of them.

I’ll be the first to admit that I was wrong for ignoring them until now. It’s a good resource. In fact, at times it feels a little bit like being back in college and being walked though some of the things that I’ve been trying to get a handle on.

The videos are actually, from what I’ve seen so far, rather high quality from an educational standpoint.

I started out with the Linq videos since that was one of the many things that I’ve been trying to pick up lately. To be honest, it felt like I was writing backward, drug addled SQL statements in the beginning (using the SQL-like syntax). Add to that the fact that the method syntax made no sense to me, and it ended up being like pulling teeth.

Seeing someone use the method syntax instead of trying to muddle through it myself made it a lot more understandable. I’m not a master at it now by any stretch, but I can at least work my way through it, which is a major improvement. Mastery, after all, will come with use.

The “This is what it looks like. This is what it means. This is what it does. This is how it works, and this is what happens if we change it” approach cleared up a lot of things for me on the subject. Also made me miss a couple of my favorite profs a bit =]

That alone made it worth taking the time to register and check it out.

Now I find that I prefer the method syntax for the most part because it’s much less repetitive and, once you get used to it, fairly easy to read. It also has the advantage of being “new” to my mind, so my brain doesn’t try to look at it like SQL code and make me second guess myself.

I don’t think I’ll be picking up the $200 annual subscription just yet, but then I still have another month after this one, so that may change. I can, however, see myself picking up additional months as they have more topics that interest me.

I don’t mind being wrong as long as I can recover and learn from it.

Current mood – tired
Current music – Shades Apart – Valentine

Saturday, September 11, 2010

Equal Rights

Tonight, something that I believe strongly in came out in conversation. It started with Jim Holmes tweeting regarding an article written about another developer that I follow and have chatted with in the past:

“Disagree with Women-Only anything in IT. Why put up more walls? #fail RT @RWW Women-Only Programming Classes

I happen to agree strongly with this, and said so. One of the devs that follows me, however, was of a different opinion and tried to justify the opinion, only to be shot down not only by Jim, but by me and even by my girlfriend, Karyl.

He went through a number of arguments, trying very hard to find something, anything, that would validate his claim and basically ignored anything that was used to counter him. Some of them, and my more lengthy responses (which, naturally, would not fit on twitter) are here.

“In this instance, I can understand it. The men are the main deterrent to potential female programmers. Plus, then they can focus on the material rather than deflecting awkward advances the whole time.”

I disagree. The deterrent to potential female programmers are the potential female programmers themselves. Women are not the only people that get hit on in college or while trying to learn or work. The number of classes that I was in where female classmates were trying to get me to go out on dates with them was rather high and I still managed to do all of my work. Besides which, most of the women in my CS classes (with a few exceptions) were under the impression that anyone who spoke to them was trying to hit on them and that really wasn’t the case.

From my personal experience, the women in the other engineering disciplines tended to be more driven than the ones in CS and were a lot more fun. There were more girls that dropped out of the CS program because it wasn’t “fun” or it was “hard” than because people were hitting on them (In fact, I can’t think of any of the girls I knew in those classes that stopped doing it for that reason).

“So, you're saying you don't think women should be allowed to have male-free anything?”

Are men allowed to have men only anything? No? Then there’s your answer. I believe in Equal rights. We are not getting into this “some people are more equal than others” mindset. That is a crutch and causes people to strive less if you constantly tell them “Oh, that’s okay. You’re a [x], we’ll lower the bar for you.”

Screw that. I want a professional in *any* profession to be held to the same standards as any other professional in that profession regardless of gender, skin color, or any of the rest of it.

To which I got the response of asking me how many men I’ve known who have been raped.

Bad question. And this made me very glad he wasn’t in the same room with me. I have good impulse control, but rape is not a woman only issue and it is not something I take lightly (nor is abuse in general).

For the record, I’ve known two that I can think of. Men who are raped undergo the added stigma of nobody believing them because, of course, rape can’t happen to men. Ask Karyl about her friend who was raped and was accused of being the one who did it instead. It has literally ruined his life.

Add to this the fact that many domestic abuse shelters will not accept men (who can be, and more often than you would believe, are victims of domestic abuse) and you start to see why this is a hot button topic for me.

Rape is not funny. Rape is not something that should be used as an argument against equal rights. Rape is also not just something that happens to women. I’ve known women who have been molested and raped as well and I don’t find it funny from either end. In fact, the woman that I loved more than anything else in this world was raped so I think I have some insight into how absolutely fucking horrible it can be (no pun intended and strong language more than justified).

“I've never been in a situation where I felt uncomfortable because the group was dominated by women.”

I have. It was not really fun. I’ll tell you something else – that group of women was more openly sexist and offensive than I’ve ever seen a group of guys be around a woman.

I’m not excusing guys who try to coerce women into doing things against their will. That sort of thing is, in my opinion, inexcusable, but it is not limited to guys. It’s not excusable from anyone, male or female (and, trust me, it happens with both).

Jim, the other voice of sanity, stepped in stating that he didn’t buy the attitude that all male programmers did was make passes at female programmers (and I agree).

This prompted a rather predictable response by our new “friend”:

“I'm not saying we do. All I'm saying is that if that FEAR is keeping one woman out, and the fem-only class lets her in, its a win”

No. What is keeping that person out is their own fear, not reality. If you are uncomfortable learning around men, how will you feel when you get out into the real world and work on development teams which, nine times out of ten, contain men as well as potentially other women?

“I theorize that by becoming exceptional in their trade, the unease when dealing with men is lessened due to being capable devs”

You become exceptional through practice and work. That involves working with and around other people, including men. You do the work and learn from it. You also learn from the people around you. That’s how you get better at anything (not just software development).

“By that logic, a group of women is not capable of creating great programs?”

No, by that logic, people who are afraid and never strive are not capable of creating great things. Letting yourself be afraid of your very surroundings and letting that fear control you means that you will never do great things and, in fact, may not do anything at all.

Greatness is accomplished by carrying on in spite of your fears (or sometimes even because of them). Giving up and going home because they let the boogey men in their head control them never really got anyone anything.

Am I afraid sometimes? You better believe it. However, I do my best to work through it. Sometimes it works. Sometimes it doesn’t. But I’ll tell you that it’s better than letting what *might* happen rule my life.

You’ve got to try for yourself. Nobody else is going to do it for you, and even if they did, it wouldn’t mean nearly as much to you as it would if it was your own striving that got you there. Others can, and hopefully will, help you along your way, but you have to keep striving and push yourself to find your true boundaries. Then you have to work to break those boundaries.

I went on to explain why I have some of the views that I do – the fact that I’ve known women who were great and men who sucked (and the other way around), that I’ve taught and trained with martial artists of both sexes with various skills and skill levels, that I’ve known victims of domestic violence (both male and female) and that I don’t subscribe to the mindset of “men are evil and scary and need to go away” because that cheapens everyone’s accomplishments.

“My experience is that I'm an arrogant asshole, and I understand why a woman (or man) wouldn't want to be in a class with me.”

Finally something we can agree on. However, that’s a problem with you and not a problem with all men. All men aren’t like you (and for that I’m thankful).

In all honesty, folks, I don’t care if you’re a man or a woman. I don’t even care if you’re green and furry. I believe in equal rights, but that means equal responsibilities as well. If you want to bridge the [gender, racial, whatever] gap, stop using that thing as a crutch and strive. *That’s* the way to give people positive role models. Role models are created out of overcoming adversity.

You can’t create positive role models out of people that you let have an easier time than everyone else. Greatness is taken and achieved, not given and people need to realize that. It requires striving, not going easy on someone because they’re somehow different (whether real or only perceived). That only perpetuates the “I can’t do it because…” mentality.

"Freedom is something that you need to actively acquire. It’s not something that’s given with no strings attached. To be free means to take responsibility, and to prepare yourself for what’s to come."
- Charles Beams, "Eureka Seven"
The same is true of equality. In fact, equality and freedom are often very close to one another.

Don't beg for things. Do it yourself or else you won't get anything.

Current mood: grumpy
Current music: Eve 6 – Inside Out

Friday, July 23, 2010

Customer Service FAILURE

Please pardon me. I apologize, in advance, for any and all profanities which appear in this entry. Believe me, they are well and truly deserved.

A while back, the blower on the heating and air conditioning for my car went out. As I like to stay warm in the winter and cool in the summer (not to mention being able to melt the frost and ice off of my windshield), I consider getting it fixed to be of at least moderate importance. I had already tried a couple of things, but to no avail, so I was quite happy when Karyl’s father was able to diagnose the problem.

Her father is a pretty nice guy and an industrial mechanic. Thankfully, he’s also pretty good with cars, which are not exactly my strong suit. I can do a fair bit preventative maintenance and fix some problems (largely through the experience of having done them before with my own father), but a mechanic I’m not.

He even suggested a semi-local auto salvage yard where I could get the part pretty cheaply. He’d used them multiple times in the past and was generally pretty happy with the service, but hadn’t been there in a while.

Oh what a difference a little time makes.

Marshall’s Auto Parts, located in Circleville is indeed cheap. The materials cost of my part was a whopping $10. That, however, is where the happy portion of this story comes to a complete halt (at least until, I hope, we replace the heating and AC control unit so that it works properly).

The service was TERRIBLE.

They have a website where you can make sure they have the part in stock (which is kind of nice). Her father suggested I do what he had done in the past – go down, order the part, and then come back after it had been pulled. He even said we might be able to call ahead and order it before we left for there since they take credit cards.

The children at this business, however, are special and don’t like to play that way now.

I called and tried to order the part only to be informed that you have to order in person because it is “first come, first serve”. Dude, I’m offering to pay you in advance, so I *would* be first come. Take my money and give me my part.

No. And we’ve stopped pulling parts for the day. Try back next week. (It was over 2 hours until they closed for the day).

So I headed over early this afternoon, thinking that it wouldn’t be too busy in the middle of the day on a weekday. Wrong again.

Okay, most places like this are still pretty quick, so I wasn’t horribly concerned. (This is where you can openly call me an idiot. I know I did afterward.)

I finally get to order my part and get told there are 8 people in front of me, so I asked if it was alright if I left to get a couple of other things done while the part was in queue to be pulled.

No. You can’t leave. If you’re gone when we finally get to your part, and we ask if you’re there, we’ll throw your order in the trash (and he was being serious).

So, again, I offered to pay in advance, only to be refused, being told that the part had to be paid for only when it was handed to you. (Which is bullshit, but moving on)

Three hours later, they get my part. Let me repeat that. Three hours later. Three hours. *Three* HOURS later, I FINALLY get my TEN DOLLAR part for which I was not allowed to leave lest my order be tossed in the trash.

By this point I was LONG past the angry stage and, frankly (and, again, please pardon my language) I WAS PISSED OFF. Justifiably so, I think (as does Karyl's father). I was seriously ready to drag the smarmy little douche over the counter and then toss him back over, minus a few pieces (and it takes a LOT to get me to that point).

The part that takes the cake though? Toward the end of the time I had to spend there waiting for no good reason, I hear them getting phone calls about SHIPPING PARTS TO RESIDENTIAL CUSTOMERS IN OTHER PARTS OF THE COUNTRY.

Now, tell me WHY will they do THAT, yet they won’t let me pay IN ADVANCE and then just come and pick up the part? For crying out loud, I could have (and gladly WOULD have) ordered it and had it SHIPPED if for no other reason because it would have been cheaper than *my* cost of part + gas (to mention nothing of the amount of my time that you wasted and the meteoric rise in my blood pressure).

That was the point, dear readers, at which James nearly snapped and started killing people.

In closing, let me say this – if you ever need a part, do NOT consider Marshall’s Auto Parts unless you have them SHIP it. In fact, let me just shorten that to do NOT consider Marshall's Auto Parts.

And to the power tripping douchebags at Marshall’s, you have cost me a day of my life that I will never get back and went out of your way to make that day well and truly suck for no good reason (as you did to each and every one of your other customers that I saw that day). In return, I will do everything that I reasonably can to cost you business. You’ve earned at LEAST that much.

Current mood: Angry doesn’t even cover it
Current music: Soundgarden – Loud Love

Sunday, June 13, 2010

I've Moved. Can I Have a Nap Now?

I apologize for the lack of communication both on the blog and twitter the last couple of weeks. I swear that I’m not dead. I’ve just been insanely busy. A lot of things have been happening.

A couple of weeks ago, I moved to Columbus. It reminded me that I hate moving and that I have muscles I keep forgetting about.

It also reminded me how depressing it is to see the material representation of your life transformed into a small mountain of boxes with hastily scribbled notes on them like “Glasses – FRAGILE” and “Books – Computer”. It seems somehow slightly dehumanizing to see things that are important to you being just another box of stuff that you have to find space for in a cargo van.

The move itself went pretty smoothly. My cat even took it pretty well, which was a big concern for me as well as for Karyl. In fact, if you want to have a look at the cat aspects of the move, she’s been chronicling the ordeal over at her blog (link is for the first post in the series).

Now we’re just hoping that her cat calms down since the stress is causing her some health issues (or, rather, aggravating a pre-existing one). We were convinced that my cat would be the problem as far as adjustment goes, but it seems that we were wrong.

The last couple of weeks have been taken up pretty much from the time I get up in the morning until I crash at night with far too many things at once (household, professional, personal, and even just trying to figure out where the heck all of my stuff is). On the upside, all of the running around has gotten me a little more familiar with some of my more frequently visited parts of Columbus, so my GPS is spending more time in my bag than it is on the windshield.

The downside of all of the hectic running around is that I’m not really sure what day it is anymore. I actually have to look at my phone and calendar to figure out when it is and what the heck I have coming down the pipe at me right now. Thankfully, that should improve before too long as things start to get a bit saner and we get into some sort of routine that doesn’t make either of us want to run around screaming. =]

To give you an idea of how busy I’ve been, I got to take off about 3 hours one evening a week ago to unwind and play Diablo 2. It’s seriously been that hectic.

The sad thing is that, when I get the new position (which is part of the hectic day to day stuff – interviewing is easier now that I’m closer, but I feel brain fried afterward), I’m seriously considering asking to start a week later just so I can breathe and possibly catch up on sleep lol

I hope that all of you are well and that I haven’t missed anything big.

Current mood: Tired
Current music: The Pillows - Little Busters

Monday, May 17, 2010

Mentorship and Community

If you ask some of the people who know me well, you’ll find out that I’m pretty big on community in both professional life and life in general. Personally, I view it as a way to help others, be helped, and be exposed to things that you might not otherwise consider.

Since I graduated from college, it has seemed like, professionally, I’ve been on my own. I’ve had friends, but it felt like I had no sense of professional community.

From my viewpoint, it’s like I’ve been trapped in some sort of insular bubble and the only direction and inspiration for “what do I learn next” has been stumbled upon by either bare necessity of a project I’ve been working on or through running across a mention of something in an article online. This is, to be honest, a Sisyphean task and, after a while, it starts to become discouraging.

I’ve missed the sense of community, knowledge sharing, and mentorship that I had while I was in the last couple of years of high school and throughout my time in college. Due to the exposure to other people and their ideas, my own ideas seemed to flow much more smoothly and I worried less about making mistakes because there was always someone that I could bounce ideas off of or go to for advice.

Professional development seems to be so much more difficult when you feel like you’re doing everything on your own. Add to that the fact that we are inherently social creatures, and being on your own can be nerve wracking.

Last night, I had a realization: I seem to have found that sense of community and mentorship again. And it’s on…Twitter?

Okay, to be fair, it’s in person as well since I get to see a lot of the people I talk to at least once a month, but the bulk of conversations occur over digital medium (twitter, email, and Live messenger primarily).

Roughly a year and a half ago, I found CONDG online when I went looking to see if there were any .NET developer’s groups nearby (I know. Novel idea.). Their most recently listed meeting at the time had a twitter link for the presenter, so having just gotten twitter a few weeks before, I clicked on the link and checked out their stream.

It just sort of went from there.

Now I’ve gone from basically knowing nobody in the field in this geographic area (since most of my college friends in CS were from other parts of the state/country/world) to knowing a number of them and feeling much more like a person again than I did a year or so ago.

It’s nice to be part of a group of people who help each other out, offer advice, chat, joke around and hang out together on occasion, and, when needed, give a kick in the ass to get you going again.

I’ve missed the camaraderie and exposure to new things and viewpoints. Maybe even more than I realized. It’s also nice to know that I’m not the only one that experiences self doubt about their abilities and worries about failure (Even if Phil Japikse does use it as an opportunity to make a good-natured joke at my expense heh).

I try to give back as well, but I sometimes worry that I take more than I give in return. I honestly hope that isn’t the case, because they’ve all been great, and I don’t want to put any of them out. I also don’t want to feel like I’m being a bother

What brought on this realization? The feedback from my last post, mostly sparked by the first commenter, who called me arrogant. I got tweets and emails from a number of people that I follow and have met with advice and constructive criticism on both the post, aspects of my professional development, and my resume as well as assuring me that the post was not, in fact, arrogant but generally fairly sensible.

I appreciate the support, advice and critiques. Some changes have already been made to the resume (paring down some of the older experience, breaking out skills by skill level, etc) and others are planned.

As a (rather large) added bonus, I’ve started to feel a lot more social over the last year. I view this as a great thing because I basically used to be a social butterfly (as difficult as that may be for some people to believe).

Thanks again, guys. You’ve been great and I hope that I am able to return the favor in at least some small way.

Current mood: humbled
Current music: Bush – Swallowed

Friday, May 14, 2010

What I Can Offer and What I’m Looking For

As I’ve said, I’m currently in the market for a jr-mid level .NET developer position in the Columbus, Ohio area. I really dislike being a one person shop. It always feels like I spend more time hunting for new projects than I spend doing them, and that’s just not my idea of an ideal situation.

That doesn’t really say much, though, so I thought I’d put down my wants in writing in order to not only get them out for others to see, but to get them straight in my own head.

First, however, I’ll briefly list some of the things I have to offer (this is by no means an exhaustive list).

What I bring to the table
  • I have several years of experience in writing code.
  • I excel at solving problems and enjoy doing so.
  • I can explain technical issues to non-technical people.
  • I have a professional, yet relaxed attitude.
  • I write well.
  • I am adept at gathering requirements.
  • I tend to be a calming influence on the people around me.
  • I learn new skills quickly.
  • I love writing software that makes a difference to the people who use it.

What I want in an employer (the bullet point edition)
  • A place where I can learn and grow.
  • A sane work/life balance.
  • A sane salary.
  • The ability to, preferably, work around good people who really know their stuff.
  • A relatively relaxed environment is a plus

Now, bullet points are great (or horrible, depending on who you ask), but we can get into a little more detail on my wants/needs.

A place where I can learn and grow –
I honestly want a place where I can expand and hone my skills as well as get back to using some skills that I feel have atrophied since I’ve been on my own, such as leadership and presentation skills.

One of the downsides to being independent is that you have a harder time setting aside time for professional development because you always feel like your time should be spent either doing work or finding more work. You also frequently have a really difficult time getting new perspectives on problem domains.

Sane work/life balance –
I don’t expect every day to be 9 to 5 because, let’s face it, that basically never happens. There are always the occasional crunch times at the end of projects or at the end of a cycle in the project, and that’s fine. The problem is when you are expected to work extended hours on a regular basis as a matter of course.

What I do want is for the occasional crunch times to be just that – occasional. I understand that I’ll find myself staying late or getting in early if there’s an emergency, to prep for a big presentation, a sprint at the end of a project, etc and that’s fine. What I don’t want is to be expected to work for 70+ hours a week.

I love writing software (and solving problems in general). I consider it fun, but there are other things in life that need to be taken care of as well.

Sane salary –
Basically, I want a salary I can live on decently. What I’d like to be paid depends on the position. I realize that lower level positions pay less than higher level positions, and sometimes you have to take a step backward in order to move forward.

If you’re concerned that I’m pricing myself out of a position, talk to me. We may be able to come to an agreement. I honestly want to make the jump, and some things are negotiable in order to make that happen. Besides, there’s been a fair amount of variation in the salary ranges of a lot of the companies I’ve talked to (though they tend to cluster in a reasonably narrow range, so I consider that a decent indication of what I can probably expect).

The ability to work around people who really know their stuff –
This sort of ties in with and extends learning and growing, but I thought it warranted its own point.

I find inspiration from working around other people. It may sound cheesy, but it’s true. Sometimes, just being around other people is enough to make me find novel solutions to problems. Additionally, I tend to learn a lot just from observing and listening to the people and things around me and am motivated by being around people that are better at things than I currently am.

This isn’t limited to just being around experts, though. I’m a firm believer that you can learn something from everyone, so being around other people in my field (and other fields) is a plus regardless of relative skill levels.

Relatively relaxed environment –
By relaxed, I don’t mean Hawaiian shirts and Nerf gun fights. Clothing wise, you’ll usually see me in khakis and a polo or button up shirt.

Relaxed, in this case, is more along the lines of non-hostile. I’ve seen a few companies where the people in charge seem to feel the need to berate and dehumanize the people that report to them (directly or indirectly).

In my personal opinion, that’s not a way to keep good people or to keep them motivated. The world may not be sunshine and roses every day, but you shouldn’t spend every day wondering when the (hopefully) figurative chair is going to fly at your head.

We tend to work better when we aren’t stressed unnecessarily, and since I want to work to the best of my abilities, it seems logical that I don’t want to be in a hostile environment.

Naturally, a discussion of this sort could go on for a considerable amount of time, but I think that covers most of the major points of what I have and what I want. If I sound like a person that would fit in with your organization or you know an organization that you think I would be a good fit for, please feel free to contact me.

Current mood: decent
Current music: Tom Petty - I Won't Back Down

Saturday, May 08, 2010

Stir Trek 2 – Brief Review, Musings, and Mayhem
(I apologize if this is a little long, but it covers a decent amount of ground)

Over the last couple of weeks, I’ve been averaging about 5 hours or so of sleep a night due to studying, interviews, preparing for interviews and trying to get actual work done. It seems like I’m never making any headway, because the list of things I need to take care of is growing so quickly lately (but, honestly, that’s largely a positive thing considering the items getting stored in my queue).

That said, I was really looking forward to attending Stir Trek, a local developer conference. Admittedly, I was also sort of dreading taking the time off because I knew I’d feel guilty for losing the day and a half from all of the tasks I currently have. However, I knew I both needed the break and would get more out of it than the time I lost by going.

I’m glad I did.

The night before, there was a geek dinner at the food court in Polaris Fashion Place with a pretty large turnout. It was a fun and pretty relaxed event, and a nice way to ease into my “weekend”.

The conference itself was great, and full of things that I now want to look into. I stuck mainly to the web dev and RIA tracks, but wandered over into the UX talk as well.

For those of you who are actually curious as to which talks I went to, here’s the rundown:

The presentation materials should be up on the presenters’ sites in the near future, so keep an eye out if any of the synopses sound interesting.

The last session was really a toss up between the ASP.NET talk and Bill Sempf’sEconomics of Cloud Computing”. I was kind of upset that I had to chose, but that happens sometimes.

Thankfully, I had a minute to stop in before Bill’s talk and say hello in person since we’ve been speaking over twitter and MSN so much lately. I dropped off a box of tea that I’d brought for him (yes, I got to tea bag the mighty Sempf heh) and I got a copy of his new book, C# All In One to read and review.

This means that my work queue just got a little longer, but I’m glad to do it for a number of reasons - among them because it’s always nice to have quality reference materials and the fact that Bill’s a good guy. He’s also one of the many people who have been helping me on my current job search, so the least I can do is lend a hand in return.

It also means that I get to play part of my former role as an editor again, which is kind of neat.

One of the other great things about the conference was that I got to meet a lot of people in person for the first time that I’d been talking to on twitter as well as meeting a large number of new people and getting to hang out with people that I’ve known in the community for varying amounts of time.

To top it off, I finally got to repay my debt to Phil Japikse by poking him with a stick (I threatened to do it months ago, but it’s the first time since then that I’ve seen him). I also got to heckle him good naturedly a little as well as help solve a minor technical problem. =]

I love Phil. He’s a decent guy and one of the many people I’ve met since I started going to CONDG who amaze me by how much they give back in the form of time, experience, inspiration and encouragement.

To be honest, I love pretty much all of the Columbus dev community that I’ve met so far. They’ve made me feel welcome since the first meeting I went to.

For the movie this year, we had Iron Man 2. All that needs to be said is that it was amazing and under “Badass” in the dictionary, it says “See: Tony Stark. See Also: Natasha Romanoff.”

Karyl and I were going to drop in on the geek dinner after the movie, but it appeared to be pretty crowded and we were both feeling a little overloaded (the conference had 600 people registered and it’s been a while since I’ve been in a crowd of that size for that long. Add on the stress of the last few weeks, and I basically just wanted to wind down gracefully before driving out of there).

I apologize to anyone who was hoping to hang out at the dinner. I had planned to attend; I just sort of reached my stimulus threshold. Hopefully we’ll get the chance to hang out another time.

Current mood: tired, but good
Current music: Aerosmith – Deuces Are Wild

Sunday, May 02, 2010

I Have Email Again!

If you emailed me in the last two weeks and haven’t gotten a response, I apologize profusely, because I didn’t get it. I had to switch over to my gmail account because my domain email was down.

If you tried to reach me and haven’t gotten a response, please, email me again and I will do my level best to respond with all due haste.

My (now former) hosting company was great when I first signed on with them a number of years ago. For the last 6 months or so, however, service has been going downhill.

This culminated in my email going totally down about two weeks ago after sporadic periods of uptime for about a week before that as well as their servers getting hacked (again), causing my site to be defaced.

To make matters worse, they were basically ignoring any and all trouble reports, so I was stuck without my main email, which I had been using up to that point during my job search.

Not exactly the best time for your email to take a dive.

About a week ago, I changed hosting providers, and taking the advice of Jeff Blankenberg, went with Crystal Tech.

Over that week, I’ve made more phone calls and written more emails to the two companies in question than I care to think about. The transfer process was, to say the least, not exactly smooth, but it’s finally over (I hope). On the upside, I can say that Crystal Tech’s phone support is both polite and helpful, which is always nice.

Hopefully their service is just as good as their support and their data center doesn’t explode.

Current mood: tired
Current music: Jimmy Eat World – Bleed American

Tuesday, April 20, 2010

Courtesy and Professionalism – Cheap but Priceless

Yesterday, David Giard (DavidGiard), tweeted “Personally, I don't [think] there's enough courtesy in the world. 'Please' and 'Thank you' take seconds and cost nothing. If sincere, they only help

This is a sentiment that I agree with strongly. A little courtesy and professionalism can make all of the difference between someone who really looks forward to interacting with you and someone who locks the doors, turns off the lights, and tries to be very quiet when they hear that you’re in town.

Courtesy can turn a bad situation into a tolerable or even decent one.

For the business people out there, this has an impact on your bottom line even though you may not realize it. The fact is that your customers, employees, and prospective employees talk to people, and the impression you make on them really matters.

It doesn’t matter if the person you’ve interviewed is the worst possible candidate in the world. He or she knows someone who is a *great* fit for your company, and if you treat them poorly, their friends *will* hear about it and will be less likely to want to speak with you.

Additionally, peoples’ skills change regularly (especially in this industry), and in six months, the person you treated badly may be the *perfect* candidate for your company and they’ll never want to deal with you again.

If you think about this sort of thing, it should make you want to be polite to everyone you deal with.

It’s no secret that, in the last month or so, I’ve really ramped up my search for a full time development position. In fact, among other places, it’s all over my twitter feed.

Thankfully, I have a bunch of great people in the Columbus area offering advice and assistance, so hopefully I’ll be settled into a new position relatively soon. As a result, my experiences this time around have been rather pleasant.

This, however, has not always been the case. In fact, there have been a number of interviews that have been anything but.

With some, the people were decent, but the environment was not exactly conducive to getting things done – the interview that was conducted during a building expansion project comes to mind. It came with its own orchestra composed of power tools – saws, drills and even an entire jackhammer section.

True story. There was actually a wave of applause from the developers the length of the building every time the guys using jackhammers went on break. It was crazy.

With others, the environment was decent, but the people were, honestly, less than friendly. They treated interviews as though they were interrogating a prisoner. It was obvious that they had no respect for the candidates they called in (or at least for me. I can’t speak for anyone else) and had the main goal of either impressing the “candidate” with their vast knowledge of technology or trying to get the candidate to hide under the desk.

I actually took the opportunity at one of the abusive interviews to see how far I could take things into the realm of the absurd (hey, the interview was in Cleveland and I had driven three hours to get there. I wanted *something* out of it, even if it was just a little surrealist entertainment).

The sad thing is that I honestly don’t think I found the bottom of that particular rabbit hole.

In the first case, the experience was made better by the fact that the people I dealt with were great for the most part and I’ve spoken well of the company in question to other people in the area who have expressed interest in it.

The second case is a whole other matter. I forget the name of the company now, but at the time, everyone I knew in the field got a pretty full report on them just because it was *that* bad (they had even lied to me about the position I was interviewing for).

Which company would you rather work for? Which company would you rather be?

Current mood: decent
Current music: Michelle Branch – Paper Pieces

Saturday, February 06, 2010

It’s not distracting. I’m just a freak.

January’s CONDG meeting featured David Giard (DavidGiard) speaking about Microsoft’s Managed Extensibility Framework (MEF).

The technology looks interesting and I may have to look into it when I have some free time, but it’s not the only thing during the presentation that caught my eye. As stupid as it may sound, one of the things that got my attention was that, in his code samples, many of his variables were declared as var instead of using explicit type declaration.

I’d looked at non explicit type declaration before and had decided that there was no real benefit to it and that its main impact was to decrease readability. However, seeing it used rather liberally in David’s code, I thought I might want to take another look.

The MSDN documentation still left me with my original thought on the subject, so, since I follow people who almost certainly know more on the subject than I do, I turned to twitter.

The conclusion that was arrived at regarding the matter was that they were useful when using LINQ, but tended to hamper readability and introduced some ambiguity into the code that the complier might not always sort out the way you want it to otherwise.

The really neat part of the twitter exchange was that David himself ended up chiming in as well because he still wasn’t sold on it either and was wondering much the same thing that I was, having run into it in a code review that day (a few days after his presentation).

So, on the upside, at least I wasn’t the only one who thinks about/isn’t sure about this sort of thing. I consider this a positive thing because I always feel like such a noob no matter how much I learn (I’ll get to that a little later).

David did, however, have another concern as well – that his code examples were distracting attention from what he was trying to introduce people to. In all honesty, since I said I started thinking about it due to his presentation, it was a legitimate concern.

I had to assure him that it didn’t distract from his presentation, but, rather that the problem was with me (I tend to jokingly end that statement with “because I’m a freak”).

The fact is that I tend to notice a *lot* of things and retain, at least for a while, more than a little of it. This is especially true when I’m someplace where I’m already trying to pay attention.

To be honest, I used to retain almost *everything* that I ran across before I started dealing with certain stressors that tend to divert my attention more often than I’d like (this will, hopefully, change here before too long as I don’t like the way said stressors are affecting me). Granted, I tend to have problems when I’m overloaded, and one of the first things to go is my ability to remember names of people I’ve just met (faces I generally have nailed, but names are another matter, so if I forget your name, it’s not an insult).

Now, to return briefly to the fact that I always feel like a noob.

The CONDG meetings now have a short talk after the main presentation, and January’s was presented by Leon Gersing (fallenrogue), the subject of which was change.

The talk itself was very good and, with the things going on at the moment seemed rather like a cosmic clue-by-four, but the pertinent part of the talk for this entry is the fact that some of us feel like we never know enough and we’re never ready.

I hung my head and raised my hand in the back of the room, getting called out good-naturedly by Leon for it. heh

Sometimes I have to slap myself and tell myself that I’ll never know everything (I hate not knowing something - as people who know me well can attest) and that I have to just start on the project and work out the rest of the problems as they come up.

Part of the problem, I think, is that I know far too many people that know *way* more than I do, so I always feel like I'm playing catch-up. Not that being around very smart, knowledgeable people is a problem, just that I always feel so behind by comparison. =]

Once I get into the groove, I don’t tend to sweat it, but the initial uncertainty (and, at times, insecurity) drives me up the wall. It even occasionally makes me want to hide under my bed because I always feel like everyone *else* knows this stuff and I’m the only clueless one even though I know that isn’t true (and, furthermore, I know that most people tend to make this crap up as they go along while trying to look all knowing).

You know that famous interview question of “What’s your greatest weakness?” That’s mine, though I usually phrase it that I sometimes worry about the details too much, because that really is the long and the short of it (plus it has the bonus that, unlike putting it the other way, it doesn’t make me sound neurotic lol).

Current mood: tired but caffeinated
Current music: Tonic - Open Up Your Eyes

Saturday, January 02, 2010

Little Lessons

It seems like I always learn something new on any given project that I get involved in. I generally view that as a positive thing since, if I stop learning, it means I’ve started to stagnate.

A couple of weeks ago, I decided I should finally get around to writing the backup program that I’d been considering for a while. Nothing fancy, essentially just a series of system calls to xcopy and svnadmin with error checking and logging in order to backup my email, files, and subversion repositories.

I could have hard coded the commands, but that wouldn’t be any fun. Besides which, it would make it more difficult to fix if the drive lettering changed (say, if I changed computers).

Hey, I at least try to make things easy to maintain even if it takes a little longer than a totally quick and dirty solution. =]

No, I’m not going to post it on the site. There’s really no reason to because it’s a basically nothing program and I only wrote it to save me time. Now all I have to do to perform a backup is double click the shortcut to the ruby program, walk away for 30 minutes, and then burn the results to dvd after checking the log to make sure everything passed.

The interesting part of the project was the thing that I learned.

Most of the calls to xcopy went off without a hitch. Then I ran into one that I just *couldn’t* get to work. I beat my head against the problem for the better part of a day, but made absolutely no progress. The only difference between the calls that worked and the one call that didn’t was that the non-working call had a space in the path.

Xcopy “Drive1:\path_without_spaces\” “Drive2:\path_without_spaces\” /E
Worked perfectly fine, but
Xcopy “Drive1:\path with spaces\” “Drive2:\path with spaces\” /E
Would choke every time.

I tweaked my code, endlessly trying different things that might help. I checked to see if there was anything weird with system(). I even looked on google to see if I could find an answer.

I had no luck whatsoever. Even discussions on xcopy itself were no help.

After beating my head against the problem endlessly, I finally thought of something so incredibly stupid that it couldn’t possibly work – take the trailing "\" off of the paths with spaces.

It worked. It’s stupid, and it shouldn’t have caused a problem, but it did. Apparently xcopy doesn’t like paths with spaces that end in a “\” while it has no problem with a trailing “\” at the end of a path that doesn’t contain spaces.

Who knew?

It was a small lesson. Heck, it was even a *stupid* lesson, but I *did* learn something, and it was something that I hadn’t seen listed as an issue online.

I can’t have been the only one to have run into this problem, but apparently if anyone else had it, they didn’t see fit to post a note on the subject.

Current mood: tired
Current music: none