Skip to main content.

Tue, 25 Dec 2007

Sending mail from a laptop

I often find myself on what I would call "hostile" networks: They allow only very limited Internet access, like by blocking port 25 so I can't connect to my mail server. Maybe for you, you're never on filtered Internet access, but your home ISP doesn't let you send mail out when you're not at home, but you want to send email directly from your laptop anyway.

Just do what I do! Let me explain.

Summary

Justification

Implementation in Three Steps

Step 1: ssh tunnel

This is the hardest part. To make things simple, I create a dedicated user on each end.
On the remote server (server)
[me@laptop] $ ssh me@server
[me@server] $ sudo adduser tunnelendpoint
[me@server] $ sudo su - tunnelendpoint
[tunnelendpoint@server] $ mkdir .ssh
On the local machine (laptop)
[me@laptop] $ sudo adduser tunnelclient
[me@laptop] $ sudo su - tunnelclient
[tunnelclient@laptop] $ ssh-keygen -t rsa # make it passwordless
[tunnelclient@laptop] $ cat .ssh/id_rsa.pub | ssh tunnelendpoint@server 'mkdir -p .ssh ; chmod 0700 .ssh ; cat >> .ssh/authorized_keys'
On the remote server
[me@server] $ sudo su - tunnelendpoint
[tunnelendpoint@server] $ nano -w .ssh/authorized_keys
You'll see a key that starts with "ssh-dss". Before that, add this string and leave a space before "ssh-dss":
command="nc localhost 25",no-X11-forwarding,no-agent-forwarding,no-port-forwarding

(Note: "nc" is in the netcat package.)

On the local machine (laptop)
[tunnelclient@laptop] $ ssh tunnelendpoint@server
220 rose.makesad.us ESMTP Postfix (Debian/GNU): "every tragedy is a beauty that has passed"

Hooray! If you see a reply like mine that starts with "220", then all is well.

You're done with the hard part. Now the easy parts.

Step 2: inetd

[me@laptop] $ sudo aptitude install openbsd-inetd

Now edit /etc/inetd.conf to have this line:

127.0.0.1:125 stream  tcp     nowait  tunnelclient    /usr/bin/ssh    -q -T tunnelendpoint@server

Now restart the inetd (sudo /etc/init.d/openbsd-inetd restart) and test it:

[me@laptop] $ telnet localhost 125 
220 rose.makesad.us ESMTP Postfix (Debian/GNU): "every tragedy is a beauty that has passed"

Step 3: Postfix (optional)

This is my favorite part, but it's only necessary if you plan to send email when you're not connected to the Internet.

Just install Postfix, and add this to /etc/postfix/main.cf:

relayhost = 127.0.0.1:125

Restart Postfix and you should be set. Try sending some mail!

Closing

I was inspired by a Debian Administration post, except I had my own ideas about the best way to do it. I still like my way best.

One problem with the above approach is that it requires root on "server". It would be possible to do the ssh tunnel thing without using a separate "tunnelendpoint" account, but instead to add that key to your regular username.

[/note/sysop] permanent link

Mon, 24 Dec 2007

Git repository for Qtopia

