posts by tag

personal (65)
Looking back on 2007

The first thing I’ll mention is that I’m finally finished with college. Fall of 2007 was my final semester of graduate school, forever. No more tests, no more homework, no more projects, and last but not least, no more group crap work. I would say no more studying, but Amie often claims that most of the books I tend to read “are like textbooks.” And in a way, I agree. And that leads me into the next thing I want to mention.

This past year was a big year for me in terms of programming. Not necessarily in any particular language, but more from a high-level, “best practices” point-of-view. I no longer ignore (any) problems. That may have started in 2006, but now I try not to tolerate something that needs fixed or redone. Honestly, I get somewhat anxious if I know there’s smelly code lingering around. If I think I can do better, I will. Even if that means rewriting a module that’s only a month old. I work a lot harder to keep my code as clean as my abilities allow, and I only envision that desire strengthening.

In addition to that, my problem solving abilities seem to be sharper than ever. Naturally, as I gain more experience with Ruby, I’m realizing many more solutions and ways to approach things. And that doesn’t only apply to Ruby/Rails applications, which is even more rewarding.

So, no more school, I’m more of an “agile developer,” what else… oh yeah, I got married! And that, of course, was the highlight of my year. I didn’t think too much would change, but it’s like a new feeling of “togetherness” that I really enjoy. It’s now official: no matter what I do in life, I’ve always got Amie. It’s a good feeling.

As far as the list is concerned, I’m reading a lot more and I’m taking around 5 times as many pictures as the previous year. However, “consistently working out” and “learn a new programming language” have been carried over as goals for 2008. Wish me luck.

10,000 views on Flickr

Since I have some sort of obsession with patterns and data, I’m going to time stamp the day my photos reached 10,000 views. Before the Nikon, I had around 1,800 views of about 1,200 photos, and now it’s 10,000+ views of about 1,950 photos. That’s a 727% increase (1.5 views/photo to 10.9 views/photo).

OK, I’m done.

Finally, some REST

No, not the “why do you insist on no more than 5 hours of sleep” kind, but the resource representation kind. Here’s part of a post I read a few days ago:

If I had to choose the single most not-really-well-understood, mystified, unsuccessfully demystified, explained and still not-really-grasped topic in the Rails world (and beyond), my vote would definitely go to REST.

Maybe it’s not quite that bad, but there does seem to be a bit of clarity missing as to why it’s all the rage. I understand some of it, but I think I’m missing most of it. Although, I’ve yet to actually use it. I know it’s been around for quite a while now, but… well… I have no excuses; no real excuses. My shallow excuse would have to be laziness. I’ve been far too lazy the past few months (or year?) to convert a single existing application to REST. And to be honest, aside from laziness, I can’t say that I completely understand the point.

I’m aware of how nice it is for API development, but if there isn’t an exposed API involved, is it really worth it? Is it the clean(er) URLs? The true HTTP caching? A better convention? Nicer routes.rb file? More focused controllers? (Supposedly) better application designs? All of the above?

That stuff is all well and good, but is that really what’s driving this force of RESTful architectures? It just seems like there’s something [bigger] I’m missing.

Regardless, I’ve put it off long enough. Now that Rails 2.0 is on its way, it’s time for me to stop making excuses. I need to get on board so I can realize why it’s so wonderful. Since the core team felt that it was a good thing to integrate REST directly into Rails, I’m sure it is; I just need to learn more about it.

So from here on out, all of my new applications will be RESTful, but I still don’t know that it’s worth converting existing applications. Who knows, though, maybe that’s easy to do.

MDD: Mood-Driven Development

A lot of people act as if TDD is the be all and end all for development. I’ve tried to do it, but I simply cannot stick with it.

My testing time is separate from my development time. When I sit down at my desk, I usually make a decision right away. I go into it knowing I’m going to either focus on application features or catch up on tests. There are arguably many reasons to not do it this way, and probably number one being to not move past broken code. And I agree with that. If you’re a person who can handle the one-two punch of the method/test combo, more power to you. But I have to be in a certain mood to write (worthwhile) tests, and it’s usually never when I’m in the mood to work on application features/styling.

Childish behavior

Today was a bad day. It was another one of those days where nothing seemed to go right. At work I’ve just been switched to a C# project, which pretty much sucks. But it wasn’t necessarily the code that bothered me. Sure, the syntax is ugly, but that simply wasn’t it. I don’t agree with a lot of the .NET methodologies, but again, it wasn’t .NET that ruined my day—it was my childish behavior.

All day I spent my time on simplistic things, yet managed not to complete a single task. I got so frustrated because I couldn’t do the things I knew were easy. It was one right after another. By lunch I was definitely ready to go home.

Unfortunately, there was a guy working with me who is relatively new to .NET and OO programming, and was trying to learn a thing or two. I say unfortunately because I was too frustrated with myself to teach/explain anything. Having someone watch the simpler things go badly aggravated me even more, since I’d normally have everything I tried today finished in 30 minutes.

Now I could complain write all day about how much I don’t like this and that, but I’d just be ignoring the real issue: my poor attitude. The truth is there are tons of people who write successful .NET applications and really do enjoy it, I’m just not one of them.

I honestly am annoyed with the thought of being back at the beginning again; especially with a language I have no desire to learn. As a result of my annoyances, though, I ruined mine and the “paired programmer’s” day today. From now on, I hope to quit being so childish when I get stuck on things, and do my best to keep a positive attitude no matter what the situation.

Of course, talk is cheap, so we’ll see how it goes.

Checking email in batches

Email used to be a sure fire way to get in touch with me quickly. I used to be really efficient and on top of it. Anymore, though, I seem to ignore it for a while and check it in batches. It’s kind of odd, I see the preview pop up, I just choose to wait as if it’s a major task or something. I think it’s a combination of gmail slowing down a bit and Firefox being a memory hog that has instilled this behavior (of course, Firefox could be the culprit to gmail being slow, but the difference is the same). No matter the reason, now that I’m in email batch mode, I like it better. It’s far less distracting. The downside is being ignorant to what’s there and, for example, not knowing there’s a meeting until there’s a meeting. Or not realizing an email that I may need to respond to quickly.

So, no more what felt like constant email reading for me. I choose to be inefficient on this one.

Silence is distracting

How many times have you heard something like, “Shhhh, I’m trying to think,” as if noise inhibits thinking? To me, one of the most distracting environments is one that is quiet. Most people I come across tend to think otherwise, where a quiet atmosphere ascends focus more than a busy, noisy, and “distracting” one. I suppose there are different levels of “distracting”, but I’m referring to that of a typical office environment. You know, people talking, faxes coming in, doors opening/closing, etc. Not a jack-hammer outside of the window.

In January, the team I work with moved to a separate office space, consisting of around five people—it was dead silent. I quickly realized how much I had missed the “distractions” from the other office. Instead, I was being irritably distracted by the silence. It’s still the same, today. Personally, I think being able to hear every keystroke, mouse click, chair movement, etc from a co-worker is not only distracting, but annoying. Every morning, I play music because it just gets too quiet around here. I think better with noise. I don’t wear headphones (I’ve yet to find a pair that doesn’t hurt my ears after 2 hours), so it just blares out for everyone to hear—thanks to Amie’s Dad for the online XM access. Bottom line: I don’t want to be able to hear myself think; despite popular belief, silence is itself, distracting.

Blah

Things have been strangely busy lately, at work and at home. I’ve been doing .NET at work for at least the last month or so, and javascript aside from that. I’ve stated before that it can be nice to take a break from what I love doing, if for no other reason than to appreciate it more, but I think break time is over. I now feel like I’m being poisoned by everything that is not Ruby/Rails. I’m aching to get back into Ruby code, but unfortunately, at work I don’t necessarily foresee that in the near future. Of course, that’s the beauty of personal projects, but then time is always an issue (which is what Golf Trac is currently suffering from).

Design and develop web applications using Ruby on Rails at $125/hour, 40 hours per week (based on convenience), with optional overtime, full-benefits, and 6 weeks vacation. All server administration and maintenance will be handled by a specialized server admin.

