Author Archive

Si, Jon, and Andrew have ‘released’ the 3-song EP I recorded for them this past winter/spring, which you can check out below. Be sure to also check out their recently revamped MySpace page. Brian Schultz, Bill Smith, and I also made appearances on the recording.

  • Error (Nothing’s Perfect)
    Audio MP3
  • Formations
    Audio MP3
  • Redemption Song
    Audio MP3


They have some more songs in the works too, hopefully they (and I) will be ready to record again sometime in the near future.

The whole thing was recorded/mixed/mastered with Free/Open-Source software: Jack1, Ardour, SWH, CAPS, TAP, Invada, JConvolver, Jamin — and probably others I’m forgetting — on a modestly-powered (2GHz single-core) Arch Linux box.

When I was in 3rd grade or so, my parents let me use the family computer: a Commodore 64. This little brown box was probably the coolest thing I ever received (though I wouldn’t say it was mine until everyone else in the family got bored with it).

Anyway, more on that background story later (probably)… for now, I want to briefly geek out over an old magazine that my neighbor introduced me to: COMPUTE! Magazine. He subscribed to the magazine at the time, and he would make copies of all the Commodore 64 programs for me to type in. This is basically how I started learning how to program. This was 20 years ago.

Then, about a month ago, I found a torrent of all the old COMPUTE! issues as PDF files, as well as full copies of some other C64-related books I had as a kid: Totaling over 16 gigs of high-res scans. As I “flipped” through them on my computer, I was taken back, and immediately remembered some of the awesome (at the time) games I typed in, and all of the completely wrong-headed programming techniques I learned. Also love the cover artwork, and how it cleverly tied in with all the articles and programs from that issue. Not to mention all the sweet 80s computer ads! Which, I might add, probably work better on me now than they did 20 years ago. I definitely want an Amiga, and an Atari 1200XL, and a PET, oh and a ZX Spectrum

COMPUTE Sept 1982 COMPUTE Oct 1983 COMPUTE May 1984 COMPUTE Apr 1985 COMPUTE Sept 1985 COMPUTE Dec 1985 Dragonmaster, a type-in game listing Dragonmaster listing Dragonmaster listing 2 Dragonmaster listing 3 Might & Magic Ad Julius Erving and Larry Bird WordPro 3 Plus Apshai Compuserve Ad PETs were probably the coolest looking computers ever. AtariWriter Ad

I’ve recently had to extract all the documents from a failed Sharepoint 2007 server into individual files, and thought I’d share how.  After some Googling, I found a VBScript that almost did what I wanted, but only for one file at a time;  So I modified it to search for files matching a pattern and extract them all to a specified folder, while re-creating the subfolder structure of the Sharepoint site. It should even create the root output folder if it needs to.

You’ll want to edit the server, contentDatabase, whereClause (i.e., search terms), and outputPath variables to fit your needs. Just copy & paste to a file on your Sharepoint machine, modify the variables, and run cscript [scriptname].vbs to extract.


'========================================
'VBScript to extract documents from a Sharepoint 2007 Database

Dim contentDatabase
Dim whereClause
Dim outputPath
Dim fs

'========================================
'Edit these values to fit your environment:

server = "[SERVERNAME]" 'Or [SERVERNAME]\[INSTANCENAME], if applicable
contentDatabase = "WSS_Content"
whereClause = "LeafName LIKE '%.xml%' OR LeafName LIKE '%.xsn%' OR LeafName LIKE '%.doc%' OR LeafName LIKE '%.xls%'"
outputPath = "C:\sp_extract\"

'========================================
'You shouldn't need to change anything below here (Unless you want to)

Set fs = CreateObject("Scripting.FileSystemObject")
If Right(outputPath,1) <> "\" Then outputPath = outputPath + "\"

ExtractDoc server, contentDatabase, whereClause, outputPath

'========================================
Sub ExtractDoc(server, contentDatabase, whereClause, outputPath)

  Dim conStr, selectStr, fileName

  conStr = "Provider=SQLOLEDB;data Source=" + server + ";Initial Catalog=" + contentDatabase + ";Trusted_Connection=yes"

  selectStr = "SELECT dbo.AllDocs.LeafName, dbo.AllDocs.DirName, dbo.AllDocStreams.Content FROM dbo.AllDocs "
  selectStr = selectStr + "INNER JOIN dbo.AllDocStreams "
  selectStr = selectStr + "  ON dbo.AllDocs.ID= dbo.AllDocStreams.ID "
  selectStr = selectStr + " AND dbo.AllDocs.Level = dbo.AllDocStreams.Level "
  selectStr = selectStr + " WHERE " + whereClause +" AND IsCurrentVersion=1"

  Set cn = CreateObject("ADODB.Connection")
  Set rs = CreateObject("ADODB.Recordset")
  cn.Open conStr
  Set rs = cn.Execute(selectStr)
  Do While Not rs.EOF
   fileName = outputPath + rs.Fields("DirName").Value + "\" + rs.Fields("LeafName").Value
   If Not fs.FolderExists( fs.GetParentFolderName(fileName) ) then 
    Call CreateFolder( fs.GetParentFolderName(fileName) )
   End If
   Set mstream = CreateObject("ADODB.Stream")
   mstream.Type = 1
   mstream.Open
   mstream.Write rs.Fields("Content").Value
   mstream.SaveToFile fileName, 2
   mstream.Close
   rs.MoveNext
  Loop
  rs.Close
  cn.Close
