fighting the lack of good ideas

it’s not my problem

Security, air quality, water potability, land use, and the list goes on and on. When any one thing is too big to be one person’s problem, it becomes a problem for the populace, and once it’s everyone’s problem, it’s no one’s problem.

Securing airports is too complicated for one person to do, so a committee tries to do it, and we get security theater (to quote Bruce Schneier). Security should be everyone’s concern, and though it appears to be, we relegate it off to some government agency to handle for us. And then, when they do stupid stuff, we bitch and moan, or just suffer in silence, or sometimes we cheer because we don’t know any better.

Voting is not any one person’s problem – it’s an issue which every registered voter in America should have high on their priority list to do every year. I will be going to the polls in Mebane NC on 7 Nov 2006 to vote. Because if I vote, I exercise my right to have a say in how my government works. Those citizens who elect to not go to the polls to vote lose their chance to have a say in their government. If you don’t vote, you relegate your thoughts, opinions, judgments, and preferences off onto other people who, by definition of ‘opinion’ and ‘preference’, will not always think and act like you.

People who don’t vote are like people who toss candy wrappers out the windows of their cars on the highway. They figure a wrapper or two, here and there won’t affect anyone. And they’re right – to a point. A handful of candy wrappers, cigarette butts, and napkins won’t affect anyone. But it’s not just the candy wrapper they chuck out the window, it the other 14 million drivers who think the same way, and then bitch and moan over how gross the highways look.

Voting and being disappointed with the results does allow you to complain about the outcome – at least you threw your ballot and tried to make your preference win. But if you don’t vote, you can’t complain about the outcome because you didn’t get off your lazy butt and go to the polls. In fact, you don’t even have to get off your lazy butt to vote – you can request an absentee ballot, and vote by mail.

I think we should adopt a policy in this country similar to the one the Australians use – voting should be required if you are registered. Australia consistently has >90% voter turn-out. They fine people who don’t vote.

A lot of people in America are unhappy with their government officials, but an awful lot of them won’t show up on Election Day to try to change the situation. I don’t actually care whether you are a Republican, Democrat, Libertarian, Socialist, Communist, Green, or Independence party member. I don’t care if you’re affiliated with a political party – if you’re an adult in the United States and you’re registered to vote, you should be at the polls on Election Day.

Voting is a privilege in America that many nations’ citizens do not have. Don’t squander your advantage. Unless, of course, you’re content to let other people determine your nation’s course.

is plagiarism really so bad?

There has been a lot of talk recently about the huge issue of plagiarism among students. Ars Technica had an article about it on 20 October []. I have also heard the issue discussed on radio talk shows, and been lectured on the consequences of being caught plagiarizing by almost every professor I’ve ever had.

The problem of plagiarism, though, is not new – it’s just easy now. With millions of articles, essays, and papers on thousands of topics just available for the snagging online, it’s not really a surprise that more and more students are engaging in this form of cheating. It’s also not a surprise that teachers are catching these acts of defiance more and more readily. Back in the good ol’ days, when to plagiarize you needed to copy by hand from a printed text without citing it, it was at least a time-consuming process. But no more. Now, it’s as easy as selecting the chunk of the paper you want, and copy-pasting it into your own document. Maybe you’re even nice and do a little bit of paraphrasing so it’s harder to distinguish from your own real writing, but it’s still cheating.

I’m going to wax a little preachy here, but the benefits of plagiarism are only very short-lived. Sure, if you don’t get caught, you get a decent grade. But graduating on lies won’t help you in the real world. Unless you’re planning to do something that requires no honesty, like being a drug dealer, or already have more money than you’ll ever need (there’d be a nice problem), you’re going to get caught. You might make it all the way through school and the early days of your job without anyone noticing, but eventually someone’s gonna realize you can’t do what your grades led them to believe you could.