If anyone stumbles across a job description similar to that, please let me know (I suppose I’d settle for a little less).

What an incredibly unproductive day

Yesterday just may have been the most unproductive day I’ve had at IRC. We’re nearing the end of a relatively tough-to-meet deadline (which results in a rather large deployment), and I got nothing accomplished. In fact, I’ve managed to go backwards.

The day before, an incredibly productive day, made me anxious to finish up; however, I ran into my first issue almost immediately. No problem, I can fix anything, right? Two hours later, I was still struggling with the same problem. Going against my better judgment, I moved on to a few of the bugs that I knew I could fix quickly. You know, supporting the “if you step away from it for a while…” mentality. It didn’t help matters, because I spent the rest of the morning on a new, but equally irritating and apparently not as easy to fix as I had thought, bug. The same one I had planned on gaining the quick-win off of.

Lunch rolled around, and I couldn’t ignore the aggravation. All I thought about were those two seemingly simple bugs, and what on earth would lead me to their demise. My attempts to fix the second bug led to not only the second bug not being fixed, but resulted in two more bugs from code that was previously working fine.

To make a very long and drab story short(er), I left the day with three new bugs, in addition to my existing list of fixes. Legacy code is an evil beast, and can be very difficult to maintain. Especially when dealing with .NET stuff like this (access a <span> from the server-side):

Dim detailsSpan As System.Web.UI.HtmlControls.HtmlGenericControl = e.Item.FindControl("courseDetails")

Yuck. Have you ever felt like you’re worthless for an entire day, and you’ve caused more work for yourself just by being there? Hopefully today goes a lot smoother.

Investopedia: 20 investments

As I read more and more about investing and ways I can get the most out of my money, I realize how much I don’t know. To some degree, that bothers me. I came across Investopedia a day or two ago, and have been casually browsing through it. Coming from an amateur investor, it appears to be a good resource for learning about investment alternatives, as well as recommendations. Here’s a good starting point: 20 investments every investor should know about. The hardest part is that this stuff is rather boring (to me, at least). But we’ll see how it goes…

Final semester of college

This coming Monday starts the beginning of the end of my college career. At this moment, I can’t think of a better feeling. The last three weeks before the end of this past summer semester were, to say the least, way too busy. Of course, it was my own fault for procrastinating, but I’m so tired of being busy outside of work, my fault or not.

College had its ups and downs. I loved the challenge and I like to learn, but I’m not necessarily doing what I spent 5-6 years studying (referring to undergrad, here). For my profession in doing what I love, I’ve essentially taught myself nearly everything. Grad school helped to fill in a few gaps, but even there I wasn’t overwhelmed with useful information. I’m sure I picked up a ton more than I realize, though—hopefully.

Despite my thoughts on college, I’ve only got four months left, forever. No more projects, finals, group work, or summer semesters that span the length of two summer sessions. It’s all coming to an end, and I couldn’t be more ready.

Flickr Video: blah

This is exactly why I wasn’t happy about Yahoo acquiring Flickr. Major companies can’t let this stuff go, they have to have their hands in everything.

Music videos, movie trailers, television shows and sports highlights are among the features that will be available on the new site, Mike Folgner, Yahoo’s general manager for video, said in an interview. Yahoo’s Flickr photo-sharing site will also be adding video, he said.

I’m a big fan of Flickr, and have been since its inception. I follow a slew of discussions and groups, all of which have taught me a lot about photography. Every question I’ve asked has been politely answered with an often exuberant response. I’m afraid adding video will turn Flickr into something that I don’t want to be a part of anymore. It’ll clearly become less focused on photography and potentially start to attract the slandering nonsense found on sites like YouTube. But, as long as Yahoo makes more money—that’s what really matters.

A little while later

At work, I was tasked with brushing up some .NET stuff I’d done about a year (or more) ago. I’ll spare the traditional “I can’t stand .NET” rant, just know that I can’t stand .NET.

The first thing I realized when looking back at my 12-18 month old code was that I didn’t write it; I couldn’t have. But denial only took me so far. Apparently, I had no conscience of good programming back then. The funny thing is, who’s to say I won’t feel exactly the same way 12-18 months from today?

Earlier this week, I wrote a small novel about a case where I was using method_missing. My rudimentary plan was skewed a bit, but for some reason, it didn’t deter me from using method_missing. I tweaked things in an uncomfortable way, as to fit the situation, when I really just needed an even simpler association method. From that little hiccup, I felt as though I had gained a whole new wave of knowledge. All of a sudden, I was thinking clearer than ever before. I had experienced another “What was I thinking?” moment.

Every time I look at code a little while after I’ve written it, I’m astounded by how much I’ve improved, despite the time gap. But the truth is, I’ll never be “done” becoming a good programmer; I’ll always learn and improve. Unsurprisingly, that’s a lot of why I love what I do. Learning to solve programming problems better, is like a fresh view of programming altogether.

The “What was I thinking?” moments will never cease; they’ll emerge every couple of months, forever. There are times when good code turns stale, and there’s always a better implementation. While I may have limitations as to what I’m capable of, with constant refactoring and attempts to improve, those limitations diminish more and more everyday. Sometimes, though, I don’t realize that until a little while later.

Managing money online

Like a lot of people I’m sure, something I’m desperately lacking in the land of money management is a centralized place to manage everything. I tried the 60-day trial of Quicken, but it wasn’t quite what I was looking for. I mean, in theory it was exactly what I was looking for; but it didn’t auto-sync with all of my accounts, which is a must-have for me to spend the money on it ($64). It was supposed to grab my investments, loan balances (car and school), banking info, etc, but it didn’t. My bank and zero-balance credit card updated automatically, but with a catch: ignored pending transactions. I’ve gotten used to the “available balance” from online banking, which does consider pending transactions. Plus, that’s what I match my check book register against. In the end, Quicken just didn’t work for me.

Wesabe just released a Firefox extension that looks pretty slick (watch the video). But I don’t feel comfortable enough trusting it with everything. I trust my banking site, but I have more confidence in a national bank than a free (and community-based?) service with not much to lose. Personally, I would not enjoy working on an application that links into banking software and deals with other money-related accounts. That’s right up there in the list of things that aren’t fun to worry about.

Maybe someday I’ll find a solution. Until then, I’ll keep using the 6 bookmarks in my “money” bookmark folder. Blah.

A Perfect Mess

A Perfect Mess is a book about disorder and how “being messy” can, in some ways, circumvent organized habits. I haven’t read it, but I bet it’d be interesting. I’ve actually argued that spending time organizing certain things is wasteful. There’s a fine line there, though. Organizing code is mandatory, and a lot of what I love about MVC is the organization it provides. But take gmail for example. Early on, I thought categorizing with labels was the way to go. It’s not. At least, for me it’s not. After I set the labels, I never go back to use them. It’s extra work before archiving, and there’s really no need. I just use the search if I need something—it’s much easier and faster. Plus, it returns chats, as well.

The point is the time spent digging through the mess falls short of the total time spent organizing. I’d like to read a book about this from someone who can articulate what they’re trying to say much better than I can. All I need is a reason to be messy…

Personal Projects

Golf Trac is something I can’t wait to use. Originally, using it was all my motivation. Now, I’m remembering how fun it is to work on personal stuff, and that boosts my motivation to finish it even more—it’s a win-win. I have to say, though, I wouldn’t enjoy it nearly as much without Ruby/Rails. I’m still figuring out more and more, which is awesome. It’s that amazed, “Ah ha!” moment that constantly adds to the experience (for me, anyway).

Personal projects in general are fun to work on (especially when it’s not rpheath.com again). Nobody can tell me what to do or when to do it. If I want to spend a week on nothing but adjusting pixels, I can. There’s no worrying about this decision or that decision, I only have to please myself. And, believe it or not, sometimes I’m not in the mood to program. It’s nice to be able to set it aside for when I am in the mood.

