Wed, 23 Nov 2005
Cheap commercial product uses ext3 filesystem and writes about it!
This is the first time I've Linux spotted something this public in a commodity
commercial product. The
Linksys
NSLU2 is this little device that you plug a
USB disk into one end and a Ethernet cable into the other and it gives you a
web browser interface to configure some "network attached storage". No PC
necessary. The cool part is it
uses
the ext3 filesystem, which is the native
Linux filesystem.
posted at: 19:53 | path:
/hacking |
permanent link to this entry
Mon, 07 Nov 2005
Offline Portable Encrypted Filesystems, Part 1
More on the Cruzer Micro. It's
tiny
and
fast. I've
been making great use of it under Linux with the
pmount
utility. Especially the -s argument which mounts in a read-optimized mode
and lets you rip out the mounted drive without damaging the filesystem.
But what about security? Wouldn't it be nice to have a encrypted filesystem on
the disk so sensitive files can be stored offline, portably? The disk comes
packaged with some bullshit Windows "freeware" applications to make an
encrypted filesystem but to no surprise they have licence restrictions and
limited functionality unless you purchase the "pro" version. The 2.6 Linux
kernel already contains an API for encrypted filesystems and lacks the licence
restrictions of previously mentioned Windows apps. This is my starting point.
In a nutshell, here's the process I found for doing this, the main drawback
being the necessity of a root shell.
- load cryptoloop kernel module
- decrypt filesystem against loopback driver
- enter password
- mount loopback filesystem
- use filesystem
- unmount filesystem
- encrypt filesystem by disabling loopback driver
This process is documented in the
Linux
loopback encrypted filesystem howto. Ignore everything about compiling your
kernel. This document is old and all the utilities are in the 2.6 kernel and
Debian stable. If you don't already know, a loopback filesystem is a single
file that can be mounted as if it is a physical disk partition. The advantage
of doing this on the USB key is you can keep the vfat filesystem on the key for
insecure files and have a single encrypted loopback file you mount when needed.
The filesystem can contain passwords and access information since it's
protected by encryption and a password that only you know.
Stay tuned for syncing your home directory to the encrypted filesystem, making
your Linux desktop truly portable and secure.
posted at: 12:48 | path:
/privacy |
permanent link to this entry
Wed, 02 Nov 2005
USB Flash Drive Benchmarks
I got a 1 gig USB flash drive called the Cruzer Micro, manufactured by Sandisk.
It's extremely tiny, about 2 inches long by 1/4 inch thick and it has some
pretty impressive read/write benchmarks with the default vfat filesystem:
Write 200M file
real 0m23.748s
user 0m0.009s
sys 0m1.158s
Read 200M file
real 0m18.151s
user 0m0.035s
sys 0m1.594s
Unfortunately, it has the same
write
limitations as Compact Flash.
posted at: 16:06 | path:
/media |
permanent link to this entry
Tue, 01 Nov 2005
Spam Poetry #2
ultram repentant by
Clyde Phelps <DiannaChampagnevolterra@mercurylofts.net>. Composed Tue Oct 25 02:36:16 2005
rack you togs me, prefatory . clapboard you creedal me, muck turnkey mylar .
unruly you pneumonia me, satyr gibbous . author you diluent me, begging . eugene
+you carryover me, heliotrope subsidiary countdown wheelchair .
posted at: 00:38 | path:
/spam |
permanent link to this entry
Mon, 24 Oct 2005
FCC trys to order all VoIP systems to comply with wiretaps
The whole concept of a
wiretap when dealing with voice
over IP networks is
ridiculous. It's incredibly difficult and could potentially involve hundreds of
variable situations. Compare this to tapping a traditional analog pair from your
local CLEC, which simply involves finding the demarc and touching a speaker
with two wires on the end to the pair, and you will begin to see the gravity of
this mandate.
So the FCC
thought it would be a cool thing to try and order every single VoIP company and
non-profit institution with existing VoIP infrastructure to comply with some
abstract concept like "let us listen to your phone calls in the name of
freedom."
posted at: 12:54 | path:
/power |
permanent link to this entry
Sun, 23 Oct 2005
Tyondai Braxton Played at Tonic
Tyondai is my favorite living composer and performer. He makes very well
orchestrated pieces right
before your eyes with a guitar, his voice and a
rather complicated matrix of looping samplers and effect boxes. Mike Burke,
part of JMZ records, the small record
imprint that pressed his first solo CD
described his performance by telling me "he becomes this cybernetic organism."
Ty played at Tonic on the 21st of October 2005. I recorded it. He asked me to
only place part of the show here. The segments are in ogg/vorbis format, to
further confuse you so you'll buy the record when it comes out.
First seven minutes
Last 6 minutes
For all the geeks reading this, I recorded it with a
Sony ECMZS90 stereo condensor
microphone attached to an iRiver
ihp-140 portable harddisk
player/recorder. The source format was wav, which I moved to FLAC and finally
to vorbis.
posted at: 23:40 | path: /music | permanent link to this entry
Tue, 18 Oct 2005
Why I didn't get the 2005 Eyebeam Open Labs residency
- Ben Engebreth comes to Eyebeam from the NASA Jet Propulsion Laboratory at Cal Tech where he worked on trajectory optimization for spacecraft.
- Limor Fried is a recent graduate of the MIT Media Lab where she earned a Masters of Engineering in Computer Science and
Electrical Engineering.
- James Powderly has a master degree from NYU's ITP program and comes to Eyebeam from Honeybee Robotics, where he has worked as a director of technology development, applications engineer and lab foreman since 2002.
- Evan Roth is a recent MFA graduate from the Design Technology department at Parsons where he was his class valedictorian.
I have no skills. On paper I have no skills. I can only embrace the bad-boy outsider mad inventor cliche if I want to run with this crowd. Fuck. How do I defeat someone with so many computer hacking skills!?
posted at: 01:56 | path:
/art |
permanent link to this entry
Mon, 17 Oct 2005
Installing the Adobe SVG viewer with Debian stable
I find more and more projects using the SVG format for vector graphics on web
pages. Unfortunately there is no Free Software plugin for Mozilla or Firefox to
display SVG files. Adobe does make a non-free plugin, built against Redhat 9
but not in RPM format. It installs easy enough on Debian but actually getting
it to display an SVG file is another thing entirely. Fortunately, Mozilla gave
a helpful error message, which cleared everything up. You need to
enable
TrueType2 fonts for your Mozilla compatible browsers and install some TT
fonts to actually see anything in an SVG file. You can find the file referenced
in the documentation at
/usr/lib/mozilla/defaults/pref/debian.js.
If you only have Firefox installed and not Mozilla and the default kernel for
sarge, it appears that this plugin doesn't work at all. Or maybe it's the
nvidia graphics driver. Who knows. Fuck closed source binaries for Linux.
The above instructions are dependent on some Debian packages, most
notably, libfreetype6, libttf2 and ttf-freefont. In proper Debian syntax
apt-get install libfreetype6 libttf2 ttf-freefont. The last package gives you
some default TT fonts to work with. You can see all the fonts available with
apt-cache search ttf-
That's it. Go
here to test your
plugin installation after restarting your browser.
posted at: 21:46 | path:
/debian |
permanent link to this entry
Thu, 13 Oct 2005
Free pizza is something which benefits humanity
In my neighborhood there are not one, but two drinking establishments which
will give you a 10 inch brick oven pizza for $0 if you buy a drink, which will
cost you at least $4.50 for cheap beer. This is amazing. This is also dangerous
and addictive. I can't remember all the times that I have ended up at
the
Alligator Lounge at 2AM and drunkenly ordered another and...got a pizza to go
with! The other place is called
Capones. If you live in Brooklyn, hell if you
live in Manhattan or even Queens go there. It's fun.
posted at: 00:07 | path:
/brooklyn |
permanent link to this entry
Wed, 12 Oct 2005
An Internet Radio Stream Directory
If you are running Debian GNU/Linux, type
apt-get install streamtuner
alsaplayer-gtk. You won't be sorry. Start stream tuner from your Gnome
menu (or any other way you please) and open the preferences. Enter
alsaplayer -E %q in the "listen to m3u" and "listen to stream"
Application settings. Now browse your streams. Then go to the "Local" section
and point it to the music on your hard disk. Yeah. Fresh. Like iTunes but not
sucking so hard or, like, sold out n'shit.
posted at: 23:59 | path:
/debian |
permanent link to this entry
Mon, 03 Oct 2005
Simple, CD quality live recording from any JACK application.
qarecord is a neat little program that sits
in your JACK patchbay, waits for you to patch a signal to it and records that
signal as a stereo WAV file when you tell it to do so. I have been throwing
live shows at
my apartment and
recording all of them with some fancy new condenser microphones I bought. Until
I discovered qarecord I was using
Timemachine which is excellent but
only writes 32 bit files. Qarecord can write 16 or 32 bit files and supports
pausing while writing to a single file. Good for live shows. It also claims to
support binding controls to MIDI events, which would be quite cool if it works.
Anyway,
here's my Debian
package, built against Sarge. It depends on a lot of shit, which is even
more of a reason for me to set up an APT repo. Until then, read the
APT
HOWTO to set up your own with my packages on your local hard disk.
posted at: 17:15 | path:
/debian |
permanent link to this entry
Sat, 17 Sep 2005
Generate A Playlist from All Media On A Web Page
Depends on
Greasemonkey and
Firefox
Originally written by
Wayne Burkett and
modified by me to accept files
other than mp3.
posted at: 22:08 | path:
/scripts |
permanent link to this entry
Mon, 05 Sep 2005
Spam Poetry #1
weary not chant some inflate ! brainchild some ruffle but cuttlebone and
oasis
try blandish , aware and doze it's bail a turbidity see swan it's approval
on venerate try rod see inspect , shaw on willful.
posted at: 04:38 | path:
/spam |
permanent link to this entry
Mon, 08 Aug 2005
Valley Free Radio barnraising
This weekend was my first
Prometheus Radio Project barnraising. It was
for
Valley Free Radio in Florance,
Massachusettes. It was awesome. We used a directioinal WiFi antenna to link the studio to the transmitter over about
a mile. I'll write more later...
posted at: 12:42 | path:
/radio |
permanent link to this entry
Tue, 02 Aug 2005
))<>((
Me and You and Everyone We Know...amazing. Here's the quote that inspired the above ruler of the "best emoticon ever" contest.
I'll poop into your butthole and then you'll poop it back into my butthole and we'll keep doing it back and forth with the same poop. Forever.
posted at: 00:51 | path:
/movies |
permanent link to this entry
Mon, 01 Aug 2005
Configuring the Jack Audio Connection Kit with Debian Sarge (stable)
I get a lot of requests to explain how to use the Jack Audio Connection Kit with Linux. As it is a fairly
complicated process, I figured I'd write it down. Here it is and here is what I'm assuming your situation looks
like. If your situation is different and you send me an email about why it didn't work, well...caveate emptor.
Hardware
- Debian GNU/Linux.
- A Pentium compatible PC, the faster the better. Pentium IIs will probably suck and at worst be completely
non-functional. Apple hardware may not work at all.
- A Linux compatible sound card. This means many cards but
excluding all firewire devices. USB sound cards are spotty too,
although I have got an Emagic A26 to work with a laptop.
- Speakers.
Software
The Debian packaging system makes getting a Jack system up and running quite simple when
compared to other distributions. We begin with installing your operating system and setting up the sound card.
- Download Debian (Sarge) CD #1 or the netinst minimal CD if you also have a fast Internet connection. Install
with a 2.6 kernel by giving the 'linux26' option at the boot prompt
- Follow the menus and reboot when prompted. When you are done with the questions after reboot, open a shell and
type this:
apt-get install alsa-base alsa-utils discover1. Then run alsaconf. It will ask
you some questions, reset your sound drivers and edit some configuration files. After this you should be able to
hear sound. Try playing an internet radio stream or a sound file. If it still doesn't work, reboot. I know it
sucks but sometimes it's simpler than troubleshooting.
- Once you have ALSA drivers loaded, you need to compile the realtime-lsm kernel module to get good audio
performance. Debian makes this exceptionally simple. First, check if you have some development tools installed with
apt-get install g++ make build-essential module-assistant. Now you have to install your kernel headers.
At this point you can get away with nothing more than apt-get install kernel-headers-2.6.8-2. Now you
have to download the source code for the realtime driver. apt-get install realtime-lsm-source
realtime-lsm.
- Now that you have all the software, let's build it. Start with
cd /usr/src; m-a prepare, followed
by m-a build realtime-lsm. It should finish without error and you should find a file called
realtime-lsm-module-2.6.8-2_0.1.1-6+10.00.Custom_i386.deb or something similar. Install it with dpkg -i
realtime-lsm-module-2.6.8-2_0.1.1-6+10.00.Custom_i386.deb.
- Congradulation. Your realtime driver is installed. Now you have to load it into your running kernel. Do this
invoke-rc.d realtime start. You shouldn't see any error messages. To confirm that the driver is loaded,
type dmesg and you should see a line like Realtime LSM initialized (group 29, mlock=1). If
not, something is wrong. Read the errors to diagnose your problem.
- Lastly, we install JACK.
apt-get install jackd qjackctl. Qjackctl is a graphical utility for
managing your audio system. Highly recommended.
- Start qjackctl and click the "start" button. If it says it started you are good to go. If not it should tell
you why.
Enjoy your new JACK audio system. For applications to use it they need to be compatible. Some of my favorites are
the xmms-jack plugin, alsaplayer, jamin, ardour, darkice from
my custom package, and pure data.
posted at: 13:36 | path:
/debian |
permanent link to this entry
Sun, 31 Jul 2005
Some open source streaming tools and information which may be hard to find
posted at: 13:23 | path:
/media |
permanent link to this entry
Fri, 29 Jul 2005
Water. Written by Polly Jean Harvey
water
walking on
water
for years
taking it into my head
living by the right lines
reading what the very man said
water
walking on
water
neighing on eleven years
taking it into my head
mary mary drop me softly
i've been reading what your very man said
neighing on eleven years
taking it into my head
leave my clothes on the beach
i'm walking down into the sea
prove it to me
now the water to my ankles
now the water to my knees
think of him all waxy wings
melted down into the sea
mary mary what your man said
is washing in all over my head
mary mary hold on tightly
over water under the sea
Listen to the song.
posted at: 10:15 | path:
/music |
permanent link to this entry
Tue, 19 Jul 2005
I installed Mediawiki today. It's...different.
Wikipedia is an excellent web site that functions as an encyclopedia that's peer reviewed by everyone on the world wide web. It has a markup language that's not HTML, which up until now I thought was the world wide standard for putting text on the www for end users. I guess I'm wrong.
Mediawiki uses it's own markup language for formatting text, which the backend translates into vaild XHTML so your web browser can display it properly. Personally, I have
a lot of experience with HTML and a little less with XHTML. I memorized the important parts and used it to publish my own writing on the web and get jobs publishing other people's. It isn't that difficult. Yet I have found a lot of people who think it is, which is why I believe the wiki media foundation invented their own markup language.
But I can't help asking, is this markup really that different than HTML? Is it really less complicated?
posted at: 00:19 | path:
/hacking |
permanent link to this entry
Mon, 13 Jun 2005
The Best Shell Command Line of My Life
After a particularly debaucharous weekend in Atlantic City.
I came back loving party music. And who's the best of the
best for sex fuled party music? Well, Peaches of course. I downloaded
the fabulous song titled
Shake Yer Dix and I'm
rocking out to it right now. You should too. In my adventures, I
obviously came across lots of search hits of her #1 hit,
Fuck The Pain
Away, which was the anthem for the year 2002 and beyond. I forgot if
I
still had this song on my hard disk, so I did a quick serach for it. I
left the terminal open and came back to that screen 30 minutes later. I
didn't realize it at the time, but I had typed the most amazing bash
command line of my life. It read:
not-faith:~# locate fuck | grep painposted at: 00:37 | path:
/goofy |
permanent link to this entry
Fri, 03 Jun 2005
It must be hard to maintain accuracy of consistancy of informationwhen you're a public figure
The Daily Show is really good at catching our friends in the white house on their lack of cross references. Just today they had a segment where they showed Secretary Rumsfeld hating on Amnesty International for comparing Guantanamo Bay to the Russian Gulags after WWII. They compared it to a clip of the same Secretary Rumsfeld using the findings of Amnesty International to elicit support, using their credibility for his argument. Then the segment was ended with this wonderful quote from the President himself, said during
a speech at a school in New York:
If you've retired, you don't have anything to worry about -- third time I've said that. (Laughter.) I'll probably say it three more times. See, in my line of work you got to keep repeating things over and over and over again for the truth to sink in, to kind of catapult the propaganda. (Applause.)
It must be extremely difficult for public figures with this much visibility to maintain the consistancy of their information. Hell, I have enough information to deal with at the day job. Imagine if I was attempting to lead a country of millions. But the difference with these public figures is it's
their job to stay consistant at public appearences. When they fail at it, it's their credibility on the line. Of course they have this covered, as made clear by the President's speech about repeating their propaganda until it's popularly understood to be true.
At moments of weakness like this, I get sad. But I can keep thinking about the incredible power of information and the glut of it in American culture. If the largest beaucracy in the country can't keep track of theirs, I take that as a challenge. If they can't do it with their own tools, perhaps they should employ some better technology and talent to make sure their dialog with the American people and the world backs itself up. That's a challenge that could be interesting.
posted at: 00:00 | path:
/power |
permanent link to this entry
Sun, 22 May 2005
Removing Plesk from Hostcentric Self Managed Hosting
There is a company called Hostcentric that offers
some pretty sick deals for dedicated hosting.
But as with anything,
there
is a catch. In my opinion, the biggest catch is their installation of a user friendly control panel for the
entire server called
Plesk. Plesk isn't so much
a control panel as a magical transformation of Linux into a propriatary "hosting platform". It takes over the whole
OS. In fact, Hostcentric
explictly
forbids altering the server in any way outside of installing some userland applications. The operative phrase
the the previous link is "as long as it's compatible with the current OS". One would think this would mean Fedora Core 1 but it doesn't. It means Plesk.
So what's an enterprising hacker to do about this? Well, remove Plesk of course! Easier said than done. Those
sw-soft guys really did a number on Fedora. What follows is the efforts of three people casually exploring the
guts of Plesk for three years and eventually, removing it. Know your enemy, right?
The core of Plesk lives in /usr/local/psa. The PSA stands for Plesk Server Admin. You'll find lots of things strewn about the filesystem with the letters 'psa' tacked onto them. When you look inside /usr/local/psa you'll find something similar to a common UNIX directory structure. That's their ticket, they recreated the parts of the "open" OS it sits on top of and put them in their own obscured location. Plesk does things like logging, database storage and maintaining state in this directory. The short list of what services are dominated is:
Since so many other things depend on this location existing, we'll wait until the very last step to remove it. The first step is to discover what services Plesk has directly modified. The easiest way to do this is with
rpm -qa | grep psa. This will show you all the RPM packages which have been taken over. Kind of a lot. qmail, the MTA has to go. As does the courier imapd and popd daemons. There's a bunch of stuff in /etc/xinetd.d/ that's Plesk-ified. If this isn't a production server it's safe to disable this for now.
I'm going to take this time, before you start hacking to emphasize DO NOT DO THIS ON A PRODUCTION SERVER! and of course the obligitory BACK UP YOUR DATA BEFORE PROCEEDING!. Like the Debian GNU/Linux login message, this mini-howto comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.. I hope I have made this clear enough...let's proceed.
If you have already picked around the Plesk GUI, you might have noticed some weirdnesses with how they define "domains" and "users". I still don't understand most of it but here's the gist. An "FTP User" is someone added to /etc/passwd with a shell of /bin/false and their web root is their home directory. A "Web User" is someone. I have no fucking idea. A "SSH User" Or remote login whatever, is someone who is also added to /etc/passwd with a shell of /bin/bash.
Outside of /usr/local/psa the second most dominated location is /etc/httpd. This is where all the Apache configs reside. While Plesk hasn't modified the Apache binary, they have ruled the config file structure and made it almost impossible to allow you to edit the file by hand. Double plus ungood. Another caveate, which was pretty amusing in retrospect (although not during the 8 fucking hours I spent figuring it out and fixing it) is that Plesk uses suexec for CGIs.
RTFM if you don't know what it is. These Hostcentric servers haven't modified the Apache binary so it's using /var/www as it's suexec document root (the default). Amusingly enough, Plesk is using a
different document root, making it
impossible to execute certian types of CGI programs. It requires recompiling Apache to change this variable and it's doesn't stick across upgrades. Great! suexec is great if you have a huge shared hosting business but anyone spending $59.99 a month for a server isn't doing that. And if you are, you're retarded, you will lose. Moral of the story, don't use suexec.
There's really no simple way around the Apache config part. You have to open up the files in a text editor and delete all the <VirtualHost> definitions you didn't create yourself. The ones you did, you have to save and then modify for your new configuration. This took me tons of trial and error.
DNS is a tricky problem. Most people
don't fully understand DNS or just don't have to think about it that much and don't care. Don't worry, I was one of them too and it took me a weekend to get it. Now I do and it's very simple.
BIND is overly complicated.
djbdns is not. Which one do you think Plesk uses? Why BIND, of course. This is actually kind of unexpected considering they are already using some DJB software, namely qmail. Whatever...If you are already publishing some domains from this box, you aren't fully screwed but it's going to be kind of difficult. You'll have to shut down your DNS server while you transition to djbdns. Fortunately, Mr. Bernstein provides
good documentation on transitioning from BIND to djbdns. Read it, do it, it'll work. This is a simple one to get out of the way and it'll last for the life of the server. Make sure you remove named from the system's boot order so it doesn't turn itself on across reboots. Once you have a stable tinydns/dnscache system you can uninstall BIND.
The last part of Plesk terribleness is MySQL. Fortunately it didn't do anything that bad to MySQL except use it for lots of state information and some user databases. If you already depend on databases created by the GUI,
dump them out of MySQL just to be safe.
Now you should have a very good idea of the depth of this project. The icing on the cake is that Hostcentric's agreement forbids you to update the OS. Fedora Core 1 is
quite old. The whole point of open source software is the freedom to update. My better judgement tells me the lawyers who wrote this agreement have never used a computer for anything more than typing email and surfing pr0n on the web so I can safely ignore them. Our business and theirs do not overlap. No probs. The first concrete step to a Plesk free life is installing
APT, the Advanced Packaging Tool, created by the wonderful
Debian GNU/Linux project and updating your RPM database.
After installing APT, follow the instructions and choose a mirror close to you. Run
apt-get update and make sure it runs without errors. Then run
apt-get dist-upgrade and see how horribly out of date your OS is. Scary, isn't it? Please say no to all of these upgrades, since one of them might be a kernel upgrade and you'll have to reboot. What you can do now, it run
/etc/init.d/psa stop, which will shut down Plesk, whatever that means. Now you are safe to refer to the output of that
rpm -qa | grep psa command and remove and replace the programs. I chose postfix to replace qmail-psa. Everything else I just replaced with their Fedora supplied counterparts. Once all the *-psa packages are removed, run
chkconfig --list and make sure the services you want are in the list and set to on for levels 2, 3, 4 and 5. If they are, run
apt-get dist-upgrade and say yes. You might get some GPG verification errors, which I couldn't get around even though I imported the public key from the Fedora project. I had to edit /etc/apt/apt.conf to disable GPG checking to get the upgrade to complete without errors.
You probably have a new kernel which you should reboot into. This is a pretty critical step, so make sure your bootloader is properly configured. My server was using grub. Verify that /boot/grub/menu.lst is pointing to the current kernel and that the kernel exists at that location. Make sure the default is to boot into that kernel. If you are using lilo, the same should apply. I'm scared of lilo so I'll leave that as an exercise for the reader if you are using that bootloader.
The final step is rebooting.
But wait! There's one last bit of sneakiness I got bit by. Run this
ls -l /sbin/reboot. Depending on your system, you might notice that it's linked to /sbin/halt ! This means if you type
reboot it'll actually shut down the system! Fuck! You can be safe and issue a
shutdown -r now command to properly reboot. If something goes wrong and the system doesn't come back online, you'll have to submit a reboot request to Hostcentric. They were actually pretty good at doing this, with a turn around of about 20 to 30 minutes for me and in both cases their reboot worked where mine didn't.
When your new system is rebooted and running, make sure the services you want are running with
netstat -ltunp and if they aren't, start them with the redhat-centric
service whatever start. If it comes up, use chkconfig to add it to the boot order for runlevels 2, 3, 4 and 5. To be safe you might want to do one last reboot to make sure everything you need comes up automatically. If it does, congratulations! You have a brand new Plesk free Fedora server. Stay tuned for a howto for upgrading to Fedora Core 2.
posted at: 18:09 | path:
/hacking |
permanent link to this entry
Mon, 16 May 2005
Critical Mass Radio Network mixer
The
Critical Mass Radio
Network is a great project. I do some work with
The August Sound Coalition
on the monthly segment. Since the RNC, CMRN has used some experimental
features of
Icecast to do a
syndicated broadcast, switching between many cities on the same live mp3
stream.
After I went to the particle/wave conference in Helsinki, I learned
about a project called
User Radio.
He uses
Pure Data to mix between
various audio files or streams on the Internet. I took his concept and
started working on a mixer for the monthly CMRN broadcast.
This is the
development copy. Please don't use it for
anything functional. In fact, don't use it for anything if you haven't
ever worked with PD cause it won't make any sense at all. Anyway,
here it is. You need to have the
~oggamp and ~oggcast objects, which you can get from Debian testing by
running
apt-get install pd-externals.
posted at: 23:39 | path:
/puredata |
permanent link to this entry
Thu, 12 May 2005
Installing Debian Sarge on a 4801 with a serial console
I just got two 4801 boards. One running m0n0wall, which is working great
already and the other for an embedded Linux project. After a full day
and a half of reading and trial and error I have Debian testing running
with an interactive serial console.
I realize there are other ways to do this but this way provides the most
interactive feedback and requires nothing more than the standard
debian-installer system. I'm writing this because there are a lot of
conflicting documents on the web on this subject. Here's the steps I
took:
Download the netboot.tar.gz archive from the debian-installer directory
of an official Debian mirror.
Follow the instructions for configuring debian-installer to PXE boot.
Download a modified pxelinux.0 bootloader, since the one in the Debian
archive isn't functional. I'll
reference the bug report I opened yesterday in case it eventually gets fixed.
Rename pxelinux.cfg.serial-9600 pxelinux.cfg. Currently this is placed
in /var/lib/tftpboot by default. Install minicom (or another terminal
program) and connect the 4801's serial port to a desktop with a null
modem cable. Set your terminal program to 19200 8n1. Turn on the 4801
and you should see the BIOS in your terminal. Press ctrl + p and type
'boot f0' to boot from the first network port.
If everything is configured correctly, you should now see a bunch of
random characters on your screen. Disconnect your terminal, reset it to
9600 8n1 and start it up again. You should see the debian-installer
screen or a bootloader prompt. You can now install Debian as normal.
When the installation is finished and it asks you to reboot, do that but
disconnect your terminal and set it back to 19200 8n1. Turn off the 4801
and pull out the CF card. Connect it to a desktop PC and mount it. You
now have to edit some files to get Grub, Linux and getty to send their
output to the serial port. This is
well documented.
Once all those configs are set to (make sure the speed is 19200 8n1) you
can safely umount the CF card, put it back in the 4801, turn it on and
Linux should boot as normal. Since CF cards have a finite life span,
this is not the best way for building up the OS. I haven't figured out
the best way yet...
posted at: 23:09 | path:
/hacking |
permanent link to this entry
Sun, 17 Apr 2005
Flying really is time travel.
particle/wave is over. Three notable things stand out. First is the product
from the transmitter building workshop. It's a functioning FM transmitter we
built by hand on a 3 x 2 inch board. It is 0.15 watts and has a range of about
25 feet. I have the specs so getting American parts (the parts we used were
German) shouldn't be hard. Then I can start teaching others how to build them.
Next is a piece of software called User Radio, which in it's current form is a
collection of pieces that allow one to upload audio in many file formats, or
a stream from the Internet into an online mixer. Users then can fade channels
in and out. It works really well and the guy who made it is very helpful. It
got me thinking that it (or something like it) can be used for our monthly
CMRN broadcasts.
The third is really a combination of all the performances. The opening night
party had a this telephone installation in the dining room. Each telephone was
wired directly to a big speaker, which were in turn wired to a computer
processing any sound that went into the telephone to delay and loop. It was
one of the most fun installations I've seen and everyone loved it. Then there
was a performance with these tiny machines transmitting and sequencing and
feeding back into themselves over radio frequencies. The noises were very
sophosticated for such a simple configuration.
I'm really into these euro art festivals. All the people I talk to say there
are many of them all over the continent. It's so much better than anything
I've been to in the states, which I realize is a totally cliche thing to say
but still true.
posted at: 14:16 | path:
|
permanent link to this entry
Thu, 14 Apr 2005
The north, oh the north.
Not much on these pages in the last month. After losing my job, freaking
out, getting another job which is far more interesting and preparing to take my
first trip to Europe, I've been more than distracted.
When I was 16 years old I discovered the music of Aphex Twin. At the time I
hadn't heard anything like it, nor did a lot of other people I knew. It
totally changed the way I started listening to music, and consequently making
it. Being an urban kid stuck between suburban parents one of my wild fantasies
was when I got older I would go to England on tour with my own music, befriend
Mr. Twin and everything would live happily ever after. I would only go to
Europe under these conditions. Any other way would be terribly boring since I
would just be a tourist.
It's been 11 years since then. I'm writing this in a hotel room in Helsinki,
Finland at five in the morning because the time travel has made me sleepless
at opposite hours. I'm participating in a electronic arts festival called
Pixel Ache, at the contemporary art museum in Helsinki called Kiasma. A sub
genre of the festival is a workshop group operating under the title
Particle/Wave, and is a group of about 30 of us who are working with Hybrid
Radio, which is any way to transmit or broadcast audio to a location, not only
via popular ways like FM. This obviously involves The Internet, which is what
interested me.
This is the first place I will present Auppix to others and put it into
practice. In order to do this right, I have to have the language down. How is
Auppix different than the three other big LiveCD distributions? There's
Dynabolic, Knoppix and a lesser known project called DiMuDi, which actually
got government funding.
Auppix is different because in addition to a set of tools to produce art, it
also
is art itself. The group we have working on it are more
interested in audio and visual art than hacking. The graphical interface is
just as important as the software tools on the disc. The writing on theory of
transmission art provides information of equal value as the documentation
to how to create a stream.
My vision for Auppix is that it will be the first Linux distribution which is
generic enough to be used by others to express their individual voice yet is
specific enough that it can be identified as a work in it's self. Apple has
successfully done this with OS X to a point. Their goals are obviously
different than ours but the comitment to having one's digital tools be
aesthetically pleasing are the same.
Unfortunately, because my the jetlag, I slept through all of the activities
and performances on the first day except for the orientation, which was fine.
I'll have more to write about as the week goes on. Here's a photo from the
flight across the Atlantic ocean

posted at: 13:01 | path:
|
permanent link to this entry
Tue, 15 Mar 2005
There is a band named The Internet
That is soooo rad.
The Internet has a web site on the World Wide Web on The Internet!
Mudboy plays an insane organ construction. He has
a web site too. His music is totally rad.
Kind of like The Internet's music.
OMG, my mind is being blown so fast!
posted at: 17:56 | path:
/music |
permanent link to this entry
Thu, 10 Mar 2005
A graphical interface for Ices, an Internet radio encoder
This is what I've been working on. I'm a terrible graphic designer but I'm
doing my best.

posted at: 16:09 | path:
/hacking |
permanent link to this entry
Wed, 09 Mar 2005
Programming 101
I got a good lesson in programming 101 today. I applied for a job at a place which has a rather large commercial site that transacts exchanges of money between third parties. Like PayPal but more specialized. They were (I say were cause I'm sure I didn't get the job) looking for a standard database + php + css programmer. Instead of the usual interview where I'm talking a lot, they gave me a test. I don't think I passed the test. For posterity, here are the questions:
First they wanted me to write some CSS from memory for a two column layout. The leftmost column was about 75% of the total width. It was obviously a trick question but the answer they were looking for was to make the top level div be relatively positioned, while the containing divs were absolutely positioned within. This assured that the rightmost column would never fall below the leftmost.
The second was a textbook example of a
SQL multiple join. I had read the linked article one week prior but because I have never used this process I failed this question miserably. They were understanding and told me that they got the question from a test for a DBA position where 9 out of 10 applicants got it wrong. Joins are cool because they create a temporary table for the sole purpose of joining information from the main table. It is clean because it bypasses the need for any clever glue scripting and handles all the data within the database, which is where it should be.
The third was some object oriented PHP code which created a class and two member functions. I had to tell them the number the final function call returned. On the surface it looked like they were just adding some numbers but in reality they were calling the function within the function definition. They wanted to see if I could eyeball recursion. I couldn't but of course I saw it after they explained it to me.
All in all it was a good assessment of my real programming skills. I clearly understood all of the concepts they asked of me, I have read about them a lot and probably used them once or twice. Unfortunately I don't program code below a user interface that much so I couldn't deliver what they wanted, which was someone who could eyeball simple CSS, SQL and PHP and explain what it's doing right off the bat with no reference.
The positive thing I did get out of the interview was I felt confident explaining my process and getting answers from those who are more experienced than me. It's only a matter of time before I am the one who gets the answers right regardless of their pedagogical nature.
posted at: 02:28 | path:
/hacking |
permanent link to this entry
Mon, 28 Feb 2005
Transforming an old PC into a commercial-grade firewall/router/VPN appliance.
Yup, it's possible and I'm hashing out the details. Currently the commercial barrier is the lack of some really simple GUI elements for existing utilities like
Packet Filter,
dhcpd and the
IPsec utilities.
While most home firewall/router builders use a web browser interface, the first specific problem with making that work is pfctl must be run as root to get or set any pf data. This means the web server must also be run as root, or better yet, its CGIs must be run as root, or even better the user that calls the CGI should be in the sudoers file and only allowed to execute those commands.
Whew, well where does this leave us? It means that if someone were to find a way to get a shell from exploiting the web server and drop into it as the user the server is running as, they could modify the firewall if the user is allowed to execute the -f or -T flags of pfctl. Otherwise, they would only have read access, which is not as bad but still kind of shitty.
A free utility called
Metacortex uses Apache and PHP 4 to show us data from the system. This goes deeper than just PF data and into the entire process list and memory usage. This is accomplished by a series of shell scripts which are run as root via cron. The web browser just pulls the information in from the generated text file. I don't see this as a feature, as it's less accurate and accomplishing the same thing as using sudo. To set PF rules, it merely has an interface that lets you generate a rule set based on some GUI elements which it then prints out to the screen if it's valid. You have to ssh or local console into the box to actually make the new rules take effect.
While the SonicWall series of products pretty suck on features, they make up for it with support and user interface. I'm looking for something which can take the place of the sonicwall interface, run on commodity hardware or via an appliance, and have an unlimited usage license.
posted at: 01:34 | path:
/hacking |
permanent link to this entry
Fri, 25 Feb 2005
The state of real use of the Sharp Zaurus running Opie and a desktop computer with KDE 3.3 from Debian Testing.
It pretty sucks. Really, it's so hard each time I sit down and think "alright, this is the time I'm going to get the Zaurus to work" I just end up with a small headache from tracking so many back and forth email list conversations on the same subject. So for the record:
There is no simple and fast way to syncronize callendar and addressboox data between Opie 1.0 and KDE 3.3
Here is the closest thing I could find. Even that requires breaking the package manager and
installing a .deb with some aggressive switches.
On the upside, I'm realling liking the KDE PIM stuff. Their little summary view is rad and similar to Evolution's and Outlook's. The Zaurus is also very cool standing on it's own. I updated to
Openzaurus 3.5.1. Getting network connectivity between the USB cradle and Debian
wasn't hard at all.
posted at: 18:17 | path:
/pda |
permanent link to this entry
Sat, 19 Feb 2005
Revolutionary Movements -- Part Two
I'm am
not an island
February 1987: The MRTA occupies seven radio stations in Lima and reads a communique against the increasing militarization of the society .
Same website as the one above.
Disturbingly so.
As I write this, I think this transcript of the Internet and it's most popular
search engine,
Google shows a pretty odd
picture of what the phrase "revolutionary movement" means. But let's go down
the list of Google's hits:
The
third hit is an article by
David Graeber.
Someone who I've been acompanied with as we were cordoned off by police and
told to leave for nothing but walking in the streets during a protest in
Washington DC, only 19 days after September 11th 2001. At my suggestion,
he
ordered pizza.
posted at: 03:02 | path:
/war |
permanent link to this entry
Wed, 16 Feb 2005
I want to become part of the revolutionary movement!
But hell, I've spent the last four years looking to become part of the revolutionary movement. and y'know what? I did! I even got employed by the revolutionary movement, including a job offer from the Communist Party of the USA but I didn't take that one, I took a different one, hah! But those revolutionaries were plagued by infighting and petty bickering. I want a revolutionary movement with flavor. One with loud music and theater and food and drink and good old fashion kicking things! Oh wait...that
is a revolutionary movement...but it's the underground one. The one thats not taken seriously by the
real revolutionary movement. Y'know the ones whose gatekeepers are in their 50s and 60s? The ones who tell us they were the real participants and we are just the spectators of their legacy? Yeah, well let me tell you a secret. That movement is lame. It's stuck in it's own quagmire. The few who were part of it are either fighting to keep their original audience or buried in law and ivory towers. If we don't continue to build our own, we'll just fester in the culture of yesterday.
posted at: 02:00 | path:
/power |
permanent link to this entry
Wed, 09 Feb 2005
Converting xmms playlists to iRiver iHP series format
The iRiver is great but the playlist functions pretty suck.
Here is a Perl
script that converts the playlists you save from XMMS to a format the iHP can
read. It takes two arguments, the first is the playlist file and the second is
the mount point where you mount the iHP on your desktop filesystem. It requires
the program called
todos which is available in
Debian under the name
sysutils.
This program is short, poorly documented and probably won't work unless you
tweak it for your system. YMMV.
posted at: 00:11 | path:
/music |
permanent link to this entry
Thu, 03 Feb 2005
Authenticating Samba as a trusted host to Active Directory
Holy crap that title is long. M$ jargon makes me want to die...but hey, I
figured it out! Here's the
smb.conf and a
small shell script to add the
necessary UNIX user info and announce your host to the directory.
posted at: 15:49 | path:
/hacking |
permanent link to this entry
Tue, 01 Feb 2005
The most intense thing
I think the most intense thing ever is acting out the entire production of
Dogville whilst listening to
Motherfucker (Redeemer) - Part 1 by Godspeed You
Black Emperor.
posted at: 12:18 | path:
/theory |
permanent link to this entry
Mon, 31 Jan 2005
How to buy music in the post-CD era
I've recently started buying music again after a very long hiatus. This is
what inspired this writing. I found it took a while to understand just what
the hell is going on and how to make something work without falling into some
hype.
Buying music gets harder and harder. With more formats than you can count on
both hands and feet, greedy music industry gatekeepers going out of their
way to insult their own customers, it's amazing anyone buys music at all
anymore.
First, I'd like to outline some of the challenges to the poor music
consumer faces:
- CD copy protection which actually damages the disk to prevent you from
playing it in an unknown percentage of CD players and CD/DVD-ROM drives. It
also prevents you from ripping it to a portable.
- A greedy music industry that is suing it's own customers as well as innocent bystanders.
- A once progressive computer company
that took a desperate risk and made a fortune by limiting the rights of it's
users, requiring them to go out of their way to use the music they have bought.
- The same once progressive computer company selling music online that is encumbered with restrictive digital right's
management that makes it harder to make a mixtape from than a bunch of vinyl LPs. Unfortunately it appears all their effort was in vain but it inconviences their users once again because they need to use a different player application to bypass the DRM.
Whew! That was exhausting. So how the hell can anyone buy music anymore?
Y'know, like the good old days of CD mixes on cassette tapes?
- Search for the record you are looking for on Amazon.
- Then use the RIAA Radar to determine if that
artist's distributor is a mamber. They have a neato little popup utility that makes it quick and easy to get results from Amazon's item page.
- If the title failed, open an account on All of mp3 and download the title from the
Russians. It's currently 2 cents per megabyte downloaded. They are borderline
legal, using legal loopholes to offer cheap music from major lables.
- If your RIAA Radar search passed, the artist you are looking for is cool
and has a cool distributor who respects musicians. First try and go to your
local music store and pick up the CD. It's good to support your local music
store.
- If you don't happen to live in a fancy urban area with a good local
record store, go directly to the distributor's web site. Most have a way to
order the CD/LP online.
- If that fails, buy the CD from Amazon if it's available.
So there you have it, buying music the modern way while sticking it to the
man. In addition to finding a RIAA-free artist from the distributor's web
site, there are some online retailers that sell CDs directly.
In Sound is a good one. Sometimes even
Ebay is better.
Of course the absolute best way to get music is to go see it live and buy a
recording from the band. Obviously this is near impossible for those who
aren't graced by a wonderful city like New York or LA. But hey, start your own
venue. Play some punk rock, trade some music, do it yourself and make these
corporations irrelevant and obsolete.
posted at: 17:12 | path:
/music |
permanent link to this entry
Fri, 28 Jan 2005
Building the studio
Tomorrow I'm going to pay my first month's rent for the
studio.
It is a total shit hole that only recently got electricity, which was a big
step forward. Before it even begins to be functional I will have to take a
shop vaccuum to the entire space and put blankest on the windows to keep the
cold air out. It has been consistantly about 20 degrees F out side and it's
not much different inside the space.
Other than that it's a perfectly wonderful place. It really shines in the
summer. 800 square feet of wide open space in the middle of nowhere with no
neighbors. Perfect. I've been telling all my friends about it and they all
want to use it once it's running.
The catch about this particular studio is that it will be a hybrid analog and
digital studio. While this isn't a very novel idea, using only
Free Software
for the production is a novel idea. The primary hard disk recorder will be
Ardour
and the MIDI sequencer will be
Rosegarden.
posted at: 20:05 | path:
/music |
permanent link to this entry
Thu, 27 Jan 2005
My day job is at a company that occationally has meetings with Big Clients™.
Yesterday there was one such meeting and I had the privledge of
overhearing one of the most illustrative conversations I have heard in
my life. It went like this:
Man in Suit #1: "So I just switched from PC to Mac and
I'm really liking it."
Man in Suit #2: "Really? I've been PC for ever. I hear
that email isn't as good on Mac. Is that true?"
/me trys with herculean fortitude to prevent spontanious
combustion.
But seriously, there is nothing anyone can really say to that so I just
quietly walked away. These are people who make loads of money, have
fancy conservative clothes, actually believe advertisements and are
predominantly white men. This is what we are up against.
posted at: 09:27 | path:
/power |
permanent link to this entry
Sun, 23 Jan 2005
Steps to help free software use
Depend on Free Software for daily computer use
The only way you are going to walk the walk is if you become a user.
Gradually began replacing your warez'd copies of commercial software
with Free Software. The next step is crucial to this.
Stop complaining about differences
Linux is not Windows, GNU is not UNIX, The Gimp is not Photoshop,
Macromedia will never be interested in Free Software! Get over it. If
you feel strongly enough about some special feature of a commercial
package, write to the company and ask them to consider releasing their
source code so the community can improve it.
Become part of the community
Accept that you are joining a worldwide community and include yourself
in it. Some examples:
- Join the mailing lists of certian software you like
- Spend time on IRC. irc.freenode.net is a server with thousands of
channels all dedicated to various Open Source and Free Software
projects.
- Learn to identify bugs and learn how to use your distribution's
bug reporting system. If your distribution doesn't have a bug
reporting system, find another distribution.
Remember, you are part of a community. You are not recieving a
commercial package with technical support. You are not allowed to act
like an asshole customer. For example, something like
"Linux sucks,
mine doesn't work!" is very unproductive and will just anger
people who could otherwise help you. Something like
"I'm running
Debian Testing and I'm having trouble with my sound card using the OSS
drivers." is a much better question.
Be humble.
The Free Software community has an incredibly deep history. If you
realize you probably don't know everything about it and that you will be
learning new things at a very fast pace things will go easier.
posted at: 20:40 | path:
/theory |
permanent link to this entry
Thu, 20 Jan 2005
I thought of this after a rather emotional conflict with a radio group I'm involved with.
When obsolete technology is elevated to the highest priority, it is too
common to regard ignorance as a virtue and not a limitation.
Nostolgia is a very common thing. And nostolgia is quite a good thing to
keep close to your heart. But nostolgia is a particularly human and
emotional charactaristic. When it is attached to machines everything
goes wrong. I recently had to explain to a friend who is installing
Debian GNU/Linux for the first time. He
asked me what is better,
Gnome or
KDE. I couldn't come up with an answer. I
prefer Gnome but I also use Knoppix for a
project of mine and I'm pretty
familliar with KDE because of it. In the end I could only say "know
thyself". Then that kicked off way too many things to think about.
Computers aren't just machines. They are so generic and can perform so
much utility in our lives they have become personal. The complexity of
breaking anything that involves a personal computer down to "is
better than
" is so large it's futile. You can't
possible come to any meaningful conclusions. This argument takes many
forms. I call it a
Sucks vs Rules
argument but the folks on #debian at irc.freenode.net might call it a
poll and thusly a useless question which they deride. So there is no
right answer to our personal computer question because it's so
very personal.
I can make my own conclusions from this. Using information is hard.
Personal computers make that easier but your personal amount of
willingness to deal with certian external factors and the time you are
willing to spend influence it greatly. If you are looking for the answer
to a sucks vs rules question you probably will never find it and you
will have to investigate further or just forget it and stick with
what's cool. Coolness
looks a lot different when it's
obsolete.
posted at: 02:28 | path:
/theory |
permanent link to this entry
Wed, 12 Jan 2005
Installing, Xfree86, Gnome and nvidia drivers with Debian testing
This is an account of my current foray into Linux desktop fun with my
latest distro
du jour Debian. I'm running it at work, which
is a 99% Windows network so the stakes are kind of high and if I'm able
to maintain everything I do already, I'm already ahead. So far I have
almost reached that goal and here I'm documenting the big hurdle of
getting the desktop system installed and configured.
Xfree86
$ apt-get install x-window-system
When configuring
do not choose the kernel's framebuffer
driver. We'll be installing our video driver later. Make sure you know
your monitor's limits. Two ways to do this are to write down your
settings from Windows or boot from a
Knoppix CD-R and look at
/etc/X11/XF86Config-4.
Follow the configuration questions and cross your fingers. If you got it
right, you should be able to type
startx and get a mouse
pointer and grey background. Press
crtl + alt + backspace to
exit it and proceed to the next step. If you get errors,
read
them! and try again. Repeat to yourself, "if at first I don't
succeed, try, try again."
The Gnome Desktop
$ apt-get install gnome gdm
Install the Gnome meta package and the display manager. Gdm, the
display manager, gives you a really pretty graphical login manager on
par with M$ and Apple's. Gdm might start automatically. If it doesn't
you can start it with a
/etc/init.d/gdm start. Play around with
Gnome a bit and configure it to your liking. I happen to be partial to
the theme named Amaranth and the simple graphical display manager login
screen.
Nvidia hardware accellerated drivers
This one takes a few more steps. If you do them all right it should take
about 20 minutes total. Be sure to add the contrib and non-free sections
to
/etc/apt/sources.list
- Update your kernel if you already haven't. Debian has lots of
kernels for lots of different CPUs. Use one. If you don't know how many
are available, search through the list with the Synaptic Package Manager in the System Tools
menu. Use kernel as the keyword.
- Install the kernel headers with apt-get install
kernel-headers-version where version is the same as above.
- Reboot into the new kernel
- Install the nvidia kernel source package with apt-get install
nvidia-kernel-source
- set these variables by typing
export KSRC=/usr/src/kernel-headers-version
export KSRC=/usr/src/kernel-headers-version
Again, replacing "version" with your kernel version
- Unzip the Nvidia source with cd /usr/src
tar -zxvf nvidia-source. That's not the exact name but it'll
be obvious.
- Make the kernel package with
/usr/src/modules/nvidia-kernel/debian/rules binary_modules
- Install nvidia-kernel-common with apt-get install
nvidia-kernel-common
- Install the nvidia kernel module debian package with
dpkg -i /usr/src/modules/nvidia-kernel-some-big-version.deb or
something like that
- Install the Xfree GLX driver with apt-get install
nvidia-glx
- Edit /etc/X11/XF86Config-4 be removing Load "GLcore" and
Load "dri". Double check Load "glx" is included.
Search for Driver "nv" and change it to Driver
"nvidia". Restart Gdm by typing ctrl + alt + F1, log in as
root then /etc/init.d/gdm restart and you should now have fat
3D accelleration. When you log back into X, type glxgears and
if the FPS value is in the thousands you should be good to go.
- Finally, add the word nvidia to the bottom of
/etc/modules to force the nvidia driver to load at boot
time.
posted at: 01:48 | path:
/hacking |
permanent link to this entry