kai_mactane: (Default)
2011-07-17 12:36 pm

How Many Identites Does a Single Person Have?

(This was originally posted on Google+ itself. I’m also keeping it here, for easy reference.)

A friend of mine notes that one of the problems of the current Google+ “real names policy” is that “Google is attempting to deal with (I’m assuming) manufacturing a community of 1-to-1 RL presence-to-online presence” — in particular, he says that while he does have questions about how Google is attempting to do this, he also has a lot of respect for the fact that they are trying to.

I’m not so sure that I do. Partly because I’m not convinced that there’s any value in creating a community of 1-to-1 real-life presence to online presence.

That’s partly because I’m not convinced that there’s any such thing as a 1-to-1 correspondence between real-life presence and real-life presence. I mean, seriously, are you the same person at work as you are when you’re down at the bar with friends? As when you’re having dinner in a nice restaurant with your lover? As when you’re in bed with him or her?

The idea of a 1-to-1 correspondence between real life presence and online presence is based on the idea that there’s a 1-to-1 correspondence between identities (personalities) and physical bodies. That idea is wrong. We all shift identities based on who we’re interacting with and what situation we’re in. That’s part of why we even shift our names based on that:

  • My fiancée calls me “Darling”, “Sweetheart”, “Dear”, “Love”, or “Honey”, according to her whim at the time. (We like variety, and we like to avoid getting too canalized to one particular term of endearment.)
  • My co-workers usually call me Kagan.
  • My friends usually call me Kai.
  • My siblings usually call me Kai, but my brother sometimes calls me “brother” or “bro” — and, truth be told, I like this occasional familiarity.
  • Sales people and waitrons and so on call me “Sir”. And this is not an outlying data point, because I answer to it, and I expect them to call me by this name. We all consider it right and proper.
  • Telemarketers and professional service people (bankers and whatnot) would do well to call me “Mister MacTane”. They often presume that they can call me “Kagan” — but this is a mistake on their part, because they are presuming a level of familiarity which (unlike my brother) they have not earned and do not deserve.

All of these different names, and different reactions to them, are signs that indicate that I enact different identities in different contexts. We all do.

And a social network that tries to straitjacket me into a single identity is doomed to omit huge chunks of who I really am. In so doing, it fails to serve my needs. It makes it harder for me to engage with the network at all… which makes it much more likely that I’ll leave.

I understand that Facebook is very deliberately built to enforce a single-identity model, because (as I’ve posted here before) Mark Zuckerberg actually believes that “[h]aving two identities for yourself is an example of a lack of integrity.” But Google doesn’t have to subscribe to Zuckerberg’s delusion.

Sadly, I see little hope that they’ll deviate from the “one physical body, one online identity” model that Google+ currently tries to operate under (and can never successfully enforce without causing even more problems).

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)
2011-07-13 08:56 am

Before You Can Talk About the Singularity, You Must Define It

If you think about technology, and where it may be taking us, it’s impossible to ignore the idea of the Singularity. But if you’re going to talk about it at all, it’s best to start off by defining just what it is you mean. Different people are using the term for a few different concepts these days. (Though at least the memetic mutation isn’t nearly so scattered as the ridiculous array of meanings and outright hot air clustered around “Web 2.0″.)

The Original Singularity: Mathematicians, Represent!

The original concept was the mathematical singularity: A point at which a given mathematical function’s output is not defined. For example, the asymptotic point in the graph of y = 1/x (the classic hyperbolic curve); when x = 0, y is completely undefined — a literal “divide by zero” error.

This gave rise to the gravitational singularity: A point in space-time where the manifold’s curvature (and hence the gravitational field, and the density of any objects) is either unmeasurable or infinite.

Vernor Vinge’s seminal paper, The Coming Technological Singularity, maintains this idea of “change that becomes too fast to measure”, of graph-lines going asymptotic. Vinge writes: When greater-than-human intelligence drives progress, that progress will be much more rapid. In fact, there seems no reason why progress itself would not involve the creation of still more intelligent entities — on a still-shorter time scale…. Developments that before were thought might only happen in “a million years” (if ever) will likely happen in the next century. (In [Blood Music], Greg Bear paints a picture of the major changes happening in a matter of hours.)

Marc Stiegler’s 1989 short story “The Gentle Seduction” also uses the term in a rate-of-change sense, with one character introducing the idea as “a time in the future. It’ll occur when the rate of change of technology is very great — so great that the effort to keep up with the change will overwhelm us.”

Variations Abound