I think Google employees get 20% of their work-week to work on personal projects. That’s what I need… one day per week to work on my own stuff, and get paid for it. Of course, a full week would be much better (lucky bums)1.

1 Yes, I realize it took hard work to get there. And they’re not really bums.

Getting ahead in life

What I’m quickly realizing about life is, no matter what you do right, it’s increasingly difficult to get ahead. Everyone goes through it, but I guess I’m (more or less) just starting out.

Marrying Amie was the best thing in my life. But a big part of being married, that I hadn’t considered before, is insurance. Yes, insurance. It drives me insane. Right now, our insurance expenses cover: life, car(s), ring(s), and since we’re still renting, we have renter’s insurance. On top of that, a recent quote for health insurance—just to add Amie (she’s still a full-time student)—came in at just under $500/month! “But it’s pre-taxed.” Oh OK, that makes everything just fine. And another thing about insurance, anytime you actually use it, the provider raises the cost. It’s absolutely absurd how much insurance costs, but at the same time, you’ve got to have it.

I honestly feel like I’ve done just about everything right so far in life, and I still get smacked in the face with a few things. I’m learning first hand why it’s so very important to invest, invest, invest while you’re young. We don’t have kids or a dog, and it feels like it takes nearly everything we have just to make it. I’m so excited to get a house, but it’s no fun to realize the budget we thought we had is about 25% less.

A friend of a friend told me about a guy who got a raise that pushed him into the next tax bracket. After his raise, he ended up making less than he was before the raise. And all you can say is… that’s life!

All out of ideas

Since the end of January, I’ve designed between 7-10 sites from scratch, and I’m currently working on another one. It’s beginning to wear me out. I don’t mind working that much, but it’s the depressing realization that I’m all out of ideas that’s breaking me down. It’s hard to be creative and do something fresh and new over and over and over again. I think I’ve hit a wall, and I have a deadline coming up around mid-August for another new design.

Sometimes I wonder if I’m moving too fast; sometimes I wonder if I like this stuff as much as I say I do; and sometimes I wonder if I just need a break from it all. It can be frustrating… very, very frustrating. But in the end, bad days come and go. I’ll move on, and probably be happy with the design. For now, though, I feel like complaining.

Introducing Golf Trac (almost)

I enjoy monitoring things over time (Google Reader trends, my investments, spending habits, etc). For me, golf adds one more thing to the list. However, there’s no real easy way to monitor my golf game over time. Especially since it has potential to span across years and years, adding up to hundreds (if not thousands) of rounds. To make things easier for me, I’ve decided to build an application I’ll call Golf Trac (excuse the cheap name, but it wasn’t that important to me).

Currently, it’s only in a sign-up state. I had originally planned on doing it for myself, but I know of at least a couple of people who would like to use it, which was reason enough to build it for others, as well. I don’t plan on having a “social network” around it, as the original reasoning is for those who want to track his or her own game. Of course, if I see some sort of need or reason to add social context, I may, but it’s better for me to start off with the basics. However, I have considered a mobile interface (to post scores as you play), but since I’m not really into mobile technology (yet?), that’s not a priority of mine.

So if you’re a golfer and think you might be interested, sign up to find out when it’s ready (curious minds are fine, too).

Status of plans for 2007

It’s six months into 2007, and I’m sort of slacking on what I had proposed for the new year. So far, I’ve definitely read more books than I normally would; I’m using a calendar consistently (but not quite daily); I’m a lot more frugal than I’ve ever been before; and I’ve already taken 16 GB worth of pictures since purchasing the new camera. Areas I’m slacking: working out and learning a new programming language.

I’m annoyed with my level of effort toward going to they gym. I’m annoyed because I know I’d be happy and feel better after 6 months. It’s pretty much guaranteed, so why don’t I go? The absolute best time to go is in the morning before work, but that’s really hard to do without someone else going. I’m up too late at night, and like a child, refuse to go to bed earlier. Sleeping 8 hours a day means when I’m 60 years old, I’ll have slept 20 years of my life—that’s too depressing for me.

Concerning a new programming language, I’ve come as far as choosing one: Python. I’ve looked into it and read a little, but never attempted to write anything. I still love Ruby/Rails, so my motivation for something new is non-existent. Right off the bat, I don’t think I would like the open-ended blocks/methods in Python. Interpreting code based on spacing and indentation isn’t a bad thought, but I’m not sure it’s for me. I’m strict about that, but I enjoy the closure of explicitly ending a block or method. Anyway, I have a side project I started a few months ago (in Rails), but haven’t had time to work on it much. I don’t think I’ll be able to learn a new language until that’s wrapped up—hopefully it will be before 2008, though.

Dealing with the obnoxious

Some of my favorite photographs come from long exposure shots. Typically, there are two general situations in which long exposures deem appropriate: night shots and moving water. Of course, there are plenty of other reasons to use a long exposure, but as an beginner, these are the two situations that are blatantly apparent to me. Having no easy access to rushing water, I usually try my luck with night shots.

Traffic at night is fun to shoot. But I hate doing it around Morgantown because of the obnoxious (students?) kids roaming around all night. Yesterday, I was in the mood to go take some pictures and play around with what I had (hopefully) learned about long exposures. Without considering the interstates, I thought three main places to be appropriate: Beechurst1, Pateson, and High Street. In the summer, Beechurst at 10:00 pm is somewhat bland, and I had been to Pateson a few nights before. That left High Street. Even without too much traffic, the street/traffic lights would be enough to get a reasonable shot (they tend to glow like stars at 15 seconds and up).

I was on High Street for about 15 minutes before deciding to leave. I took about 10 pictures or so. With nearly every picture, I had to listen to ridiculous comments being shouted out of passing cars and “townies” out roaming the streets. Of course, none of it made any sense. Examples include: “Are you shooting a porno?”, “YEAHHHHH, TAKE MY PICTURE!”, “Whooooooooooooooooooooooo”, and so on. Probably the most uncomfortable, though, was when these three guys were walking by. One of them said “Dude, he’s taking a picture—[to me:] Are you taking a picture of the East Coast?” Then his strung out friend, standing about a foot from me, starts going nuts “[looking at me:] F*** yeah this is the East Coast. F*** you, F*** you, and F*** you [pointing at his two friends and myself]. This is the F***ing East Coast B****!” Since Amie was with me, we left. The last thing I want is to get into an altercation with a strung out heroin addict because I was taking a picture of High Street, especially with Amie with me. I guess deep down stuff like this weighs on my mind. It makes me choose to leave rather than deal with it. I’m just tired of the fact that I have to make the choice.

1 I say Beechurst mainly because of the walking bridge above the road by the PRT station. There’s also potential going up the hill toward Evansdale, but I’ve yet to try it.

Another drab part of web development

Last week I read that Flickr has 525 million photos now (which is nuts) and 55% of Flickr users reside in non-US countries. That means ~289 million photos come from outside of the US. And that’s before they added any multi-lingual support just last week, which amazes me (I could never use an application that’s in another language, even if it’s image-based).

I’ve already mentioned what I think is the worst part of web development, but I’ve since thought of another candidate: internationalization and/or localization (I think they’re the same thing). The reason I can’t explicitly say this is ahead of or just under deployment is because I’ve never actually done it. I know there are plugins (for Rails, anyway) that assist in this issue, but even so. Easy or hard, I’m glad I don’t have to worry about it. I just think it’s a boring problem.

Movies for the summer

There are a lot of good movies coming out this summer. I’ve missed several that I wanted to see in theaters, so I guess DVD will have to do. Here are a few of the more well-known movies I want to see (new and old) in no particular order:

