Friday, November 28, 2008

Another plug

Wow! Triclimate Solutions' website has finally gone live. They sell offsets that contribute to more projects than any other carbon credit vendor on the net.

Carbon offsets are financial instruments that are said to "retire" carbon dioxide from the atmosphere. Retiring can be an amount of carbon sequestered or the revocation of the right of a company to emit CO2.

Monday, August 4, 2008

Shameless Plug

Check out Beat Logic. We're an electronica/hiphop band. We hope to grant legitimacy to hiptronica as a genre.

Our influences include girl talk, crystal castles, daft punk, justice, mainstream hiphop, non mainstream hiphop, and pop music in general. It is our mission to make the world dance.

Thursday, May 29, 2008

Dual Head with open source ati driver

I've been using ati's proprietary fglrx module to get a one desktop overlay across two screens, but the advent of xrandr has made this unnecessary.

Here's how to set up dual head with the radeon driver on Arch Linux.


1. Generate a basic xorg.conf
# hwd -xa
Here's mine.
2. Edit /etc/X11/xorg.conf. Add a line in the Display subsection of the Monitor section:
Virtual 2960 1050
The first number should be the sum of the horizontal resolution of each screen. For me 1680+1680+1280=2960. The second number is the height of the tallest screen. Add the line to the subsection with the associated DefaultColorDepth.

3. Manipulate the screen with xrandr

Enumerate the hardware:
# xrandr
Screen 0: ...
VGA-0 connected 1400x1050+1680+0 (normal left inverted right x axis y axis) ...
DVI-0 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 434mm x 270mm...

I have two physical screens, DVI-0 and VGA-0. The resolution on DVI-0 looks fine already. To get VGA-0 set up:
# xrandr --output VGA-0 --mode 1280x1024
# xrandr --output VGA-0 --right-of DVI-0

Possible modes are resolutions listed in the left column of the output of xrandr.


That got everything working for me. I then added the two commands to a shell script in ~/.kde/Autostart/ in order to automatically configure the screens every time kde is launched. This approach is much easier than mucking around with an xorg.conf that gets broken by every other driver update.

Keeping up with the radio

A local radio station, Jammin 105.9, often plays catchy 90s dance and break beats. When I hear something that I'd like to mix in Ableton Live, I need to catch the song title or artist. That doesn't go so well, so I wrote a php shell script to keep a list of everything the station plays.


Jammin lists their previous 10 tracks played on their website, so it's easy to scrape. The script reads the site every 30 minutes and records artist, song title, and the time played. Then it queries skreemr.com for a download url and saves the information in a file.

Saturday, May 24, 2008

St. Patrick Hutto

The website for the St. Patrick Catholic Church in Hutto recently went live. They've got a respectable looking page but haven't been indexed by any major search engines yet. Hopefully this link will help them out.

The church is involved in a number of notable community activities, including Pflugerville's Deutschenfest.

Friday, May 23, 2008

DIY Slurpee

711's Slurpees are delicious. They excel all other iced drinks in taste and consistency. Here's how to make your own for fifty cents.

1. Get 2 cans of soda. HEB original cola works well and is $0.25 a can in the machine in front of the store.
2. Refrigerate one can. Pour out the other can into a cup or ice tray and put in the freezer overnight.
3. Put the frozen chunk into a blender and try to break it up a bit with a butter knife.
4. Get the refrigerated can and pour about half into the blender.
5. Blend on a high setting. You may have to stop and massage the mixture with a knife.
6. Once it looks like a slurpee, pour it into a large cup. There should be a surprising increase in volume. Again, use a spoon to scoop out the globs that won't slide on their own.
7. Drink it with a straw. Stir as needed to get tasty slurps of "wet" slush.

Tuesday, April 8, 2008

Torrent Anywhere

How to safely use bittorrent away from home (on linux)

Many universities and companies block/prohibit bittorrent or limit your bandwidth. Petty restrictions need not limit your thirst for data. Using a properly configured linux server you can easily whisk files to your home computer from any machine with basic web access.

A. Install and configure AjaxTerm

1. Ajaxterm requires the apache webserver. Install it using your distribution's package manager.