End Sub

'========================================
'Recursive folder create, will create directories and parent directories
Sub CreateFolder( strPath )
 On Error Resume Next
  If strPath <> "" Then 'Fixes endless recursion in some instances when at lowest directory
   If Not fs.FolderExists( fs.GetParentFolderName(strPath) ) then Call CreateFolder( fs.GetParentFolderName(strPath) )
  fs.CreateFolder( strPath )
 End If 
End Sub

[Note: this was edited from an e-mail I sent to my brother-in-law, which I thought deserved some space on the blog since I haven't talked about games much on here yet.]

I’ve been poking around on the internet for the last couple days, looking into a genre of game called Roguelike, a.k.a. dungeon crawlers.  These games seem to be sort of the precursor to modern RPGs and are largely inspired by Dungeons & Dragons (a role-playing board game).  They have a few defining characteristics:  Randomly created dungeons for maximum replayability value, permanent death (i.e., you can save your game as often as you want but once your character is dead, that’s it), and turn-based play.  I’m not really qualified to do a full-on review of them because I’m just messing around (and I’m not very experienced in terms of RPGs), but I thought I’d throw out some links if anyone wanted to try any of them out. We’re talking super old-school here… the simpler ones (graphically) require some imagination but seem like they could be pretty cool once you’re used to them– and the purists say the DOS-style graphics are the only way to go.  Most of them are keyboard-controlled so if there’s a built-in tutorial or instructions I recommend going through them to learn the shortcuts.

First, some links for general info and history:

And now some games… I checked to make sure there are Windows versions of all of these (there are, of course, Linux versions because the whole phenomenon began on Unix mainframes), and they all seem to be still pretty widely played and/or updated:

So far I’ve played NetHack and Dungeon Crawl Stone SoupNetHack was my first venture into the genre, a few months ago, which ended badly and left me somewhat disinterested — the learning curve on these games is a bit steep for us modern gamers with our fancy “plots” and “controllers”.  But earlier this week I played a few rounds of Dungeon Crawl Stone Soup and found that there was a tutorial built-in, which helped me grasp some of the basic concepts (and keyboard commands).  After quickly killing off the first two characters I created (Rigot the Mountain Elf and Buttons the Minotaur), I finally got into the swing of things and completed my first dungeon level.  So the seed has been planted.

Besides the games listed above, there are tons more — such as the original Rogue, the one that made the genre popular-ish, and a vast swath of games created by an online community of Roguelike fans.  They even have create-a-Roguelike-in-a-week competitions, called 7DRLs.

Some of the older games require a DOS environment,  which you can get by using DosBox.  I recommend grabbing a frontend for DosBox from their download page as well, which allows you to save per-game configurations and launch them with a few clicks.  There are also Roguelikes available for other systems, such as Commodore 64 and Amiga (for which there are also emulators available).

As a side-note, another game that is more of an old-school action/adventure RPG with pre-made levels (and was written because the author didn’t like Rogue), is the Kroz series, which 3d Realms (formerly Apogee) recently released as freeware — you’ll *definitely* need DosBox for these.  I remember a friend of mine playing this on his wicked fast Pentium computer under DOS 6 back in elementary school.

Have fun… or maybe you’re not really into these old games… That’s cool too. :)