But others are using the term in slightly different ways. Wikipedia’s article on the technological singularity describes it as an event where the rate of change is so great that “the future after the singularity becomes qualitatively different and harder to predict.” This isn’t quite the same idea. Instead of saying that the Singularity itself will be too difficult to comprehend, it’s saying that the time after the Singularity will be too different for us to understand. It’s something like the distinction between a singularity and an event horizon (a boundary beyond which we cannot see). Yes, one causes the other, but they’re not the same thing.

Read the rest of this entry »

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)
2011-06-29 08:16 am
Entry tags:

The Difference One Site Can Make

Only a year ago, I was against infinite scroll. In design meetings, I’d point out the way it breaks various aspects of the scroll bar. (You can’t tell how far through the full data-set you are; dragging the “thumb” down causes it to suddenly change place, etc.)

But now, I almost expect it when I’m scrolling through certain types of web pages. It’s slightly disorienting to me when I bump into the bottom of a page and have to manually click “next” or whatever.

What happened? In a word: New Twitter.

Okay, it’s not really “new” Twitter any more (it was rolled out from September through October of 2010 — less than a year ago, but those 9 months are an eternity in Internet time). But still, that roll-out was the impetus for my change in opinion. Twitter, a site I use every day, changed its UI and started doing infinite scroll. And now that interaction is a part of my daily life, and somewhere along the way, I got used to it. And now I expect it, at least in certain cases.

And it’s because one site changed its interface. And because that one site is one I use many times every day.

Logically speaking, there’s no reason why I should expect, for example, Google’s search results or my Dreamwidth reading page or TechCrunch’s front page to behave like Twitter does. One site’s UI shouldn’t — and doesn’t — have a damn thing to do with any other site. But the things we use frequently shape our habits, and that includes habits of thought.

As a side effect of my having gotten used to Twitter’s infinite scroll, I’ve gotten far less inclined to check the position of the scroll-bar “thumb” to see how far through the page I am… except on the kinds of pages that I expect to not have infinite scroll. For example, an article or story has a natural end, and it just makes sense for a calendar to be paginated.

But blogs? Or search results? Or anything that doesn’t have a natural break-point in it? There’s no reason why these things should require me to find the “load more” link. And there’s really no reason why that link should load stuff in a whole new page. Dynamic pagination with URL parameters like “?skip=40″ was always a kind of awkward idea; it’s just that there didn’t used to be anything better. But now there is.

Right? I mean, that really is the case, isn’t it? I don’t just think so because one of the sites I use every day has retrained the way I think… right?

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)
2011-06-26 01:39 pm

Some Helpful Tips for Recruiters

I received a phone call at work this past week, while I was in the middle of debugging some complicated JavaScript. Usually, my desk phone shows the internal extension that’s calling me; this time, it showed a series of asterisks. Intrigued and confused, I picked it up… and discovered it was a recruiter calling me. Apparently a row of asterisks must be how this phone indicates “Caller ID blocked”. (Now I know.)

The next morning at 7:53, I got a call at home from a number that didn’t report any name. I always let those go to voice-mail. I heard another recruiter leave a message, including “it’s eleven o’clock”.

Two different recruiters in two days, making such elementary mistakes? I’ve been working on this article on the back burner for a couple of years, but it’s obviously time I finished it up and posted it.

Never Call a Prospect At Work

And I really do mean, never. You don’t know if your prospect’s current employer monitors calls. You don’t know if your prospect has already told their employer that they’re looking for other opportunities — but it’s safest to assume that they haven’t, because it is definitely not safe for an employee to tell their employer that. Especially in “at-will employment” states (like California), where an employer can terminate an employee at any time, for any reason or none at all, there’s an all-too-real possibility that the employer will just fire the worker immediately. (I’m not saying this would be a smart thing for the employer to do. And I’m not saying the likelihood is high. But it does exist, and it’s too much risk for the employee to take.)

Telling your employer that you’re looking for a new job can get you canned, posthaste. Having your employer find out from some third party that you’re looking for a new job can also get you canned. You know what’s the one thing that would be even worse than getting fired for being on the job market before you can find a new job?

Read the rest of this entry »

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)
2011-06-12 03:14 pm
Entry tags:

My Favorite Firefox Extensions That You Haven’t Heard About

Before you comment or email me asking how I could have left out AdBlock Plus, FlashBlock, NoScript, Firebug, or Chris Pederick’s Web Developer Toolbar: Please re-read the last five words of this post’s title. If it’s a well-known extension, it’s off-limits for this post. This is about extensions that very few people have heard of, but that more people should have heard of, because they’re so useful.

I’ve tested and made sure that all of these extensions work with Firefox 4.

