Take No Prisoners

The Lost Story from Fort Hood

Recent US engagement in Libya has reminded me of something strange about one of 2009’s biggest stories. On November 5, 2009, a U.S. military psychologist, Major Hassan, entered the Fort Hood military base in Texas and opened fire, killing 12 and wounding 31 more before he was shot multiple times and taken into custody.

At the time, I remember wondering, how did one guy armed only with handguns take out 40-odd trained soldiers in the middle of a military base? Yes, it was a surprise attack, the shooter had combat training, and since he was a soldier, he could walk past security… but 43 soldiers??? WTF? This crazy bastard had to RELOAD. How is it that those 43 soldiers didn’t return fire seconds after the shooting began?

The soldiers weren’t armed. (more…)

When Ethics Committees Kill

Excellent piece on Bad Science about how ethics committees lead to real deaths of real patients due to delays and status quo effects.

The Number One Sign of Trouble in Japan

Political philosopher H. L. Mencken said “The whole aim of practical politics is to keep the populace alarmed (and hence clamorous to be led to safety) by menacing it with an endless series of hobgoblins.” However, politicians do not want people to get so alarmed that they panic, stop going to work, riot or try to overthrow the government, for obvious reasons. This leads to a deceptively simple contrary indicator: “Everything is under control” means something is terribly wrong; “panic” means everything is fine. Don’t believe me?

Keep Calm And Carry On

This was the slogan of the british government during WWII when Germany was actually bombing their cities. Compare that to the American rhetoric of the last few years:

  • SARS will kill you! BE AFRAID
  • The Bird Flu will kill you! BE AFRAID
  • OBAMA’s death panels are coming for Grandma! BE AFRAID.
  • The Muslims are coming to kill you! BE AFRAID.
  • The New Black Panthers are coming to kill you. BE AFRAID.
  • Mexicans are beheading people in the desert! BE AFRIAD.

Detect a pattern? Authoritarian governments and their agent constantly menace the public with imaginary and ginned up threats, but when things actually get out of hand, they switch to trying to keep us calm.

For more than a week now, the Japanese government has urged its people to stay calm as, while grave, the situation is under control. Think about that.

8 Ways Universities Disrupt Social Mobility

In a free society, being born poor should not stop an intelligent, capable, hard-working person from becoming prosperous. Social mobility refers to the capacity for people born in a lower social class to transition to a higher social class during their lives. Industries that have historically improved social mobility include professional sports and universities. These meritocracies promote those with the most talent – nobody cares whether LeBraun James or Neil deGrasse Tyson came from a rich family or a poor one.

Universities are also supposed to be pure meritocracies, rewarding students and faculty primarily on their academic accomplishments. Unfortunately, the structure of modern universities and their surrounding educational-industrial complex includes myriad insidious elements that exacerbate the disadvantages faced by less financially secure students. Here are some of the worst offenders.


7 Ways to Reclaim Manliness in the Age of Feminism Run Amok

Loyal readers know that feminists irritate me. Not the right-to-vote, equal-pay-for-equal-work, cook-your-own-damn-dinner feminists – I like those. I’m talking about the breaking-down-gender-roles, anti-pornography, all-sex-is-rape radical feminist lunatics. This kind of ideology has fueled the ongoing feminization of culture to mixed effects. On the upside, men have gotten better at expressing their emotions, women have gotten closer to equal pay, and society has become more egalitarian and empathetic. On the downside, guys don’t know how to be guys anymore. Men have lost touch with many of the activities and traditions that helped them feel and express traditionally male virtues, including strength, toughness, stoicism and resilience. These have been replaced with destructive activities, such as binge drinking and one night stands, that fail to unite a man with his inner strength. With this as prelude, here are some ways you can reclaim a feeling of manliness

1) Learn to shave with a straight razor


7 Most Important Things to Know Before Beginning a PhD

Are you thinking of pursuing graduate degree? The Internet is rife with advice on how and whether to proceed. Most of this advice is wrong. Today I am officially “Dr. Wolfe.” Here is what I wish I knew when I started.

1. Find a Reasonable Supervisor

The single most important part of a PhD is finding the right supervisor. Most people will tell you to try to work with someone who is 1) a (famous) prolific researcher, 2) brilliant, 3) similar in research interests. Bullshit. The most important quality in a supervisor is reasonableness. Your supervisor can indefinitely forestall your graduation and make your life so miserable you’ll quit. If you get an unreasonable supervisor, you’re hosed.

Many academics become prolific by (more…)

Minor Catastrophe – Still recovering

Dear Reader,

Apparently my hosting provider hijacked the blog and sent all my traffic to some scam/spam site. Please be patient while I recover the site over the next few days.

In other news, stay the hell away from NoAdsFree.com. It’s a scam.


Apologies for Down Time

Dear Reader,

My apologies for the recent downtime of the War on Bullshit blog. The traffic from my last post (12 Bonehead Misconceptions of Computer Science Professors) blew my bandwidth allocation and I didn’t notice until yesterday (thanks Michelle!). Just my luck that one of my posts would get popular just when I’m ignoring my blog to focus on job hunting.

Many thanks, as always, for reading. I’ll be back in the New Year with brand new stuff.

War on BS on Hiatus until New Year

Dear Readers,

I have not been updating lately due to some important projects that have been consuming all of my time. I believe it best, at this point, to stop pretending I’m going to get a post up any time now.

I’ll be back to my regular schedule starting the second week of January. Until then, best wishes and happy holidays.

12 Bonehead Misconceptions of Computer Science Professors

