Category Archives: Tech - Page 17

MIT Library Access to Music Project

In November 2001 MIT Student Keith Winstein had an idea to curb illegal file sharing on the MIT campus. His proposal to create a legal library of audio recordings and motion pictures online eventually became known as the Library Access to Music Project (LAMP). To avoid legal pitfalls the system would allow only one patron at a time to access an audio or video recording, just as if the items were actually being checked out of a physical library.

LAMP originally purchased 48,000 MP3 files from a Seattle company and planned to make a remotely controlled stream from those files accessible to students over the MIT cable TV network but in the Fall of 2003 it was announced that the company did not have rights to resell the music after all and the project voluntarily pulled the music while they regrouped. The final (and current) solution was to use a series of donated SteetFire Sound Labs RBX1600 controllers which allow ten consumer audio CD jukeboxes to be programmed over a web interface.

Students can sign in to the LAMP website and program up to thirty minutes worth of music which is subsequently played over one of sixteen MIT cable TV channels. By transmitting the audio in a non-digital format the students are able to use existing licensing agreements originally put in place for the campus radio stations which makes the entire system legal. Essentially this project allows students to program their own thirty minute “radio show” on one of sixteen channels via a web interface.

More information is available at the MIT LAMP web site.

WINS Name Resolution for Linux

Here’s what I had to do to get WINS name resolution working on my Debian based linux:


apt-get install winbind

Note that the winbind program is part of the samba package and I alrady had installed samba and configured it to point to my local WINS server.

I then had to edit /etc/nsswitch.conf adding the winbind and wins entries:


passwd: compat winbind
group: compat winbind
shadow: compat

hosts: files wins dns mdns
networks: files

protocols: db files
services: db files
ethers: db files
rpc: db files

netgroup: nis

I can now ping and connect to Windows machines by name.

Calculating Subnets

If you do much network design you’re certainly familiar with the concept of subnetting, you probably even learned to do it by hand at one time. For those who are looking for an automated subnet calculation utility you can find a web-based one which requires no download or installation and supports subnets, supernets, CIDR and wildcards at subnet-calculator.com. The only real concern I have with this great utility is that the source code has not been provided so if the website goes offline you’re out of luck. In the long term timeframe I would like to write an open source version of this utility so anyone can run it on their intranet or another website. If anyone is interested in helping to write the code for this in PHP please contact me and I’ll move it up the list of priorities.

More public domain images

Following up on my earlier links to free NASA photography and NOAA photography is a link to the Wikipedia’s list of public domain image resources. This list contains sites where you can locate images of everything from animals to sports to art to flags. There are also links to other catalogs of public domain images and general collections of public domain imagery.

For Sale: Your Phone Records

Several recent news stories have been circulated explaining just how easy it is to get a copy of someones calling records. The mainstream source that seemed to break this was the Chicago Sun-Times which published a story on January 5, 2006 “Your phone records are for sale” giving some information about how many public agencies such as the FBI and Chicago Police Department are warning their employees about how easy it is to obtain phone records.

One of the more interesting reads is Paul McNamara’s January 23, 2006 article “How phone records are stolen” where he explains just how most of these companies are getting the records to begin with. In the end it usually comes down to some kind of social engineering of a phone company employee. Either they are recurited to supply this information or they are cajoled into giving it up to someone other than the account holder.

There’s been some recent movement in congress to block the sale of these phone records. It doesn’t take too much imagination to wonder if these congress people are more concerned with protecting their constituants or themselves. One wonders just what sort of interesting calls get made by these politicians. It would be quite the story indeed if a major newspaper were to use this easy access to phone records to expose one of these politians as a stooge for some special interest group or wealthy campaign contributor. For just this reason I would be surprised if congress did not move quickly to outlaw the sale of these records and enforce strict penalties on anyone involved with their sale.

CAPTCHA for commenting

I’m working on testing a new plugin for b2evolution with one of the developers which requires entering a CAPTCHA code when posting a comment to an article with the goal of reducing needless comment spam. Please give it a try and leave any comments about the plugin functionality here. If you are unable to comment on an aricle for some reason please send an email describing the problem to ben@franske.com

Spam Slide

I’ve been hit with an alarming increase in comment spam over the past few days. I’m working on rewriting a captcha class to help stem the tide and until I get that finished I’m going to disable comments on the site.

Proposal for the reduction of trackback spam

I was just sitting here and doing some thinking. Right now I have a renamed HTSRV directory which has practically eliminated trackback spam. Sooner or later the trackback spammers are going to get as smart and annoying as the comment spammers (especially as comment spamming becomes more difficult). My suggestion is to entirely rethink how trackbacks work. This is something that b2evolution could take the lead on as I don’t think anyone else has done this yet.

I’ve been thinking about how we could use captchas or other antispam techniques on trackbacks. Instead of having one trackback url for each post that’s listed on the site how about dynamically generating trackback urls as requested by users. Don’t list the trackback url on the post page, instead give a form for requesting a private trackback url. This would give us a place to use a captcha to verify a real user. Each user would get a unique and randomized trackback URL that would be valid for only one trackback. The temporary URLs and which article they are associated with could be stored in a new database table and a function could snag incoming trackbacks and post them to the appropriate article.

