Thursday, November 26, 2015

If it's hard, there might be a better way

When I watch technologically-novice people using computers, I frequently scream inside my head "there's a better way!" I hear such people saying "computers are so hard to use" after seeing them shoot themselves in the foot with an inconvenient configuration.

I also sometimes catch myself internally complaining about a large program with which I am unfamiliar, like Adobe Flash. Such programs have immense amounts of work and testing poured into them, so they can't be impossible to use. Once I do some research, I usually find that there's a much better way to accomplish what I had in mind.

Monday, November 23, 2015

Maybe you deserved it

Every so often when reviewing new users' posts on Stack Overflow, I see a comment from a post's owner asking why they're getting downvoted. Now, I try to explain whenever I downvote, but the quality of some of these posts - especially questions - is just bad. It's clear that the users that post this stuff didn't put in any effort, and they certainly didn't read the help center's article on how to ask, or even the tips that are put in their face before they ask a question.

A lot of these low quality questions are just requests for a task to be done for them. I'm sure their posters saw that other people's questions got great, helpful answers, so they joined the site and threw something up, expecting to get something similarly amazing. When they instead received downvotes and possibly closing, they must not have considered that it was because they didn't follow the instructions and try.

One such comment really hit me in the face: "I tried but this is the best I can do" (paraphrasing, since I don't remember the exact content). The question was a wall of code, with no visible attempts at problem solving and no evidence of research. Then there are the whiny blog posts from people who posted a question they thought was good, but got closed. Sure, some people will downvote without good reason, but it's highly likely that the poster deserved it.

Then there are those in real life that brush off valid criticism and carry on their way. These are the people who would call someone rude or invasive for gently suggesting that, say, smoking is unhealthy, or that some other behavior is not appreciated in the venue. It's certainly true that for every action there will be people who like it, people who dislike it, and people who ignore it. It's not true that everyone who provides criticism is a "hater."

Success in Stack Overflow, and in life, requires that you actually have merit. Don't let criticism get you down, but stop to think that maybe you deserved it - and then improve your ways.

Saturday, November 21, 2015

Internet Sympathy vs. Competency

As a member of Stack Overflow and Super User with over 500 reputation on each, I have the privilege of reviewing content in the Triage (SO only) and First Posts queues. Basically, I am presented with a fountain of questions and answers that have a strong chance of being unacceptable in some way and therefore worthy of moderative action.

One thing I have noticed is that users who have their avatar set to something involving the French flag - in support of the victims in Paris - tend to produce lower-quality content. (Context for future readers: there were several serious terrorist attacks in Paris a week or so ago.) By "lower-quality content" I mean that the question shows little research effort or says in so many words "give me the code", or that the answer is a guess or actually a comment.

Now, I know that content sent into these review queues is mostly from new users, and it makes sense that newly registered users with the chance to set their avatar for the first time would be more likely to set it to something than existing users would be to change it. I'm not convinced, however, that the phenomenon is that simple.

My guess is that there's a negative correlation between being thinking/analytic/StackExchange-material and being the type of person to set one's avatar to this and that in support of the cause du jour. People of the latter kind prioritize feeling, and there's probably a "fitting in" political correctness motivation there too. Armchair activism makes those of a certain personality type feel like they've done something, while thinkers (for which StackExchange is built) actually need to do the thing. Therefore, thinkers - producers of quality content - help the cause in meaningful ways, or just remain disengaged from the events if they're not interested.

We pray, but never move
We sing, but never do
It's time we get our hands dirty
Realize there's a whole lot of hurting
-"Be One", Natalie Grant

Friday, November 20, 2015

Representation vs. Reality

I have noticed a tendency in people to confuse how something looks with what it is or how it works. Take, for instance the Registry Editor in Windows.

My view of the Registry Editor, looking at HKLM\SYSTEM\RNG
In every folder (technically called "key"), there is a line in the main pane titled "(Default)", usually with containing the string "(value not set)" in the Data column. Notice how I didn't say it contained that text as its data. You'd be surprised how many programmers write that literal text to an entry literally titled "(Default)".

The thing is, there is no entry called that, and its value isn't that string; it's not set. What the Registry Editor calls an entry named "(Default)" is a holdover from 16-bit Windows. It could be thought of as data attached to the folder/key itself, rather than an entry in it. "(value not set)" indicates an absence of that data.

So, make sure you're not confusing the representation of something with reality. Do some research; see what's really going on.

Sunday, November 15, 2015

Bind the Minimum Wage to the Consumer Price Index

This is an excerpt from a paper I wrote for a "government and politics" class. After sharing my ideas, I was encouraged to post this one online.

The minimum wage exists to prevent employers from exploiting their workers. However, as the minimum wage is increased, it decreases the demand for labor. Small businesses simply stop hiring unskilled workers when the wage required to hold an employee is above the value of the employee’s contributions. In this way, the minimum wage, when set too high, prevents small businesses from expanding and makes it difficult for unskilled workers to get any job at all. As with other price floor impositions, it creates surplus that few are willing to buy. Additionally, a minimum wage that grows too fast removes the financial incentive for those unskilled workers to become skilled, leading to a decline in overall productivity.


It is, on the other hand, reasonable and appropriate that the minimum wage be periodically increased to account for inflation. The Consumer Price Index measures changes in the value of the dollar by comparing the prices of certain goods in the present to their prices at a fixed point in the past. If the minimum wage is set to an agreed-upon dollar amount in the present and bound proportionally to the CPI, it will forever have that same value; the periodic debates on whether to increase it and by how much will be gone. The cost of living is different in different areas of the country, so it is reasonable that state and local governments should decide on the present dollar value that buys the goods needed to live in their areas, and then bind the growth of that amount to the CPI.

Friday, November 6, 2015

Landscaping vs. Decapitation

There's a lot of talk in politics about "leveling the playing field" so that everybody gets the same opportunities. Usually, the same people that use that phrase also support major tax rate increases for the successful, or all-out income redistribution at the extreme. Those policies push apparent success toward uniformity.

The leveling of the field is an important goal. It's really a shame that a person born in a certain place could have almost no hope for a high-paying job compared to someone born just a few miles away in a nicer city. (Bring your own race anecdotes.) However, it's not such a noble goal to make everybody the same.

Let's break out the physical world analogies. Suppose we have a group of people standing on a field, and that this field isn't level (i.e. some parts are physically higher than others). These people are going to partake in some competition or event in which height is advantageous. Of course, it's not fair that some people should start lower than others. The event organizers should do some landscaping to ensure everybody has the same chance before merit is considered.

However, let's suppose the event organizers subscribe to the "redistribution" philosophy, and want everybody to have the same success - that is, the same final height - so they need to take off from the top. That's not landscaping, that's cutting people's heads off.

So before we start trying to level the playing field, let's stop to make sure we're landscaping the ground under people's feet, not decapitating them.