The poster-child for what’s wrong with postsecondary education is the computer science program. Despite the enormous need for competent programmers, database administrators, systems administrators, IT specialists and a host of other technical professionals, computer science programs seem to explicitly ignore the professional skills of which western society has growing deficiency and proceed with materials and teaching styles that are outdated, ineffective, useless and just plain wrong. This is due to the absurd misconceptions held by computer science faculty members across many universities.

I have personally met computer science professors who believe each of the following things. I make no claims as to how widespread these beliefs are; you can judge that for yourself.

1. Java is a good first teaching language

I don’t know how many computer science programs start teaching programming using Java, but there are more than a few, and that’s too many. When you’re going over variables, loops and conditionals, the object-oriented overhead of a language like java is unnecessary and confusing. Inquisitive students can’t just memorize things (i.e. public static void main (String args[])) without demanding to know what it means and why it’s there.

2. Machine language is “basic”

Comp Sci people seem to be terribly confused about what ‘basic’ means. When one learns to drive a car, starting the car, making a right turn, a left turn, parking, etc. is basic. Building a parallel gas-electric hybrid engine is not basic. Driving a car is more basic than building one because the latter requires significantly more expert knowledge than the former. In the same way, using a simple scripting language requires less depth of understanding that writing in machine language; therefore, computer science education should start with higher level languages and proceed to lower level ones, not vice versa.

3. You should write code on paper before you write it on a computer

Writing code by hand is stupid. It is entirely inconsistent with the interactive and iterative design process that comes naturally to hackers and painters alike. Professional software developers make extensive use of API documentation, reference guides, forum discussions, etc. to make troubleshoot problems and make their code more efficient and effective. Writing code by hand tests your ability to write trivially simple software without making errors. Real programmers must be capable of making complex software and detecting their errors with a variety of automated tools. Teaching or testing coding using pencil and paper is inconsistent with both the natural mode of human action and the practical realities of software development.

4. Lectures are an effective method of teaching programming

Programming is like algebra. You can’t learn how to write code by watching someone write code on a blackboard or listening to elaborate explanations from professors. You can’t learn math from watching someone do math. You learn to do things by doing them.

5. Algorithm design is learned by reading existing algorithms

Designing algorithms is about finding innovative solutions to difficult problems. Algorithm design courses are about studying existing solutions to rather simple problems. Learning how a particular problem can be solves provides approximately zero insight into how to solve problems you’ve never encountered before.

6. You can just ‘pick up’ prolog in a week for a course

There’s this crazy belief among Comp Sci. faculty that all languages are basically the same, so after learning the principles behind languages you can use whatever. This is bullshit. This is like claiming that since someone studied Spannish grammar in grade school, they can speak Spanish fluently, in any of Spanish, Mexican or Columbian accents. The leap between structured and object-oriented programming is huge, and it pales in comparison to the leap between object-oriented languages and declarative languages.

7. Exams measure understanding of programming

Teams of professional programmers spends months and years building intricate software systems in response to poorly-understood, ill-defined and changing problems. To accomplish this, they employ API documentation, online tutorials and forum discussions, team problem-solving sessions, reference books and an infinite number of phone-a-friend lifelines. Exams test your ability to write simple code to solve a trivial, well-defined static problems, without consulting and references. One is about resourcefulness, the other about memory. Exams test the wrong thing.

8. GUI’s are not an important aspect of learning to code

At the university where I did my undergrad, it was easy to finish a B.Sc. in computer science without ever building a graphical interface. While I agree that many software projects do not have graphical components (e.g., developer APIs), to marginalize GUIs as some kind of specialty endeavor is short-bus crazy!

9. Programming Requires Calculus

I have been told that development involving sophisticated work with graphics and animation involves calculus. Outside of this particular subfield, however, I haven’t seen much calculus in software development. Certainly I’ve seen a lot more GUI development than graphics.

10. Linux will rapidly overtake Windows among consumers

Comp. Sci. profs have been saying this for years. Hasn’t happened. And it’s not going to happen until Ubuntu and company take the dicking around out of computing the way Apple has.

11. LaTeX will overtake WYSIWYG text editors because LaTeX gives you more control

Yes, believe it or not, a computer science prof said this during one of my classes in undergrad. It goes directly to a deeper misunderstanding among Comp. Sci. academics that power and control are the primary factors driving adoption. They’re not. Simplicity and ease of use are far more important.

12. You can buy gates at RadioShack

The same idiot who thought LaTeX was the future also told his class to go buy gates (the things transistors are made of) at RadioShack and play with them to see how they work. Again, this evidences how completely out of touch some of these people are. Gates are microscopic. You can’t go buy them at an electronics store.

Update (25MAR2011): As so many helpful readers have pointed out, 1) gates are made of transistors, not the other way around, and you can now buy gates at Radio Shack online. However, the prof in question told me to go buy gates at a physical Radio Shack store in 2001, and they had no such thing. I don’t know what I was thinking when I wrote “the things transistors are made of.”


I have long argued that society needs a professional certification for software developers and that universities need undergraduate programs dedicated to training people for these certifications. It’s worked for accounting, engineering and medicine. There’s no reason it can’t work for software development. One of the primary barriers to this sort of progress is the raging incompetence of academics in computer science, computer engineering, management information systems and related disciplines.

Have one or a few to add? Comment away.

Related Posts
Why on Earth do Business Schools Teach Microsoft Access?
Abolish Universities?
Nine Reasons why Bad Grades Don’t Mean Squat