NextPlease!
Go to the next page in a multi-page or multi-part sequence, with a single keystroke (Ctrl-Shift-right arrow). Includes the ability to use any phrase or image found in the page to determine the next/previous URL. This one is pretty handy for dealing with the kinds of sites that break their articles into multiple pages, but it becomes super-useful when you’re trying to catch up on a webcomic. You no longer have to find the “next” link or button on every page; just keep pressing Ctrl-Shift-right arrow and reading new comics.
Uppity
This makes a good complement to NextPlease!. Instead of trying to find links within the page to forward or backward, this one look at the page’s URL itself, and makes it easy to move up the directory tree. Press Alt-up arrow to move to the parent directory (or from subhost.domain.tld to www.domain.tld and then to just plain domain.tld), or press Alt-down arrow to see a drop-down list of available shortened levels. This one comes in handy when you follow a dead link and want to try to truncate the URL until you find something useful.
keyconfig
Lets you remap what keystrokes are bound to what actions. Since quite a few extensions try to bind to keystrokes, collisions are bound to occur if you have as many extensions as I do. Keyconfig allows me to resolve those collisions. Additionally, just hitting Ctrl-Shift-F12 will give you a dialog box that shows what all your currently active keystrokes are, with the collisions highlighted. Even if you don’t need to change any of them, just knowing what they all are can be seriously useful.
FoxInput
Fixes those silly pages that don’t automatically put the focus on the first text field in the form you need to fill out. Hit a configurable keystroke (Ctrl-I by default) to advance forward through all text fields and textarea elements in the page. Very useful on SquirrelMail’s “compose” window, where moving from the Subject field to the Body field would otherwise take 8 repetitions of the Tab key.
Echofon
A wonderful in-browser Twitter client. It’s particularly useful if you have more than one Twitter account, because you can have your browser be logged into one account, and have Echofon logged into a different account. It’s also available as a native Mac application and a native app for iPhone and iPad.
Browser View Plus
For web developers who occasionally need to check out pages in other browsers, this one is way better than (the rather well-known) IETab. It lets you configure up to 5 other browsers to open things in, then lets you access any of them on your right-click menu.
JSView
Another one that’s useful for web developers. Puts a little icon in your status bar that provides a pop-up menu of all JavaScript and CSS files linked to by the current page. Hovering over any filename gives a tooltip with the full URL; clicking on the item opens the file as if you’d done “View Source”, and right-clicking gives you options such as “Copy file URL”, “Open in new tab” (either focused or in the background), or even “Open in external editor”.

The extreme power of some of Firefox’s extensions is a large part of why I haven’t become a Chrome convert yet. With the level of customization that all these extensions allow, Firefox feels like my browser. It obeys my desires much more smoothly than Chrome does. Sure, I have to restart it on occasion… but since Firefox (like Chrome) is a modern, sane application that makes restarts easy, that’s not much of a drawback.

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)
2011-05-12 08:34 pm

COICA Is Dead, Long Live the PROTECT IP Act

And by “long live the PROTECT IP Act”, I really mean, “let’s kill the PROTECT IP Act, as quickly and as dead as possible”.

[Update: At least one petition to the US Congress opposing this bill can be found at Demand Progress; I will update with others as I find out about them.]

Back when COICA was winding its way through legislative committees, Representative Zoe Lofgren (D-CA) gave an interview to Ars Technica, in which she said:

I was in the Congress when we did the Digital Millennium Copyright Act. [The content industry] wanted to go farther; at one point, the original draft outlawed Web browsing, which I thought was interesting. We did the bill, and they’re complaining. It’s what they wanted, but it’s not enough. Now they want to do something else, which is really pretty draconian

Rep. Lofgren also predicted that “if this passes, in a couple years they’ll come back with something even more draconian.” She was mostly right: Even though COICA was killed before reaching a floor vote by Senator Ron Wyden (D-OR), they’re back with something more draconian anyway.

As Wired notes, PROTECT IP, like COICA, would force credit card companies, ad networks, and DNS server to enact the appropriate form of shunning or blackholing against sites deemed “infringing”. Credit card companies could no longer process payments for the site; ad networks could no longer serve ads to them, and DNS providers would have to cease resolving their IP addresses. But PROTECT IP goes further, requiring search engines to censor their own listings.

Read the rest of this entry »

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)
2011-04-24 02:13 pm

I’ve Chosen Convenience Over Privacy

Back when I got my Palm Prē, I noticed that it wanted to store various of my information on Google’s servers. I thought I’d kept it from doing so; I sure wasn’t using Gmail on a regular basis. I configured the Prē’s email client to check my own account on mactane.org, and I thought everything was fine.

Eventually, I gave up on the Prē and switched to my current, Android-powered Samsung Epic. I figured I was in for a boring day of transferring my contacts over manually… until I discovered that many of them had been synced to my Gmail account, and so they showed up in my new phone without me having to do anything.