I had a student once plagiarize my work in a programming class in NY. My professor came up to me after he handed the assignments back and told me what happened – someone copied what I had done and submitted it as their own work. What got them caught was that they forgot to change the ‘written by’ comment I had in the program (none too clever on their part), and my professor gave them a 0 on the assignment. His typical policy was to take the number of identical submissions and divide the grade by the number of identical submissions, and give that grade to each submitter. This gave an incentive to both the cheater and the cheatee (or sometimes the cheaters) to not cheat because all the grades would be affected.

Thankfully, I’ve never had a legitimate temptation to cheat on a test, paper, or project. Most of the time it was because I knew the material better than the other students, so cheating wouldn’t help. Other times it was because there were too few people in the class. But mostly it’s because there’s no substitute for real work.

follow the dollars

I came across this research project today, and though I don’t normally post multiple times in a day, you might find this interesting: Follow the Dollars. What I’ve found so far is that while Democrats seem to make up the majority of zip codes I have lived in, they do not donate to their party as heavily as Republicans. And from where I’ve lived, it’s not because Republicans are richer – if anything, it the exact opposite: Democrats tend to be better-off financially than Republicans in the areas I’ve lived. Maybe they just don’t care.

here and now – monopoly updated: follow-up

It’s finally been released, and I had a chance to play the new game with some friends recently who bought a copy. Following-up from my previous post, thankfully the publishers didn’t totally bork the game. The balance of the game is still good because all they did to update to ‘here and now’ was to multiply all of the dollar values by 10,000. That’s right – ‘Boardwalk’ (now Fenway Park) costs $4,000,000 not $400. All of the railroads have been swapped for airports, and the utilities include an ISP and no Water Works.

Playing that game was fun – and not just because I owned over half the property within 45 minutes 🙂 (in a four-player game!). It was fun because the game is still the same – the values are just larger, and the properties more representative of the US as a whole.

And just in case you thought politics really was honorable, you can now buy the White House.

authority issues online

Ars Technica had an article recently [] discussing the prevalent issue of plagiarism amongst students, especially those in college. And a question was raised concerning authority in electronic resources. This is an issue I have had to deal with in the past, though I have found it somewhat amusing to hear teachers discuss authority in documentation – because I grew up just enough before the electronic era to think first in terms of paper and bound materials and how to judge their quality.

The prime example teachers use is that you can’t quote the encyclopedia as a scholarly source – it’s merely a handy compendium of scads of information, but is not, in and of itself, scholarly. The real scholarly sources are found in places like the Association for Computing Machinery‘s Communications, or the American Psychological Association‘s journals. Publishings that take a great deal of time to verify that not only are the materials published of good quality, but that articles discussing research are properly cited and documented.

I had a paper to write several years ago on comparing AMD’s x86-64 architecture and Intel’s IA32 architecture for the companies’ CPUs. Sources like Tom’s Hardware Guide were helpful to see real-world comparisons between the competing products, but the true sources of authority on the products were AMD and Intel themselves. I printed large chunks of the manufacturer’s technical documentation to backup conclusions I made in my paper.

Similarly, citing a post-graduate research paper on caching techniques is substantially more authoritative than citing Billy Bob’s Blog where he rambles-on about how that 64K L1 cahce on his processor is better than the 128K on yours because he’s really just a fanboy. Authoritative sources, generally found on .edu, .gov, and .org domains, though .com domains can be also, are hard to find because there is too much of a noise-to-signal ratio overall on the internet.

The biggest boon to the internet is also, perhaps, its greatest drawback: anyone – anywhere, anytime – can write anything they want on any subject; they can write on any subject even when they don’t know anything about it, or refuse to come to a rational conclusion from the available evidence. I love to hear people’s opinions a lot of the time – it’s the beauty of a free society that we can have differences of opinion. However, backing-up an opinion with data is far more impressive than just having an opinion.

I have an opinion on lots of things that I don’t necessarily share with lots of people because I can’t back-up those opinions with evidence of any kind – they’re sometimes just personal preferences without any specific reason.

However, I also have opinions on topics that I do share with lots of people because I can support my opinions and conclusions with data. Whether or not you come to the same conclusion I do is irrelevant, too – so long as I present the data to you for your consideration. In fact, some of the time I would argue that divergent conclusions can be drawn from the same data. I have, on occasion, done exactly that, too. When the available data doesn’t preclude one conclusion, or demonstrably favor one over another, I have sometimes made multiple conclusions in essays because picking one over the other wasn’t an honest treatment of the data.

