Archive for 2009

Is Google trying to start a haunting legend?

Saturday, December 26th, 2009

I recently wanted to find out how long a nearby walking trail is, so I pulled up Google maps and put in directions from the approximate start to the approximate end. Although the trail “7th Ave”, the walking directions call it “Haunted Trail”:

Haunted?

I’ve lived in San Diego my whole life but I’ve never heard it called this. I wondered if I was missing out on some sort of thrilling ghost story, so I googled it, but all I got were results for the seasonal haunted house by the same name that takes place a few blocks further south in Balboa park. I’m not sure if Google somehow mixed these two up or if there’s a local legend I haven’t heard yet.

You can see for yourself here.

Io Saturnalia!

Friday, December 25th, 2009

I like this quote so much I’m going to break my vow of not acknowledging Christmas just to post it:

…every religion attaches some godly event to the solstice season. It’s why you’ll get a day off on Christmas, which means it was good for something. So just pause, bow your head, and think about Jesus. And reject him.

-”The reason for the season!” at Pharyngula

Happy Saturnalia everybody

Santa picture 2009

Thursday, December 24th, 2009

Today was the 12th annual Santa picture. For your enjoyment:
Santa = Batman

With that, my holiday season is now over. If your festivities are still ongoing, I hope they are happy or merry or jolly or otherwise enjoyable.

Random web updates

Saturday, December 19th, 2009

VeganWiki got spammed by some botnet a couple days ago. Each instance of spam was from a different IP. I reverted all the changes and blocked all the IPs, but I think it’s just as useless to block botnet IPs as it is to filter spammers’ e-mail addresses: there are always more out there. I briefly Googled blocking spam in MediaWiki, but I haven’t actually read the article yet. Here’s a link in case anybody gets curious.

I upgraded this blog to Wordpress 2.9, as well as making minor template changes. My plugin appears to be working with the new version – as I expected it would.

On kjcoop.com, I’m threatening to retool my portfolio, but I’m finding it difficult to toe the line between, “Be thorough and honest” and “Don’t tell your life’s story.” Maybe I’ll just go ahead and tell my life’s story. It’s bound to be interesting since I’m such an interesting person.

Ambiguous date storage

Sunday, December 13th, 2009

I’ve often pondered how to record and work with ambiguous dates in software. I typically have one of two reasons:

  • Scheduling: an item that needs to be done next week or some time in February or a summer Saturday afternoon. The user can schedule it for Monday, or Feb. 1, then, at the end of every day it goes undone, reschedule it for the following qualifying day. This works, but the role software is to automate that sort of responsibility. If the user has to do something the computer could do just as well, the software is lacking.
  • Dating pictures: You kids today and your fancy digital cameras with your fancy exif data and your geotagging. In my day, you had to write the date on the back of the photo. By hand! Like they did in the dark ages. Some pictures from this era have complete or partial dates. Some dates were obviously written decades later. Others you could probably guess and be accurate within about 5 years. In addition to storing a date, each part of the date (day, month, year) may have differing levels of accuracy, and it would be nice to be able to store its certainty with it.

I usually work with MySQL for my application’s data storage, so I’m going to assume that’s the tool we’re storing ambiguous dates in. It’s native Timestamp/Datetime format is YYYY-MM-DD hh:mm:ss. I usually store dates this way. In some contexts I might simplify my life by storing the Unix timestamp instead, but I like the dates to easily human-readable straight out of the database. Any ambiguous date storage system must consider all six pieces of information (year, month, day, hour, minute, second). An obvious table to store this sort of information might be:
create table ambiguous_dates(
    id int unsigned not null auto-increment
        primary key,
    year int(4) unsigned,
    month int(2) unsigned,
    day int(2) unsigned,
    hour int(2) unsigned,
    minute int(2) unsigned,
    second int(2) unsigned
);

Regarding the inclusion of all six pieces of information: while a system for cataloging decades-old pictures won’t have any use for the time of day portion, the idea here is to develop the most complex version I’m likely to need, then scale it back for individual projects if necessary.

