Sunday, June 19, 2011

Hunches

About thirty years ago there was much talk that geologists ought only to observe and not theorise; and I well remember some one saying that at this rate a man might as well go into a gravel-pit and count the pebbles and describe the colours. How odd it is that anyone should not see that all observation must be for or against some view if it is to be of any service! —Charles Darwin

Imagine you're contacted by the FBI and asked to help solve a difficult murder case. You have full access to the evidence they've collected so far. What approach would you take in trying to structure your investigation, locate a suspect, and build your case?

If you're anything like me, you'll begin by going over all the facts you have so far and freely imagining scenarios that would be consistent with all the available evidence. As your brain is busily generating scenarios, going through all the permutations of different possibilities, you'll begin ruling out all the scenarios that are patently ridiculous and prioritizing the rest by likelihood, maybe without even being consciously aware of it. Otherwise, you would be swamped in a heap of every possible scenario your mind could concoct.

Many people seem to believe that hunches are unscientific, and that science is hostile to or incompatible with hunches. Nothing could be further from the truth! A scientist's finished work, a published paper, should be as free as possible of hunches and speculation, but the scientific process would be starved and impotent without hunches to feed it.

Creativity plays a much bigger role than generating an array of hypotheses to test. It's imbued into every step of the process: it takes nothing short of genius to design a scientific study that properly controls for every possible way the evidence could be tainted. It takes an active imagination to visualize all the ways your swarm of preconceptions could sneak into the data and morph it into an unintentional deception (maybe even a profitable one). A scientist is like a werewolf waiting for the moon to transform it, trying to outsmart itself and keep the inner beast chained through the night. It takes cunning, not just a dry, emotionless commitment to scientific rigor, to be a good scientist. You might say science is an art, not a science.

But hunches alone will be just as worthless: pure emotion-laden preconceptions. The true value of hunches is when you give them enough slack to guide the scientific process, but not enough to compromise it. Intuitions are quick and powerful tricks the brain has developed to come to reasonably good answers. The scientific method is a system to check those reasonably good guesses and flesh them out in such a way that you (and others) can check your brain's work. I like how Robert Pirsig describes it:
When I think of formal scientific method, an image sometimes comes to mind of an enormous juggernaut, a huge bulldozer…slow, tedious, lumbering, laborious, but invincible.
Put hunches and scientific controls together, and you have a recipe for optimal problem solving, steadily ratcheting your way from existing knowledge to new knowledge.

Sunday, March 27, 2011

A God in the Shadows

"For rain that's falling halfway down the sky
I apologize"—"I apologize", Splender

I've never understood why, if God exists, he would leave so many people so much room for doubt about his mere existence. I've heard people say, "What do you mean? I see God working in my life every day!" and, "If you're not looking for miracles, you won't notice them." That may be true, but I don't understand why God would purposefully stay aloof, from everybody or just from me.

God supposedly healed plenty of lepers and cripples and blind people, but he seems to be shy about anything as dramatic as healing an amputee. I guarantee you that would get nonbelievers' attention, even if they're just predisposed to doubt.

People might say that God doesn't want to make it too easy because having faith is so important, and people wouldn't depend on faith if they had clear evidence. But that sounds a lot better when you're talking about a yes-or-no question, whether God exists, than about what sort of God exists and how to do what he wants. If you have blind faith, but it's faith in the wrong god, that's a double shame. And I just can't see how God would be doing us a service by giving us just enough evidence that we still have the "freedom" to reasonably conclude he doesn't exist.

And if it's a personal God, why would he pass up the chance to have a relationship with so many people? It's not just major miracles I'm thinking about. How is a relationship more meaningful if you talk in barely audible whispers?

For me, it's not really compelling anymore to go hunting for prophecies that might have been fulfilled, or otherwise chasing after God, since any sort of God I would be inclined to worship would have already contacted me directly, or at the very least would do so sometime in the near future. There is no other evidence or line of reasoning any person can show me that would lead me to reconsider. If you want me to believe in God, you'll have to take it up with him.

Sunday, January 30, 2011

The Lottery and Advertising

