Archive for February, 2009

New IdentiFox that plays nice with TwitterFox

Thursday, February 26th, 2009

IdentiFox is a Firefox addon to get Identi.ca updates.  It’s based on TwitterFox, and up till now you couldn’t use the two together, because they still shared certain unique identifiers in their code.  I spent some time reworking IdentiFox to solve this problem and generally clean up the Twitter references in the code. I created a whole new IdentiFox based on the latest TwitterFox Beta.  It now supports all of the following features:

  • Tab for private messages
  • #hashtags and !groups link back to their homes on http://identi.ca
  • Right-click menu enables copying, redenting, and viewing notice on http://identi.ca
  • New color scheme to match Identi.ca’s current design

I’m working on getting the Addon onto Mozilla’s site, but till then I’ll post the XPI here.  Please comment here or email me with any problems you run into!

  • Here is the source on bitbucket

Why should I use Identi.ca instead of Twitter?

Thursday, February 26th, 2009

I’ve evangelized Identi.ca to a few friends who use Twitter and are only somewhat familiar with free software.  A lot of these friends sign onto Identi.ca and immediately post, “I don’t understand why I would use this instead of Twitter.”

The capsule answer is that Identi.ca is free software, meaning that anyone is free to download the code, share it, or change it to make it better.  As a result, Identi.ca is developed through individual contributions from its user community, rather than according to the desires or needs of a single company.  Some people (like me) believe this freedom and cooperative effort have inherent value even when they don’t work or produce measurably better results, which is the same thing I believe about democracy.  And when a program’s users are not beholden to a single company for new features and bug fixes, many people (like me) also believe better software will often result.

But to get specific about the Identi.ca v. Twitter issue, here are some advantages of Identi.ca over Twitter which are more or less the result of its community development model and ethic:

  • Identi.ca is not a monolithic service. This is the big one: Identi.ca’s underlying software, Laconica, can be installed on other websites (you could even install it on yours), and users on one site can subscribe to users on another.  Identi.ca calls this “federation” — the upshot is that if the people running Identi.ca get lazy and stop fixing bugs or creating new features, or if they adopt insane Terms of Use, you can take your data and set up camp at another site.  Federation also means less downtime; Identi.ca initially sprang into being while Twitter was experiencing frequent failures due to a combination of popularity and poorly scaling software design.  Because Laconica users can be distributed across multiple sites, those sites can share the load and decrease the likelihood of any one server being overwhelmed.
  • Groups. In addition to tagging posts with #tag, Identi.ca allows users to form groups and tag posts with !group.  That way, your feed will show any post directed to your group, even if you’re not subscribed to the user who posted it.

This is not to say that Identi.ca outshines Twitter in all areas — it’s younger, still building a user base, and there aren’t as many applications out there yet.  But Identi.ca is built like web applications should be, because it keeps the power in the hands of the users.  Among other things, this is insurance against the constant privacy invasions that plague Facebook and other social networking sites.  It’s something users should demand, and the best way to assert your rights is by using Identi.ca and other free/open services when possible.

A simple DIY light-up greeting card

Wednesday, February 25th, 2009

Some friends let Carly and I crash their (super-sweet) apartment in Providence a couple of weekends ago, and I decided to say thanks with LEDs.  Specifically, with a greeting card that lights up when you open it.

This is a pretty simple circuit, obviously — a battery, LEDs, and a switch could cover it.  In fact, it’s more or less a solved problem, since what I wanted to do was just a simpler version of the card in this instructable.  But I decided to look around for a more elegant switch, since moving parts are prone to failure and the one in the instructable just looks janky (plus I didn’t really have any materials to make it from).  My first and stupidest idea was to use a photoresistor to detect when the card was open.  This is stupid because a photoresistor is only going to work really well when there’s lots of light, but when there’s lots of light you can’t see the LEDs (uh-durr).  To give myself some credit, I wasn’t planning to tie the LEDs’ output directly to the photoresistor’s input — I was going to use a transistor to amplify the input from the photoresistor — but it was still a dumb idea.

But at least the failed photoresistor experiment led me to this evilmadscientist.com how-to, which turns on an LED only when it’s dark.  I realized that if I was going to avoid using the sliding switch (which closes the circuit when the card is open), I was going to have to put a contact on the other side of the card, and turn the LEDs on only when the circuit was broken.  Being pretty much a n00b (I’d never used a transistor before), I didn’t really know how to do this, but by playing around with the dark-detecting LED design, I was able to substitute a simple switch composed of a magnet and two modified paperclips for the photoresistor and basically use the same circuit.

Here’s the front of the card (the card’s admittedly corny theme is Ryan and Heather’s black cat Pirate Jenny, nicknamed “Chupacabra,” which means “goat sucker”):

The front of the card

And here’s the inside.  Here you can see the entirety of the switch — the magnet glued to the left side of the card closes the connection between the two curled paperclips on the other side.  As you’ll see on the back of the card, this diverts current from the transistor’s base, turning it off and stopping the flow of current to the LEDs.  That is, when the card is closed the lights go off.

Inside the card

And finally the back of the card and the circuit itself:

The back of the card & the circuit

You’ll notice that this looks pretty janky too.  All I can say in my defense is that I kept the lion’s share of jankiness on the back of the card.  I only had so much to work with here.

While in my opinion my switch design is an improvement, it has one noteable disadvantage to the sliding switch, which is that the circuit is always closed and drawing some power from the battery.  It should be relatively little power, though, and I think the battery should be good for at least a month.