Garkov

I really love Markov chains, largely because they often produce text that resembles intelligible text just enough that we try to make sense of it only to realize that it’s absolute nonsense.

So I find Garkov to be sheer brilliance. It takes drawings from old Garfield cartoons and generates text using Markov chains. And comics are the perfect medium for this because they rarely make sense to me anyway.

What in the world?

When I heard the Gates-Crowley thing, I pretty quickly came to the conclusion that it was a petty squabble that didn’t seem to involve race. I stopped caring. I don’t know who thought to ask the President what he thought about the borderline-justified arrest of someone for disorderly conduct in their home. But this ridiculous story just won’t go away.

I haven’t — and won’t — taken the time to read it, but it’s apparently turned into a multi-hour liveblogging session for major news outlets, complete with coverage of protests, allegations of sexism (the female 911 caller, who gave her tearful speech about the emotional anguish that ensued, was not included), and even news coverage about the absurd level of news coverage.

How crazy has our nation become?

If Software Was Toasters

There’s a big movement in software development to do rapid release cycles. We tend to release every two weeks. If we ahve major work to do, we can expand the window, and sometimes we have just a small sprint and code, test, and release in a week.

Software, be it a simple website or a complex platform, is never done, it seems. You draw a deadline for a batch of features and release them. The next time around, you fix the bugs the last release introduced that your QA process missed, introduce some new features, and probably slip in a few new bugs.

Why do we do this? Why do we need patches and updates? We bought a fairly high-end toaster a while ago. It’s sat in our kitchen for a few years making toast. (Err, making many pieces of toast on many occasions, not spending several years making one piece of toast.) There have been no updates or patches or service packs. It has zero bugs and no security vulnerabilities.

I started thinking about how you’d write code like that. And my conclusion is that you’d have to stop “rapid iteration.” At some point you have a feature freeze, and then you spend months testing, and fix every single little bug, even the, “The bug might affect 2 users ever, but the fix has the potential to break some core functionality in subtle ways…” ones. You’d spend a lot of time making trivial fixes, and a lot of time testing against unlikely uses.

A big problem we find is that we can easily test functionality, but that the real world does things we would never try. People try to stuff bananas into toasters in some cultures and they jam. People bring the toaster to Europe and plug it into a much higher voltage than expected and it blows up. Some lunatic has his outlets wired for DC, and the toaster short-circuits. When you use the toaster inside a cryogenics freeze locker, it never gets the toast warm enough. Some of these are so ludicrous that they’re not worth fixing, but others are legitimate uses that no one ever considered. And yet, somehow, toaster makers never run into these problems. There’s a pretty well-defined set of conditions in which a toaster should operate, and they’re tested in all of them.

But the big thing with the toaster is that you know that it’s got to just work, because you don’t have the option of pushing out a patch release. If people run into bugs with their toaster, they’re going to return it and use the money to buy something from a competitor. They won’t submit a bug report or wait for a patch.

I don’t think this process is going away, but it’s something I find interesting to think about. If you only had one shot to get it right, how would things be different? Do rapid release cycles just make it too easy to release imperfect code?

Paying at the Pump

When I get gas, I swipe my credit card at the pump, fill up, get my receipt, and drive off. Since the filling up process takes a couple minutes, I find myself observing other people.

One thing I’ve noticed is that most people do not pay at the pump. They pull in, look around trying to find the pump number, and then walk inside to pre-pay. This always seemed odd to me, but maybe it’s because pay-at-the-pump was a nearly ubiquitous feature when I got my license. Besides the fact that it’s an unnecessary waste of time to walk across the lot to go inside, wait at line, and pay, I also never understood the concept of prepaying for something when no one can predict how much it will cost. Even if I drive exactly the same route at about the same speed, and the price of gas hasn’t changed, my gas bill fluctuates by several dollars. Paying for $25 of gas might leave me with the pump shutting off before I’m done, or it might leave me contemplating overfilling my tank to get my money’s worth. All in all, the process of going inside never made sense to me, but maybe I’m missing something.

Why do people go in? Do they insist on paying cash? Do they enjoy the company of the attendant? Having gone inside to buy a bottle of water or a pack of gum periodically, this seems quite unlikely to me. The only truly reasonable explanation I can think of is that the people who go inside buy something else while they are inside, like coffee or a newspaper. But very few of the people I watch going in come out with anything in their hands, so that theory is ruined, too.

Is it a generational thing? The older generation grew up going inside to pay for gasoline before pumping it, so they keep doing it, and I’m young and never knew the old way? But isn’t pre-paying a new concept, fueled (pun intended) by drive-offs, an issue ignited (pun intended) by the soaring price of gasoline? Is it the user’s irrational lack of trust of the gas pump, like how I refuse to deposit checks into ATMs for fear that they’ll vanish into the ether?