I'm totally outraged at the way state lotteries are managed, specifically the massive advertising campaigns they run. There's an excellent article from the Washington Monthly about it that basically explains what I'm so angry about. I'd really encourage you to read the whole article, but I'll summarize the main points I got from it:
  • lottery programs are hugely successful marketing machines that rake in billions of dollars nationwide, and it's illegal for free-market businesses to compete directly with them
  • the marketing campaigns are misleading, intentionally exploit vulnerable people in moments of weakness, and don't even comply with the FTC's truth-in-advertising standards
  • it's by-and-large the poor that end up pouring their money into the lottery machine
  • lottery campaigns claim that the money goes toward education, or some noble cause ("right back into your pocket", according to the Indiana lottery), but this is just an "accounting trick": According to David Gale,
    "What happens is, the legislature budgets this much for education. They see the lottery will contribute this much. So they take the money they would have spent on education and put it to other uses."
It might sound like I'm going back on some of my libertarian principles here, but it's a confluence of things that bother me: we're talking about a government business that outlaws competition, gets its money from the poor, and goads them on with beautiful fictions about all the good their wasted money is doing.

Let me clarify a few things I'm not claiming:
"The lottery is evil because it steals money from people."
People voluntarily participate in the lottery, albeit under false pretenses and coercive tactics.
"The lottery is a tax on the stupid. People who play it don't understand probabilities and don't realize that they're throwing their money away."
The big product people pay for when they gamble is not the money they hope to win, but the excitement that comes with a chance of winning big. If they have the money and desire to gamble responsibly, it's not something that they need to be "saved from".

But advocates of lottery programs claim that they are only providing a constructive outlet for people to do what they would be doing anyway. They claim that if our state doesn't provide a lottery, people will go across state borders and pay into other states what they should be paying into their own. That might justify the mere existence of the lottery, but it just sounds ridiculous in light of the oppressive radio, TV, and billboard advertising campaigns they launch. If the advertising isn't netting customers, stop doing it! If it is, stop doing it! You can't claim that gambling is an unfortunate vice that you're just making the best of while you're spending public money to promote it!

I've come to the conclusion that if I'm concerned about the gap between the rich and the poor, and want to support some government policy to do something about it, the most effective option would be to hamstring lottery advertising. If the lottery is a hidden tax, it's an obscenely regressive one. Furthermore, I will flatly ignore anyone's crusade for wealth redistribution or an even more progressive tax structure if it doesn't make a priority of hamstringing lottery advertising.

Sunday, January 2, 2011

A Guided Tour of Hacking

"Colonel," I said in a serious tone, "let me tell you something about these locks: When the door to the safe or the top drawer of the filing cabinet is left open, it's very easy for someone to get the combination."
...
The colonel had sent a note around to everyone in the plant which said, "During his last visit, was Mr. Feynman at any time in your office, near your office, or walking through your office?" ... The ones who said yes got another note: "Please change the combination of your safe."

That was his solution: I was the danger. So they all had to change their combinations on account of me. ... Of course, their filing cabinets were still left open while they were working! —Surely You're Joking, Mr. Feynman, Richard P. Feynman & Ralph Leighton

I've known since I was 5 that I wanted to be a software developer, but for most of my life I thought that hackers were a different breed that somehow was just born knowing how to break into computers. I've flipped through several books about hacking, and they all looked very dull, and none of them really seemed to answer my burning questions; I figured that there must be some "second tier" to it where it really got interesting.

As I've gotten older and nerdier, I've discovered that hackers draw on experience as much as raw skill, just like safe crackers who develop their skills and intuitions practicing on their own safes and door locks. I would have no idea where to start breaking into a system if I didn't have day-to-day experience using secure systems (like password-protected computers).

I should mention at this point that hackers are typically pretty nice people, that the term "hacking" was used for writing software before it was used for unauthorized cyber-activity, that the preferred term for what I'm discussing here is "cracking" instead of "hacking", and that most hackers are just trying to make the general public aware of security holes before malicious people figure out how to exploit them. People who write nasty viruses and distribute malicious software are usually a quite different type of person, and many of them don't even understand the intimate details of the art of hacking. They're often referred to as "script kiddies".

I will also mention that I think sections of the book Surely You're Joking, Mr. Feynman make an excellent companion to all this information, and it's one of my favorite books to boot.


There are a lot of misconceptions floating around about what hackers do and how, and I think a lot of people I know would be interested in some of the details if those details could be explained properly. I'm going to enumerate some of the different methods hackers use, grouped by my own cleverly-conceived system of categories. It's something of an epic, but feel free to skip around.