Considering all the work I had to go to in order to get my to-do list items, memos and notes transferred over manually… I decided that having stuff transfer automatically was actually pretty damn cool. Since I got my Epic, I’ve been picking “Save contact to Google” whenever I create a new contact. So, if I accidentally drop my phone on the street and it gets run over by an 18-wheeler and then the fragments get kicked into the bay and sink to the bottom, I can just buy a new Android phone and have all my contacts “magically” appear there.

On the other hand, all my contacts are sitting on Google’s servers.

Read the rest of this entry »

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)
2011-04-08 08:18 am

Developers Are Not QA Testers

When a company says “we can’t afford a QA department”, what they’re really saying is, “we accept that our software will be infested with bugs, and quality is not important to us.” When they compound this basic error by saying, “the developers will just have to do their own QA”, they prove that they have no respect for developers or QA people, and you shouldn’t work for such a company in either capacity.

(Of course, a company like that isn’t about to hire any QA testers, so you folks haven’t got the option of working for them. And I’m not a QA tester, I’m a developer. So the rest of my advice is pretty much aimed at fellow devs — but that doesn’t mean I don’t respect you QA folks. Seriously, y’all deserve a lot more respect than you get, and I love it when you make my life easier by finding my bugs for me.)

The skills, talents, and basic mindset that make a good developer are entirely different from the ones that make a good QA person. Asking one to do the other’s job is a mistake as fundamental as expecting graphic designers and accountants to swap places. Let me explain:

Developers hate repetition. We hate having to repeat anything more than once or twice; that’s why some of us become developers in the first place: because we can write programs that automate repetitive drudgery, and hence banish it from our lives.

Read the rest of this entry »

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)
2011-03-24 08:07 am

About Amy Hoy

When I was moving beyond self-written AJAX calls and picking up the Prototype and Scriptaculous libraries, one of the best resources I could find was Amy Hoy’s Scriptaculous cheat sheet. It was hard not to find it — or her: Google searches on the things I was dealing with at the time just kept leading back to Slash7.

I was already advanced enough not to need her “What’s AJAX?” cheatsheet, but it was cool that she’d done such a thing. In fact, she had — and still has — a strong streak of “help teach others, so they can get to where I’m at” about her. That’s something I’ve always striven for in myself, but where I haven’t (yet) gotten around to some of the tutorial posts I want to do, Amy’s been nailing that category for over 5 years. And she’s been taking it seriously.

Later on, when I was getting into Ruby On Rails, Amy’s Secrets of the Rails Console Ninjas was an eye-opener… and then there was her other article that assured me that it was okay to ditch WEBrick for Mongrel, and so many others.

But Amy doesn’t just know loads about developing in AJAX, JavaScript, and Rails. She goes beyond the ephemera of coding, delving deeper into the things that make programming matter. She asks (and answers) some of the hard questions about usability, including a pair of my own favorite points on the topic. She knows that software is also political.

And she writes damned well. Her style is clear, crisp, and readable — unlike my own tendency to ramble on and use overly-complicated sentences. (For what it’s worth, I talk much the same way. At least I don’t code the way I talk — honest, I don’t!)

If I can learn from Amy, maybe one day I’ll be as good a blogger as she is. In the meantime, she inspires me to keep improving.

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)
2011-03-15 07:09 pm

Easy Restarts Are a Security Feature

The more stuff you have open (or habitually leave open) in an application, the more it becomes part of your consciousness, an extension of your mind. For many of us, the question “What are you doing right now?” could best be answered by, “Here’s a list of the tabs I have open in my web browser.”

Hackers* use the word “state” to describe “information being maintained in non-permanent memory”, whether that memory is in a human skull or a computer’s RAM chips. In fact, that ambiguity over exactly where the state is being maintained is one of the word’s strengths — as the browser-tabs example shows, there’s getting to be less of a distinction between the two. The stuff in my browser’s tabs is a reflection of what’s in my own brain, and a nearly-seamless extension of it.

Like every other web developer, I recently got a message from Firefox saying it needed to upgrade. (Because security researchers found yet another hole in Adobe Reader.) Despite the fact that I had over a dozen tabs open, I knew I wouldn’t have to worry about performing the upgrade, because Firefox would remember all my tabs and reopen them after restart. It’s basically a momentary hiccup in my workflow; I can start the upgrade and then use that 30-second break to refill my teacup or go to the bathroom. Come back, sit down, close the spare “You’ve just successfully upgraded Firefox” tab, and just keep working.

Compare that with Windows Update.

Read the rest of this entry »

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)
2011-03-03 09:13 pm

“Unplug From the Net to Connect With People”? Why Not Drive an SUV to Fight Global Warmi