I’ve strayed from my main thesis, so let me sum it up. Authority of sources isn’t assured by just one factor – author, publisher, host, length, etc – but rather by directly linking to the data used to produce the conclusions made by that source. No resource stands on its own as an authority on any topic. In order to establish credibility, any resouce must cite where their data came from – either through some kind of bibliography in the case of a paper, or experimental results, or that the resource is maintained by the people who designed and built what they’re writing about.

I wouldn’t place much faith in a rant against Ford by someone who has never driven or ridden in one since they have no data to back up their claims; though I might accept some of their claims if they were based on other people’s experiences.

The real question becomes, in my mind at least, how can authority be determined? After all, I could write some essay, link to a bunch of sources, and then others could use my paper as a scholarly source. But all of my sources could be unreliable opinions written by people who also just want to become known as authoritative sources.

I think the real means of determining authority needs to come down to the following factors: 1) is the article written in an intelligent form? 2) are the sources cited of an authoritative nature? 3) has the author written anything previously that can be considered authoritative? and 4) would someone who is a known expert in the field (perhaps a professor of the topic) agree that the source is not some crackpot?

Anyone who wishes to be taken seriously needs to be able to write in an intelligent manner. That doesn’t necessarily mean that what they write needs to be constructed only for others in the field to understand, nor does it mean that they have to express their expansive vocabulary and write in a convoluted fashion to be intelligent. Textbooks designed for 1st graders aren’t written in a complex form, but are intelligent – they speak to their audience at a level their audience can understand.

If the author has written other articles previously, it can help to read – or at least skim – his other writings to see if they’re also written in an intelligent fashion.

If the author is writing about something that someone you know has experience in (perhaps even yourself), would they agree with your conclusion that the author is worth-while to cite?

If you noticed, I skipped #2 on my list because it seems to create a recursive descent into determining the authority of the source at hand. Well, it does, but only initially. For example, if you have never read anything about security, you might start with David Kahn’s The Codebreakers. And then you’d look at the bibliography to see where he got his data from to write his book. After a cursory examination of his bibliography, and especially after reading the book, you’d have a good idea of where to look for other good authors on the topic of security. Bruce Schneier would pop up in your search. As would authors like Kevin Mitnick. Establishing authority based on cited sources is a skill that you can learn; probably you can learn it very quickly.

Learning to cite authoritative sources, and to skip those that aren’t is a time-consuming process early-on, especially for people who were never taught at a young age to use ‘real’ sources from the library, but have always relied on Google. Search engines are great tools, but like any tool, they require skill and proficiency to use well. When I write research-driven articles, I use Google a lot – but I also know how to filter my searches to get to good sources (at least, a higher probability of being good) quickly from using the tool frequently.

However, I also know when I’m hitting a brick wall and I need to go to the library to find what I need. And I’m not too proud to admit when I need help finding that elusive authority to draw from.

other drivers suck

I went to upstate NY for my fall break this past weekend. The trip up was great – until I got about 5 minutes from my parents’ house when a dumptruck driver decided he didn’t like Mazda Proteges and just changed lanes whilst I was next to him. Fortunately I-787 has fairly decent shoulders there, and I could avoid him. But what a jerk.

All through my stay in NY, and the first leg of my return to NC via NJ was good driving. But I got stuck for about 3 hours in traffic due to 4 crashes on I-81. My budgeted delays for construction of 20-30 minutes turned into just 5, but the crashes held me up for a disturbingly long time. All in all, they pushed my return time to NC to 2a Wednesday rather than about 2230 or 2300 Tuesday.

I’ve decided that other drivers need to be taken off the road. If you can’t look before changing lanes – and especially when you can’t use a turn signal, you should have your license revoked. If you do look and just miss somebody, you need better mirrors.