I have three issues with this implementation:

  1. Day of the week. The only way to deal with hat is to add another column, but that introduces the possibility that parts of the date will conflict with one another (ie, the YYYY-MM-DD portion is given as 1962-03-23, which was a Friday, but the day_of_week column claims Wednesday.)
  2. Certainty of each field. This is especially important if the parts of the date can conflict with on another as in the example above. We could add another six fields for year_certainty, etc, but that feels heavy-handed to me; I suspect there’s a better way.
  3. According to this article, it just reinvents functionality already built in to MySQL.


create table ambiguous_dates(
    id int unsigned not null auto-increment
        primary key,
    year int(4) unsigned,
    month int(2) unsigned,
    day int(2) unsigned,
    day_of_week int(1) unsigned,
    hour int(2) unsigned,
    minute int(2) unsigned,
    second int(2) unsigned
);
 
create table ambiguous_dates_certainty(
    date_id int not null,
    field varchar(11) not null default '',
    certainty int(1) not null default 0,
);

This is closer to what I want, but it doesn’t join gracefully with the above table (you sure can join, but you’ll get up to seven rows of results for one date, which is awkward), so you risk having to run a second query, which is expensive in terms of processing time, and still gives you two sort of awkward sets of data. Additionally, I’m not sure I like just having an int for certainty. If it’s am multi-user application, one person’s seven may be another person’s three. Also, unless very explicitly programmed otherwise, some users may see 1 as very certain and others may think of 9 as the most certain. And even then, since when do users take the time to read the whole prompt when they think they have the gist of it?

We could add a text column indicating the source of each portion of the date so that we’d know whether it was from a reliable source or somebody’s best guess half a century after the picture was taken, but that also feels excessive to me. What would the corresponding interface for that look like? Is it fair to expect to enter each portion of the date separately, then add meta information about each portion? Especially when they’re likely to be (as in the example of the picture catalog) cataloging dozens or hundreds of ambiguous dates? Eventually, whether programmer or user, you have to accept that some data will always get lost to the sands of time, even if it means never knowing how old grandma was in that picture of her with her dogs.

A compromise might be to just have one column for notes in the ambiguous_dates table. If programming for my own use/enjoyment, I don’t think I’d take that compromise. My usual MO is to try to retain as much information as possible because once forgotten, it can’t be brought back, whereas if it’s retained needlessly, it’s easy to ignore.

I don’t think I’ve made any particularly good suggestions, but it is a starting point. I googled the topic and found very little written on it (but I did find this thread about another kind of ambiguous date), although I may not be using the best terminology. I’d be interested in hearing what the good people of the Internet have to say.

Dr. Carhart to take over Dr. Tiller’s spot as target of pro-life harrassment

Monday, December 7th, 2009

Dr. Carhart, who briefly took over Dr. Tiller’s practice after Dr. Tiller was murdered in May, is now taking his place as primary target of abortion protester harassment.

Until Dr. Tiller’s murder, I shared the common misconception that a late-term abortion was the result of a late-term change of plans – after six or eight months of pregnancy, the parent-to-be simply changed their mind. After reading lots of stories from people who’d undergone a late-term abortion, I realized that a late-term abortion is typically pursued after the discovery of devastating fetal deformities, and the loss deeply mourned.

One comment (which I can’t find now) described watching Dr. Tiller get out of his armored car, flanked by body guards, in front of his clinic stepping into a mob of protesters shouting about murder. That image, more than any of the tear-jerking stories from people who had to end much-wanted pregnancies, solidified my enormous respect for Dr. Tiller. The courage it must have taken him to face that mob and risk his life every day, after decades of threats and actual violence, makes him a hero.

They say Dr. Tiller was considered a saint within reproductive health circles, and based on what I’ve read, I’m inclined to agree. I don’t doubt that Dr. Carhart is just as exceptional. As one of two late-term abortion providers in the United States, Dr. Carhart no doubt faces all the same threats and takes the same precautions.

I’m sure each doctors knew that he could switch to a less controversial specialty and simplify his life a great deal. But at the same time, I suspect they can’t. I don’t think a person can dedicate so much of their lives so passionately to something and then just walk away. Although should Dr. Carhart chose to do precisely that, I wouldn’t blame him in the least. He’s doing important work at huge cost to his personal liberty and sense of safety, I don’t think anyone could fault him for trying to claim some of that back.