A few months ago, I built a computer into an old suitcase from a thrift store. My documentation of the process is a bit sketchy, but here is what I could piece together for a description of the project:

  1. First, I ordered some nice components from NewEgg.  Here’s what I got:
    • Intel DG45ID multimedia motherboard.  I wasn’t interested in building a super-duper powerful workstation, and I didn’t want to get a separate video card.  So I went with this mobo because it has a decent on-board Intel video chipset; Even though Intel has had some spotty Linux driver support in the past, the drivers are open-source so they’ll tend to improve with time and with community contributions.  Plus it has an HDMI output, which could have cool potential.  Giant video iPod -slash- portable console emulator anyone?
    • An OCZ 700w modular power supply.  This was perhaps overkill, but it was the cheapest modular supply I could find at the time.  “Modular” means that instead of having a thousand wires hanging out of it, it comes with cables with plugs on both ends so you can have exactly as many hooked up as you need.  This was important because I needed to cut down on clutter.
    • Intel Core2 Quad Q9400 CPU.  Nice.  This CPU should give me plenty of power without getting into ridiculous server-grade stuff.
    • 8 Gigs of Mushkin DDR2 800 memory.  Nothing spectacular, but again I wasn’t planning on building a dream machine.  But I did want lots of memory, and I was planning on making the machine 64-bit (or at least use a PAE kernel).
    • Two 1.5TB Seagate Barracuda drives.  I wanted lots of storage, and I wanted it to be safe.  So one of these drives would be mainly for full-system historical snapshots (using rsnapshot).
    • A Gigabyte wireless PCI card (I forget the model).  If this is going to be a semi-portable computer, it needs wireless networking, right?  I also got a riser card so I could put the wireless card in sideways, but I didn’t end up needing it.
    • A 22″ widescreen LG LCD monitor.  My plan was to immediately void the warranty on this by tearing it apart and putting the LCD separate from the components inside the suitcase.
  2. The suitcase itself.  I actually found this after I ordered the components… It just happened to have exactly the dimensions I was looking for.  Well, close… it seemed a bit small to me, but I figured I could make it work.  I didn’t even have to shell out 50 cents for it as the sticker indicates… I found it in the Blacktown studio.  Turns out it belonged to one of the guys from A Voice Like Rhetoric… They were probably going to use it to store some gear or turn into a pedalboard.  Sorry fellas, I owe you four bits. :(
  3. Socks helped me make some preliminary component layout plans.
  4. I got impatient and hooked everything up so I could install Arch Linux and start configuring it.  It was my first full-on Arch-only system — a true geek machine.
  5. This is when I got nervous.  I took the LCD screen apart, and reconnected everything outside of the plastic case to make sure it was all going to work.  But, as luck (or providence, as I prefer to think of it) would have it, the screen fit perfectly inside the lid of the suitcase.
  6. I went to Blacktown Woodworks one night, while Si was building a monster of a modular-commodore-64-vintage-bass-amp-thingy, and made this panel to cover up the components with.  I didn’t do too bad a job, but it was poor enough that I decided I wanted to cover the panel with some sort of tolex or vinyl instead of just staining the wood.
  7. The next step was to figure out how to mount the LCD panel’s external components — the power supply and, because I don’t know the technical name for it, a PCB I’ll call the “controller board”.  This involved snipping the backlight power supply lines and soldering in extensions.  Initially I used CAT6 for this, but that turned out to be a really bad idea because I later discovered (when I finally dug up a service manual) the CCFLs require 700V!  Eventually the current leakage resulting from this poor choice led to the death of the inverter on the power supply board… A fuse blew on the board, and after replacing it I found that the output voltage had dropped down to somewhere around 250V and the lamps would no longer light.  This meant I had to replace the board (I couldn’t find a drop-in inverter replacement) with a new one from LG.  When I replaced the supply board, I also beefed up the high-voltage lines to 18AWG with a heavier jacket (CAT6 is 22AWG).  The CCFLs and the inverter seem much happier now (the inverter puts off less heat).  Some advice to DIYers:  Don’t be afraid to make mistakes. :)
    Oh yeah, I also had to get myself a longer 30-pin flex cable because the one connecting the LCD with the “controller board” wasn’t long enough.  Getting the old connector on the new cable was a scary exercise involving a knife, superglue and a bit of magic.  Seriously I’m amazed that it works.  In these shots you can also see the power button with an LED that I snagged from a box of spare broadcast mixer parts.
  8. Getting close to completion here.  I mounted the motherboard, built a small frame to hold the LCD in place, and cut some holes for the external connectors.  I went with Neutrik connectors for everything I could… They make some pretty cool USB and RJ45 jacks.  They make an HDMI jack too, but I decided to put that off till later.
  9. Here you can see the last few things I did.  I built a smaller panel for the right-hand side, with a compartment to store the mouse and power cable in.  Unfortunately the keyboard doesn’t quite fit inside… I’m still thinking about how to remedy that.  I may end up modding the keyboard, actually… Or maybe I should get a nice steampunk keyboard to go with it?  I also got a few nice little brass filigrees as a finishing touch.  Maybe I should paint the power supply?  I’m sure I’ll keep working on little touches here and there.

Here are some songs I recorded for Beth’s birthday a few years ago. (This is pretty much the only remaining evidence that I ever studied classical guitar…)

  • Bouree
    (J.S Bach)
    Audio MP3
  • Valse Venezolano No. 4
    (Antonio Lauro)
    Audio MP3
  • Legend Of Zelda Theme
    (Koji Kondo)
    Audio MP3
  • Prelude 1
    (Heitor Villa-Lobos)
    Audio MP3
  • Storybook Love
    (Willy DeVille)
    Audio MP3
  • Download all songs

