Skip to content Skip to navigation
Archive for 2012

At midnight Pacific time last night, the highly anticipated Diablo 3 was released. Judging by all the negative tweets I woke up to this morning, I’m glad I didn’t buy in to the hype. It seems as though virtually everyone failed to connect to the Blizzard servers last night, something you’re required to do even for single player games.

This point really gnaws at me. On one hand, I’m disgusted that you have to connect to a remote server to enjoy a single-player experience. I’ve seen some claims that this was done to prevent cheating, but we all know that this policy is about software piracy. Who really cares if I cheat while playing by myself? No one, that’s who.

On the other hand, I use Steam all the time, which is an (albeit loose) analogy to Blizzard’s Diablo 3 strategy. I typically connect to the Steam servers before I play, though for virtually all of the games I own, it’s not a requirement. Perhaps it’s the fact that you’re required to connect that bothers me. It’s one more online account that I’d rather not deal with.

A few journalists in the gaming world have predicted that this is the future of single player gaming. Only time will tell whether or not that’s true. Maybe this launch will sour people’s opinions enough that mandatory online gaming will be deferred for a little longer. As a single-player gaming enthusiast, I certainly hope so.

Merging Sites

May 1, 2012

I’ve recently been thinking about my web presence, and how it seems to need an organizational change. Both this site and its sister (Born Geek) don’t get updated near as often as they once did. Worse, the content at Born Geek has actually shrunk with time, as I’ve sunset projects and articles there. Keeping two sites up to date no longer makes sense.

As a result, I’m thinking about merging the content of this website with that of its sister, essentially shutting down this sub-domain in the process.

I am in the early stages of moving my photos to their own site (I no longer want to confine them to this site’s design), and once I do that, posts will be the only real content left here. That said, there are over 750 posts at the moment; plenty of content to have to move.

What do you think? Do you readers have any opinions for or against this move?

Photos From Chinqua Penn

April 28, 2012

Way back in August of last year, my family and I visited Chinqua Penn plantation, located in Rockingham county, North Carolina. I forgot to post the pictures from that trip, but I’ve finally gotten around to it. This location was an incredible place to visit. Sadly, the house and grounds are now closed to visitors. This past week, the entire contents of the house and grounds were auctioned due to bankruptcy (netting over $3.4 million). It seems that the owner misappropriated money from the companies he owns, and faces several criminal charges, including unlawful cigarette trafficking charges in Mississippi. He will likely face time in prison, and is expected to plead guilty in May. You can learn more on the background of this unfolding story at the Greensboro News and Record.

Falls Lake Photos

April 20, 2012

I’ve finally gotten around to posting another photo set, this time from a visit to Falls Lake State Recreation Area. There are a number of other sets in the queue that I’ll be getting to in the next few weeks (I hope).

Last night, I finished reading Zen and the Art of Motorcycle Maintenance: An Inquiry into Values, by Robert Pirsig. What a thought provoking book! It’s essentially an introduction to philosophy, by way of the story of a motorcycle trip that a father (the author) and his son take across the country. The narrative bounces between events of the actual trip and a series of Chautauquas on the author’s nagging question: “What is Quality?” His explorations of what Quality is and what it means for each of us is very intriguing, and has given me some new insights into what I should be striving for in my life.

That said, this book isn’t the easiest read. It’s clearly a volume that warrants a second (and perhaps, third) reading. So much food for thought is presented to the reader, that it becomes difficult to digest. Approach this work with an open mind and with an eagerness to learn. Anything less and you may find yourself bored from the start. If you’re willing to read through it, however, I can guarantee that this book will leave you pondering the same questions that have haunted philosophers all these years.

One other, similar book that I’d like to mention in passing is The Mind of the Maker, by Dorothy Sayers. I read this particular title before reading Zen and the Art of Motorcycle Maintenance, and found it equally as intriguing. This title is an even more difficult work to get into, but there are such gems embedded within it that the work is worth the effort. Although Sayers’s work focuses primarily on creativity and the art of creating, it inevitably ends up treading over some of the same territory that Pirsig’s work does. Quality, it turns out, is at the root of everything; very intriguing stuff.

My last post dealt with a few issues I encountered during my first 30 days of using Stack Overflow. I would now like to propose a few ways I think some of these can be smoothed over. This will be my final post on the Stack Overflow topic; I think I’ve pretty well worn it out.