Apparently tomorrow will be the “National Day of Unplugging”, when people who are ready to “take the unplug challenge” will obey the call to “put down your cell phone, sign out of email, stop your Facebook and Twitter updates”. But this isn’t just some kind of stunt or willpower exercise; there’s a point to it. Unplugging is supposed to help people “reclaim time, slow down their lives and reconnect with friends, family, the community and themselves.”

Uh, what?

Let me get this straight: Not posting any updates on Facebook, and not checking my friends and family’s Facebook updates, is supposed to help me connect with them? Turning off my cell phone, and refusing to send or check my email is supposed to bring me more into connection with other people?

What in the world do this event’s organizers think the rest of us are doing with Facebook, with email, and with cell phones?

The organizers are a group called the Sabbath Manifesto, and they espouse ten principles. The first two are “avoid technology” and “connect with loved ones”, respectively.

How the hell am I supposed to connect with my loved ones without using technology? Fewer than 10% of my friends, and absolutely none of my family, live within walking distance of me. (And I’m a fast and powerful distance-walker.) If I drive down the Peninsula, or take CalTrain to go see a friend, that’s using technology. If I quit using technology, I’d have to give up at least 90% of my social circle.

Read the rest of this entry »

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)
2011-02-13 01:29 pm

So, You’ve Just Gotten Your First Android Phone…

Since two of my friends have bought new Android phones in the past two weeks, I think it’d be helpful if I wrote up a quick guide and some app recommendations for those entering the Android world.

Quick Tips

Android version numbers went: 1.5, 1.6, then 2.0, 2.1, 2.2, and 2.3, and now the latest 3.0 release. Starting with 1.5, releases get code-names that start with successive letters of the alphabet, and which are based on “sweet things” or desserts. 1.5 was Cupcake, then 1.6 was Donut. The “Eclair” code-name is applied to both 2.0 and 2.1.

Most modern Android phones should (hopefully) be using at least version 2.2, “Froyo” — or 2.3, “Gingerbread” if they’re nice and up-to-date. The 3.0 “Honeycomb” release is currently intended only for tablets.

Since there’s no way to right-click on things with a touchscreen, Android uses the long-tap, or tap-and-hold, method. This is probably familiar to Mac users already. Try long-tapping on things; you’ll find a lot of features that way.

The home screen is not just one screen; it’s anywhere from 3 to 7 of them, depending on what particular model of phone you’ve got. Just swipe left and right to access the other home screens.

Read the rest of this entry »

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)
2011-02-09 07:22 pm

Are You Sure You Want to Read This Blog Post? (y/n)

When should you ask a user “Are you sure you want to do that?” Bear in mind that asking this question when you don’t have to has more than one bad effect:

  1. Obviously, it wastes the user’s time and may even annoy them.
  2. It also contributes to the general problem of “too damned many dialog boxes in computing”. This is subtly but importantly different from the previous point: It trains the user to unthinkingly click the default option in any dialog box, just to keep it from wasting their time.
  3. Finally, it may actually hinder the user’s ability to leave your program. Look at this page by Joel Spolsky, and search for “exit Juno”. A user thought the “Are you sure you want to exit?” dialog meant that the computer was advising her that there were ill effects from doing so.

Okay, that last one seems like sort of an edge case, right? But even the first two items are enough reason to pay attention to when you should — and shouldn’t — ask the user to confirm something.

My proposal: Only ask a user for confirmation when the action was initiated by a single click or keystroke, and it has some kind of bad effects. Yes, this means that any time you ask someone to confirm whether they want to exit your program, and they have already saved all their work, you just wasted their time. This one’s particularly prevalent in the gaming world, I’ve noticed: Even if you’re in between games, and your scores are all saved — meaning the worst possible consequence of exiting the game is that you’ll have to start the application again — most games will show you a “Do you really want to exit Game Name?” dialog anyway.

MS Word gets this exactly right. If your document hasn’t been changed since the last time you saved it, then exiting the program has no ill effects. If you click the little X, or press Alt+F4, MS Word won’t even bother to ask you “Are you sure?”; it’ll just exit with no muss and no fuss. It’s only if you have some unsaved work that you’ll see the “Do you want to save your changes?” dialog. And if your document already has a filename, Word doesn’t bother to prompt you for a new one; you only get the “Save As…” dialog if the document doesn’t yet have a filename.

The program only bothers the user if it has to; if it can figure things out on its own, it does. Just the way it should be.

If you’re writing another application — I don’t care whether it’s whether it’s a web application, Rich Internet Application, desktop application, or smartphone application — please take a hint from the way MS Word handles confirmation questions. Don’t make your app be the software equivalent of “that guy”.

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)
2011-01-24 08:04 am

Ada Lovelace Day Is Not Enough

