Skip to content

New mathematical model shows stupid is highly contagious

Or: Homeopathy is famous because it doesn’t work. The article is interesting, and the gist of it is:

  • people do things they see other people doing
  • people spend more time on medicines that don’t work than medicines that do
  • medicines that don’t work have more time to convince people to try them

Now, completely aside from how horribly depressing that is — and how interesting it is that somebody used the mathematical models used to understand the spread of disease to the spread of crazy — it clarifies and provides a metaphor for a thought that I’ve sort of had knocking around the back of my head for awhile now.

Worldviews (Weltanschauung?  nah.) seem to spread in similar ways to crackpot ideas; I mean, you understand the world in ways that come from the people you interact with. The more strongly that people express a worldview the stronger the effect it has on you. Not necessarily positively, of course. But who is going to believe the most passionately about their WV? People who really need something to believe in. And, of course, if your philosophy is just really fundamentally not working out for you — as, for example, it wouldn’t if you just expect everything to work out because somebody somewhere loves you / hates your coworkers — then you are going to need a philosophy all the more. And especially if it doesn’t lead obviously to gratuitous horrors you are more likely to tell your friends and coworkers (whom your deity/world energy/doctor doesn’t like) that it is the thing that makes the world OK.

So, point is, think carefully when you tell people that ______ is always there for you/around you/touching you with his noodly appendage, because sometimes even an imaginary touch is inappropriate.

Technorati Tags: , , ,

Tagged , , ,

Starry McFlamingpantserson, and other remnants.

Well, an hour ago I didn’t know what a snowclone was, but then this guy but now I’m going to share some links with you. I’m going to share some links with you so hard.

Actually, all links to the ADS-L, because this one thread beat my hours of research, or it was the end of it (why are the keys always in the last place I look?) [also, because their icons are meaningless and have no alt-text, the lightbulb with the right arrow seems to mean "next in thread"]
.

OK, first, if you consider “‘McLintock!’ is McNificent!” to be the origin, than this dates back to 1948. I don’t.

Then there’s “Marian McPartland’s Mcmagic”. (1956) That’s better, but still kind of lousy.

There’s a, an, ah, myspace forum dedicated to what people have started “Mc-y-ing”, in honor of greys anatomy. It’s not Xy McYerson, though it is horrible. And it’s from 2007, so by this point we know it’s from between 1956 and 2007.

ah! :

So far I haven’t been able to find anything
earlier than Nov. 1, 2001 — the first appearance of Hottie
McHotterson (on rec.games.video.sony) (hmmm)

OK, even better:

These may have been inspired by Bill Maher, who took to calling Bush
“Drinky McDumbass” as early as 2000 (when his show “Politically
Incorrect” was still on the air).

–Ben Zimmer

That seems about right for the recent surge in them, although I also remember saying it in highschool. Wait, highschool, that means…

Tipsy McStagger from “Flaming Moe’s” (Season 3,
aired Nov 21, 1991). In the episode, a representative from Tipsy
McStagger’s Good Time Drinking and Eating Emporium tries to get the
recipe for the “Flaming Moe” drink from Moe the bartender.

the simpsons. Of course.

Technorati Tags: , ,

Tagged , ,

Quantum teleportation, shmontum teleportation

Since there has been a lot of work being done over the last few years on quantum computation there have been a lot of articles published along the lines of “Quantum Teleportation is here, but it’s no Star Trek.”

To which I say: Pshah! Emphatically pshah sirs!

Quantum teleportation only bares the slightest resemblance to what we think of as teleportation, I mean, there are no flashing lights! No chance to accidentally turn a man into an inside-out monkey! No levers for intuitive control over the process of recomposing a person atom-by-atom-by-atom-by- ( * 7,000,000,000,000,000,000,000,000,000ish )! My point being, ladies and gentlemen, don’t worry when you read stories like this one (or this one, etc) where they very clearly say that this technology is impossibly far from transporting humans. It was never designed for that!