But the idiots who decide that watching the aftermath of a crash means that you need to slow down to 5 miles per hour, and – oh heaven forbid – not switching lanes until you’re at the crash are morons and need to be taken off the road.

Ahh. That feels better. Rant over.

ask the right question

If you’ve never read Programming Pearls by Jon Bentley, and especially chapter 1, you should. Even before finishing this post. Even if you never write a program or touch a computer.

Now that that’s out of the way, I can continue.

The biggest issue in answering any question is not the answer – it is determining what the asker actually meant when they asked you the question. I, as many other people I know, always start by answering the question I was asked. However, often as not, that was not the question they actually wanted answered. They didn’t know it wasn’t the question they wanted answered, but it wasn’t.

In Bentley’s book, he describes a programmer who needs to sort a list of approximately 10,000,000 items several times per hour on a very limited machine (it was originally written in the early 80s). After spending several minutes helping his programmer friend noodle-out a solution that might take about 2 days to write and about a minute to run each time, he twigs onto what he says he should have asked before answering his friend’s question: “what are you sorting, and why?”. Turns out his friend needed to sort a list of 7-digit numbers, with no duplicates allowed. Why? Well, that was an easy answer, too – he was working with a list of all of the assigned toll-free 800 numbers and needed to be able to ensure that any new ones beings requested and handed out weren’t already taken.

Knowing now what the end goal of the programmer’s question was, Bentley suggests a far simpler method that doesn’t even entail sorting – since the list to be sorted was known to be just 7-digit numbers, he could think about the problem as marking down in a tiny structure whether or not a given number was in use, and if it was, it wasn’t available.

Without going into the exciting computer science applications Bentley brought out (because, of course, you just read the first chapter :)), I want to emphasize how important it is to ask the correct question.

Far more times than you could ever realize, you will be asked a question that wasn’t at all what the asker intended. A common example, “do you know what time it is?” “Well, actually, I do.” I do this to people quite frequently, and not just because it’s fun to mess with their heads, but because I figure the question you ask is the one you want answered. When this turns out not to be correct, a follow-on question is asked that more accurately describes what they’re wanting to know: “would you tell me the time, please?” Ahh, there’s the difference – a question that might actually yield a useful response.

That’s a humorous, and perhaps trite example, but let me give another. A few days ago, a friend of mine taking an operating systems class in graduate school called me up for help with a program he had to write in C. Unfortunately for him, most of his undergraduate programming classes dealt with Java, and C is simply different.

His task was to write a program that would accept a sequence of typed characters, break that list up into the separate elements it contained based on whitespace, and return that list. What he asked me was to help him fix his program to do what I described, but he didn’t tell me what the program was doing, just if I could help him get around the errors he was getting when he tried running it.

Ah hah! After helping him for about 20 minutes try to fix the routine he had written, I finally remembered to ask him what his assignment was. As soon as he told me, I suggested he use a prewritten library call that exists in every C programming environment – strtok. strtok just happens to do exactly what he was describing (if you follow the instructions on how to use it) – it will break-up a string of characters based on some split character, and return the little chunks as ‘tokens’.

Another recent example was that I wanted to get a half gallon, or so, of fiberglass resin. Not fiberglass, and not the hardener that turns it into epoxy, just the resin. In popping out to my local Lowes, I thought about what I would need to ask Customer Service to find out what I wanted to know. Knowing that fiberglass resin is typically sold in conjunction with fiberglass cloth, I decided to ask if they sold fiberglass cloth. It wasn’t what I really wanted to know, but I was pretty sure it would tell me what I actually wanted to know.

That took some effort on my part, like knowing the complementing products to what I wanted, but was worth the effort because it got me what I wanted to know, that yes, in fact, Lowes sells fiberglass resin.

Asking the correct question is always worth your time and effort. Instead of spending 20 minutes debugging my friend’s program, I could have just spent 2 pointing him at the right library. Admittedly, asking the right question is not always easy, and it may only be possible to ask the right question after asking several not-so-right questions. But getting to the actual nugget that you need to know to help someone, or that will give you back the result that you need is worth it. Every time.