In two months, the third international Ada Lovelace Day will take place, on March 24th. Bloggers around the world will devote posts to writing about the achievements of women in technology and science. This is wonderful, and I highly support it, but…

What about the other 364 days of the year?

Setting aside one day per year to write, “Hey, there are women in technology, too!” is not enough. In fact, I’d call it a bare minimum. If you only post in your blog once a week, you’re putting out 50+ posts per year. If only one of those has to do with women, you’re ignoring half the human race 98% of the time.

Technology is not just for men. It doesn’t solely affect men. Men aren’t the only ones to drive it, or develop it. And I’m sick and tired of the culture of machismo, sexism, and outright misogyny that’s been turning high-tech — and particularly the open-source and startup arenas — into a little boys’ club that drives women away.

Blogging about the accomplishments of women for Ada Lovelace Day is not enough. But it’s a start, at the very least. We can’t say, “I wrote about Grace Hopper on March 24th; there, I’ve done my duty. Can I have my Nice Guy badge now?” We can’t write one article and then rest on our asses the rest of the year.

Instead, I see Ada Lovelace Day as a springboard — a starting point.

Read the rest of this entry »

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)
2011-01-16 02:13 pm

Hummingbird Version 0.67 Released

I’ve released a new version of Hummingbird. This is a bug-fix release, resolving some issues in automatic hyperlinking and in recognition of multiple hashtags in a single tweet. (Yes, this is why I did a couple of tweets hashtagged “#testing” a couple of days ago.)

Downloads are available from the Hummingbird project page, or using these links:

hummingbird-0.67.tar.gz
hummingbird-0.67.zip

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)
2010-12-27 02:44 pm

About WikiLeaks, DDoSes, Rape, and Justice

Why I’m In Favor of WikiLeaks’ Professed Ideals and Aims

I am not a fan of government secrecy. Maybe some things should be kept secret, but by and large? Our government has overused that excuse to the point of absurdity. We can no longer trust the government to keep its citizens informed about what it’s doing.

Since the run-up to the Iraq War, it’s been pretty obvious that we can no longer trust the news media to keep us informed, either. At that point, journalism utterly failed in its civic duty to question the government and inform the populace about critical issues. Someone needs to step into that gap.

Why I’m Not Pro-WikiLeaks

Some of the information they leaked includes data that identifies people in the field. This puts real people at real risk — people who are trying to do good. This is not responsible reporting.

For all the reasons that it was bad when the Bush Administration blew Valerie Plame’s cover, it’s also bad now that WikiLeaks has blown the cover of various sources in the field. I can’t support that.

Why I’m Very Much Anti-Anti-WikiLeaks

For all the danger that WikiLeaks’ cover-blowing has caused, I feel much more threatened by the attempts to censor the Internet and shut down discussion. The idea that Senator Joe Lieberman can ask ask Amazon to pull the plug on any organization’s Web presence and have it done in under a day is absolutely chilling.

Now, upstream providers are denying service to WikiLeaks mirrors as well. There’s a concerted effort to turn WikiLeaks into the Internet equivalent of an unperson. And “unpersoning” people is not the action of a free society. It’s the way a totalitarian regime operates, not the way I want my democracy to behave.

I’m disgusted with the number of financial institutions that will happily process donations to the Ku Klux Klan, but not to WikiLeaks. It’s been pointed out with some accuracy that it’s now easier to send donations to al-Qaeda than to WikiLeaks.

This says something about who and what it is we really oppose. And I don’t like what it says. We need to stand for freedom, for an informed citizenry, and for justice.

(In that vein, AlterNet’s list of Six Companies That Haven’t Wussed Out of Working With WikiLeaks is somewhat encouraging.)

Regarding DDoSes as A Form of Protest

I agree with the EFF’s statement that it “doesn’t condone cyber-vigilantism, be it against MasterCard or WikiLeaks. The answer to bad speech is more speech.”

Regarding the Pentagon Papers Parallel

The argument that this is in any way different from Daniel Ellsberg’s leak of the Pentagon Papers is ridiculous. The two are very similar. If you ever wonder how you would have stood during that incident (”sure, it’s easy to see in hindsight what was right… but would I have done the right thing back then?”)… take a look at your reaction to WikiLeaks. The two parallel each other pretty well.

To the journalists who are calling for Assange’s prosecution: Are you mad at him because he’s doing the job you should have been doing? Are you so full of spite that you’d advocate to eviscerate the First Amendment that protects your own profession? Oh, right — many of you weren’t really making use of the First Amendment’s protection anyway, since you’re not rocking the boat. That’s why Assange had to rock it instead.

Regarding Rape Allegations Against Julian Assange