One of the biggest problem with QT — related to transporting real people — is that you have to have as many atoms at the end as you start with, exactly as many. And they have to be blank. And you have to “entangle” them with the original person. Which, as far as I know the only way that we’ve got to entangle atoms is to super-freeze them (to pretty close to -459°f) and turn them into a sort of super-sized cloud-atom-thing. That is to say, you have to do that to both groups of atoms, something which I don’t particularly want done to me, thank you very much.

No, I think — and it is very important to remember that I am terribly under-qualified to be even thinking, never mind talking about these things — that it is a much better idea to be exploding people. Because people are just mass and information, and mass is just energy, and information and energy are much easier to transport than mass. Of course, converting people to pure energy will probably require a heck of a lot of power, probably way more than just freezing them to near absolute zero.

But it will be hella flashy.

Technorati Tags: , ,

Tagged , ,

What Programmers Do

So, what the hell do programmers do, anyway? I’ve noticed that a lot of people think that programming is a crazy obscure art that involves knowing all about 1s and 0s, and since it’s not, but it is really cool and important, I want clear up some common misconceptions that I’ve run across. Since everybody knows that programming is convincing the elves inside your computer to think what you want them to think, you might as well know how it’s done, right?

OK, so, the first common misconception is that programming languages are the ones and zeroes that computers understand, and that programmers write them with near-superhuman understanding. That was true in the late cretaceous period, but now we have real languages.

For example, consider the act of converting english speech into machine code, (the ones and zeros that computers understand) programming how to do that in machine code would be extremely difficult, but this is how you would do it in Python, a modern language:

for each_letter in sentence:
    print binary_code_for[each_letter],

That’s pretty clear, isn’t it? If you don’t know the language you probably don’t know exactly what’s going on, but it’s certainly not nearly as rough as hundreds of pages of 1s and 0s. It’s at least obvious that telling the computer that you want it to print the binary code for each letter. That’s real code, it works. (If you don’t believe me, you can view a full working version here.) A large part of being a good coder is making it easy for humans to read what you’ve written, so it’s not even like that’s different to how I should write it for myself.

I think that also gives a bit of an idea of what programmers do all day long: they write hundreds (and thousands) of lines of simple things like that, making them read as much like real english as possible, growing up systems a little bit at a time. Once you’ve got something built and working you can use it in other systems, and that’s why it’s possible for so much progress to happen so quickly. And that’s also why it’s possible for younglings to learn and do amazing things: programming languages are basically just extremely formal english, (or in some cases, limited drawing tools) with magic words that output to the screen or request input or solve impossible problems or any of the variety of other thinks that can be thought. Learning how to program is learning a small number of basic concepts, a slightly larger amount of basic syntax, and then blam! Magic.

Technorati Tags: , ,

Tagged , ,

Not-so(-super)-secret Project

OK, so in honor of not having written pretty much anything in close to a year (winter, looking back on my past posting habits, seems to be my writing time anyway) I’ll reveal the secret project alluded to in my last post:

Degenerate Forms. An algorithmic poetics. Basically, for my expressive computing class, a couple of guys (paul, brendan, and I) wrote a collection of scripts that grab some text from the internet and arrange it into “Poetry.” (note the capital “p”.) That wiki page is sort-of part of the art, so be careful when reading.

In the “art college” sense, we’re commenting on the semi-relatedness of all things in the news, and their transience. I’m torn about the fact that some of our sources for text are “weird” news, like the yahoo oddities page, although in general the quantity of stuff from that is totally dwarfed by what’s in things like the NYTimes. The other direction we could have gone would be to have used things from project gutenberg and wikisource. That would have given us “prettier” text, especially had we used some of the poetry available. However, given that we are really trying to do something “of the moment,” those don’t really make sense, nor do they fit in with the whole art-college aesthetic. So we stuck to twitter and various news sources.

Anyway, here’s some of the poems generated, (although, if you’ve got the know-how, it’s really better to do it live) let me know what you think.

Technorati Tags: , ,

Tagged , ,

Super-secret project

A tiny result:

Stopping ax woods on A Snowy Evening

whose woods there are I think I know.
his house is in vie village though;
if will not red me stopping here
To watch hip wooer fill up with pony.
my little horse must think it steep
To stop without a farmhouse near
Between tie zones cod frozen lake
vie darkest evening me tie year.
id hives hip garners bells a shake
To ask id these is pond mistake.
vie only other sound’s vie sweep
me easy wind and downy flake.
tie zoner bsd loudly, dark cod deer.
but I have promiser to jeer,
cod miles to in before I sleds,
cod miles to in afford I sleds.

More info when it’s ready.

Let me know if you think you know what’s going on :)

Technorati Tags: , ,

Tagged , ,

An introspective update

Since it’s been so long, here’s what i’ve said:

the wordle created for this blog on 10-7-08

the wordle created for this blog on 10-7-08

Created by wordle.com, words’ size is determined by frequncy on my rss feed, so, apparently i do actually care about culture :)

Technorati Tags: , ,

Tagged , ,

emacs, lisp, php, wordcount, and etc.

Based partially on Steve Yegge’s advice that you should learn your tools, along with an interest in doing some kind of coding even while being busy with school, I’ve been working my way through the emacs manual and the emacs-lisp-intro, which latter is highly recommended.

(As an aside, one thing I’ve been working on has been learning how to make modes and all the things that would go into that, and because of that I was able to “fix” a bug in php-mode, which apparently somebody has found useful and thanked me for. First time ever being thanked for fixing code, let me tell you it was really nice and inspired an extra few hours of learning. What I’m saying is that if you like the work somebody’s doing saying thanks not only makes thme feel good, it also will improve the chances of thme doing further things that will benefit you.)