Stealing the Key
A fairly obvious method of breaking into a house is getting a hold of the key. Usually with computers, the key in question is a password. Sometimes hacking is as simple as trying every password until one works, which is known as a "brute-force attack". Almost always the hacker will write a simple program to automatically try one password after another.

People can protect against this attack by using a long password, but often there's some trick so a hacker doesn't have to try every password. I was surprised to learn how quick it is for a hacker to try every word in the dictionary (a "dictionary attack") if you happen to pick a real word as your password. (Another such trick is the Trucha Bug on the Wii). Many login systems will also prevent you from trying too many passwords or trying passwords too quickly one-after-the-other, which helps security a lot.

But even the best password in the world won't help you if you don't keep it a secret. Tricking someone into sharing their password with you is called "social engineering", and it's easier than you might think. If you have a favorite password you use when you register for a new account online, you're pretty vulnerable to being hacked (in comic form: "Password Reuse").

Back Doors
Sometimes a hacker doesn't even need the key itself to get in. For instance, they can trick you into "leaving the door unlocked" for them by distributing game software that surreptitiously opens up your computer for them to get in while you're playing it.

You have a similar problem any time you have software checking your password: How do you know that whoever wrote the software didn't put a secret "master key" in that would give them access to your computer? How do you know the password you set is the only one that will work? Ken Thompson created a mind-blowingly elegant example of this in 1984 that covered its tracks 3 layers deep, known as the Thompson trust hack.

One other security weakness happens when "randomness" isn't random. Magicians can do some amazing card tricks based on a gimmick called a "card force", where they fool someone into "randomly" choosing one particular card from a stack. Any place where supposed randomness enters into a security system is an opportunity for an exploit. Random password generators are vulnerable, and there was a bug in an early Netscape browser with the same problem.

Picking the Lock
With some exploits, the attacker doesn't need to know anything about the key. There are systems that send the password off to another computer to ask if it's valid. All you need to do to trick a system like that is figure out how to say, "yes, whatever key you sent was valid", and pose as the validating computer. I've seen that technique used to unlock full versions of games/software. (This is almost the same thing as a "Man-in-the-Middle" attack, except in that case the attacker normally fakes communication in both directions.)

A similar hack is to break open the code of an existing program and modify it in-place so that the part that's supposed to check your password never does its job. In both of those cases, you put in a dummy password to get the ball rolling.

Breaking Down the Door
Some attacks work by blasting a system with such strange data that it doesn't know up from down anymore, and gives up protecting itself. Even though the data is strange, it has to be carefully crafted, and it usually takes insider information about how the system works to create the data properly.

For instance, several web browsers and image viewer programs will get confused if an image file claims to be one size but has too many pixels of data. And if you're very clever about it, you can inject a program into an image, or similar data, so that the computer gets tricked into running that part of the data as a program. This is usually called "smashing the stack", and is unfortunately what it takes to run software on your own Wii (see the Twilight Hack) or iPhone (see iOS jailbreaking) that isn't approved by Nintendo or Apple, respectively.

For another neat example of the same type of exploit, check out the ACS:Law data leak.

These attacks only work if there is some flaw in the way a program is written, so the best way to protect against them is to use modern software written with modern tools.

Burning Down the House
Sometimes an attacker doesn't actually care about controlling a system, but just wants to make it unusable for everyone else. A denial-of-service attack does just that, by bombing a website, say, with hundreds of hits per second, so that it can't keep up and can't function normally for regular users. This works best if it's a distributed denial-of-service, or DDoS, where lots of computers are involved in flooding the system. For a notable example, check out the Low Orbit Ion Cannon, a system used to coordinate DDoS attacks.

Often a good firewall can prevent these attacks by quickly figuring out which hits are legitimate and blocking out all the malicious hits, but if it takes more work to determine which hits are malicious than just to serve them normally, the only solution is to buy more powerful servers.

A system can also be made unusable by destroying data in a database. Many websites are poorly written and essentially hand the keyboard over to users when they ask for data from a user. Like the techniques mentioned in the previous section, someone can cleverly craft the data sent to a website so it starts interpreting part of the data as commands. There's a great demonstration in comic form here (the details are technical, but I think you'll get the gist of it).

Squatting
One final class of exploit is less catastrophic and more of a nuisance. A hacker uses your computer to do work for it in the background without your knowledge, usually along with hundreds or thousands of other computers.