There has been a lot of disinformation about this. The pro-WikiLeaks side have been claiming some things that are completely untrue. The only reason I can think of to spread such disinformation is that they don’t want anyone to know the real allegations. That doesn’t make them sound like they’re very confident in Assange’s innocence, by the way.

The charges against Julian Assange include allegations that he tore a woman’s clothing off, that he had sex with a woman without her permission while she was asleep, and that he held a woman down by her arms and pinned her with his body weight.

These are real charges of real rape activity, and the things you may have heard about “a condom broke”, or some bizarre thing called “sex by surprise” are all 100% fiction.

Furthermore, the pro-WikiLeaks side’s false claims haven’t just been about the charges against Assange, but also about the women who brought the charges. For example, there’s a claim that one of them is “a feminist” — as if wanting equal rights should be used as an excuse to deny her justice? There’s the claim that she wrote some kind of “article about how to get even with men”, which is also completely false: she translated a preexisting English eHow.com article on revenge in general, not “against men”. Then there are the claims that either or both of the women are in the pay of the CIA — claims that have not a shred of evidence to back them up.

Assange’s supporters have gone beyond simply smearing these women, and have posted their names, addresses, and other identifying information. In many cases, people claiming to support Julian Assange have threatened to rape his accusers. Then they’ve gone ahead and harassed and bullied other women who had the temerity to point out that the “it was just a broken condom” claim was a lie. And of course, that harassment includes death threats — threatening to kill people merely for trying to speak out publicly.

This behavior is completely unacceptable. It’s inhuman. It’s disgusting.

I am in favor of the free flow of information. But I’m also in favor of taking rape charges seriously. And I’m in favor of whistleblowers, accusers, and those why cry “An injustice has been done!” being able to get a fair hearing without being subjected to death threats. That applies to the Swedish women’s accusations against Assange just as much as it does to WikiLeaks’ revelations about the actions of world governments.

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)
2010-11-28 04:02 pm

Hummingbird Version 0.66 Released

This is largely a bug-fix release. Tom Clift, of PaperCut print management software, kindly informed me of a few installation issues that my own tests didn’t find. The profusion of configuration options in PHP can make testing everything on a single server quite difficult.

This would be a good time for me to mention that I have the utmost respect for QA people. They deal with all sorts of minutiae that I am really glad not to have to handle, and I’m really glad they’re around. That said, I am not a QA person… and so I occasionally miss the sorts of stuff they’d catch.

  1. It turns out Hummingbird depends on the CLI version of PHP, and the CGI version will not suffice. This requirement is now listed in the appropriate section of the Hummingbird page.
  2. Not all PHP installations have output buffering turned on by default. The latest version of Hummingbird takes account for this.
  3. Various problems that can occur with the data cache file are also now reported more gracefully.

Again, my thanks to Tom Clift for some very useful patches!

You can get the latest version of Hummingbird from the Hummingbird page on my site.

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)
2010-11-07 12:41 pm

Is Your Domain Name Spellable and Pronounceable?

A good domain name should have the following features:

  1. When someone says it to you, you know how to spell it. This means that if my friend wants to tell me about your site at a party or a club or out on the street somewhere, she doesn’t have to spell it out for me. She can just say your site’s name, and I immediately know how to type it into my browser.
  2. When you see it written, you immediately know how to pronounce it. This is the other side of the coin, and it matters when I read about your site in print and then want to tell a friend about it. In fact, if your site’s name is sufficiently opaque, I could read about it, visit it, sign up, and use your service for months… and still not know how to tell a friend about it without having to say awkward things like, “Ummm… Zip-tick? something like that? I don’t really know how to pronounce it, I just know it’s spelled X-Y-P-T-I-Q.”

Marc Hedlund writes about Why Wesabe Lost to Mint, and manages to miss part of this point:

Mint was a better name and had a better design – both of these things are true, but I don’t believe they were primary causes for our company to fail and for Mint to be acquired. Mint’s CEO likes to talk about how ridiculous our name was relative to theirs, but I think the examples of Amazon, Yahoo, eBay, Google, and plenty of others make it plain that even ludicrous names (as all of those were thought to be when the companies launched) can go on to be great brands. (emphasis in original)

He cites “Amazon, Yahoo, eBay, Google” as examples of “ludicrous” names, but he misses the fact that all of them meet both of the requirements above — and Wesabe doesn’t. I’m assuming it’s pronounced “wee-SOB-ay”, but it could just as easily be read as “wee-SAYB” (rhymes with “babe”) — and I’m guessing it’s a mash-up between wasabi and “we sabe“, where sabe is the Spanish word for “to know”, and the basis for the English verb “to savvy”.

But that’s just a guess.