Since the old Blacktown Sound Labs web site featured pictures of the studio prominently, I never posted a blog with those pictures.  But now they don’t have a home on this site, so I figured I’d post them so there’s still a photographic record of the Blacktown setup.  Plus I threw in the Blacktown Sound Labs logo for good measure.

blacktown-logo front front2 lr1 games c641 c642 cr12 cr11 cr10 cr8 cr7 cr6 cr5 cr4 cr3 cr2 cr1

Now that Blacktown Sound Labs (as a recording studio) is naught but a legacy, I figured it was time to build a new web site for future endeavors. Well, you’re looking at it: ObsoleteAudio.org. I don’t even know if I’ll call my recording services Obsolete Audio (or anything at all, for that matter)… But I thought it was a pretty cool name for a web site.

So this is going to be more than just a web site for my audio production projects, it’s going to be a collecting place for music, software development, design, photography, DIY-ism, and other random/sundry subjects.  And I’d like to eventually invite some friends who are interested in the same sorts of things to blog here also, or have their existing blog aggregated.

Just FYI on a personal note:  A couple of months ago, I moved all of my belongings out of the Lewis’s school house in Blacktown, and into a storage unit (to save up a bit of cash).  I am currently in the process of purchasing a house, where YLS and other musical experiments will flourish, and many parties in the Farmhouse tradition will occur.

That’s all there is, have a good day.

So I thought I’d let everyone (all 5 of you) know what’s officially going on around here.

First, some background.  Some of you may know that two of my good friends, Josh Milligan and Bill Smith, moved back up to Pennsylvania from Texas, to “return to their roots” as it were. This was undoubtedly a really tough move for them, because Austin is a rather amazing city. So there must be something about PA that they like a lot… I think I know what it is: it’s not their families, it not their friends, though those things contributed to their decision.  No… it’s the hills. I know because I feel it too. Few things make me appreciate God’s creativity and providence more than driving east on I-80 into the Appalachians. As soon as the weather breaks, I know we’ll be hiking and biking out there a ton.

Sorry, got on a tangent there. Anyway, as a side effect of their return, they brought their band with them, Yellow Lady Slipper.  Myself and our good friend and bassist Bryan Lightner from PasaMala will be joining them, as well as (hopefully) occasional appearances by Marla (Voltz) Taylor.  So this means a few things:  First and foremost, I’ll be able to give in to the recent urges to do less sound production and more music.  Sound production will always be there, of course, you can’t do music this century without it… but it will primarily be a tool for making the Slipper’s music better and conveying it to some yet-unformed base of listeners.  I do enjoy recording others, and will continue to do so from time to time, but doing it as an enterprise just hasn’t satisfied me as I hoped it would.  I discovered that I have a particular recording style that really doesn’t lend itself to most of the music that’s out there today, so my chances of commercial success were basically stunted from the get-go by my own tastes.

This leads me to the real point of this post: What will happen to the studio.  For the last year and a half, I’ve been living with my parents in hopes to save a few bucks and get myself out of the financial hole that foolish optimism got me into back when my life revolved around Idiosympathy.  While that hole has gotten filled in somewhat (to nearly half of what it was), activities at Blacktown Sound Labs, while fulfilling, haven’t helped.  Additionally, I’ve found that sharing a space with a group of other bands, while great in theory, is fraught with difficulties.  So I’ve decided to move on, back to an “everything under one roof” approach.  I haven’t decided whether I will be buying or renting a new place, but it will be a place where musical activities are top priority and sound production becomes a tool in the tool box — and I just happen to have pretty nice tools (by divine grace).  As for the question on everyone’s mind:  Will it still be called Blacktown Sound Labs even though it’s not in Blacktown?  I’m apt to encourage Si to keep using the moniker, since he and Brian have talked about creating a new recording set-up in the Blacktown school house.  As for myself, I’ll keep the web site up for them to use, and maybe it will just become a nerd/music community blog… who knows.  I’ll certainly keep pursuing my goal of creating a simple recording system based around Arch Linux (which it seems I have gotten some others interested in as well) — but only when the music stops for a moment.

So, now that everyone knows what’s up, I’ll let you go about your day.  I’m going to head down to Beans on Broad for lunch.

image

The recording computer is officially dead. It seems I took her home too late — the string of devastatingly cold nights in early December caused the liquid cooling system to rupture, which fried the motherboard the last time we tried to start her up. I’m assuming, however, that her important parts are still fine; namely, the audio interface (Layla 3G) and the hard drives containing my customized OS and many hundreds of hours of recording work. So, the search (and saving) begins for her successor, who will most certainly NOT be liquid cooled.

She served us well, may she rest in peace.