Computers!! ... EEEEEWWW!!!!
Computers are so boring!!!! How could you possibly
think they're cool?!!?!? Well, MP3s and the World Wide Web are neat.... but
more than that... I used to think PCs were pretty boring mostly beacause the
tools you needed to do anything original on a PC were expensive (to acquire
legitimately, anyway)... but then I found out about Linux. Prior to getting my
hands in Linux I'd been exposed to AIX, IBM's flavor of UNIX, but never had an
opportunity to really play with it because the only AIX box I had access to was
a production database server at work. There was no room for error, so there was
no room to learn. Then... I set up my first Linux box. There was a a chance
for me to really get in there and break things!
TOP
Well, the more I played, the more I learned. Soon, I was knee-, hip- and,
eventually, shoulder-deep in Linux, learning not only about the OS, but also the
culture that brought it to maturity. I realized that, in Linux, there was a
realization of an ideal that I'd held for quite a while. It was the notion that
computing is about solving problems, not about business. It was about community
and mutual assistance and interest without mutual obligation. It was about
people who were generally well-meaning finding their own solutions to their own
problems and sharing them with a community without demand for payment. But
beyond the community and the psyche of those who brought it into being, there
was a certain universal truth to the UNIX model which I found immensely
appealing. In UNIX (in general, but in Linux specifically), there is nothing
that is truly hidden. Somethings are "put in their place"... set aside... but
not encrypted and burried in hidden filesystems that require special proprietary
programs to access, like the Microsoft Windows Registry. If you want to see
configuration files, look in /etc. How hard is that? In UNIX, as it seems in
the real world, everything in the world is made of the same stuff, just mixed up
differently. In the MS Windows world, there's a sort of perpetual "Man Behind
The Curtain" thing going on. The common user is like a lay parishoner,
accepting the mystery of the religion with eyes averted. In the UNIX world (in
general, but in the Linux world specifically), the common users need not provide
tithings to the priesthood. Each and every user that wants to be, can be a
guru.
Linux is, for me, the OS of choice. This does not mean that I don't use
Windows. To say that I have completely sworn off Windows would be a lie. I do
still use it, in various forms, at work, possibly 50% of the time, but I
principally use Linux, as my desktop OS and as a server OS (several times over).
At home, all of my computers are Linux boxes.
TOP
The Slipped Disk Mobile Entertainment
Linux-based Mobile DJ Rig
Many many moons ago I toyed with the idea of building a PC-based DJ rig,
since I had done the mobile DJ thing for a number of years mack when the only
option was carting around a couple hundred pounds of LPs and singles and
turntables and tape decks and who knows what-all-else.... an hour to set up and
an hour to tear down, and brother you'd better know your record collection
inside and out, because all you're gonna get all night is "Do you have X Y and
the Z's?" and "There's this song that goes hmm-hmm-him...". I'm talking about
requests. When you have a record collection that spans 50 or 60 years of
recording, covering all manner of genres... jazz, rap, new age, bubblegum pop,
disco, heavy metal.... well, you can only remember so much.
Initially, I had planned on developing a database thing that would allow me
to no only look up a song by artist, title or genre, but also track what I was
playing for a particular type of job, in the hopes of being able to better
predict what certain types of crowds were interested in hearing. This was back
in my DOS days, and as a result, my dream never really got off the ground. On
top of that, most of my music was still on vinyl, which was annoying.
The project sorta went comatose for a while. During that time I bought more
and more CDs, replacing much of my vinyl collection, and my computer skills
became a bit better-honed. It wasn't until Hard Disk space became dirt cheap
and I started toying with Linux, that I really got back the drive to bring my
dream to fruition.
As it exists now, my mobile DJ rig consists of a PC, a mixer, 2 microphones,
an EQ, a compressor, a power amplifier and a pair of speakers. All of my music
is on Hard Disk, and I have a MySQL-based backend database which stores artist,
title, genre and play history information. Database serarches, CDDA extraction
and compression and song playback are handled by way of a collection of BASH
scripts and common Linux backend applications like CDparanoia and
Ogg/Vorbis.
UPDATE!!!
OK... some stuff has changed... and I have some info for you on what you need to set up the rig for yourself.
Right now the rig is set up to run in a client-server arrangement. Since monitors, keyboards and mice are annoying things to have to cart around, I thought it would be really handy to run the show from a laptop, as all the goodies are in a nice portable package. At the time I decided this, however, laptop harddisks were available in 10-20 GB capacities. It was impractical to store a large music collection on such a small drive, so I investigated connecting to a music server via NFS. This works... but can be tempramental. I then looked into delivering the sound files by way of a web server. This is the darling route.
Note -- You can run without the Rack PC if your Laptop HDD is big enough, but I wouldn't recommend it unless your doing the 2-laptop deal, and your second laptop can pick up all the slack if your main one pukes. You don't want to be an hour into a $500 wedding and have no music. That would be bad.
The current configuration works like this:
EQUIPMENT
- A Linux PC in DJ rack
- Runs headless (no KB, Mouse or Monitor)
- Runs Apache, configured to run CGI PERL scripts utilizing DBI.
- Runs MySQL.
- A PERL CGI script presents a web-based means of searching the music database, logging and viewing requests.
- DJ Laptop
- Has ogg123 and necessary libs installed
- Can optionally be configured to duplicate rack PC setup for failover.
- Retreival and playback scripts (written in BASH)
- Connected to the DJ Mixer by way of its Line Out.
- Customer Laptop (Optional)
- Connected to the network to allow customers to browse the database and log requests.
- Can be configured to duplicate DJ Laptop for failover.
SOFTWARE REQUIREMENTS
- Linux (I run RedHat 7.3 on Laptops -- multimedia performance is quite a bit better than 8.0. Rack PC has more performace leeway)
- PERL
- BASH
- MySQL
- Apache
- ogg/Vorbis
- PERL DBI-DBD (MySQL)
- wget
- Web Browser (Mozilla or other)
- cdparanoia (for CDDA extraction)
SYSTEM SETUP REQUIREMENTS
- Rack PC
- Apache configured for ExecCGI
- Adequate HDD space for OS, DB and music library
- DJ Laptop
- Should do DJ work from special user account "sdisk". This account should have the following directories:
- /home/sdisk (home directory)
- /home/sdisk/scripts (where local scripts live, all BASH at this point)
- /home/sdisk/mount_01/wavs (CDDA is extracted to this location, prior to compression)
- /home/sdisk/mount_01/sdp_ogg (this is where locally stored ogg files are kept)
- Uses wget to fetch ogg files prior to play
SCRIPTS
- /home/sdisk/scripts/dbbackup.sh (Backs up the database with a time-date-stamped filename)
- /home/sdisk/scripts/pcut.sh (Plays a retreived cut and logs its playback)
- /home/sdisk/scripts/pcut_jacket.sh (Retreives audio files from the server and initiates pcut.sh on command)
- /home/sdisk/scripts/rebuild_mui.sh (Used both to re/generate rip scripts from the database)
- /home/sdisk/scripts/mui_build.sh (Used to make database entries for new CDs, calls rebuild_mui.sh when done)
- /home/sdisk/scripts/aplgen.sh (Used to play all cuts ripped from a CD in their original order)
- /var/www/cgi-bin/sdme.cgi (Search/Browse/Request tool for DJ and Customers)
TOP
Linux and the Open Source Movement
"So what is all this business about Linux?" you might ask... "What is a
Linux?"
Linux is a piece of computer software called a "Kernel". The Kernel is the most
fundamental part of a computer's operating system. Linux is normally
distributed with a common group of UNIX-Like utilites called GNU, which is a
project of the Free Software Foundation. The Free Software Foundation (or FSF)
brought a series of software licenses into being which promotes sharing and
community development, called the GNU General Public License (or more commonly
known simply as GPL). The GPL is the legal foundation of the Open Source
Development model which requires that software released under the GPL have its
source code be made available for free so that others can improve, reverse
engineer or modify the software to suit their needs. FSF was working on a
Kernel of its own (called GNU Herd) for a long time but there was still a long
way to go when Linus Torvalds released the first official version of Linux.
Since Torvalds already had a working GPL'ed UNIX-Like Kernel, work began both
within FSF and in the larger "Open Source Community" to port the largely
complete and functional GNU utilities package to Linux. Since that time,
GNU/Linux has been a steadily-growing force to be reckoned with in the computing
community.
Contrary to a popular misconception, neither Linux nor GNU is a company.
They are software products developed and maintained my dedicated enthusiasts and
businesses in the Open Source Community. Most companies that participate in the
GNU/Linux phenomenon do so in the hope that they can leverage the freely
available GNU/Linux package for opportunities to sell service and support.
Several of these companies offer fully-compiled ready-to-install GNU/Linux
Distributions that include some proprietary bells and whistles. For example,
RedHat, one of the leading Linux companies, offers a series of GNU/Linux
distributions for various applications. Their main distribution is available
for free download on the internet. Visit Linux.org for more information about GNU/Linux
and distributions that are available.
TOP
SuSE Linux Personal 8.0
SuSE Linux 8.0 Personal -- First Look
Last night I got home from the computer show with a new motherboard, CPU, video
card and case. My plan was to toss together a "new" machine using new core bits
and some spare parts (Memory, HDD, CD-ROM) I had lying around. I had never done
a SuSE install... being a mostly RedHat man (I have also used "HAL91" and
"MicroLinux" distros)... but I was pleasantly surprised, not only by the general
ease of use, but by the minimal evidence of "English as a Second Language" (SuSE
is, after all, a German company). The install was quick and painless... In
fact, it was a bit more hands-off than I'm used to. I've grown accustomed to
the "Select individual packages" option under RedHat. I also was disappointed
by the absence of "advanced-but-not-quite-a-guru" controls for software
installation.
I plan to investigate more in the future, but it seems that the "Personal"
version of SuSE 8.0 does not include all the servers and daemons and other
"power-user" bells and whistles that I'd grown accustomed to in RedHat's
distros. Yep... As I suspected, MySQL, Postgres, PERL DBI, Apache, dhcpd,
wu-ftp and myriad other packages I'd come to love in the basic RedHat distros
are missing from the retail SuSE 8.0 Personal package. On the flipside, SuSE
8.0 Personal is brimming with keen multimedia goodies. I'll report more on this
later.
My first impression is that SuSE definately has a killer install program. For
someone testing the Linux waters, not quite ready to let go of the M$-Winderz
shore, this is a great distro. Sadly, it does not include all the really cool
networking features that makes Linux so attractive to the really nerdy members
of the nouveau-geeke. For that elevated functionality, you'll have to plunk
down a few extra duckets and get the "Professional" edition. .... or you could
always download it... Being lazy as I am, and having checked out a few FTP
mirrors, it seems that SuSE is one of the Distros that doesn't offer ISO
images... This makes downloading and CD-afying a little more
challenging...
More later... (5/6/02 PRT)
TOP
OpenOffice.org 1.0 -- A First Look
5/13/02
Being a hardcore Linux weenie, I do most of my writing in either vi or gedit.
If I have any database-like functions I need to satisfy, more often than not,
I'll handle it in MySQL. I don't do presentations and very rarely do I need
spreadsheets, so... I rarely use conventional "Office Applications". That said,
I'm always on the lookout for "Open-Source" alternatives to commercial software,
and have been a user of StarOffice for a couple years.
With StarOffice 6.0 going pay-for-play, I thought I'd give OpenOffice.org a
spin. I am pleased with OpenOffice's UI. It's clean and intuitive enough that
a reasonably experienced user of, for example, Microsoft Office97 should feel
comfortable pretty quickly.
OpenOffice.org 1.0 successfully reads and writes Microsoft Office97/2000/XP
compatible file formats, various older StarOffice formats, Rich Text, HTML and
its own XML-based "open" file format.
On install you have the option to make OpenOffice.org 1.0 the default reader for
MS Office docs, and you have the option to save to MS Office file formats by
default, so OpenOffice.org 1.0 could almost replace MS Office without the user's
knowledge and the world would keep turning.
OpenOffice.org 1.0 does launch a bit slowly in the MS Windows environment, when
compared to MS Office97 apps, but that's a small price to pay for never having
to give Bill another nickel. Also, at 50MB (approximate download package size)
it's downright TINY compared to MS OfficeXX. On top of all the other good
points, OpenOffice.org 1.0 runs equally well under MS Windows95/98/2000/XP and
Linux (It also runs on Solaris... if you have it...) As I use OpenOffice.org 1.0
more I will update this review, but for now, I say download tonight, run
tomorrow.
More Later!!
me
TOP