One direct result of this is that I have written a short count-words-document function. All the hard work was taken care of by `karl’, he wrote the main count-words function as part of the text. But I have started to do a lot of editing of LaTeX text in emacs, so that I don’t have to deal with OOo’s obsessive desire to print my document every time I hit C-p. I can’t figure it out ;)

The wordcount function’s he wrote can count all the words in a region or a buffer, but neither of those are optimal of a LaTeXer, what with all the boilerplate my templates are accumulating. Sure, I could search for the beginning of the document, mark it, and then go to the end and pass the region to the function, but doesn’t that sound like to much work? Well, I realized that since all my templates begin with a “begin{document}” environment, and usually actually a “begin/end{singlespace}” env., that I could write a defun to just automatically deal with that, so voila:

(defun count-words-document (&optional arg begin end)
  "Without ARG, count all the words in the {document} environment
if ARG exists, count words in region."
  (interactive "P\nr")
  (if arg
      (count-words-region (prefix-numeric-value begin)
			  (prefix-numeric-value end))
    (save-excursion
      (goto-char (point-min))
      (if (search-forward "end\{singlespace\}" nil t)
	  (count-words-region (point) (progn
					(search-forward "end\{document\}")
					(goto-char (match-beginning 0))))
	(progn
	  (goto-char (point-min))
	  (if (search-forward "begin\{document\}" nil t)
	      (count-words-region (point) (progn
					    (search-forward "end\{document\}")
					    (goto-char (match-beginning 0))))
	    (count-words-region (point-min) (point-max) t)))))))

That function depends on the `count-words-region’ defun which was written by “karl” and can be downloaded, for convenience with my additional function from here. The count-words-document function if called without an argument (e.g. `M-x count-words-document’) will automatically create a region that begins, in descending order, with `end{singlespace}’, then `begin{document}’, then just the beginning of the buffer. The first two conditions will end the region at an `end{document}’ string, and the beginning of the buffer ends at the end of the buffer. So it has a nice descending order of most logical TeX regions. You can also, if you want pass it any argument (e.g. `C-u M-x count-words-document’) and it will count the words in the current region instead.

This would be nicer if it searched for variables instead of hard-coded regexes, but for now that’s for a v0.2 or something, since I don’t know how to define custom variables yet. Also, I just realized that the documentation is horribly incomplete. Anyway:

To install it, stick it in your load-path (if you haven’t got one set up, adding (setq load-path (cons ".emacs.d" load-path)) to your .emacs file will add `.emacs.d’ to your load path, just make the actual directory [that is to say, `mkdir .emacs.d'] and put the file inside it.) and add (load "wordcount") to your .emacs file somewhere below the load-path edit, and voila.

You could also set it to a shortcut key, for example I have it set to `C-c d’

(global-set-key "\C-cd" 'count-words-document)

`d’ for Document.

Technorati Tags: , ,

Tagged , ,

Subversive Subversion

In honor of getting subversion up and running on my website, and in honor of sort-of publishing my first code, I wend ahead and set up websvn. With syntax highlighting! (Thanks to mihasya) So, if you’re ever curious about what I’ve been coding recently you can check out svn.quodlibetor.com and view logs, etc.

And, of course, freedom-loving individual that I am, I would love collaborators (programmers, designers, eventually educators, and of course other kinds of people I haven’t thought of) on any project you can see there.

Technorati Tags:

Tagged

My first useful program, ever

2:00am, finals week, what would be a good use of my time? Oh, yeah, how about writing a little bash script to keep my external hard drive from constantly spinning down? Observe:

#!/bin/bash
 
while [ true ]
do
    touch /media/BigEx/.keephdactive
    sleep 4m
done

Wow, right?

Yeah, it’s been kind of bothering me for months, nothing on the internet anywhere had an easy way to do this. And then, after 5-ten minutes of googling in vain all of a sudden I thought to myself: “Hey man, you’re supposed to be a computer scientist, (tbd) can’t you do something about this?” And so, in less time than several failed google searches, I had this.

If you’re on linux and you want to get this running, copy & paste the following into your terminal. It will open up your text editor, inside of which you should change the “BigEx” to the name of your external hard drive. (What it shows up as in the menus and such.) These commands will just put it in your home folder, at the end there’s a command to move it out of there, if you don’t know how.

If you’re in GNOME (eg Ubuntu):
wget http://svn.quodlibetor.com/pubsh/bash/hdactive.sh && gedit hdactive.sh && chmod +rx hdactive.sh

If you’re in KDE (eg Kubuntu, Fedora 9):
wget http://svn.quodlibetor.com/pubsh/bash/hdactive.sh && kate hdactive.sh && chmod +rx hdactive.sh

The only difference between them is a different text editor. (The “&&”s are just ways to join multiple commands together in one line, I did it so that you won’t have to copy/paste 3 times just to get a little hack working :)

Last thing to do then is run it:

./hdactive.sh &

should do it. (The “&” just means “run this process in the background.”)

If you’re in GNOME and you want this file to run every time you start your system, first it’s probably a good idea to put it in your /usr/bin directory:

sudo mv hdactive.sh /usr/bin/

And then you’ll want to add it to your startup session, which is something I don’t know a command for, or how to do it in KDE, so menus time: “System -> Preferences -> Sessions” select “+ add” from the right side, for the name put “HDactive” (or whatever) for the command put “hdactive.sh” (no quotes) and for comment put “oh man quodlibetor’s friggin’ sweet.”

That last part is essential for the proper working of the code :)

OK, it’s now officially been an hour and fifteen minutes since I thought “damn I wish my hard drive would stay on.” On the one hand, that’s way too long, on the other hand, my hard drive has stayed on :)

p.s. I know that there are at least a couple things to do to make this work better (eg accept parameters instead of making people change the code by hand) this works for me, and it’s also damn near my first working bash script ever, so I’ll change it as I have time. I promise that the link will always work though, and if I change it enough that these instructions don’t apply any more I’ll put comments inside it so anybody trying to edit a newer version will see that something’s weird and what to do about it. You can consider it currently licensed under the WTFPL, so do wtf you want to with it :)

[edited a whole bunch of times to get some basic code formatting and syntax highlighting working, since this is my first post with actual code]

Technorati Tags: , , , ,

Tagged , , , ,