This would have to be a core feature change because it means multiple trackbacks per article and a database schema change. I know that a lot of people think the blacklist is the end-all be-all solution to spam and it helps a lot but it can’t solve everything. The HTSRV rename solution is temporary at best and this plan allows for a lot of future flexibility including the possible future ability of tracking how many trackback urls are request by a given IP in a given amount of time and rate limiting that. The idea of having temporary, user specific trackback URLs is a much more permanent solution to the trackback spam problem than what I have seen in the past. The current focus on reducing comment spam will certainly have the long term effect of pushing more spammers to trackback spamming and if b2evolution has a flexible framework in place for dealing with that threat we’ll be much better position to meet the challenge.

Recompiling a Debian Linux kernel package

I’m recompiling my linux kernel on one of my home (Debian) servers that has dual processors today. When I initially compiled the kernel on this system I mostly followed the instructions on this site. I’m going to base my recompile on those same instructions. If you’re looking for a very detailed guide to building a kernel package you might try this site.

The first thing I needed to do was make sure I had the appropriate tools to build a Debian kernel package (my preferred method of kernel installation) so I issued a command like this:

# apt-get install debhelper modutils kernel-package libncurses5-dev fakeroot

The next step is to download appropriate kernel source packages. I want both a 2.6.x and a 2.4.x kernel so I selected both:

# apt-get install kernel-source-2.4.27 kernel-source-2.6.8

To do this correctly you should change the kernel package config file to include specific (name & email) details about your package. I also made sure to set the SMP concurrency_level to 2.

# vi /etc/kernel-pkg.conf

Next I entered the source directory, unpacked the source and moved into the unpacked directory.

$ cd /usr/src
$ tar --bzip -xvf kernel-source-2.4.27.tar.bz2
$ cd kernel-source-2.4.27

Since I haven’t been having any problems with my existing kernel configuration and just want to make some changes to it I copied the existing config file into the source directory.

$ /usr/src/kernel-source-2.4.27
# cp /boot/config-2.4.26-20040815-1-chiefgreen .config

I like to modify my kernel settings using the menuconfig program.

$ make menuconfig

You want to clean existing build files before attempting a build.

$ make-kpkg clean

Time to build the kernel package, you can change the append information to match your specifics.

$ fakeroot make-kpkg --append_to_version -20051203-1-686-smp --initrd --revision=rev.01 kernel_image modules_image

You’ll get a warning about using initrd without the cramfs patch, we’re ok because we are using debian kernel sources and not pristine ones. Continue past the warning and take a break while your kernel builds. Next you’ll probably want to install your new kernel using the dpkg tool.

$ cd ..
# dpkg -i kernel-image-2.4.27-20051203-1-686-smp_rev.01_i386.deb

Check to make sure the boot loader is set to boot the new kernel, reboot and kick the tires.

If you want to add the MPPE patch to the kernel package you’ll need to do some additional work. I did this based on the instruction on this site. First get a copy of the MPPE patch.

# apt-get install kernel-patch-mppe

When you do your make-kpkg you need to add an –added-patches mppe command.

# make-kpkg --added-patches mppe --append_to_version -20051203-1-686-smp-mppe --initrd --revision=rev.01 kernel_image modules_image
During the build you will be asked if you want to include PPP MPPE compression. If you include it as a module after you reboot with your new kernel you can test it with:

# modprobe ppp-compress-18 && echo success

If this works, “success” will be displayed. If you are on a console or watching syslog, you may see:

ppp_mppe: module license 'BSD without advertisement clause' taints kernel.
PPP MPPE Compression module registered

These messages do not stop it from working.

If you find it’s taking far too long to build your kernel packages and you have other systems availible you may be able to use distcc to help speed the compiling process.

Open Physics

Christoph Schiller has written a free physics textbook and made it availible online for non-commercial use. I took a look at it and have a few ideas. First, he should make a printed copy availible via the fantastic Lulu publishing company. Secondly, I think he should make it officially availible under the Creative Commons Non-Commercial Share Alike licence. It’s essentially that anyway and it would provide a better understanding and probably better legal grounds to the same end.

Finally, this book is overly technical and not user friendly for the introductory college physics student or advanced high school student in the United States. I would love to see a more traditional US physics text be made availible under a free license like this. I found it difficult to locate common US physics units in this book (eg. 2D kinematics, 3D kinematics, springs, waves, light (wave, not particle) and lenses, magenets and electricity). It would be great if someone could put together a book that looked this professional but which was shorter and designed for a more introductory college / advanced high school course. If someone wanted to work collaboratively on a project such as this I would be thrilled to be a part of it.

One example of a free license textbook is “All About Circuits” which was originally a PDF document but has been updated and become an online reference. I do wish they would come out with a PDF formatted book again though, it looks much more professional when printed. This electronics textbook was licensed under the Design Science License which seems to be even less restrictive than the Creative Commons NCSA license.