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
- inetd listens on port 125
- Connections to it go through an SSH tunnel that executes "nc localhost 25" on some mail server
- (Optional) A real MTA runs on the laptop, so that I can send mail when offline; when mail delivery fails temporarily, Postfix queues the message until I get back online.
Justification
- Easy. Apps can be configured to use localhost port 25 (or port 125) with no password.
- Correct: Postfix (when using 25) handles sending mail when offline, and reattempts delivery for me.
- Secure: Encryption all the way through the network, with the icing on the cake that this all looks like SSH, so nosy networkers near your laptop can't even see that's what you're doing.
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_keysYou'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.
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):
- Weekends are really useful. If you're working in the daytime, you'll miss out on lots of great things that can only happen in the afternoon.
- You'll miss people from home. Some of them might miss you too, but you'll have less way of knowing that.
- Plans are useful. Guide books that have walking tours with lists of places to go, marked on the map of the walking tours, are immensely helpful.
- Seeing people takes time. If you're lucky (or if you're smart), you can arrange to see people in places you actually wanted to go in the first place. Maybe you can do what I'm doing today, which is (hopefully) seeing an act of a Kabuki play somewhere before meeting up with people, or maybe you can manage to chat with people as you walk through some nice park. Otherwise, be aware that you're adding to the places you have to go see.
- Speaking French is fun, and it's one of the few activities where if people compliment you don't have to feel bad accepting the compliment.
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.
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.
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.
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!
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!
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.
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.
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.”
Thu, 18 Oct 2007
Ubuntu and Debian
Meh! That is totally untrue. Debian was obsolete long before Ubuntu existed.
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.
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
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.
- Licenses approved by FSF alone: 51
- Licenses approved by OSI alone: 43
- Licenses approved by both: 16
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:
[/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:
- Transcend's solid-state hard drives. Unfortunately no one on products.google.com seems to have these in stock.
- SanDisk SSD (formerly FFD) UATA 2.5”. Apparently these are an OEM-only part.
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?
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.
Fri, 21 Sep 2007
Fascism 2007
Some notes on American Fascism:
- People say this: "This kid got to say his piece, and then started ranting, the police TRIED (leila take note here) to escort him out calmly but he resisted and continued ranting. This is the sort of behavior that can incite a riot" when a kid is being tasered for asking a question and being a brat.
- But what are we to do when mainstream pre-Presidential candidate Rudy Giuliani is on the record as being a fascist?
- And what are we to do when mainstream political pundit Thomas Friedman is for meaningless wars based on lies?
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.
"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
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.
Fri, 14 Sep 2007
html2dom
xhtml2domEh bien?
"NOTE! I AM NOT REALLY A CRACKHEAD, THAT WAS JUST AN EXAMPLE."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....
Enlightened but confused
"Just went to hear RMS and came away enlightened but confused."Wed, 12 Sep 2007
Hey, we're clay!
Frosted Cheerios (via Gaurav)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
Mon, 10 Sep 2007
GNU Free Documentation License comments
I once asked some questions.Sun, 09 Sep 2007
Cats and war
Two points:
- The grim future of Hello Kitty (via beloved Everything2)
- The grim present
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:
- Regular expression find/replace
- Fast loading
- Automatic word wrap when you want it, and easily-disabled word wrap when you don't
- No insane modal-ness like vi
- Ability to easily insert the results of shell commands into files
- Really easy to use with context help all the time
- Real ultimate freedom
- Syntax highlighting
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!
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".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:
- Who the Senator or Representative is, and
- how to contact that person.
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:
- delete (Okay, I'm not going to do that)
- archive (>90% of my mail is informative rather than actionable)
- defer (save to reply-to-me for later sprints)
- generate an action from it (save to act-on-me for later sprints)
- reply right now (if it'll take <2 minutes)
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.)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!
Sat, 25 Aug 2007
Go go gadget hyperlink.
http://diveintomark.org/archives/2004/05/12/copy-editorToday
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.
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.
Fri, 24 Aug 2007
Using an incorrect tag is not the solution
http://www.alistapart.com/articles/qtagHydrocodone
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.
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.
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.This is my first post
This is my first post with PyBlosxom.