Review: Four Hour Work Week

Thursday, December 3rd, 2009

I viewed Four Hour Work Week by Tim Ferriss with skepticism I normally reserve for late night infomercials. I read it in spite of that because the library had a copy, so it cost me nothing to satisfy my curiosity. My usual book-review note is in effect.

The crux of the book is advises the reader to create a product that can be shipped straight from the factory to your buyer without any action on your part, so all you have to do is sit back and watch the money appear in your bank account.

I’m not convinced of the book’s thesis: that anyone who wants to can make a huge stack of cash doing very little work. Its methods for dealing with employers seemed rather optimistic, and I think the author overestimates the amount of time one can save by cutting the non-work activities out of your workday. Admittedly, the author’s done it, I haven’t, so that make him the expert, but I’m not convinced that because he was able to do it, anyone can.

Additionally, much of the plan hinges on concepts advertising and outsourcing. As I’ve said elsewhere, I don’t like advertising and I don’t have a great solution to or substitute for it. I don’t know how you’d get people to learn about, much less buy, your miracle product without some form of advertising. I don’t have an educated opinion on outsourcing, but I’ve heard enough controversy surrounding it that I would need to educate myself on the topic before being personally involved. Although the author does spend a couple cursory pages saying basically, “Outsourcing is fine, don’t worry so much”, it didn’t really address any issues about why outsourcing might not be fine, just that everyone does it. Which is fair: it’s not a book about social justice in the global economy.

The plan is a guide, not a recipe that must be followed under pain of death. If you don’t like an idea presented in the book, you don’t have to act on it. The book as a whole is still useful for the other strategies he provides for reducing the amount of time you need to spend at work. Each chapter ends with a list of relevant resources, mostly on the Internet.

Many sections end with a series of questions to the reader: what would you do with your days if money were no object? He spends some time expounding on the idea that a person’s quality of life is directly proportional to the number of uncomfortable conversations they’re willing to have, and encouraging readers to swallow those proverbial frogs. This is book’s most powerful aspect: putting the proverbial frogs in perspective by juxtaposing them with of the promise of readers’ wildest dreams.

It was timely reading material for me, being between jobs, because I’m not entirely convinced I want a new job exactly like my old job so I can do exact same thing for the next forty years, and this book did help me get a fresh look at my options. I enjoyed it, and were I not also between incomes, I might even buy a copy. In the initial draft of this review, I said I would hypothetically recommend it to a friend, but in the month that’s elapsed I’ve already recommended it to two. I don’t know if they’ll find it useful or educational, but I do anticipate they’ll find it thought provoking

Better than silent mode on the G1

Tuesday, December 1st, 2009

I killed my two biggest annoyances with my G1 with one stone: I recorded a couple seconds of silence and set that as my default ringtone.

  • Even if the volume control on the side of the phone gets pushed in my pocket, my phone will vibrate silently (but for the noise of the vibrator) when I receive a phone call.
  • The phone cannot by design mix silent and noisy alarms (all can be silent or all can be loud), I can now set the default to noisy, set mid-day alarms to vibrate while using the silent ringtone, and those alarms facing the formidable task of rousing me from a dead slumber can still blast at full volume.

I assume these points are also true for any other Android-based phone on the market.

Detailed instructions

Set silence your default ringtone.

  1. Download snd.ogg. You can also record your own silence if you want to be all proprietary about it, but the result should be about the same.
  2. Transfer the file from your computer the same way you would any other file. If you downloaded from your phone rather than your computer, I believe it will be automatically added to your music library.
  3. Go to the Music application on your phone. In the library, press the “artists” button. There is no artist/album data associated with the file, so Android files it under “Unknown artist” and album “Music”. Scroll down to the song snd. Hold your finger down over it until a context menu pops up. Select “Use as phone ringtone”. Your default ringtone is now silence
  4. If you’ve given people in your address book their own ringtones, those will still be audible. Either adjust those settings individually or learn to live with the shame of Hanna Montana announcing your mother’s every phone call.