(Cross-posted at http://qtopia.net/modules/newbb_plus/viewtopic.php?topic_id=593&forum=1 and on the OpenMoko device owners list).

In order to make it easier to track updates to the Qtopia 4.3.1 snapshots, I made a git repository out of them.

What I'm doing is, automatically (every night), untarring the snapshots into a git repository at git://git.asheesh.org/qtopia_snapshot.git , which is readable in a gitweb at http://git.asheesh.org/?p=qtopia_snapshot.git .

Note that many snapshots contain the same contents; the automatic script only commits if the snapshots contains some new data.

My current primary interest in the Qtopia GPL edition is for my HTC Universal, which runs it very nicely including sleep and wake-up, SMS, and voice calls. My interest in the git repositories lies from wanting to publish a modified version of Qtopia that's easy to merge changes into as Trolltech updates their code. I'm sure there are Neo1973 users who would like to hack on the Trolltech code or have an easy source repository from which to get updates.

http://www.handhelds.org/moin/moin.cgi/Qtopia is where I'll be posting any is where I'll be posting any updates I have. If you're working on a fork of Qtopia, I'd love to give out git commit access so you can publish a branch on my git if you like.

Similarly, if people want to publish their Qtopia-based applications in a git repository, just ask me!

[/note/software] permanent link

Linux on Unmodified Xbox

Here's a conversation I had with Lisa moments ago, mostly by accident:

<paulproteus> http://forums.xbox-scene.com/lofiversion/index.php/t71173.html
<paulproteus> Er, that was meant for someone else.
<paulproteus> I mean, you're welcome to read it, too.
<paulproteus> It's actually interesting if you ask me why. (-;
<lisaig_> Why?
<paulproteus> Kevin Rose (supposedely) from TechTV (a then-famous, well, tech TV show) is looking for a co-founder of the Linux On Unmodified Xbox project, "lou-x".
<paulproteus> That co-founder (supposedly; it's hard to figure who's actually who, but this one's credible) replies, "We got smoked by the Xbox-Linux project."
<paulproteus> I came into the LOU-X project in late 2002 and donated bandwidth from JHU and a wiki I ran, and by mid 2003 preferring to help Xbox-Linux.
<paulproteus> Actually, maybe my stint with LOU-X lasted only a month or two.

[/note/xbox-linux] permanent link

Sat, 22 Dec 2007

Starting fetchvoicemail

I'm starting a new project called "fetchvoicemail". The idea is to have a little app that dials my voice mail, saves the messages, and extracts the metadata from the remote bot, and saves it all to local storage. That way I can write whatever UI I want on top of it. Think of it as POP3 for voicemail.

It seems there is already a commercial service that does this called "GotVoice Premium" that was reviewed by PC World.

So far, I'm in experiment and read mode. All I've yet discovered is that if you mess with ALSA settings, you make something strange happen so that your microphone doesn't actually record anything....

[/note/projects/fetchvoicemail] permanent link

Tokyo Thursday

At the start of the summer, I read an article by a journalist who successfully worked for his U.S.-based company while wandering South America for a month. No one knew that when he interviewed them over Skype, he said, he was thousands of miles away.

That sounded pretty good, so I wanted to try it. I was invited to speak on behalf of Science Commons, and Herbert had been to Japan but I hadn't, so I thought that this trip to Tokyo would be a good one to start with. Some basic notes (more later, hopefully):

Just before and after committing to my plane tickets, as I remarked that I was leaving Tokyo on a Saturday, I wondered, Maybe I should extend this so I have the weekend in Tokyo. The big lesson from this trip is, Yes, you need weekends. You weren't really able to use the weekend of the conference, and you could have predicted as much way earlier.

[/note/working-vacation] permanent link

Fri, 21 Dec 2007

On marriage

Life advice:

<micah> also I cant figure out what the point of marrying or tattos are
<micah> i get lover's strength from marrying i guess, but thats weak
<stew> i think i assumed that tatoos were for charm, but I don't know what charm really does for you

[/scribble/marriage] permanent link

Fri, 14 Dec 2007

Beautiful attacks

In Python, if you use smart libraries like SQLObject, SQLAlchemy, and Kid, you can't generate invalid SQL or HTML, so you're not vulnerable to SQL injection, cross-site scripting, and other attacks derived from input validation problems.

Unless you're really smart:

This is a heavily wrapped, heavily abstracted version of SQL injection attacks.

Just a reminder that attacks against syntax aren't all you need to stop; attacks against semantics can be bad, too.

[/note/software] permanent link

Mon, 10 Dec 2007

Refuting trademarks, Slashdot style

There's a new Free math package called Sage. However, some Slashdotters fear impending trademark problems.

Luckily, all is well:

no worries, an herb has prior art on the name.

[/note/free-culture] permanent link

Wed, 05 Dec 2007

Open Sauce

Billy had to take three months off work with that broken arm

[/note/software] permanent link

Tue, 27 Nov 2007

Help from Jesus

Sometimes I think it's irresistible to make fun of other people's names. Summary of the context here: Fixing the problem won't be too hard:

Jesus could look into the pyreadline source code

If he did, I wonder what he would see.

[/note/software] permanent link

Sat, 17 Nov 2007

It's ok

It's ok to deviate, just try not to.

[/note] permanent link

Fri, 16 Nov 2007

New York Times goes shopping

This leads me to believe that I should either live on a plane or have a partial lobotomy. . . . I can conclude only that simply avoiding wistful pondering is the best strategy.

-- Carrie Fisher, Memoirs of a Shopper.

[/note/japan] permanent link

Mon, 12 Nov 2007

Playing favorites?

This article (via /.) seems to accuse Google of playing favorites:

Just last month Google acknowledged an accomplishment of the communist Soviet Union, which launched the Sputnik space satellite 50 years ago.

Uh-huh. Sure.

[/note/google] permanent link

Sat, 10 Nov 2007

What about AT&T?

Interesting tidbit at the Washington Post about l33t 4dwarez h4x0r pleading guilty to being malicious:

John Kenneth Schiefer, 26, variously known online as "acid" and "acidstorm," agreed to plead guilty to at least four felony charges of fraud and wiretapping, charges punishable by $1.75 million in fines and nearly 60 years in prison.

That was for for 250,000 computers. When the evidence is laid out against people at AT&T, if the evidence says they defrauded and wiretapped at least 100 times that many people, what will their punishment be?

I'm rooting for 60 * 100 years in jail, spread evenly among the people who did the wiretapping. Or perhaps 60 * 100 years for each person, if that seems more fair.

[/note/corporations] permanent link

Brings new meaning to "electronic music"

Watch + listen to the Super Mario Brothers theme as played by Tesla Coils.

Was there something like this at Burning Man this year, or were the Tesla Coils I saw not musical?

[/note/hardware] permanent link

Thu, 08 Nov 2007

Is not! Is too!

Seen on OpenAFS-devel:

Quoth Jim Rees:
> It's not outside the chroot.

Quoth Michael Loftis:
It is so outside the chroot.

[/note/software] permanent link

Wed, 07 Nov 2007

Tokyo

John Wilbanks from Science Commons asked me to give a talk about the Neurocommons project on SC's behalf in Tokyo.

Monday evening, as I was sitting in the CC office wondering what to work on next, I decided I would put all my papers in order and update my calendar so I would have precise notes about which of the many email attachment I'd need to refer to at which time. I wasn't leaving until Wednesday, but I figured I'd need to do this sometime.

That's when I learned that I was actually leaving Tuesday, not Wednesday. The only reason I made my flight is because I procrastinated real work with organizational work. The shock from that realization lasted for pretty much the twelve hours that followed it.

But right now, I'm in an airplane that will soon land in Tokyo. I'll be presenting on Thursday, and attending the rest of the conference Friday and Saturday, and then I plan to sort of hang out in Japan for a week (ingeniously, I'll work remotely, so I can hang out in Japan without using precious vacation time). So if you want to hang out, or if you want to tell me what to do / where to eat / who to meet, drop me a line!

I'll probably get a cell phone for the time that I'm here (apparently the Japanese aren't really into GSM, so I'll have to rent a real local one), and presumably I'll post its number when I have it.

If you're wondering where I'll sleep and bathe after the conference, it's in Joi's Lab!

[/note] permanent link

Music puzzles

When I explain to people what the MIT Mystery Hunt is, I usually give this example from 2004:

You are faced with a web page whose title is "Track 13" and that embeds an MP3 file. The file is aobut 30 seconds long, and it seems to be two-second snippets from about 15 songs. So you get a bunch of people together, and you identify the songs. Once you write out the track titles, they look something like this:

Order by New Era
Rapid Fire by The Pixies
Delirium of Disorder by Bad Religion
Eggcellent Epiphanies by The Choo-Choo Train
Raindrops Fallin' On My Head by Ozzy Osbourne
Later On by Bruce Willis
Your Mom Is Amazing by Your Mom
Reconstruction of the Fables by They Might Be Giants
Interesting People by Cute Is What We Aim For
Crazy by R.E.M.
Consistent by R.E.M.
Licking Lips by Ray Charles
I'm Not Your Grand-Pa by Your Grand-Pa
Ponies Rule by Aqua Teen Hunger Force
Sock It To 'Em by The Low-Flying Kites
Bacon, Bacon, Bacon by Interpol
You'd Never Believe Me by Blink 182
Raccoon Tail by Mario
Amaze Me by Girlyman
Nathan's Rise by Mozart
Katholic Kookies by Kristian At Heart

That is, the first column spells out "ORDER LYRIC CLIPS BY RANK". So now you have to figure out the lyric clips that you've been hearing, which takes even more collaboration and Googling, and once you do, you stare at it, trying to figure out an order until someone comes by and says, "Hey, Rolling Stone just released their top songs list this year." So you order it by that and you get the name of some band, followed by "NOT DON".

As luck has it, everyone in that band (according to All Music Guide) had the letters "DON" in their name, except for one guy. So you call in his last name as the answer, and you move on. We did all this in the Bio Lab of ESG.

In the 2007 hunt, we had a new music puzzle! We began to work on it in the Bio Lab of ESG! But when I asked if anyone remembered "Track 13" or worked on it, they all had blank faces.

Maybe the explanation is not that I'm old. After all, there are veterans on the team who have been there since I joined them. But it struck me as evidence of a generation boundary, which saddened me, especially in my last year at Hopkins where most of my good friends had already graduated.

[/note/mystery-hunt] permanent link

Mon, 05 Nov 2007

PCI Slots

Quoth Johannes Berg:

I don't own any boxes with PCI slots

If Venkatesh went this route, I suppose he'd have more company than I once thought.

[/note/hardware] permanent link

Sat, 03 Nov 2007

Maybe his phone is busy

[/note/voltron] permanent link

I don't worry, I hope

AT&T has been "allegedly" illegally wiretapping Americans for ages and giving that data illegally to the government. Here's the government's take:

The companies face suits from customers who say their privacy was violated. Administration officials say they worry that the suits, pending before the United States Court of Appeals for the Ninth Circuit, could bankrupt the utilities.

I don't "worry" they could bankrupt the utilities. I hope.

If there is no incentive for these corporations, and others in a long line past them, to follow the law, then we no longer have the rule of law: companies will simply do illegal things and then explain that if the law were enforced, they'd have to pay some money.

I've been screaming and swearing about this for a week. I can't understand how anyone can calmly disagree with this.

Let me remind you that the President, who is charge of the executive branch of government in this country, "shall take care that the laws be faithfully executed" according to the Constitution.

[/note/corporations] permanent link

Tue, 30 Oct 2007

Hope from the One Laptop Per Child Project mailing list

improve their lives via effort

That's a good motto.

[/note] permanent link

Tue, 23 Oct 2007

Adding a Website: header to Mailman messages

Very often, I like to quote mailing list messages to people not on those mailing lists. Mailman is a common mailing list program, and Pipermail is commonly used for storing archives. What ends up happening is that I fish around for the archive link and spend a minute or two figuring out which message it is.

So I wrote a short program to do that scraping for me. You can check it out (literally, if you want, with svn) at the mail_tools directory - look for add_mailman_website_header.py and sample_message.

Why the "Website:" header? Thunderbird seems to show that by default, so that's one less configuration option I have to change. (To match this, I changed my alpine config to show it too.)

You may also want to look at the procmailrc snippets I use to insert it into the mail processing pipeline. Embarrassingly, configuring procmail to set it up took as long as writing this thing; it's been way too long....

## <Mailman header addition>
:0 W
MAILMAN_URL=| python ~/svn/public/code/mail_tools/add_mailman_website_header.py go

:0 Waf
| formail -b -A "Website: $MAILMAN_URL"

## </Mailman>

One more thing: If you run it with 0 arguments, it does a self-unittest (which in a few days will give false negatives; maybe that'll encourage me to improve the program, but probably not!). Hence I give it the meaningless argument "go". It also waits for a configurable (45s by default) amount of time for the pipermail index to get updated, as in real-world tests it beat the pipermail index for the two list messages.

Screenshot: Before

Here's some mail without the header:
  ALPINE 0.9999   MESSAGE TEXT      Folder: INBOX       Message 5 of 7 90%     +

Date: Wed, 24 Oct 2007 19:29:59 -0700
From: Rick Moen <rick@linuxmafia.com>
To: sf-lug@linuxmafia.com
Subject: Re: [sf-lug] FWIW and :r! dig -t ns sf-lug.com

Quoting Christian Einfeldt (einfeldt@gmail.com):

> Learning vi is really hard, though.  

"vimtutor" is your friend.

Until then, think of it as "vi vi vi, the editor of the Beast."


_______________________________________________
sf-lug mailing list
sf-lug@linuxmafia.com
http://linuxmafia.com/mailman/listinfo/sf-lug


? Help       < MsgIndex   P PrevMsg       - PrevPage D Delete     R Reply       
O OTHER CMDS > ViewAttch  N NextMsg     Spc NextPage U Undelete   F Forward    

Screenshot: After

  ALPINE 0.99   MESSAGE TEXT       Folder: INBOX        Message 5 of 7 86%     +

From: Rick Moen <rick@linuxmafia.com>
To: sf-lug@linuxmafia.com
Date: Wed, 24 Oct 2007 19:29:59 -0700
Subject: Re: [sf-lug] FWIW and :r! dig -t ns sf-lug.com
Website: http://linuxmafia.com/pipermail/sf-lug/2007q4/002523.html


Quoting Christian Einfeldt (einfeldt@gmail.com):

> Learning vi is really hard, though.  

"vimtutor" is your friend.

Until then, think of it as "vi vi vi, the editor of the Beast."


_______________________________________________
sf-lug mailing list
sf-lug@linuxmafia.com
http://linuxmafia.com/mailman/listinfo/sf-lug

? Help       < MsgIndex   P PrevMsg       - PrevPage D Delete     R Reply       
O OTHER CMDS > ViewAttch  N NextMsg     Spc NextPage U Undelete   F Forward    

Update 2007-10-24: It actually works now. I worked around what appears to be a bug in the Python email module. Report pending. I'll post a screenshot in a day or two and call this project a success, except for all the other non-Mailman services to index.

[/note/software] permanent link

Announce and discuss lists

I have a habit of entering a community and leaving both an announce and a discuss list wherever I go. The wisdom of this is still unresolved. I thought I'd share one thing I do beyond that: set the reply-to header on the announce list to go to the discuss list.

That way, when there's an announcement and the peanut gallery wants to add something, they'll reply and the people interested in hearing more will hear it.

I remembered this upon reading that the BALUG lists have the same sort of split, and that in particular that they were considering (on an opt-out basis) auto-adding people from discuss to announce.

[/note/sysop] permanent link

Mon, 22 Oct 2007

Rocking the vote

I was reading about Poland and the article used the caption "Rocking the Vote" for a movie. Huh, I wondered. I don't think there's any rock and roll here.

And then I figured out that "Rocking the vote" sounds like "rocking the boat".

Addendum: Page 2 does, indeed, talk about the Polish MTV channel. Says Kasia Szajewska of Wybieram.pl:

“In the States you have Rock the Vote,” she said. “They’re really happy to have something similar.”

[/note/slow] permanent link

Thu, 18 Oct 2007

Ubuntu and Debian

Meh! That is totally untrue. Debian was obsolete long before Ubuntu existed.

[/note/ubuntu] permanent link

Thu, 11 Oct 2007

Reverse smileys

Kristian Hermansen sent an email to the San Francisco Linux Users Group list expressing shock at my "reverse smileys". Others have, too, so let me take a moment to explain.

Some time around 1995, I started using AOL. (I also stopped some time in the same century.) I learned important vocabulary like "a/s/l" and "rofl" and PC Magazine sent me a free mousepad with Windows 95 hotkeys like "Windows+R" for the Run dialog box. Then our free month expired, and we went on to some other network.

Eventually I got into IM, and I started messaging friends routinely. I got into the habit of making complicated smileys - my favorite was Abe Lincoln: =|:-)= [source]. And some time later on, the smileys started getting turned into pictures. It may have been cool that :-) turned into a picture of a smiling yellow face, but I found it offensive that (a) they (AOL) started doing this without asking me, on other people's computers, so I had no idea how my emoticon was going to be displayed, and (b) that they would totally corrupt smileys like Mr. Lincoln.

So I retaliated. I came up with two counter-attacks. The first was the smartest: :-) would not get graphicalized, I realized. (View the source if it's not clear how that works.) That worked fine in media where I had rich formatting (HTML), but would fail me in emails. It was great for confusing my IMees, for whom it looked like a regular, old-school smiley, except all the other old-school smileys had gone away in favor of yellow circles with black lines and points.

The other way was more drastic and, instead of hiding between the lines, vocally made the point that not all smileys needed to be graphicalized. That was to reverse the smiley. I don't know when I started doing that, but it's probably some time between 1998 and 2000.

I also liked to abuse smileys to make grinning asides in emails. (-; You might wonder why asides needed to grin; usually they wink instead! ;-) I don't know if that idea came before or after I started making backwards smileys in the first place. I don't do this as much now in large part to me having seen Thunderbird turn my closing smileys into lame yellow things that ruin the symmetry.

One day during natural language processing, Jason Eisner said in class that he thought people who did the above thing (presumably without knowing I did it) were making an NLP joke. That added to the feeling that NLP was right up my alley.

All in all, smileys have been a big part of my online life. It's only fitting that the EFF and They Might Be Giants contributed to this post.

[/note] permanent link

Mon, 01 Oct 2007

A strong recommendation

On the flip side, I know alot about the IMAP protocol now so perhaps one day that will help me - hopefully a new protocol will come along to replace it though.

-- Andrew Snow

[/note] permanent link

Wed, 26 Sep 2007

Python police

Are the Python police going to come and arrest me? Have I committed the terrible crime of being unPythonic? (Or should that be un_pythonic?)

[/scribble/code] permanent link

Steve Jobs is still a jerk

Q: What do you do when people pay you full retail price and make the products they've bought more useful for themselves?

A: Break your customers' property.

[/note/steve jobs] permanent link

Tue, 25 Sep 2007

OSI vs. FSF summary

There is a prior post with a big long table. Here are some basic statistics from that table (as of Tuesday, September 25, 2007):

Summary: There are more "Free Software" licenses than "Open Source" licenses.

Also, note that the program I whipped up for this is pretty terrible. Consider it the kind of software that academics would use but never publish for fear of embarrassment.

[/note/software] permanent link

OSI vs. FSF

The Open Source Initiative and the Free Software Foundation are two organizations that have put their mark of approval on Free/Libre Open Source Software licenses. For those just joining us, those licenses are the permissions documents that make collaboration on software legal. The GNU General Public License and the "BSD License" (as if there's only one) are the two most famous ones.

I keep hearing about "the proliferation of Open Source licenses", and I also hear people claim their software is Open Source when there's no indication they're using a license that guarantees important freedoms to the software's users. I don't think I ever hear people claim their software is Free Software when it's not - at least, not when they use capital letters.

I also hear from people that Open Source software and Free Software are different things. My feelings on this are that people using the different terms are doing the same things, they just may be thinking different things when doing it. Both groups have an interest in continuing to do what they're doing, even if they think of it differently.

(If you can find me an easy-ish to parse page listing the feelings of other organizations on the topic, like Debian, then I'll try to add them to this next time 'round.)

I wrote a program (source) that scrapes the Open Source Initiative's list of licenses and the Free Software Foundation's list of licenses and comments about them and generate a table showing you which licenses have been approved by which one. I began coding in earnest on Software Freedom Day, and I'm publishing it and its results in belated celebration of that day. So here you all go:

License nameLicense URLsApproved by
CeCILL version 2www.cecill.info/licences.en.html fsf
Interbase Public License, Version 1.0www.borland.com/devsupport/interbase/opensource/IPL.html fsf
Historical Permission Notice and Disclaimerwww.opensource.org/licenses/historical.php osi
XFree86 1.1 Licensefsf
Zend License, Version 2.0fsf
PHP License, Version 3.01www.php.net/license/3_01.txt fsf
Attribution Assurance Licenseswww.opensource.org/licenses/attribution.php osi
GNU Library or "Lesser" General Public License (LGPL)www.opensource.org/licenses/lgpl-license.php osi
Mozilla Public License 1.0 (MPL)www.opensource.org/licenses/mozilla1.0.php osi
Open Group Test Suite Licensewww.opensource.org/licenses/opengroup.php osi
Adaptive Public Licensewww.opensource.org/licenses/apl1.0.php osi
OCLC Research Public License 2.0www.opensource.org/licenses/oclc2.php osi
Modified BSD licensewww.xfree86.org/3.3.6/COPYRIGHT2.html#5 fsf
Sun Industry Standards Source License (SISSL)www.opensource.org/licenses/sisslpl.php osi
GNU Lesser General Public License (LGPL) version 2.1www.gnu.org/licenses/old-licenses/lgpl-2.1.html fsf
Frameworx Licensewww.opensource.org/licenses/frameworx.php osi
Academic Free Licensewww.opensource.org/licenses/afl-3.0.php opensource.org/licenses/academic.php osi fsf
Ricoh Source Code Public Licensewww.opensource.org/licenses/ricohpl.php osi
Python Software Foundation Licensewww.opensource.org/licenses/PythonSoftFoundation.php osi
Python licensewww.opensource.org/licenses/pythonpl.php osi
OpenLDAP License, Version 2.7www.openldap.org/software/release/license.html fsf
LaTeX Project Public License 1.3awww.latex-project.org/lppl/lppl-1-3a.txt fsf
Expat Licensewww.jclark.com/xml/copying.txt fsf
X.Net Licensewww.opensource.org/licenses/xnet.php osi
MITRE Collaborative Virtual Workspace License (CVW License)www.opensource.org/licenses/mitrepl.php osi
LaTeX Project Public License 1.2www.latex-project.org/lppl/lppl-1-2.txt fsf
Apache License, Version 1.1www.apache.org/licenses/LICENSE-1.1 fsf
Zope Public License version 2.0www.zope.org/Resources/ZPL fsf
PHP Licensewww.opensource.org/licenses/php.php osi
OpenSSL licensewww.sdisw.com/openssl.htm fsf
License of ZLibwww.gzip.org/zlib/zlib_license.html fsf
zlib/libpng licensewww.opensource.org/licenses/zlib-license.php osi
License of Perl 5 and belowfsf
RealNetworks Public Source License V1.0www.opensource.org/licenses/real.php osi fsf
Zope Public License version 1www.zope.org/Resources/ZPL fsf
Cryptix General Licensewww.cryptix.org/LICENSE.TXT fsf
Original BSD licensewww.xfree86.org/3.3.6/COPYRIGHT2.html#6 fsf
Nokia Open Source Licensewww.opensource.org/licenses/nokia.php opensource.org/licenses/nokia.html osi fsf
License of Vim, Version 6.1 or laterwww.vim.org/htmldoc/uganda.html fsf
Apache Software Licensewww.opensource.org/licenses/apachepl.php osi
GNU General Public License (GPL) version 2www.gnu.org/licenses/old-licenses/gpl-2.0.html fsf
Fair Licensewww.opensource.org/licenses/fair.php osi
Qt Public License (QPL)www.opensource.org/licenses/qtpl.php osi
Clarified Artistic Licensewww.statistica.unimib.it/utenti/dellavedova/software/artistic2.html fsf
IBM Public Licensewww.opensource.org/licenses/ibmpl.php osi
Apple Public Source Licensewww.opensource.org/licenses/apsl-2.0.php www.opensource.apple.com/apsl/2.0.txt osi fsf
Open Software Licensewww.opensource.org/licenses/osl-3.0.php osi
eCos license version 2.0www.gnu.org/licenses/ecos-license.html fsf
Sybase Open Watcom Public License 1.0www.opensource.org/licenses/sybase.php osi
Netizen Open Source License (NOSL), Version 1.0bits.netizen.com.au/licenses/NOSL/nosl.txt fsf
W3C Licensewww.opensource.org/licenses/W3C.php osi
Jabber Open Source Licensewww.opensource.org/licenses/jabberpl.php osi
Eiffel Forum Licensewww.opensource.org/licenses/eiffel.php osi
License of Netscape Javascriptfsf
Reciprocal Public Licensewww.opensource.org/licenses/rpl.php osi
EU DataGrid Software Licensewww.opensource.org/licenses/eudatagrid.php osi fsf
License of xinetdwww.xinetd.org/license fsf
Affero General Public License version 1www.affero.org/oagpl.html fsf
Old OpenLDAP License, Version 2.3fsf
License of the iMatix Standard Function Libraryfsf
New BSD licensewww.opensource.org/licenses/bsd-license.php osi
Berkeley Database Licensewww.gnu.org/licenses/info/Sleepycat.html fsf
Nethack General Public Licensewww.opensource.org/licenses/nethack.php osi
Lucent Public License Version 1.02www.opensource.org/licenses/lucent1.02.php plan9.bell-labs.com/plan9dist/license.html osi fsf
Eclipse Public Licensewww.eclipse.org/legal/epl-v10.html www.opensource.org/licenses/eclipse-1.0.php osi fsf
Zope Public Licensewww.opensource.org/licenses/zpl.php osi
University of Illinois/NCSA Open Source Licensewww.opensource.org/licenses/UoI-NCSA.php www.otm.uiuc.edu/faculty/forms/opensource.asp osi fsf
Condor Public Licensewww.cs.wisc.edu/condor/condor-public-license.html fsf
FreeBSD licensewww.freebsd.org/copyright/freebsd-license.html fsf
IBM Public License, Version 1.0www.opensource.org/licenses/ibmpl.php fsf
CUA Office Public License Version 1.0www.opensource.org/licenses/cuaoffice.php osi
License of Rubywww.ruby-lang.org/en/LICENSE.txt fsf
Apache License, 2.0www.opensource.org/licenses/apache2.0.php www.apache.org/licenses/LICENSE-2.0 osi fsf
Jabber Open Source License, Version 1.0fsf
Sleepycat Licensewww.opensource.org/licenses/sleepycat.php osi
License of Python 1.6a2 and earlier versionswww.python.org/doc/Copyright.html fsf
Artistic licensewww.opensource.org/licenses/artistic-license.php osi
Standard ML of New Jersey Copyright Licensecm.bell-labs.com/cm/cs/what/smlnj/license.html fsf
Artistic license 2.0www.opensource.org/licenses/artistic-license-2.0.php www.perlfoundation.org/artistic_license_2_0 osi fsf
Lucent Public License (Plan9)www.opensource.org/licenses/plan9.php osi
Common Public License 1.0www.opensource.org/licenses/cpl1.0.php www.eclipse.org/legal/cpl-v10.html osi fsf
NASA Open Source Agreement 1.3www.opensource.org/licenses/nasa1.3.php osi
GNU Lesser General Public License (LGPL) version 3www.gnu.org/licenses/lgpl.html fsf
Vovida Software License v. 1.0www.opensource.org/licenses/vovidapl.php osi
Open Software License, all versions through 3.0www.opensource.org/licenses/osl-3.0.php fsf
Common Development and Distribution Licensewww.opensource.org/licenses/cddl1.php www.opensolaris.org/os/licensing/cddllicense.txt osi fsf
Public Domainfsf
wxWindows Library Licensewww.opensource.org/licenses/wxwindows.php osi
Educational Community License, Version 2.0www.opensource.org/licenses/ecl2.php osi
X11 Licensewww.xfree86.org/3.3.6/COPYRIGHT2.html#3 fsf
Mozilla Public License 1.1 (MPL)www.mozilla.org/MPL/MPL-1.1.html www.opensource.org/licenses/mozilla1.1.php osi fsf
Sun Public Licensewww.netbeans.org/about/legal/spl.html www.opensource.org/licenses/sunpublic.php osi fsf
License of Python 2.0.1, 2.1.1, and newer versionswww.python.org/2.0.1/license.html fsf
GNU General Public License (GPL)www.opensource.org/licenses/gpl-license.php osi
Boost Software Licensewww.boost.org/LICENSE_1_0.txt fsf
Eiffel Forum License V2.0www.gnu.org/licenses/eiffel-forum-license-2.html www.opensource.org/licenses/ver2_eiffel.php osi fsf
Naumen Public Licensewww.opensource.org/licenses/naumen.php osi
Entessa Public Licensewww.opensource.org/licenses/entessa.php osi
W3C Software Notice and Licensewww.w3.org/Consortium/Legal/2002/copyright-software-20021231 fsf
Computer Associates Trusted Open Source License 1.1www.opensource.org/licenses/ca-tosl1.1.php osi
Sun Industry Standards Source License 1.0www.openoffice.org/licenses/sissl_license.html fsf
GNU General Public License (GPL) version 3www.gnu.org/licenses/gpl.html fsf
Motosoto Licensewww.opensource.org/licenses/motosoto.php osi
MIT licensewww.opensource.org/licenses/mit-license.php osi
Phorum License, Version 2.0phorum.org/license.txt fsf
Apache License, Version 1.0www.apache.org/licenses/LICENSE-1.0 fsf
License of Python 1.6b1 through 2.0 and 2.1www.handle.net/python_licenses/python1.6_9-5-00.html fsf
Q Public License (QPL), Version 1.0www.trolltech.com/developer/licensing/qpl.html fsf
Netscape Public License (NPL)www.mozilla.org/NPL/NPL-1.1.html fsf
Intel Open Source Licensewww.opensource.org/licenses/intel-open-source-license.html www.opensource.org/licenses/intel-open-source-license.php osi fsf

[/note/software] permanent link

Mon, 24 Sep 2007

Fast seek slash

My laptop feels slow. Having run no metrics, I'm going to guess a lot of the reason that apt-get takes more than a second or two to load its database is the seek time of the hard drive. It's some boring 5400 RPM sucker, and it has moving parts which have to move. Totally lame.

So I'll replace it with flash of some kind. Flash is expensive for lots of space, so it's probably wasteful of dollars to make it my /home partition. But if / were fast, then at least apt and application launching would be faster. And swap would be faster in a world where seeks are almost free, too.

Solid State Disk, or CF card

Here are the contenders in pre-packaged solid state land:

So it's off to CompactFlash cards then. Cards compatible with the CompactFlash 4.0 spec can do Ultra DMA mode 4, which I don't even remember how many megabytes a second but it should be fast. The cards themselves should be fast, too; no point putting a slow card on a fast bus. It looks like Transcend's 8GB TS8GCF266 is the best in price-performance, around $140.

What about the flash media dying tragically and abruptly?

It's true, flash media have a maximum number of writes they can take before tragedy. Hopefully things will be fine; Transcend's specifications seem to say has "1 000 000 times" endurance, which presumably means writes. And consumer-grade Flash cards do wear leveling, from what I hear.

If I plan to keep the 2.5" hard drive in this wonderful T43's hard drive bay, I can get the UltraBay Slim HDD adapater (Lenovo, IBM PN 62P4554) for around $50.

I'll try this, I think.

Won't you miss your CD-RW/DVD drive?

lolno.

[/note/laptop] permanent link

Sat, 22 Sep 2007

Circuit art

"She's lucky to be in a cell as opposed to the morgue."

Or, she's lucky that she made cool puns for Career Day.

[/note] permanent link

Fri, 21 Sep 2007

Fascism 2007

Some notes on American Fascism:

Presumably, we should taser more people who are asking why they're being arrested (vid1, vid2) while a former presidential candidate just keeps talking as if nothing's wrong, and lock up more innocent people in jails where they can't ask why. It's the mainstream.

[/note/politics] permanent link

Wed, 19 Sep 2007

On tacos

Employ whatever ruses you need to get some. The ends justify the means.

[/scribble] permanent link

"It's our job"

Steve jobs thinks it's his job to make sure end-users don't make the iPhone more useful:

"People will try to break in [to hardware they own], and it's our job to stop them breaking in."

What a jerk. This from the man who tried to make his iPods not run with non-Apple software a few weeks ago. Why do my friends give him money?

[/note/steve jobs] permanent link

QTopia first glance

I am making calls from and receiving calls to my Neo 1973. This is wonderful. I can do it thanks to the porting of QTopia to the FIC Neo 1973 platform! There was this press release as well as live, nude downloadable source and binaries as described in this mailing list thread.

Seth David Schoen brought up a good point: the press release mentions that they're Freeing their DRM implementation, too. That silenced my excitement until I could learn more.

Here's a meaningless (in a formal sense) personal testimonial from the developer who says he did most of the porting of QTopia to the Neo:

<paulproteus> ljp, I saw that the announcement said you guys were GPLing your DRM implementation.
<paulproteus> Does the binary you gave out include that DRM software?
<ljp> not DRM, but SXE
<ljp> and the neo does not configured with SXE

SXE is an on-phone sandboxing system for untrusted software, and the Neo doesn't use it anyway. I feel safe enough that I can go to sleep, at least.

[/note/openmoko] permanent link

Tue, 18 Sep 2007

after 5 / weekends

Tracy is busy so you will want to schedule 2-3 weeks in advance if you want a good time with her

[/scribble] permanent link

Mon, 17 Sep 2007

Retort

You’ll find the “y” and “o” keys on your keyboard, not too far from the “u” key. It seems that sometimes you forget this. Please use them every time if you want people to take you seriously.

[/scribble] permanent link

Fri, 14 Sep 2007

html2dom

xhtml2dom

[/scribble] permanent link

Eh bien?

"NOTE! I AM NOT REALLY A CRACKHEAD, THAT WAS JUST AN EXAMPLE."

[/scribble] permanent link

Thu, 13 Sep 2007

Red Hat 5

From the alpine-alpha list:

alpine 0.9999 on a Red Hat 5 clone hung completely today

I guess some people don't remember the real "Red Hat 5" but only know "Red Hat Enterprise Linux 5". But I'm not old....

[/note] permanent link

Enlightened but confused

"Just went to hear RMS and came away enlightened but confused."

[/scribble] permanent link

Wed, 12 Sep 2007

Hey, we're clay!

Frosted Cheerios (via Gaurav)

[/scribble] permanent link

Tue, 11 Sep 2007

GNU Radio GSM immplementation

You need to find your local GSM tower by hand. Once you've found it, you need to edit the python script and enter the information by hand. It would be very nice if this information were automatically generated.

[Discuss-gnuradio] software implementation of GSM

[/scribble] permanent link

Mon, 10 Sep 2007

GNU Free Documentation License comments

I once asked some questions.

[/scribble] permanent link

Sun, 09 Sep 2007

Cats and war

Two points:

[/scribble] permanent link

Do something great for your country

Is the above about Canada, or Lonely Planet?

If it is about Lonely Planet, is it telling you to serve the United States by getting off This Island Earth?

[/note/politics] permanent link

nano the all-powerful

I admit it, I use nano for text editing from time to time. Like right now, with this post.

nano is a simple text editor widely deriled as being simple. It also has most of the features I want:

Syntax highlighting?

Yeah. Some Gentoo dudes pointed out it had it in 2003. The nano changelog indicates (from a quick skimming) that version nano-1.1.4 - 12/11/2001 was the first with "Preliminary syntax highlighting support".

Also:

<helix> I think it got syntax highlighting around the same time the hurd managed to be able to use shared memory

Also also (from Freshmeat:

This looks just like Pico. Truly this is a good editor. I'm impressed. Toga! Toga! Toga!

[/note] permanent link

Wed, 29 Aug 2007

XP Minimal Requirement Test

The boottime of this system is extremly long, 30 minutes! After 13 minutes you can see the first icons, but there are 17 minutes more, where you can do nothing, before you can start "working".

[/scribble] permanent link

Contacting Congress

Let's say Alan, a regular citizen with no income (at least, that's who I was a few months ago) has a website. Let's say I'm agitated about some issue of national concern, and I want to get my readers to contact their Congresscritter. Let's say those readers don't even know who they elected. How do they do it? That person is missing two crucial pieces of information:

Shouldn't the information of which parts of the country are represented by be information anyone can use to promote democratic engatement?

Okay, so the Senator name is easy - those are two per state, easy to look up. And f you look at the House of Representatives website, they let you put in your ZIP code and tell you who represents you. If house.gov needs more information, it will ask.

But that only tells you who, not how. Different Congress-people want to be contacted in different ways - phone, web form, or email. It would be nice to have a publicly-available database of that. But who will do the hard work to maintain it? And if it's a web form, then those are different on a per-representatve basis. And when Bob uses Alan's website to contact his member of Congress, Alan would prefer to that Bob always see Alan's page templates, advice for what to put in the fields, and so on. So this information should be not only available, it should be machine-usable.

A proposal

So here's a proposal for how to maintain this information:

First of all, a technical note: All the data extraction described below can either be done by a central server that is asked every time someone wants to know, or client-side code that runs on Bob's computer/browser that does the extraction. The advantage of the latter is that it's much harder to block as well as more impressive in the server logs at house.gov.

Who's my Rep or Senator?

It is always going to be easy (in a technical sense) to determine which field on house.gov is the ZIP code entry field. (If Bob doesn't know his ZIP, you can just look it up with e.g. the USPS website.) The responses will be easy to parse, too; just see, of the results returned, which ones actually are a known possible choice according to e.g. Wikipedia.

How do I contact him/her?

All Senators and Representatives do provide web forms. In general they have a common set of fields, and then some have more advanced ones. The central component is just listing which form fields are required; Bob's computer/web browser can just dynamically create a form that matches, all within the look of Bob's site.

If you want to store the results for performance reasons, you don't have to worry about storing it for every possible location or representative. Just cache it once a client requests for about a day, I'd say.

What about reliability?

What to do if the House of Representatives website (or its form handling) is not online at the moment? Recall there are two ways to architect the form submission: Either Bob's computer could directly submit to the form on his representative's web site, or he could submit to a central computer that would do all the submissions. The advantage of the latter is that the central computer can enqueue form submissions that were problematic just like mail servers queue email.

In fact, the same strategy could be used for the form itself! Imagine that Bob wants to submit to his rep's web form but house.gov is unavailable. If the central server doesn't have the form cached, then at least

Why go through all this trouble?

Well, as a public service. It would be nice if anyone could run their own Action Alert site without having to pay or otherwise submit to the will of third parties.

Exactly how much trouble is it?

As I've described it, the whole system is automated. Optionally, a human can call representatives and see how they like to be contacted. If each conversation takes about five minutes, and there are fewer than 600 Senators and Representatives, it takes only 3,000 minutes or 50 man-hours tops to contact everyone and ask their preferred means of contact. This can be done in one shot, or it could be done by volunteers spread across the country.

Now, it would be really interesting to apply this on a state level. Cheap and widely-used action alerts to state senators would make for much more interest from state legislatures in what their constituents think....

[/note/politics] permanent link

Mon, 27 Aug 2007

Inbox Zero

Inbox Zero suggests keeping my INBOX to having zero items in it. Recently I received an email that was informative rather than had information I needed to act on, and it struck me: Why do I use my INBOX as an archive?

So I'm going to try this idea out. (I first heard of it while surfing Planet Debian.) I've been using IMAP labels in (al)pine in a similar fashion to the way Merlin Mann suggests using email, but the big difference is that when an email is dealt with, I don't make it visually go away. So sometimes I dig through INBOX to see what I forgot to deal with.

I actually found the Inbox Zero web site very hard to use. Here are the lessons I've extracted so far:

INBOX is a place emails go before you act on them

The available action space is:

Disable auto-check

"Are you checking the email, Yakov, or is it checking you?"

This means both disabling my instinct to auto-check as well as the technology that auto-checks every minute. Every 30m or 60m is okay. I'm not quite sure what to do about the system monitoring alerts, though.

Do email in dashes

Defragment the day; see the Yakov link above.

[/note/organize] permanent link

THIS LICENCE MAY CONTAINS TRACES OF NUT.

http://lists.debian.org/debian-legal/2000/12/msg00058.html (via Christph Berg via Planet Debian.)

[/scribble] permanent link

Backporting with apt-src

Let's say you run Ubuntu but want the freshest package of something from Debian Unstable. Or you run Debian Stable and you want some crazy multimedia package that only Ubuntu packages.

For many packages, it is pretty easy to "backport" them between distributions or between releases. Let's say you run Ubuntu or Debian stable and you want the latest version of my alpine package. Here's what you do:

Step 1: Make sure you have an appropriate deb-src line

Backporting is the process of taking source packages and compiling them on your Debian(-like) system. The easiest way to find Debian "source packages" is the same way you find Debian "binary packages": apt-get and its configuration.

Make sure you have this line in /etc/apt/sources.list:

deb-src http://ftp.debian.org/debian/ unstable main

Step 2: apt-get update

Step 3: install "apt-src"

Just do 'sudo aptitude install apt-src'. apt-src is a helper program that makes compiling source packages easy. It's not necessary, but it prevents you from having to type too many commands.

Step 4: apt-src -bi install $package

If you wanted to install 'alpine', just do:

apt-src -bi install alpine

The "b" stands for "build", the "i" stands for "install the resulting package", and the word "install" means "download the source for alpine as found in a Debian source line from sources.list". apt-src will "install" the source into the current directory, make sure you have all the required packages to build the package (a process called "satisfying the build dependencies"), build it, and install the resulting .debs.

Step 5: Run the new program

You should be done now!

[/note] permanent link

Sat, 25 Aug 2007

Go go gadget hyperlink.

http://diveintomark.org/archives/2004/05/12/copy-editor

[/scribble] permanent link

Today

This is like a new year's resolution: Starting today, I'll chronicle how much money of my money I give to oil companies, monpolists in the entertainment industry, and other groups whose activities I think are bad for humans. I'll also tally the money I give to people doing work that I think is good that hopefully offsets that.

See the note about it for details. In the future, hopefully some smart application will put a tally of these stats on the right side.

[/mmm] permanent link

Money meets mouth

Mark Pilgrim wrote a lot a year or so ago about his switching from Mac OS X to GNU/Linux. One small bit says:

if I bought a new Mac, I would be subsidizing the development of an operating system that contains code whose sole purpose is to lock me into a specific hardware platform. I realize that most people don’t look at it that way, but there it is.

This is as good a start as any to the MMM section of asheesh.org. I currently have a full-time job, and in this world, when you fund something, you are voting with your dollars for that thing's continued existence. That's as true for Apple's lock-in technology as it is for AT&T's illegal wiretapping program.

I claim to think that consumer freedom is important, that software freedoms are important, and that the environment is worth saving rather than trashing. In that case, if I'm ethical or at least not a hypocrite, I should put my money where my mouth is.

I read a few years ago about some remarks by some guy at some open source software conference. A young-looking dude wearing a suit and a weird expression and holding his arm asked:

How many people have given to EFF more money than they have given to their local telecom to give them shitty DSL service? See? Four. How many people have given more money to EFF than they give each year to support the monopoly--to support the other side?

(For context, the Electronic Frontier Foundation is a non-profit whose sole focus is legal and lobbying action to protect digital rights.)

For years, I had been thinking in terms of this challenge, but I knew I didn't have the kind of income and spending money where my actions would be substantial. In fact, I was in a tough spot like lots of people with very litle money: You have needs, and then wants, then somewhere hazy after that there's a planet to think of.

Well, now I'm a rich man - I have a job that pays me thousands of dollars every year. Those thousands of dollars get to go somewhere, and I get to pick. (Later on I would learn that this guy Lessig who raised this issue was an interesting guy in other ways.)

When you vote with your dollars that a movie industry that sues its customers should continue existing, or when you vote with your dollars to Microsoft that their illegal tactics are okay, your dollars will turn around and be used (quite literally) to oppress others. I say, not in my name.

As Mark Pilgrim noted: "[M]ost people don’t look at it that way, but there it is." I'm creating this section to make sure there's a record in public that I started down this path so, if I ever want to abandon it, I can see how far I've come.

[/note] permanent link

Fri, 24 Aug 2007

Using an incorrect tag is not the solution

http://www.alistapart.com/articles/qtag

[/scribble] permanent link

Hydrocodone

I just read Hydrocodone Abuse on Rise in Appalachia. Some selections:

Dotson has been off drugs since a religious experience in 2001.

Maybe God is just a chemical fiction.

"When I started in this field, the primary client was involved with alcohol," says David Bailey, a community resource specialist with the West Virginia Prevention Resource Center. "I wish it were still alcohol."
Dr. Peter Cohen, medical director of the Maryland Alcohol and Drug Abuse Administration. . . pointed out that while hydrocodone abuse has grown slightly in Maryland since 2002, it is still far less commonly abused than street drugs like heroin.
"You've got three choices," [Dotson] said. "You either die, go to prison or get saved. Mostly, people around here are dying."

Those quotes speak for themselves.

The most commonly prescribed product combines hydrocodone and acetaminophen, which is marketed under brand names like Vicodin and Lortab.

All that Vicodin-selling spam is suddenly so much sadder now.

The DEA is considering moving drugs containing hydrocodone from being classified as so-called Schedule III drugs to being Schedule II drugs.

What's your drug schedule?

[/scribble] permanent link

Sat, 04 Aug 2007

About me

I'm Asheesh Laroia. I want as many people as possible to have as much information as possible and be able to be as free as possible to act on that information. I use "information" broadly to include, for example, the current weather, the math necessary to predict future weather, and computer software that does such calculations. I once thought that this "information" should include information about people, but now I'm more confused about that.

Lately I've had to pay bills, so I did what I always do when I have a problem: I thought about computers. Right now, I work at Creative Commons doing just that. Creative Commons is a non-profit in San Francisco that I love because it works to make culture more available.

[/about] permanent link

Wed, 01 Aug 2007

bbq

In the same vein as "Barbie in a Blender", I like the phrase "barbie queue". It serves as a convenient alternative to the word "barbecue" without sacrificing the hilarity of ubiquitous bbq.

[/note] permanent link

This is my first post

This is my first post with PyBlosxom.

[] permanent link