When you get those incomprehensible junk emails about Viagra, those are usually sent from unsuspecting Windows computers that are way behind on their Windows Updates. Malicious hackers release worms that ruthlessly copy themselves from computer to computer, and create a massive "botnet" of infected computers. Then they direct the botnet to send out junk email to one randomly generated email address after another, and the computers work together to inflict their plague of spam on every conceivable email address.

Another possible exploit of this sort is something called "parasitic computing". Unlike worms and botnets, parasitic computing wouldn't involve installing anything on your computer. Instead it would hijack the normal proper functioning of your computer to help do calculations for another computer. The reason I say "possible exploit" is that nobody has devised any way to make productive use of parasitic computing. Every example devised so far would require more work to facilitate than it would take to just run the calculations.

Wednesday, November 3, 2010

The Ontological Argument in One Easy Step

"Oh dear," says God, "I hadn't thought of that," and promptly disappears in a puff of logic.The Hitchhiker's Guide to the Galaxy

I was watching an interview with Colin McGinn where he said that he thought the ontological argument is interesting because nobody's ever managed to pinpoint exactly what's wrong with it even though it's wholly unconvincing to everybody who hears it. There are lots of ways to show it's absurd (e.g. Guanilo's Island), but none are concise and direct enough to seem like the problem with it.

Well, a line of reasoning recently occurred to me that I'd like to put forth as the problem with the ontological argument. The normal version goes something like this:
  1. God is defined as the most perfect being conceivable.
  2. If he didn't exist, he would be less perfect than a being who did exist.
  3. Therefore, God exists.
I think there's a two-part gimmick in the argument, and that I can simplify it down without losing any of the meaning:
  1. God is defined as a being who exists.
  2. Therefore God exists.

The trick is in confusing the levels, and losing the difference between a definition and reality. If you dream that you woke up, it doesn't mean you're awake. By the same token, a being that's defined to exist doesn't necessarily exist (nor a being that's defined as "a being defined to exist"). The part about "what it means to be perfect" just acts as misdirection from the meat of the argument enough to block your common sense.

There's no contradiction whatsoever within the definition, nothing wrong with it even, but every definition is a hypothetical of sorts, just a label to tell me what you mean when you use the word.

I did happen to notice that Kant looks to have proposed almost the same counterargument, but his version seems wordier and was one of four bullet points in his argument. I wonder if Colin McGinn is familiar with Kant's refutation...

Monday, November 1, 2010

What's in a Vote?

I'm not happy about several aspects of the way voting has been working in our country. I hate all the mudslinging, I'm irritated with all the manipulation and confusion, and I feel very powerless as an individual voter. I think there are some small steps we the people could take that could unlock the full power of our voting system in subtle ways, and stop people hijacking our intentions.

It's All About Hate
I've had to give up the TV and radio because the ads have become nothing but smear campaign after smear campaign. I've seen candidates lumped in with child molesters, all kinds of insane, childish accusations, and I'm seeing and hearing the people around me spout off outrageous insults in all directions. And you know what? I think the politicians love it.

It's hard to impress people with your diplomatic skill, and nobody pats you on the back for making the tough decisions. On the other hand, nothing could be simpler than tearing down your opponent, attacking their character, and trying to come out of the whole mess with the least stink on yourself. You'd think if all the candidates looked bad, then we'd start widening our selection, but ironically, all the mudslinging seems to rally people all the more strongly around the candidates in front of us. I think that hatred keeps us firmly entrenched in a two-party system, and I also wonder if a viable third or fourth candidate might make it less cost-effective to trash your opponent than to promote yourself.

My suggestion is to just take a deep breath, try to temper your enthusiasm, and remember that most of the insults you throw around will end up hitting someone you care about. It also wouldn't hurt to commit to explicitly dock your candidates points for mudslinging, and keep an eye out to reward other candidates politely waiting on the sidelines while their opponents behave like children.

It's Not a Game
I think "strategic voting" is one of the dumbest ideas ever. We think we're being clever and maximizing the power of our votes, but I find it about as empowering as having your tongue cut out. It makes the voting public inflexible, easy to manipulate, and doesn't really stretch your vote all that far either. (Do you really think your second-choice candidate is going to win or lose depending on your vote?) I think it's a debasement of the democratic process and we're all selling ourselves out, voting for what we think someone else wants, and afraid to be the first one to stick our neck out.

I have two suggestions:
First, notice how much your vote is actually worth. Is it really "throwing your vote away" to send a message that we're not playing games anymore, that the fuse is lit and we're ready to blow away this tired dominion of "good ol' boys"? I for one am committed to voting for the candidate I like best and letting my vote mean something, rather than betting on the off chance that my vote will be the deciding factor between bad and worse.

Second, instant runoff voting. Seriously, why aren't we doing this already? Barack Obama and McCain support it, so I doubt it's a partisan thing. So it's going to cost a little to set up. Why not start it with local elections and work our way up the chain? I'm convinced it would level the playing field and weaken the two-party stronghold, and that all voters will benefit at the expense of career politicians.

Let's Get Started
I think it's self-defeating to be encouraging everyone to get out and vote but be too lazy to fix the system and make our votes count for all they're worth.

As far as mudslinging goes, I'm thinking about starting a wiki over at Wikia to help keep track of smear campaigns and make it easier to vote on the platform of "no mudslinging" (once again I'll mention I don't think there's any such thing as "throwing away your vote"). I'm not 100% sure what the next step is for IRV, but first off you can visit FairVote.org and find out how to push for it, or strike up a conversation about it with somebody.

Sunday, October 3, 2010

Wikipedia

I've had a lot of random thoughts about Wikipedia stewing for a while. It's finally time for me to get them out, and hopefully some interesting discussion will come out of it.

A Little History
One of the most interesting aspects of Wikipedia's history, to me, is that its creators initially didn't think it would work. It was a lark.

Before Wikipedia, Jimmy Wales and Larry Sanders worked on a project called "Nupedia", which was a free online encyclopedia project, but was not a wiki and was not open for everyone to freely contribute. It had an extensive peer-review process that made it awkward for people to add content. Jimmy and Larry were trying to figure out how to make it easier for users to contribute, and they heard about the WikiWikiWeb project (http://c2.com/cgi/wiki), the world's first wiki. They were short on cash and it was cheap and easy to set up a wiki, so they decided to give it shot and see how badly it would fail. It didn't, and Wikipedia was born.

See Larry Sander's article about it for more details.

What It's For
Wikipedia is a pretty reliable and extensive source of facts. Not all information belongs on Wikipedia (see "What Wikipedia Isn't" in "Wikipedia: The Missing Manual"), but there are several companion sites to fill some of those gaps (e.g., Wiktionary, Wikiquote, and Wikia; EDIT: see Wikipedia:Alternative outlets for more), and what is on Wikipedia is extremely useful. And if something isn't useful, you can fix it, without even having to register!

I've heard a lot of complaints, mostly from English teachers, about how you can't trust Wikipedia because "anyone can say anything" on it. There are statistics showing that Wikipedia is (gasp!) slightly less reliable than the Encyclopedia Britannica, and for some reason people think that's a big deal. And, by the way, it makes perfect sense you can't cite Wikipedia as a source in a research paper, because it's just plain lazy. Every claim that's cited on Wikipedia directs you straight to the source(s), and anything that isn't cited doesn't belong in a research paper because you have no idea who said it ("Yes I do! 78.133.30.247 said it.").



Who Creates It?

I've been surprised talking to people around me by how few of them feel competent to edit Wikipedia. I ran across a pretty interesting article from 2006 analyzing how "clustered" the editing of Wikipedia is. At the time, Jimmy Wales had stated that .7% of the users (524) were responsible for 50% of the edits. The author of the article uses a different measurement on a few arbitrarily selected articles (how many letters from the current version were typed by which users), and finds a much different picture, but then there are some big weaknesses in that approach, too (deleting and rearranging blocks of text can improve an article substantially).

My background with Wikipedia is that I've done a lot of reading and a little writing. I've made a few small edits, just little things that bugged me, and I guess it just seemed natural to me since I'm a programmer and I'm used to collaborating online. I've found the Wikipedia community to be very friendly and cooperative. There are vandals and lots of opinionated people who barely speak English making edits, the Wikipedians are used to it, so it's not some pristine, elite community you're imposing on. You really are welcome to edit, and you don't have to apologize for being inexperienced. If there's something clearly wrong with your changes, they'll fix it without batting an eye, and usually they'll explain what they don't like about it.

There's also a "discussion" page attached to each regular page. Scanning through the discussion pages is a great way to learn about how Wikipedia works. If you're not sure about an edit you're making, or it's a big change, just add a section on the discussion page and describe what you're doing and why. And even though it's called a "discussion" page, I don't think you're necessarily expected to check back for responses to your questions and explanations, so there's no reason to shy away thinking it'll be a big commitment.

I really think everyone should try editing Wikipedia at least once (there's a guide with lots of links if you want help getting started), just so you understand the process and are comfortable with it. If I were an English teacher, I think I'd make an assignment of making one edit on some page somewhere on Wikipedia so the students understand where the content comes from, and get some hands-on experience supporting their claims.

Clogs in the System
There are some sorts of "traffic jams" that crop up a lot on Wikipedia. One is that most or all of the content on  math-related articles is incomprehensible, and I think I've figured out why. When you see content that's written in poor English, and you can't understand any of it, you'll usually be pretty quick to delete it or criticize it. But if it's heady and academic-sounding and you don't understand any of it, you'll usually assume they must know what they're talking about, that it's helpful to other people but not you, and then leave it where it is. I think there's a sort of "natural selection" for confusing academic content on Wikipedia, where it's relatively easy to create and difficult to delete. You'll find the same thing in a lot of philosophy-related articles.

I think it's a sort of benign tumor that Wikipedia would do well to excise wherever possible. My stance is that long mathematical proofs and derivations don't belong on Wikipedia any more than extensive plot summaries of books and movies do. They're not citable claims, even if they're useful information. For these, Wikipedia articles should just summarize the proofs and derivations, and provide excellent links to further information (like math.wikia.com or Wolfram MathWorld), just the way any other citation works on Wikipedia.

Another little bug for me is that it would be nice to be able to collect pronunciation information for the names of famous people and places on Wikipedia, but it's very hard to find citable references. There is an "International Phonetic Alphabet" that they use to annotate pronunciations, but it's very hard to find textual evidence of a certain pronunciation in the real world, and it's also hard finding public domain audio or video evidence.

The good news is there are people actively strategizing and cleaning up issues. In addition to the paid staff working on improving the Wikipedia system in general, I recently discovered there are groups called WikiProjects that set out to assess and improve the quality of articles in different subject areas of Wikipedia.

The Future
Wikipedia has a lot of happy users and quite a few active editors, and honestly I think they'd be doing just fine to maintain their current growth for the foreseeable future. I can't imagine it being replaced or obsoleted. But there are several ways I could imagine it being even better.

One feature I can't believe they haven't implemented yet is a common feature in software development tools called "blame" or "annotate". They already have a history for each page that shows all the versions there have ever been of that page, through time. You can select any two dates and see a neat comparison or "diff" of what text was added, deleted, or otherwise changed in between. An "annotate" view turns that feature on its head. It shows, next to each line, the date when that line was last modified. This is very helpful for tracking down long-standing vandalism, for instance. There is a prototype of that feature here, but it's still just a prototype.

On another note, Wikipedia naturally has two tiers of content, cited and uncited, and I love that I can see both on one site. But sometimes there are claims that are too relevant to delete from an article and surprisingly hard to verify from an independent source, that just seem doomed to linger uncited. If you search the internet for sources, a lot of times you'll only turn up people who have copied and pasted that very article from Wikipedia, often without even mentioning where it came from. I've been wondering, as time goes on, will these citation problems stabilize and decrease, or will they only get worse as Wikipedia grows?

You've probably seen the "citation needed" tags floating around for stuff like that, but sometimes I wish the difference between them was a bit more obvious. As it is, a lot of people don't even notice the difference, and just repeat everything they read on Wikipedia as fact. Even the uncited material on Wikipedia is somewhat reliable, because if it can be easily disproven, someone will probably delete it before too long. But I've been wondering how it would look if the uncited content, instead of being marked with "citation needed" tags everywhere, was marked with a very light pale yellow background, so that you could easily scan it and see exactly which part of the content was less reliable.

One final thing I think the future will hold for Wikipedia: more non-human readers. That's right, I'm talking about learning AI systems. It will certainly be a good source of raw knowledge for certain types of software projects once we get some more tools to extract semantic information from it, but I think it's also worth noting that those tools will help us in improving Wikipedia, too: automatically finding weak claims, directing Wikipedia editors straight to possible sources across the internet for specific claims, and possibly doing active editing to clean up problem areas. It's a thought, anyway.