2. How you install AjaxTerm itself depends upon your distribution. For example:

Ubuntu (from universe repo):

# sudo apt-get install ajaxterm

If ajaxterm is not in your distribution's repo it can be easily set up from source:

(from the offical site: http://antony.lesuisse.org/qweb/trac/wiki/AjaxTerm)

# wget http://antony.lesuisse.org/qweb/files/Ajaxterm-0.10.tar.gz
# tar zxvf Ajaxterm-0.10.tar.gz
# cd Ajaxterm-0.10
# ./ajaxterm.py

Right. Now that it's installed, run it from a shell:
#ajaxterm AjaxTerm at http://localhost:8022/

Point your browser to http://localhost:8022/ and make sure everything works.

3. We want ajaxterm to run on boot, so add the line ajaxterm -d to /etc/rc.local .
If you do not have ssl set up, then do the following as root:
# cd /etc/httpd/conf
# openssl req -new -x509 -newkey rsa:1024 -days 3650 -keyout server.key -out server.crt

4. To get rid of the passphrase:
# openssl rsa -in server.key -out server.key
5. Add an initial user:
# htpasswd2 -c /etc/apache2/htpasswd yourusernamehere
6. To make ajaxterm accessible from the outside world, add the following to your /etc/httpd/conf/httpd.conf
Listen 443
NameVirtualHost *:443
ServerName localhost
SSLEngine On
SSLCertificateKeyFile conf/server.key
SSLCertificateFile conf/server.crt
ProxyRequests Off
AuthType Basic
AuthName "remote Shell Access"
AuthUserFile /etc/httpd/conf/htpasswd
Require user YOURUSERNAME
Order deny,allow
Allow from all

ProxyPass /ajaxterm/ http://localhost:8022/
ProxyPassReverse /ajaxterm/ http://localhost:8022/

7. Next, you may need to forward port 443 to your computer. For linksys routers browse to http://192.168.1.1 .For 2WIREs try http://192.168.1.254 .There should be a login and some menus to navigate.
Now you should be able to access your remote login shell from https://123.45.68.90/ajaxterm/ where those numbers are your IP address. (http://www.whatismyip.com).

8. Cable and DSL IPs change from time to time so you need a way to always know the location of your home server. I will use this script to keep me updated:
#!/bin/bash
cd /tmp/
rm *.asp*
wget www.whatismyip.com/automation/n09230945.asp
mail -s "Automated IP Notification" burthawk101@gmail.com <>

If you need this to run automatically, add the following line to your crontab (# crontab -e) o run the script every day at 7 AM.
00 07 * * * /etc/ip/ip.sh

9. Gmail kept bouncing my emails as spam, so I used ssmtp to send emails from the gmail account to itself. Install ssmtp from your distribution's repo.

The Gentoo wiki has instructions for setting up ssmtp

In /etc/ssmtp/ssmtp.conf, set the following:

root=youraccount@gmail.com mailhub=smtp.gmail.com:587
rewriteDomain=
hostname=smtp.gmail.com:587
UseSTARTTLS=YES
AuthUser=youraccount
AuthPass=yourpasword
FromLineOverride=YES # optional

In /etc/ssmtp/revaliases:

root:youraccount@gmail.com:smtp.gmail.com:587 mainuser:youraccount@gmail.com:smtp.gmail.com:587



B. Install a bittorrent command line client.
1. Download btpd, a bittorrent client that can run as a daemon at http://www.murmeldjur.se/btpd/ Install with the usual
# ./configure

# make
# sudo make install

2. Make sure btpd runs on boot by adding an entry "btpd" to /etc/rc.local

3. Download a torrent from your favorite site like so:

# wget http://torrentsite.com/path/to/linuxiso.torrent

4. Load the torrent with btpd

# btcli  add /media/downloads/linuxiso.torrent -d /media/downloads/linuxiso

If the torrent has multiple files in it, be sure to include a new directory in the specified -d path.

If bandwidth is a concern you will want to wait until you have physical access to your remote machine and get your files onto an external hard drive. If your only concern is avoiding attention for torrent activity, then you can transfer the files via scp. Note that this requires the ability to SSH from a local shell and won’t work with AjaxTerm