I sort of want to start polling people next time I’m filling up. But I’ll start here. Do you go in to pay, or do you pay at the pump? And, much more importantly, why do you make that choice?

Computer Help

When I have the time, I find that I actually enjoy helping people with computer problems. It’s something that comes naturally to me, and often people are one stop short of terrified of the errors they’re seeing. But here is some advice on asking for help:

  • Please provide context. What program were you in and what were you doing? When you say, “I press the button and it says something is not found,” no one has any clue at all what you’re talking about. It would be like calling your car mechanic and saying, “When I move the thing, it rattles.”
  • In general, “My ___ isn’t working” is about as unhelpful as you can get, except for “an error popped up.” Why isn’t it working? What did the error say? The more specific you can be, the better the odds that I’ll be able to help.
  • We usually need to know things like what operating system you’re running (Mac? Windows 95? Windows XP? Vista?). Knowing the version of the program you’re running helps, too.
  • Computers are not like cars. Telling me you have a “2007 Compaq” conveys absolutely no useful information to me. Unless you’re having hardware problems or your computer is a decade old, I can’t think of a single time when knowing the manufacturer helped.
  • If you get an error, it’s really important to relay what the error says. I can’t tell you how many times people complain that “some gobbly-gook came up” or “it showed an error” and seriously expect me to be able to help. Odds are very good that if you can’t communicate what the message said, no one can help you with it. Would you go to the pharmacist and say, “Hello, the doctor said I needed some medication” and expect that this was all they needed to know? Or walk into a library and say, “Hello, I’m looking for a book that a friend recommended. I don’t know what it was, but my friend is tall and has brown hair.”
  • If you received an error message, did you try Googling it? Most of the time I’m able to answer my own question by copying-and-pasting the error message into Google. The good news is that I can often solve peoples’ problems in record time, without even understanding them, by Googling them and sending them the first thing that comes up, which happens to tell them exactly how the fix the problem. The bad news is that they could have done this themselves.
  • My computer knowledge extends to in-depth knowledge about some specific computer programs, and then a general understanding of how computers work. I have absolutely no clue how you beat level 17 of the game you found online.
  • If the problem isn’t happening anymore, please don’t ask for help. This one really puzzles me, but several times lately I’ve had people complain of issues, and when I asked for more information about the problem, they told me that they didn’t remember because it happened weeks ago and hasn’t happened since. Huh?

OxiClean

I tend to be pretty obsessive-compulsive, and OxiClean is quite effective at cleaning, so it’s little surprise that I use it religiously.

But what is OxiClean, anyway? Oxygen, of course. I never really thought it through enough to realize that my image of it as powdered oxygen made no sense at all. (And if oxygen had such powerful cleaning effects, wouldn’t allowing your clothes to be in contact with air clean them?)

Wikipedia to the rescue: OxiClean is primarily sodium percarbonate, a “water-soluble adduct of sodium carbonate and hydrogen peroxide.” Notably, when mixed with water, you end up with soda ash and hydrogen peroxide. Soda ash, also known as sodium carbonate, is a strong base (as opposed to acid) helpful in softening water, neutralizing pH in acidic solutions, removing flesh from dead animals, inducing vomiting in dogs, and cleaning silver. Hydrogen peroxide, of course, is a bleaching agent. It’s also acidic and apparently useful in rocketry as a propellant. (According to Wikipedia, it is also used to whiten bones for display, which suggests that soaking a dead animal in OxiClean may simultaneously remove its skin from the bones and whiten the bones!)

Being Unreasonable

This whole “birther” movement is really taking off. (Somewhat like “tweets,” I really hate the word “birther.” For those who don’t follow lunatic conspiracy theories, “birthers” are the people who content that Obama is not a US citizen.)

I used to try to reason with these people, but I’ve given up on even listening to them talk. The head of Hawaii’s Board of Health has certified that he’s inspected the birth certificate. So has the Republican governor. So has an independent council. His “abstract of birth” has been released more than a year ago. The state just doesn’t give out copies of someone’s actual birth certificate. Additionally, Obama’s birth was listed in the newspaper when he was born. It wouldn’t have made any sense to try to do that fraudulently if you were a Kenyan. It’s not like his parents thought he was going to come to run for President some day.

There’s an audio clip of Obama’s step-grandmother saying he was born in Kenya. Ignoring the fact that an audio clip on the Internet of one’s step-grandmother isn’t necessarily a reliable source, it’s really misleading. Speaking through an interpreter “on the phone in a crowded hut during a celebration, over a speaker phone that dropped the call three times,” she realized that what she had said was misunderstood, and clarified that Barack was born in Hawaii, not in Kenya. That bit was conveniently omitted from the “birther” claims.

None of the people that have sued have had standing to do so, so none of the cases have moved forwards, but “birthers” tend to assume all of the facts in them are true.