If I don’t catch a movie at the theater (or somehow end up owning the DVD), I usually don’t watch it. For whatever reason, we rarely rent movies. Here’s what I thought (briefly) about some of the major hits I’ve seen so far this summer:

  • Pirates of the Caribbean: At World’s End: Really good, but you have to enjoy the plot. This one really played on the story more than anything else, and was somewhat confusing to follow. The others involved more “entertainment,” but it’s good in its own right. And it’s almost 3 hours long.
  • Shrek 3: Exactly what I expected. It was good, but it’s a movie that I don’t really care about (I don’t think I’ve even seen the second one).
  • Spiderman 3: I thought it was awesome. A lot of critics say there was too much going on, with too many villains, but I enjoyed it. I thought the sandman was great, and I loved the fact that venom was in it, too. It was arguably a little corny at times (Harry acting ridiculously happy and Peter Parker dancing to jazz music to, ya know, act “venomous”). I’ll buy it when it comes out on DVD for sure.
  • Oceans Thirteen: I thought it was about as good as the second one (which was/is really good), but I liked the first one the most. Still, it goes by fast and it’s fun to watch. A fourth one would take it too far in my opinion.
Don't buy a Motorola Razr V3M

The $250+ savings sucked me in. I needed a new battery for my existing phone, which was about six years old. Since I was a long-time Sprint customer, I had $175 off a new phone, plus any rebate offered by the phone itself. When compared to the cost of a new battery, a new phone was potentially cheaper. So I chose the new phone and got the Motorola Razr V3M. My reasoning for this phone was mainly because of how thin it was. I don’t care about camera/video, I don’t care about music on my phone, and I don’t care about text-messaging (although, anymore, I think I’d like that more than talking). The reviews came back positive, so that’s what I got.

In this day and age, we all want things to happen now. It’s more of an expectation than a convenience, and it goes down to the milliseconds. Which leads me to the main issue I have with my phone: it’s too slow. I open it up, it hesitates to show me a screen. I hit “contacts”, I have to wait a second before my contacts show up. Speed dial takes about 2 seconds longer than my last phone, which is what I use the most. It’s hard to make an argument that waiting an extra second (or less) for something is irritating, but it is. A few other annoyances include:

  • The camera button is placed precisely where the thumb needs to be when flipping the phone open. What’s that mean? I usually turn on the camera (which takes about 4 seconds) just so I can turn it back off (another 2 seconds) before making a call.
  • If I miss a call, it will display “dismiss” or “dial” until I answer one or the other. I can just hit “end” to clear it, but it shows back up the next time I open the phone. This issue compares to the cancel or allow Mac commercial—it’s just annoying.
  • The ring tones suck, and I’m not the type to download new ones. I just keep it on vibrate all the time.
  • There are only two options for including vibration: “high and vibrate” or “vibrate only”. This may be too picky, but ideally, “low and vibrate” would be my choice when I’m not at work.

So there you have it. And just so you know, I’m probably the last person to review a cell phone, because I’m biased toward not having one at all. I just know I’d probably get something else if I could do it over.

The worst part of web development

I started a post on this a couple of days ago, but haven’t had a chance to finish it. After reading Chris’ Deployment woes on the slate blog, I figured I’d go ahead and post a few of my thoughts on deployment.

I’ve spent the last couple of years working in web development and I’ve loved (nearly) every bit of it. But there is a part of this field that I don’t like very much: moving an application into production. Typically, I end up in one of these three scenarios:

  1. successful deployment on the first attempt—in fantasy land, maybe
  2. unsuccessful deployment and knowing what the problem is—this is usually where I end up, where I’ve forgotten to do something, or incompatible versions exist, or whatever
  3. unsuccessful deployment and not knowing what the problem is—this is what I fear and despise, and is the very reason for my pessimistic outlook on deployment

In the first case, life isn’t too bad. Still, whether it’s 10 seconds or 10 minutes, it’s always stressful waiting to see if the application is still alive after deployment. What a relief when everything goes smoothly.

In the second case, it’s somewhat comforting to have an immediate idea as to what the problem might be; but at that point I’m working in light speed trying to fix whatever is wrong. Annoyingly, I always make quick decisions which usually have consequences. But nonetheless, this case is just a matter of time until you crank through the things you’ve realized were wrong.

The third case is flat out sickening. I love problem solving, but that’s different. I get chills just thinking about number three. I’ve been in that situation more than I’d like, even with my own site. That type of troubleshooting is terrible. As soon as I resort to Google, I’m in a state of desperation. And of course, a lot of what works for other people never seems to work for me.

The other day I had about 2 hours worth of troubleshooting a live application after deploying (it could have been worse, I guess). Looking back, I don’t know why it took me that long to fix. Maybe it relates to how disoriented and frantic I get when trying to fix something in production. Unfortunately for me, I’ve yet to come up with a consistently smooth method of deployment. Capistrano looks ideal, but when I tried it the second time a few months ago, I couldn’t get everything working properly, so quit on it. The bottom line: deployment is by far the worst part of web development.

1,500 pictures in a month

My new camera arrived on April 18, 2007. Sadly, the last picture I took with it dates to May 20, 2007. Over that span of 30 days, I took 1,500 pictures. The professionals say to take pictures everyday, as that’s the best way to get to know your camera. I agree. I learned so much over the last month. Honestly, I’d like to take 3,000/month, which I plan to do. I’m going to focus on one specific thing each day (aperture, exposure, shutter speed, etc), or until I feel comfortable moving on. And then I’ll cycle back through to the beginning. Lately, however, I’ve been occupied with other things; but I’m dying to get back in the rhythm of daily pictures.

Post-it notes are really irritating

I have about 3-4 post-it notes stuck to my desk at home. They irritate me. I think that’s why I typically never use them. But at the same time, that’s probably why a lot of people find them useful. They’re irritating enough to do whatever it says to do so it can be thrown away.

I’m reasonably good at balancing my tasking, but sometimes there are things that I slip up on. I’ve yet to find a solid way to keep track of reminders and to-do’s. We use Basecamp at work, but sometimes stopping to go find the to-do list for a specific project doesn’t feel like the most efficient thing. So I often resort back to my notebook, but once the page gets turned I’ll rarely go back. I started putting my reminders on Google calendar, but that doesn’t really work for to-do items (i.e. programming tasks).

I’d really like to come up with a better way to keep track of this stuff. I would claim electronic means to be the best way, but having to open a browser or some other application just for a to-do doesn’t seem reasonable for me. If nothing else, I’ve eliminated the post-it note from my list of possibilities. But given my issues, it seems to be a solid solution, unfortunately.

Is it important to be a well-round programmer?

Back in January, I posted about my plans for the new year. Number five on the list was to learn a new programming language. I thought it would be good for me to grasp how other languages handle the things I’ve come to learn in Ruby/Rails. I still agree with that, but I’m having a terribly difficult time prying myself away from Ruby. I’m so infatuated with it. For Christmas, I got a Python book. I’ve yet to read one single page, but since January, I’ve somehow managed to read three more Ruby/Rails books.

I know I’ve mentioned this numerous times, but Ruby is my first real attempt at a lot of things (OOP, Extraction, DRY code, MVC, etc). I did a little VB.NET and C#, but never had the desire to go home and read books about those technologies. So, being part of projects that involved those languages, mixed with the design aspects that I was more-so responsible for, I didn’t get too much out of it. I do remember having to explicitly write out the “getters” and “setters” for each attribute in .NET (which is ridiculous when compared to attr_accessor). And I can’t even begin to tell you how sloppy my PHP code was, as that was my first attempt at something on my own. I just made it work, so I don’t really know what PHP is capable of. I do know I’m not crazy about the syntax (I knew that back then, though).

I keep coming back to the thought of learning a new language. And now I’m considering Erlang (examples: 1 and 2). I read something on it (or watched a video) over a year ago. But when my time is limited, I’d rather reinforce and learn a language I know I love, rather than start over with something new. What’s your take on being a well-rounded programmer? Can that help you learn the language(s) you know you love? If so, is it worth it?

Posting drought

I haven’t had much time to post anything for the last few days, but it seems like I’m not the only one. All of the sites I normally read have been laying low lately, and my other feeds have slowed down a good bit, too. Honestly, I don’t really feel like writing anything. I have a few things that I could post about (and normally would), but I’m just not in the mood. And that could just be my reaction to the lack of posting that has been shading the internet lately. Maybe everyone else simply isn’t in the mood to post, either. Or maybe the internet is finally dying. Or maybe, like I said, I’ve just been too busy. Oh well—I suppose I’ll snap out of it in a day or two.