Hide user scores by default
New users shouldn’t see other people’s reputation scores by default. If the primary goal of scores is to identify the most “helpful” users in the community, use a color-coded or sliding scale graphic instead. Perhaps low-scoring users are on the “cool” end of the spectrum, while high-scoring users are on the “hot” side. Hiding scores by default seems to me to be an easy way to take away some of the competitiveness, while leaving some sort of means for determining a contributor’s “worth” to the community.
Implement a back-off for power-users
The more “powerful” a user (i.e. the higher their score), the longer they should be locked out from answering new questions. A delay of this sort doesn’t need to be giant; a few minutes would suffice. For example, perhaps new users can answer questions immediately, an “average” user can’t answer new questions for three minutes, and power users are locked out for five minutes. This would encourage newer users to answer the newest questions, and would make it harder for power users to snatch up points for simply being the fastest on the block.
Implement a delay for accepting answers
If a back-off delay is implemented, clearly an answer acceptance delay is needed. Let’s say that answers for new questions cannot be accepted for 10 or 15 minutes after they are asked. This would give everyone a chance to form well thought out answers to the questions asked, and would help keep new users from gaming the back-off delay.
Create a better user manual
Hire a competent writer and create a better user manual. This should be self explanatory.

If you have thoughts on these suggestions, I’d enjoy hearing them.

Comments Off
Tags:

Having used Stack Overflow for over 30 days now, I’d like to share a few of my personal gripes with the site. Those of you who are frequent Stack Overflow contributors may disagree with the views I express below; if so, feel free to leave a comment. I’m going to try my hardest to point out issues that seem particularly problematic to new users. My next post on this subject will cover a few ways I think some of these problems could be smoothed over.

Stack Overflow is a game
This is a controversial viewpoint, but one that has some merit, especially for the dedicated user base. Every Stack Exchange website has both points and achievements. Given those two incentives, many dedicated users seem to play solely to “win.” If you look at the activity reports for some of the top-scoring users, you’ll find that they spend many hours a day, every day, answering questions and leaving comments. I recently viewed one person’s profile, and saw that he had answered several questions an hour for over 8 hours in a row (he must not have a very demanding job or life)! How can new users “compete” with folks like this?
The game is, by design, not winnable
The ultimate irony is that the “game” cannot be won. There’s no end-point, no game-over screen; just a never-ending leader board. Other than seeing your name among the top contributors, and apart from gaining a small set of user privileges as your score increases, what’s the point? Why have points and achievements at all? I can understand wanting to foster constructive discussion, but won’t that naturally occur given the question and answer voting mechanisms? It seems to me that if points were left out altogether, good answers and good questions would still be easy to find, taking precedence over less useful material.
Being fast is often a requirement
This is my pet peeve with the site. Because Stack Overflow itself has so many “players,” and because they are all playing for the same points, it’s inevitable that faster players end up scoring more than slower ones. I pity the person who yearns to contribute, but whose motor impairment makes it difficult to respond in a timely manner. So too the person who may really know what they’re talking about but, because they post in haste, their answer contains a mistake, resulting in its being down-voted by trigger happy power users.
The instruction manual stinks
Like most documentation developed by engineers, the training manual is way too thin. I cannot stress this highly enough. For the first few days on the site, I was overwhelmed by all the various rules and regulations. Most of my “education” came through mistakes I made early on, some of which resulted in a punishment to my score. It doesn’t help that one must dig down into another site to find a fuller set of instructions, many of which should have been in the training manual to begin with. A set of tutorials describing how the site works is sorely needed. I’m a reasonably intelligent person, and if I’m having trouble, think about how many others are out there having the same problem.
Established users are generally rude to newbies
This is a problem that cannot be solved. People are jerks. But the points system really exacerbates the issue. I’ve seen so many negative comments towards new users trying to answer questions; especially towards those who make mistakes in their answers. I had hoped that people would be friendlier, seeing as everyone’s goal is (hopefully) to learn and grow as programmers. Sadly, that wasn’t the case. I guess I should have known better.

Now that my 30 days are over, I will be dialing back my use of the site considerably. My original intention of helping others may have been noble, but it turns out that there are already too many operators standing by. I question whether that game is really worth playing.

Tags:

In my last post, I complained about my initial experience with Stack Overflow. I decided to give myself 30 days with the service, to see whether or not I warmed up to it. Now that those 30 days are over, I will be posting several of my thoughts and observations. This first post won’t be about the site itself; instead, it will cover some of the things I learned during my 30 days. A second upcoming post will cover some problems I think exist with the Stack Overflow model, and my final post will provide a few suggestions for how I think things can be improved.