The McCain campaign, which I thought was playing really dirty tricks and trying anything to discredit Obama, looked into his citizenship and found that the claims that he was here illegally were bogus.

All in all, those involved tend to either not understand the facts, or they completely disregard them. The Huffington Post has a copy of an MSNBC interview in which Chris Matthews lays out the preponderance of evidence in favor of Obama’s citizenship, while Gordon Liddy, who served several years in prison for his role in the Watergate break-in, and who “once made plans… to kill journalist Jack Anderson, based on a literal interpretation of a Nixon White House statement ‘we need to get rid of this Anderson guy,'” argues that Obama is engaged in a conspiracy.

It’s to the point where it’s not possible to try to use logic in this argument. The President is a citizen of the United States, despite what the far-right would like to believe.

Radiant CMS Mini-review

I had pondered aloud about Radiant CMS in the past about Radiant CMS, a small and slick CMS.

After tooling around for about 45 minutes, here’s a mini-review:

  • It’s easy to set up, and is, indeed, small and slick.
  • Generally, it works well.
  • It’s seemingly not meant for non-technical users. To get a basic templated page set up, I had to figure out layouts and pages. Easy enough for me, and pretty powerful, but not something a non-technical user would grasp at all.
  • More advanced features aren’t that intuitive. For example, I’d like to have a “Snippet” that is a dynamically-generated list of the pages on my site. I can probably do this somehow, but I have no clue how, and the documentation doesn’t make it that apparent.
  • The extensions provide lots of added functionality. Unfortunately, three of the five I attempted to install failed with cryptic errors. One of the five worked great (“settings”). The fifth, paperclipped, installs fine, but fails to generate thumbnails and doesn’t show any errors. There are several rake commands that need to be run for most extensions that I haven’t seen documented in any clear place.

Overall, it’s slicker than a lot of things, but it still feels like a rough-around-the-edges tool meant for developers and geeks, not ready for the sort of people that want a webpage but don’t understand this H-T-M-L concept.

The Typical Visitor Here

Quantcast eventually collected enough data on visitors to the blogs to generate some statistics on visitors. I know from Google Analytics that 64% of visits come from search engines, and that “returning” visitors only make up 25% of visits, so “we” that post here are in the minority. Still, the results surprised me a bit.

According to Quantcast, the average visitor is an Asian male, aged 35-49, having no (minor) kids, having a graduate degree, and earning under $30,000 a year. That seems statistically improbable. (This actually isn’t entirely accurate: college-educated, but not graduate-level, is the highest demographic, and Caucasians still make up the largest demographic here. But the numbers I went by were compared to the average: the site is considerably more popular with Asians than other sites on the Internet, and somewhat more popular among well-educated, low-income people. Which is perhaps accurate if you consider that many of us have just finished college within the past year or so.

More interestingly, the site is considerably less popular than average with Hispanics, parents with kids under 17, and especially with children 0-17 themselves. Nearly half of all visits were from outside the US, but in terms of DMAs, Boston/Manchester ranks very highly, followed by New York. Waltham is the most popular city, though, followed by Boston.

Another one for stats geeks: just shy of 58% of users are using Firefox, 22% IE, 9% Safari, and almost 4% Chrome. For what it’s worth, other sites seem to have Firefox and IE roughly flipped. Windows accounts for just over 2/3 of all visits; Macs come in at 15.99%, and Linux at a bit over 14%. Fourth place goes to the iPhone, with 2.36%. Nearly 17% of visitors do not have Java support.

Cameras for Sale

If anyone is interested, I’m gearing up to list my old camera, a Fuji FinePix S5100. It’s “only” 4 megapixels, but still takes good shots. It has excellent zoom, macro mode, and can do short videos at 640×480. It includes a 1GB xD card and an xD card reader; the manual and software are available from Fuji online. There’s a minor defect in that the flash doesn’t always stay down, but I’ve never had it pop up when I was using it. (I’ve ranted before about resolution: I have a 10-megapixel camera and have it set to shoot at 5 megapixels, because the 10-megapixel images are just too big. I have a 20×30 print from a 6-megapixel camera.) I plan to put it up on eBay soon, but if anyone wants to grab it for $100 now, let me know.

I’m toying with selling my current digital SLR, too. It’s a Canon Rebel XTi. I’ve always babied this camera, so it’s absolutely like new. It would include a Sigma 18-50mm lens (f/3.5-5.6, selling for about $100 these days), two CF cards (1GB and 2GB), and a CF card reader, plus the battery and charger, original packaging, etc. I’m looking in the $400-450 range. I’m not positive I want to do this yet, but if anyone is interested, it would certainly make up my mind for me. 😉

If you’re interested in either, let me know. I’m hoping to get more than I mention here for both cameras on eBay, but cameras have a high rate of fraud on eBay, so I’m eager to skip the whole thing.