Mandatory customer service

Or, in other words, customer service via mandatory services. I’ve been struggling with Direct Loans in order to get a recent payment to apply to a specific loan (which I was told I could do, by Direct Loans). I won’t go into the details, but basically an unsubsidized loan found its way into my balance (they accrue interest from the moment you get them, rather than starting 6 months after graduation). I decline every single one, but nonetheless, I have one. So I made a payment to get rid of it, as well as the interest it had gained. That payment was made on January 23, 2007. Guess what? I still have that unsub loan balance, along with more interest. Anyway, it’s been 5 phone calls and 6 emails later, and it’s still there.

Somewhere along the “submit a payment to a specific loan” path, there is a flaw. And while they act like they care, they don’t. Because they know I don’t have a choice in the matter; it’s officially out of my hands. All I can do is keep emailing and calling, only to hear “we will re-submit the request” each and every time. It’s no different than any other service that ultimately leaves you with no choice but to suck it up. Take the Post Office, for instance. They can be as rude as they want to be, but you still have to stand in the line extending 100 feet because they are the only one’s who can mail your package. Sure, you could leave, but where does that get you? Irritated with a package that didn’t get sent.

These attitudes and inefficiencies may not always be intentional, but there’s definitely no effort (or incentive, really) to fix them. Either way, I still have to pay my loans back plus interest, and I’m sure I’ll be standing in that Post Office line again. Oh well, I suppose—there will forever and always be annoyances with customer service.

Sacrificing money for comfort