Let me first say that I learned a lot simply by browsing the site. Reading existing questions and their answers was fascinating, at least for the programming topics I care about. Some of what I learned came through mistakes I made attempting to answer open questions. Other bits of information just came through searching the web for the solution to someone’s problem (something that a lot of people at Stack Overflow are apparently too lazy to do). Without further ado, here’s a list of stuff I learned, in no particular order (each item lists the corresponding language):

C (with GNU Extension), PHP (5.3+)
The true clause in a ternary compare operation can be omitted. In this case, the first operand (the test) will be returned if true. This is a bizarre shortcut, and one I would never personally use. Here’s a PHP example (note that there’s no space between the question mark and the colon; in C, a space is necessary):
$a = $b ?: $c; // No true clause (too lazy to type it, I guess)
$a = $b ? $b : $c; // The above is equivalent to this
Regular Expressions (Perl, PHP, possibly others)
The $ in a regular expression doesn’t literally match the absolute end of the string; it can also match a new-line character that is the last character in the string. Pattern modifiers are usually available to modify this behavior. This fact was a surprise to me; I’ve had it wrong all these years!
Bash
I found a terrific article that details the differences between test, [, and [[.
Firefox Extensions (XUL, JS)
You can use the addTab method in the global browser object to inject POST data to a newly opened tab.
Perl
The way I learned to open files for output in Perl (over a decade ago) is now not advised. It’s going to take a lot of effort on my part to change to the new style; old habits, and all that.
# Old way of doing it (how I learned)
open OUT, "> myfile.txt" or die "Failed to open: $!";

# The newer, recommended way (as of Perl 5.6)
open my $out, '>', "myfile.txt" or die "Failed to open: $!";
Comments Off

Stack Overflow has always been a better-than-average resource for finding answers to programming questions. In particular, I have found a number of helpful answers to really obscure questions on the site, many of which helped me get past a road block either at work or in my hobby programming. As such, I decided I’d join the site to see if I could help out. Never before has a website given me a worse first impression.

In an effort to keep the community as clean and orderly as possible, new users have very little rights from the get-go. On paper, this is a pretty nice idea. In practice, it makes it difficult for new users to gain any traction. I read through a number of questions today and had several comments for the original poster. Unfortunately, I couldn’t make my comments, since new users cannot post comments on articles they themselves didn’t write (you have to gain “reputation” in order to gain that privilege). Posting my comment as an “answer” to the original question seemed like bad form, so I didn’t do that.

Looking elsewhere around the site, I found a few questions I felt I could answer. As soon as I went to answer said questions, someone else (in some cases, a number of other people) had jumped in and beaten me to the punch. I never had a chance to provide a helpful answer. Not only do you have to be very knowledgeable about a subject, you’ve also got to be very fast in providing said answer. I eventually did provide an answer for a question, then realized that my approach wouldn’t work. Before I could take action and modify the answer, my submission had already been modded down by several people, several of whom left snarky remarks. What a warm welcome for a new user! I subsequently deleted my answer.

I later searched the Meta Stack Overflow site, looking for advice for new users. It turns out I’m not the only one who thinks that it’s very easy for new users to get dumped on. Take a look at the questions revolving around new users on the site, and note how a number of them revolve around how hard it is for new users to improve. Documentation for how best to contribute as a new user is sorely needed.

The folks who manage these websites need to examine the barrier of entry for new users. I fully understand the need for keeping spammers and trolls out, but someone needs to develop a tutorial (or better yet, a set of tutorials) for how to properly use the website. New users do occasionally need hand holding, especially with websites as complicated as Stack Overflow. I think the community as a whole would benefit, and it would certainly help people like me who have been quickly overwhelmed by what the site offers.

At some point last year, I noticed that the Google snippets for search results pointing to my photo section at this site were incorrect. Instead of listing helpful content, they instead showed page navigation information. Here’s an example:

Monkey Album Snippet Google Snippet Example

Note how in this example, the snippet lists the links that appear in the navigation section of my site. That’s clearly unhelpful to users who find my content through search engines. As a result, I’m trying to fix this issue. Today, I made a change to include appropriate meta description tags on each page. The tags are as follows:

  • All “static” pages (list of albums, list of collections, and favorites) now use a suitable static page description
  • Album pages use the album description itself for the meta tag contents
  • Image pages use the image’s alt-text for the page description

I’m not sure if duplicating the content (in the case of the album description) is a wise decision or not, but I don’t know what else to put there. I suppose I could truncate the data to maybe 150 characters, but that might seem strange on a Google search result page. Do you have any suggestions for how search results of this type should appear? Any ideas would be welcome.

Comments Off