Of course, you already know how to spell it, but imagine someone told you about “a new site called /wee-SOB-ay/”… how would you guess it might be spelled? Ideas that come to my mind are: wiisabe, weesabay, weesobbe (possibly with accent on the E in the site’s logo); and “Just tell me how it’s spelled, already!”

Note that Google got its name from the mathematical concept of a googol: 10100, a very large number. But they deliberately changed the spelling, so people would be more able to tell each other about it, and more able to correctly type in what they’d heard.

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)
2010-10-19 08:46 pm

Motion Distraction — Worse Than the <Blink> Tag

Once upon a time, Netscape invented the <blink> tag. And people saw the <blink> tag, and put it on their web pages, and thought it was good. And the rest of us saw the <blink> tags on those pages, and screamed, “No, you morons, it is bad! It distracteth the user mightily, for lo, our eyes are built to take especial note of motion and changes in light, for they might signal the approach of predators.”

And so, in the fullness of time, most people learned to never, ever use the <blink> tag. And that was good, for a while. But more recently, people have started putting new — and even worse — moving doo-dads on their sites: Animated Twitter feeds.

I’m talking about the kind of feeds that refresh or scroll every five seconds (or sometimes more frequently). You can see them all across the web. Here are just a few examples:

  • Any comments page on Whedonesque (Joss Whedon’s site). Try to read the text, and your gaze gets pulled over to the constantly-updating “Twitteresque” box on the right.
  • Any article on WikiHow. You have to scroll down one screen before the “Recent Changes” box becomes visible on the right — but that just means the problem isn’t apparent to a cursory, design-level glance; it only becomes obvious when you try to actually use the site for its intended purpose, by reading the content that’s published on it.
  • Even Webmonkey has gotten in on the action. Again, you need to scroll down a screen (unless your browser is way taller than mine), but the “Recent Articles” box will try to grab your attention as soon as you read past the screenshot in the main article text.
  • Like Webmonkey, you’d think TechCrunch would know better than to do this. Admittedly, they do put their “PostUp Beta World’s Best Tweeters” box further down the page, but their articles are longer, too.

Why would someone put something on their web page that effectively says, “Hey, don’t waste your time reading my content! Go look at my Twitter feed instead! Or even at some total stranger’s Twitter feed!” I’m honestly mystified. (That’s why my own Twitter-feed widget, Hummingbird, does not and never will have any kind of auto-scroll feature.)

But what mystifies me even more is: Why would people who (I presume) would sneer in disgust at the very idea of putting a <blink> tag on one of their pages — even for just one or two words — then turn around and put a much larger, more annoying motion distraction on every page in their site?

The fact that it uses AJAX and a Web 2.0, RESTful API doesn’t make a paragraph-sized chunk of never-ending motion any less of a design and usability nightmare. And this is not exactly a new concept: the W3C advised against constant motion back in 1999.

At that, they were Johnny-come-latelies compared to Jakob Nielsen, who called out “constantly running animations” as far back as 1996. In other words: The days of Netscape Navigator version 2.0x called. They have some usability advice for you… that you apparently still haven’t learned yet.

It can’t be that hard to figure out… can it?

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)
2010-09-29 08:38 pm

Initial Impressions of the Samsung Epic and Android

A few nights ago, my Palm Prē got dropped, causing a hairline fracture in the touch-screen. Since it would no longer take any screen input, it was suddenly an even less useful device than usual. I’d been thinking of switching to an Android phone anyway, so I am now the (proud?) owner of a shiny, new Samsung Epic 4G (one of their Galaxy S line).

Getting used to it has occupied a fair bit of my time, but here are a few early impressions. Obviously, some of these are impressions of the Android OS, and others are about the phone’s hardware.

  • The Android calendar will let me set alarms anywhere from 1-99 units in advance of events, where the units can be minutes, hours, days, or even weeks. This actually beats what the old PalmOS used to let me do (and the webOS replaced by a simple drop-down of 5, 10, 15, and 30 minutes, 1 hour, and 1 day — not very useful; sometimes I want 3 hours’ warning).
  • The Epic is a much bigger, chunkier device than the Prē was. It still fits in my pants pocket, but not so smoothly. Not only is it just plain larger than the Prē, it also has less-rounded corners. Also, the protective case I got for the Epic is the rubberized kind, noticeably thicker than the “invisible skin” I had on my Prē.
  • What’s with the battery gauge not giving an actual percent? That seems so… naff. I’ve found a nice app to give me usable information: Modded Logic’s Battery Status Bar.
  • Live Wallpaper is cool as anything. It also seems to eat batteries like a very hungry thing. I’m still trying to decide if it’s worth it or not.
  • Read the rest of this entry »

    Originally published at Coyote Tracks. You can comment here or there.