I mentioned my desire for a new camera. Well, that desire hasn’t left me yet, so I’ve still been doing my research to find which one would make the most sense. For a number of reasons, I’m nearly 100% for the Nikon D80. Making it through the last few weeks of all of the technical and ergonomic research, I’m now starting to look at the available bargains on this jewel. I’m interested in the kit with the 18-135mm lens. Here are a couple of my options:

  1. Ritz Camera ($1,300)—I’m very comfortable with buying this camera from Ritz. Mainly because of warranty perks and I would know what I was buying. Definitely my first choice, aside from the cost. Plus I get the camera the same day.
  2. Best Buy ($1,300)—Really no benefit over Ritz, just another option.
  3. Butterfly Photo ($1,169)—It does get good reviews, and it’s a reasonably good price (the extra money would let me get a nice carrying case and a 2 GB larger compact flash card. But it’s a place I know nothing about, and only exists online. And I’d have to trust that it would ship in one piece.
  4. eBay ($1,129)—I feel fairly confident putting a little trust in the eBay feedback system, but a $1,000+ purchase on eBay sort of freaks me out. Plus Amie once got ripped off from a seller who had great feedback, until she bought the item. Then the terrible (real) feedback was listed, along with the “this person is no longer a member” statement. Scary.
  5. Express Cameras ($749)—I’m really starting to like this price. However, it’s almost too good to be true. I don’t really trust this site, and I really don’t want to wait forever to receive it. Plus, it would be painful to go through the returning process with a crappy (non-credible) company.
  6. Shop Cart USA ($574)—How could this be right? There’s no way I could trust this, and I’ll stop here. But I’ve found them as low as $350 for the whole kit, which is far too risky for me.

So my dilemma is this: do I fork up the $1,300 (plus tax) and go with the comfort of knowing I’m buying a quality, brand new camera? Or do I use my knowledge of online purchasing and try for one of the sites that would save me $200 (or more)? I wouldn’t want to wait on a delivery, but I could. I don’t like the thought of it being shipped, but it’s shipped to Ritz, too. I love the thought of a face-to-face purchase on this one, but I don’t like the extra $200 or more. What would you do?

Read your email, please

Sometimes I don’t understand people and their use of email. I don’t know about you, but when I get an email of any significance I usually read it. Let’s say you were teaching a class—we’ll call it SENG 691P. Would you consider an email with the subject SENG 691P - Assignments significant enough to read?

Monday night, I emailed 3 out of 4 assignments, due yesterday evening by 6:00 pm (the missing link being the one I forgot was due Monday by 5:00, but was for the Tuesday at 6:00 class). Anyway, in that email, I explicitly told my teacher “I lost track of the due date for the assignment [blah] that was due [Monday] by 5:00, so I won’t have it this week.” This was to prevent him from putting my name on the opening slide with the rest of the class, as he does each week, to talk about one another’s assignments. But I guess the English language failed me, because he put my name up there with a blank topic and called me out on it, having no clue I had emailed him. Without a real excuse, explaining myself in front of the entire class was exactly what I intended to avoid. It would have been much easier had he read his email (although he claims to have searched for it twice).

I’d hate having to manage an entire class and their emailed assignments, so I’m glad I don’t have to. But at the same time, it’s irritating to me when the people who do have to do it, don’t.

Today versus Yesterday

Have you ever had one of those days where everything you tried to do didn’t work? Or went wrong? Yesterday was that day for me. I had what was probably one of the worst days I’ve had yet this year. I woke up with a headache. I get to work and started the morning off with a 3 hour troubleshooting task that should have taken about 15-20 minutes, moving on to realize I didn’t do my homework that was due by 5:00 that evening, I then found out I left my allergy pill bottle at home so I couldn’t call in a new prescription, and ended the day with a broken, torn apart application that I couldn’t commit. I would have stayed until I fixed it, but the person I carpool with had to leave by 4:30, so I had no choice but to leave that mess for the next morning (I hate leaving something open-ended like that). What a day.

But today I woke up with a clear head, which aided me in getting about 2 days worth of work done by noon (including 5 solid commits), and my teacher let me turn in my assignment a day late. Everything seems to be going smooth again, which is how I like it.

Thoughts on getting a new camera

I’ve been using a Sony DSC-W1 for a few years now. It definitely serves its purpose, but it’s still a simple point-and-shoot, which means there are extreme limitations as to what you can do with it. I’m more than ready for an upgrade (to a DSLR). Sometimes I think I’m getting into something, and it turns out to be just a phase. But I’ve been into photography for over five years now, and I can’t help but feel as though I’d like to take it a step further. The downside: a step further means spending a lot of money. Money that I’m not able to spend right now… on a camera. Especially with the wedding and honeymoon coming up in May.

But let’s pretend I was an impulse buyer. What camera would I get? As of now, probably the Nikon D80. It takes really nice pictures. Obviously you have to know how to use it to take those nice pictures, but I think it’s that very challenge that makes it so rewarding in the end. From all of my brief research, I think it’s (or would be) the winner. But $1,049 for just the body, with an additional $200-300 for a basic (18-70mm) lens??? That’s tough to justify. Plus, then I would need a carrying case, and not to mention Nikon compatible memory cards to hold a decent amount of 10.2 MP images. So I’m assuming, altogether, I’d have to be ready and willing to fork out around $1,500—which is basically why I’m not getting a new camera.

While I’m pretending to be an impulse buyer, my other consideration is the new Sony Alpha DSLR (see sample pictures here). It’s not only cheaper, but I already have 512 MB and 1 GB compatible (PRO duo) memory sticks. Plus, at $1,000 (basic lens included and $50 less than just the body of the Nikon), I’d get an extra telephoto (75-300mm) zoom lens, which is awesome. I hate to sacrifice anything on such a big purchase, but at the same time, I’m not going to kid myself into believing I’m a professional photographer, nor the fact that I’ll become a professional photographer (and not that I want to), so part of me thinks getting the less-expensive, less-featured camera is fine. And to be honest, it’s really not missing that many features when compared to the Nikon. I’m sure, for a hobby, it would have absolutely everything I would ever need.

Back to reality. I can’t afford it right now unless I got a raise, so unfortunately, I won’t be getting one. But sometimes it’s nice to dream.

A different kind of inspiration

Inspiration comes at you from all directions. Everyone (hopefully) finds inspiration in his or her own way. Often, for web design, you’ll hear some designers claim that they never use the web itself to find inspiration, while others say that’s the only true way to keep new designs fresh. It’s debatable because it’s an opinion—a feeling. And what matters most: using that inner feeling to drive you to put your efforts into something meaningful.

Just tonight, I came across a site called Investing Talents. It appears that they put out a quarterly magazine developed by creative Christians, covering all sorts of topics relating to creativity: design, writing, poetry, etc. Their mission seems to be a good one, in that they promote you to use your gift toward a common good in support of an overall purpose—to bring glory to God.

This is the purpose for Investing Talents: to encourage the investment of our talents so that we may never lose our ability to bring glory to God through their use.

The magazine sort of caught me off guard. I found myself inspired, but not just to come up with a new design; but to design for a purpose other than my own satisfaction—something bigger, something with meaning.

When a muscle is not used, it weakens. Our creativity is a muscle, also a gift, which if not used and exercised for good, can weaken and possibly disappear. In the same way, someone who makes good use of his talent can reap the rewards of his investment for many years as it grows and strengthens. It is this pulling back and reaping that is the picture of God taking and giving. God “takes” “talents” from the unwise investors and “gives” those “talents” to the ones who have been wise with their investment.

So far, I’ve found a lot of inspiring statements and remarks. It’s a different kind of inspiration than what I’m usually seeking, but undoubtedly in a good way. I enjoyed the read and I’m looking forward to the second issue.

Investing Talents is courtesy of Godly Creative People (I love their search box).

Why I still use Firefox over Flock

While talking with someone back at the Rails Edge conference, the topic of Firefox vs. Flock arose. Both being avid users of the others non-choice of browser, where I prefer Firefox, we could not see eye-to-eye. While I can understand his use of Flock, I don’t think he understands my non-use of it, if that makes sense. So I thought I would share my reasoning as to why I won’t leave Firefox for Flock.

“Flock is the best blogging tool I’ve ever used”

It seems as though major proponents of Flock love to write about its blogging tool integration. I do post frequently, but not via a blogging tool. Firstly, I don’t need one because I run a custom-built site, and secondly, they can sometimes make posts appear sloppy. The “designer” in me couldn’t tolerate that. So that means I’d have to go into the admin section anyway to fix it. There’s nothing wrong with blogging tools, I just prefer to do it my way. My point? Flock being a blogging tool does absolutely nothing for me, so it’s irrelevant how good it is.

I prefer Google over Yahoo

Another reason I choose Firefox is the ongoing support from Google. I’m partial to Google and their search/applications. There’s something about Yahoo (or Yahoo!) that irritates me. The two services (Flickr and del.icio.us) I actually like (maybe love), they bought. I’d much rather have Google on my team than Yahoo!

Browser syncing

Something that has become increasingly important to me is keeping my browsers in sync among all three computers. Google browser sync does an absolute flawless job at this. I’ve never encountered one problem with it. It saves my history, bookmarks, cookies, etc. I’m pretty sure Flock is headed this way, if they’re not already there, but when I tried it, it didn’t even come close to working properly. And it wouldn’t even let me reorder my bookmarks on the toolbar (which I’m also picky about). So then there’s the Google browser sync extension for Flock, but it didn’t work right, either. And do you still have to “convert” Firefox extensions to work in Flock? Hopefully not.

Flock: Firefox for the social web

I think there are huge benefits in social software and collaboration, but I don’t necessarily want that social feeling around me all the time. The browser is heavily mixed-in with my job, so I don’t need constant distractions such as a New (13) label on my photo tool bar. I’d be distracted far too often. I’m an RSS junky, and having those distractions would result in me deliberately not adding my contacts because there would always be something to see. I like being able to choose when I want to be social, so I choose to keep my “Flickr friends” in my feed reader.

Integrated del.icio.us via the bookmark star

Granted, the integration with del.icio.us is a good idea, I don’t know that I like the bookmarks tool bar and my public del.icio.us account going through the same interface. I like to click and know what’s happening without having to think about it. A lot of my clicking is based on intuition, and I don’t need a choice everytime I post a bookmark as to whether or not it’s tool bar worthy. And if it is, what section of the tool bar? Personally, I prefer my 11 folders where I can easily drag a tab to the appropriate folder (i.e., less clicks—in fact, no clicks). Plus, I have both ma.gnolia and del.icio.us extensions, and I use them interchangeably. They’re side-by-side next to the address bar, subtle, convenient, and have nothing to do with my bookmarks tool bar.

Aesthetics

A lot of people are hung up on the aesthetics of Flock, but I actually think Firefox 2.0 (and 1.5) looks better. The tabs feel cheap in Flock (to me). And I love the way Firefox has managed to make less use of the tool bar / address bar area, giving you more room to browse—which is important to me. Now, with Firefox 2.0, there’s no chance I’ll leave. The subtle interfaces changes are great, the scrolling tabs are nice (as well as the tab selection drop down), and most importantly, the built-in browser spell checker! That alone seals the deal.

Conclusions

Probably the number one reply I get when I say I’m not leaving Firefox for Flock is “Why? It essentially is Firefox.” Then why not just use Firefox? It has done absolutely nothing wrong, and to be quite honest, it’s the one and only browser for web developer’s. Flock may finally support the web developer tool bar, Firebug, IETab, HTML validator, ImageSizer, etc., etc., but something just doesn’t feel right to me.

So, I’m an avid Firefox user, with over 25 extensions, 120-135 tool bar bookmarks, 7-10 greasemonkey scripts, completely synced up on all computers, backed by Google, so on and so forth. But at the end of the day, it boils down to personal choice. I choose Firefox for all of the reasons I’ve stated and more, but maybe above all, why would I switch? There isn’t near enough value add for me to convert my bookmarks, scripts, extensions, etc. to Flock, just so I can take a chance on a browser that has already failed me once. It’s just not worth it. I’m glad Flock exists, because a lot of people seem to really, really love it. And that’s important. Plus, it’s sheer existence actually can do something for me: make Firefox even better!

The first day at Rails Edge

I don’t know that I can say “it was what I expected,” but at the same time, I don’t know why I can’t say that. It’s a completely different setting from anything I’ve been to before, so maybe that’s what throws me off. There are a lot of really smart people here, but that was expected. I think I’ve reinforced my lack of desire to associate with the attendees, which unfortunately, my boss probably doesn’t want to hear. In a way, I’m almost intimidated because I feel like everyone around me knows more than I do, and I wouldn’t be able to keep up with the conversation. Whether or not that’s true, that’s how I feel. And despite what people say, that’s a hard thing to overcome. Nobody likes feeling dumb. It could just be my lack of “conference experience.” Maybe if I understood the reasoning of the people that generally attend (self, training for work, mandatory, etc.), I might be able to assess a better hunch about the audience. The conference just seems to be somewhat advanced to be “Rails training,” but that, in no way, means beginners aren’t here trying to learn.

In addition to all that I’ve learned technically, I’ve realized that 12 hours at a conference is a long day no matter what you’re listening to. I’m completely interested in every topic proposed in the schedule, but after awhile, my head started to hurt and my tail bone began to not like the chairs we were sitting in. Aside from that little bit of discomfort, I have no objections to how the first day at RailsEdge has gone, and I’m looking forward to the sessions for tomorrow.

Subversion for my entire hard drive

Being a programmer, I’m exposed to a lot of things that make my life easier. At least, things that can make my life easier. It seems like the programming world has a never-ending goal to seize the pains of managing and maintaining code. Version control, object-orientation, frameworks, abstraction/extraction, etc, all have the common goal to make life easier and more efficient for programmers. This effort shouldn’t stop with programmers.

I don’t know how many people own multiple computers, versus how many try to sync multiple computers. But there’s a big difference. Just because you have multiple computers, doesn’t mean you try and sync them. I’m definitely a sync-er. I like to have everything the same, on all computers I use (even work). The only environment shift I want to experience is relative to hardware (bigger monitor, faster processor, etc.) So many times I’ve wanted to check random things into a version repository, just so I’d have access to the most recent copy across all three computers. For instance, a configuration file for the Rails editor I’m currently using. I don’t want my editor to be different at all. And depending on my ability to fine-tune it exactly the same on each computer (and having to change all three if I change one) doesn’t seem to fit with me. I could always email it to myself, then save it over the original, but you know how that is. Wouldn’t it be nice to have your entire hard drive under version control? So if I randomly delete/add folders and/or files, restructure my folder tree, or whatever, it’s no problem; I’d just run “hd update” on my other hard drive(s) to reflect all of the changes. There are certain pieces to this puzzle (such as Google Browser Sync), but I’m not buying the online file storage to have multiple access points for my files. I still want them to be on my local computer, I just want an easier way to update them. And tagging content on the web helps to define and categorize that content, why can’t I have the ability to tag my files among my computer(s)? Would that not make sense for the very same reasons? Maybe I’m being too irrational, but it seems like there are a lot of options that simply aren’t considered in places where it almost makes the most sense. And yes, I’d complain about something else if that were ever to become a reality.

Ergonomic keyboard

I got an ergonomic keyboard for Christmas. I asked for it, but I was a little leery of how well I would like it. After a couple weeks of typing on it, I love it. It makes me feel like typing more, which makes me feel like programming more, which makes me more productive. I might get one for work, too. This is the one I have: Microsoft Ergonomic Keyboard 4000. The quiet key is ridiculous. You can barely hear it.

I’m not a huge fan of Microsoft, but that mainly comes from their software. I don’t know that I’ve ever had a problem with their hardware products. In fact, I have a Microsoft mouse, too (that’s the new version of it, but it’s essentially the same). And I love it as well.

I know it boils down to a personal choice, but if you’re in the market for a new keyboard, you should at least lay your hands on one of the ergonomic keyboards—I’m glad I did.

Welcoming 2007

It’s hard to believe it’s 2007. My sister is exceeding in her second year of college, and that in itself is crazy. Overall, it was a good year. I graduated from WVU and started graduate school in something I enjoy: software engineering. I also started working full-time as a software engineer with IRC, thankfully giving up my old job at Coca-Cola (which consisted of 10-14 hour days on weekends and holidays only). But I’ll have to admit, the most gratifying news of the year was my engagement to Amie. Like I said, it was a good year. While I’m not really the type to set a new years resolution, this year there are a few things I’d like to change and/or do.

  1. Read more books. I got a few for Christmas, so we’ll see how it goes.
  2. Use a calendar on a daily basis. I’ve come to learn that my life is getting a little busier than I’ll admit, and a calendar would help me out tremendously. I like Google’s calendar, but it’s the only one I’ve used. Any other recommendations?
  3. Keep a consistent workout schedule (yes, with cardio).
  4. Increase my frugal ways and live on a reasonable budget. I’d like to learn more about investing, too, and do the most with my money at a young age. As expensive as life seems to be, I have a feeling I’ll need it.
  5. Learn a new programming language. This will be extremely tough, as there’s little motivation to do it. I just think it would be good for me if I’m honestly going to pursue this field.
  6. Take more pictures.

I guess that about sums it up. I’m sure there are other things I’d like to accomplish this year, but honestly, I’ll be lucky to get through 20% of what I’ve just listed. But that’s the idea behind resolution’s, right? Spend some time the last week of December and the first week of January deciding how you want to be introduced to the new year, and once you’re acquainted, you can give up. Well, that’s how I do it, anyway.

Good reasons to write daily

While I’m not that good at it, I’ve come to love writing. Over the last year or so, I think I’ve learned a lot from writing. The fact that I publish some of the things I write, helps me to evaluate and think a little more about what I’m saying. Not only for contextual purposes, but also for presentation. And I think that’s a good thing. Writing helps to refine the way I think. And maybe more.

Each time we write our voice becomes clearer, more focused, and stronger, until our writing is inseparable from our voice. Everything we write is written about us. —Liz Strauss

I think that’s a good quote. This article explains a lot of the things I think I feel related to writing. It lists ten reasons to write and publish those writings on a daily basis. I think it’s interesting, and for me, somewhat captures why I post. And just because it seems to fit here, I think Seth Godin is one of the best and most inspiring writers I’ve come across.

Five things you don't know about me

I very rarely participate in these type of things, but there’s really no reason not to. I’ve been tagged by Lee Kraus, so here are five things you probably don’t know about me:

  1. I hate all instant messenger applications, with the exception of Google Talk. If I had it my way, it’s the only one I would use. But other requirements (i.e., work) don’t allow me to do so. Instead, every morning I startup 3 IM services (one of them being MSN Messenger—puke). Google Talk is smart, simple, and unobtrusive.
  2. I’ve never been on a plane. That’s not to say I haven’t traveled, I’ve just never been on a plane. I’m willing, but believe it or not, the opportunity never really presented itself.
  3. I’ve been hit in the face with a baseball more than five times. And not because I’m uncoordinated. I’ve played so much baseball in my life, those things just happen. For the record, a baseball isn’t as easy to see when the sun goes down.
  4. I don’t like talking on the phone. In fact, I despise it. I think I’m too impatient or something. I get irritated quickly. For example, if I’m on my cell phone and I lose signal, I’m done. I close my phone and put it my pocket. Phones are just annoying to me. Maybe that spawns from my anti-social side.
  5. I’m engaged to a wonderful girl named Amie, and our wedding is planned for May 12th, 2007. And she’s my best friend.

So there you have it. I think I’m supposed to tag 5 other people, but I probably won’t. I don’t know who it would be, anyway. Oh, and I still hate the word meme.

My experience with a MacBook

At work, we just got a new MacBook, and my boss let me take it home for a day or two. So far, I love it. It is so amazingly smooth, fast, and intuitive. Everything I thought should happen, did. Remember, I’ve only spent a minimal amount of time on a Mac, and that mostly came from taking Stat quizzes during my undergrad. So I knew nothing. I absolutely love the two-finger scrolling available on the touch pad—it makes navigating so much easier. I may even be able to use it without a mouse. And the view of all open applications was awesome (not sure what it’s called, but the F9 key). And the slide up feature (F11? F12?). And the Doc. And the entire thing.

Aside from loving it, I do have a couple of issues. They’re not really issues per se, but more like questions/concerns. So here they are:

Shiny screen—I’m pretty sure there is an option to choose the “xbrite” type of screen or a regular screen. For me, I think the screen was a little too shiny. Rather than viewing the screen perpendicularly (for lack of a better word), I had to angle it a bit to get rid of the glare and see the true colors.

Testing in IE—If I were to get a Mac, I would move all web development work to it, but I still need to be able to test on IE (mainly IE6). I’ve read about parallels, but I’m not sure how it works. And I don’t know if IE for Mac has the same rendering as IE for Windows (a.k.a. painfully wrong). Anyway, specifically using Rails, migrations, and subversion, it’s no big deal to update and run it on a Windows machine, but I would imagine there are better ways.

Safari’s bold-ish text rendering—This isn’t necessarily a bad thing, and I’ve read that Safari handles type beautifully, but it looked a little “bold-ish” to me. Is that just how it is? And how does Firefox work on a Mac? I would assume it’s fine, but I didn’t install anything other than what’s already there. Safari seemed to handle everything perfect, so I don’t think there are any issues using it, but I’m very partial to Firefox these days.

Photoshop—I’m guessing it’s extra to get Adobe Photoshop on a Mac? Someone once told me it came pre-installed as part of what you buy, but that doesn’t seem to be the case. Unless I just didn’t see it. Anyway, it would be hard for me to not use Photoshop when building a site, but I’m not attracted to the thought of buying it extra, either.

Overall, I’m sold on the Mac. Now I just have to figure out how to come up with an extra $3,000, and decide if I want a desktop or a laptop (right now it’s 60/40 with the laptop in the lead). Until then, I’ll keep dreaming. Oh, and Amie was right. I did end up posting about the MacBook… I just couldn’t resist.

Productivity and properly aligned code

I’m obsessive-compulsive to some degree. Maybe it’s the “designer” in me. When writing code, so much goes into being productive: the monitor, the keyboard, the mood, the editor, the language, etc. Positioning code, for me, is no different. I think this causes me the most headache when working with others. Most of the people I work with use good programming practices, but not everyone feels the same about their style. Personally, I prefer the tab set to 2 spaces and one line in between methods. I’d say I’m the only one (here) who actually cares about spacing, but I don’t know that I can help it. When it’s my turn to work on a file someone else has been editing, I often go through the entire thing and reorganize the spacing and alignment, first. It can be time consuming, but I think I’m more productive when I know everything is formatted appropriately. I can think better. For me, properly formatted code means clean code, and clean code sets the mood, and I’m never more productive than when I’m in the mood to program.

Finishing out the semester

From Thursday evening to Sunday evening, I’ve been doing homework pretty much non-stop. Let’s look at it in terms of hours. Since Thursday after work I’ve spent 32-35 hours finishing out the semester. It’s been a frustrating couple of days, as I’ve had to pick up the slack for group members who “forget” (on purpose) their part of certain group assignments. I’d much rather work alone. Anyway, I’m really looking forward to the next 4 weeks of no evening class and no lengthy assignments. Plus I’m not working Coca-Cola through the holidays this year, which is a first in 6 years for me.

And on a side note, I’m getting tired of reading words that contain meme. It seems like they’re all over the place now.

It's all insignificant

I often reach a point of intense focus while working. Whether good or bad, I have the ability to tune out other things around me, and focus solely on the task at hand. A small part of me realizes that can be bad, since that mentality steers toward an obsession. But the majority of me realizes that simply means I like what I do and I work hard to do the best I can. And this doesn’t only apply to web development; I can usually find this level of intensity on problem solving in general.

Does this mean that’s what I care about the most? Hardly so. Family and friends are among my top priorities. Particularly, Amie. I’m not saying Amie takes precedence over my family per se, but there will come a time when we’re ready to start our own family, and that does indeed bump her up in the rankings. So in that regard she’s my life, my future, and I love her more than anything.

What am I trying to say, exactly? I’m just saying that life is much more than work and how focused you can be on a project. If things are disturbed with any of my life-long priorities, that’s a barrier my “intense focus” cannot breach. In fact, I rarely think about anything else until those things are corrected. Take away web development, I’d move on. Take away my wife-to-be and my family, I’d be devastated to a point of no return. Compared to that, everything else is insignificant.

Note: I’ve purposely left religious context out of this post. But for the record I’m well aware that God plays a paramount role in blessing me with the things I care about most and I have Him to thank, first and foremost.

Hiring a new (web) designer

There are important things to consider when designing and developing a website. Most of these things a person can learn through reading and personal experience. But I’m convinced that a large part of design stems from creativity and artistic talents. Unfortunately, these are things that cannot be taught. There’s more to designing than meets the eye, and often it takes another good designer to realize that. Just because Bob Ross makes painting look easy, doesn’t mean it is.

I’m in no position to hire anyone, but if I were, I’d go about it from a different angle. There’s a saying that pops up every now and then, “a picture is worth a thousand words.” I think that’s true. As an employer (which I’m not), what would I want in a new designer? Hmmm… here’s how I’d find out…

I would go through a normal interviewing process, scanning previous works (assuming he/she brought some sort of portfolio), discuss important web-related topics, maybe a few more random, seemingly meaningless questions, and off you go. But not before I gave out the assignment: “You have one week to build a site that will reflect you as a designer. On this site, I want you to write why I should hire you, and what you think about [my] company. The site can be one page or ten pages; it’s up to you.” There would be no answers to any questions asked, but the questions would be noted.

What an employer cares about is what the designer can do now… today. And within time constraints. From this, you could see how creative the designer is; his/her style; how much the designer cares about what he/she does; his/her passion; how fast he/she can work; how dedicated the designer is to the task; the designer’s ability to self-direct him/herself (by the limited number of emails/questions); how well the designer understands markup; how well he/she follows web standards; and finally, how well he/she can write. Good, clean writing can say a lot for a person. I’d then narrow down the choices to three, and call them for a second interview. I would now know first hand what these designers can do given a minimal amount of time.

Personally, I would love to have an interview like this. And I think those who have a passion for design would agree. Of course, this would take place in a world where it didn’t matter who you knew. A world where the best man wins, and not because you know the best man.

There's not enough time in the day

I get up too early and go to bed too late. I know, it sounds like I’m complaining. And maybe I am. But it’s not about a lack of sleep, it’s more on the thought of daily accomplishments. I have a lot going on right now, which means I need productivity to get everything done. At a glance, it doesn’t seem like my life is any more hectic than it was during my undergrad; but each day goes by, and I feel like I’ve accomplished nothing. In order to go to the gym I’ve decided to get up at 5:30 AM every morning and lift before work. I’ve been doing this for around 3 months and it seems to work out great (the only downfall is getting up at 5:30 AM). You would think that would free up my evenings, but it doesn’t. By the time I have class, eat dinner, do anything else, it starts to get late. And just because it gets late doesn’t mean I’ll go to bed, so I often lay down between 12:30-2:00 AM.

Lately, I’ve been feeling stressed (which is somewhat abnormal for me) because there simply isn’t enough time in my day to accomplish everything. Sometimes I neglect my priorities because I have other, personal things I want (and like) to do. That makes it more difficult. Should I sacrifice my time and spend the entire day on a strict schedule? I don’t think I could do it if I wanted to. All I need is an extra 8 hours. But until I figure out how to stretch time, I’ll be stuck on this merry-go-round of things to do.

The art of German engineering

I’m a fan of Audi and VW for a number reasons, but mostly because of the craft and quality that surrounds their design. I’m not sure that everyone truly appreciates the engineering that goes into an Audi/VW1, but the details really stand out to me. My favorite car for years has been the Audi RS4 Obviously, I’m in no financial shape to get my favorite car (probably never will be), so I settled for my favorite realistic car: 2004 VW Jetta GLI. They only built this version of the GLI for two years, 2004 and 2005. I didn’t like the new (2006-07) style at all—it was too much money, anyway. I pinched pennies for a long time before acquiring enough to have a solid down payment, and in May of 2006 (after a 6 month search), I got one. And I love it more today than I did when I bought it.

Lexus is among the most innovative manufacturers out there, but I personally think the engineered quality and design of an Audi/VW surpasses any of its competitors. Audi has a new car coming out in year or two, known as the Audi R8. Have you seen this, yet? It’s a little on the exotic side, but nonetheless, it’s yet again, perfect for its class.

1 I’m aware that not everyone necessarily likes the way they look.

Not in the mood

Today, I’m just not in the mood to program. Or do homework. Or think at all. Ever get like that?

Change of plans

I’m no longer going to Lockheed, and it boiled down to a decision on my part. I’ve been awaiting this security clearance (which has yet to come through) for almost a year now. During this past year, I’ve been a “temporary” office employee until I was shipped off to Lockheed. Of course, back in January (when I accepted a full-time position), I thought I might make it until February. Then maybe March. Long story short, I’m still here in the office. I’ve been using my laptop for work since every day was in question.

IRC was (is) on the brink of some company restructuring that is to take place in January. After realizing this, I wasn’t sure I wanted to go to Lockheed anymore. I know clearances are expensive, and I didn’t know IRC was able to tell Lockheed, “Sorry, you took too long.” Well, we all had a meeting to discuss the options. It ended in a proposition that would set up a nice situation for January. Ultimately, I could accept the offer and stay in the office, or decline and still go to Lockheed. I chose to stay.

Honestly, I don’t know what I’m missing by not going, but here’s what I assumed it to be:

  1. no internet
  2. small cubicle setting
  3. no lenienc