Silence some alarms.

  1. Having followed the directions above, go to the Alarm Clock application. Tap the alarm you’d like to silence.
  2. Tap ringtone. In the ensuing menu, select snd. Tap OK.
  3. Make sure vibrate is checked to avoid making the alarm too subtle.

Confessions of an Advertising Man

Saturday, November 28th, 2009

This morning I finished reading Confessions of an Advertising Man by David Ogilvy.

Early in the book, after discussing his strategy of being a publicity hound, he writes (page 32):

Gentle reader, if you are shocked by these confessions of self-advertisement, I can only plead that if I had behaved in a more professional way, it would have taken me twenty years to arrive. I had neither the time nor the money to wait. I was poor, unknown, and in a hurry.

I found this interesting because none of his “confessions” even raised an eyebrow, which is probably a testament to how influential this book was. While it was apparently shocking to buddy up with people who are influential in your industry for the sake of getting attention, it’s now called networking and people in most professions are urged to do it.

While my feelings on advertising are known, he strikes me as a decent guy.

  • He entreats advertisers to address the consumer with respect. On page 65 he writes, “The consumer isn’t a moron; she is your wife.”
  • “The product must be one which we would be proud to advertise.” He writes on page 46; he reiterates a similar principle on page 65, “I also resign accounts when I lose confidence in the product. It is fragrantly dishonest for an advertising agent to urge consumers to buy a product which he would not allow his own wife to buy.”
  • He uses the words “intellectual honesty” many times, both when referring to an advertiser’s dealings with their client, and that client’s potential customers

In short, he wants to tell consumers why his client’s product is the best product on the market, as opposed to just make a stack of cash on a pack of lies. I found this a little surprising. It had never occurred to me that honesty might be part of an advertisement.

I giggled along with the following passage from page 127:

As a private person, I have a passion for landscape, and I have never seen one which was improved by a billboard. Where every prospect pleases, man is at his vilest when he erects a billboard. When I retire from Madison Avenue, I am going to start a secret society of masked vigilantes who will travel about the world on silent motor bicycles, chopping down posters at the dark of the moon. How many juries will convict us when we are caught in these acts of beneficent citizenship?

I wonder how he rectifies such powerful distaste with the fact that he/his agency must surely create the occasional billboard. I wonder how he would have felt about the proliferation of advertising into more and more places. He may say so in his later books, but not having read them I am free to wonder. I wonder if, besides billboards, any other new places to advertise would have struck him as an intrusion. I suspect that, as a businessman, he would understand that finding new and novel places to advertise was a necessity of continuing to create effective advertisements, even if he hated it to the point of destruction, he would still do it, as he did with billboards.

It seems that he opposed gimmicky advertising, but only because it was ineffective. On page 151, in his final chapter, titled “Should Advertising be Abolished?”, he writes:

My own clinical experience would suggest that the kind of informative factual advertising which dons the endorse is more effective, in terms of sales results, than the “combative” or “persuasive” advertising which they condemn. Commercial self-interest and academic virtue march together.
    If all advertisers would give up flatulent puffery, and turn to the kind of factual, informative advertising which I have produced…they would not only increase their sales, but they would also place themselves on the side of the angels. The more informative your advertising, the more persuasive it will be.

This book paints a much more innocent picture of advertising than the one I hold. I don’t know if that’s because I’m especially cynical, or if the advertising industry itself has changed in this respect. I tend to believe the latter, but surely there are still some advertisers who are sincerely believe their client’s product is best just as surely as some of Ogilvy’s contemporaries’ advertisements were based on lies.

A little secret

Friday, November 27th, 2009

I’ll let you in on a little secret: Every once in a while I go to the page of my Wordpress plugin to see how many people how downloaded it. I feel disproportionately gleeful every time the number rises. Today it went up to fifteen! And none of those were me! Maybe one day I’ll encounter it in use out in the wild, wild Internet. And when that day comes, I can assure you, I’ll giggle like a schoolgirl.

Why yes, I do make a habit of publishing secrets on my blog, why do you ask?