Wednesday, October 31, 2007

Shmoo Tickets

Heads up! First round of tickets sales: 1 Nov Hopefully, they aren't using the same scheme as last year (it does look like it though).

Sunday, October 28, 2007

Geekin' Hard!

Some geeks like showing off their geek pr0n. Some like showing off network diagrams of their home setup. Me, I like function diagrams. Below is a depiction of what I've been playing with in the past year.
At some point, I've tested each part. Most of it is still connected and available on demand (from inside the network). About the only part that I've disabled is the IDJC piece (it generated too many audio "artifacts").
The parts in red are record functions. The piece in green is Asterisk passing CallerID info to SageTV. The rectangles are hardware. The circles are not.
Pieces that play MP3 files from the library:
  • Asterisk
  • Icecast
  • IDJC
  • Liquidsoap
  • SageTV
  • Slimserver
Pieces that accept input from Icecast/Shoutcast streams:
  • Asterisk
  • Cidero
  • Icecast (via relay)
  • Liquidsoap
  • MediaMVP
  • MPD
  • Slimserver
Pieces that output Icecast/Shoutcast streams:
  • Asterisk
  • Icecast
  • IDJC
  • Liquidsoap
  • MPD
  • Slimserver
Web interfaces include:
  • Asterisk
  • Icecast
  • Liquidsoap
  • MPD
  • SageTV
  • Slimserver
  • TiVO
Asterisk, Icecast, Liquidsoap, and Slimserver are the audio powerhouses here, being able to both accept and generate network streams. Because they have inputs and outputs which are accepted "standards", they can be connected in just about any manner.
For video, my favorite is SageTV. It records scheduled and timed video, has a "hackable" web interface, allows all sorts of plugins for additional features, and can stream to hardware and software clients in the local network. It generates RSS feeds for recent recordings and the upcoming recording schedule. For those that aren't familiar with SageTV, think MythTV with a lot more polish and a lot less set-up work.
Note: this is all Linux-based but there are Windows versions of just about all of the programs. The amazing part is that I rarely see my dual core system get below 95% idle.
Wishlist (things I want to experiment with in the next year): X-10 interface, home automation, some sort of podcatcher, IAX to a friend's Asterisk box, a hardware-based phone, motion detection with cameras, hosting and/or recording a live conference call, amateur radio.


Disclaimer: I do nothing illegal with this set up, though the capability is definitely there. Diagram courtesy of GraphViz's dot program.

Saturday, October 27, 2007

Wiki

The wiki is down for a bit while the powers that be update the backend software/hardware.

Wednesday, October 24, 2007

Asterisk to Icecast

I've got the Asterisk-to-Icecast interface up and running! ([insert dance of joy here]) Notes (in the wiki) to follow shortly.

Saturday, October 20, 2007

Adding Custom Searches to SageTV

I've put my notes for adding custom searches to SageTV in the wiki. I've also posted a link to a copy of my menu_items.js there.

Thursday, October 18, 2007

Missing the old days?

Wow! I'd forgotten just how horrible pre-Internet technology was...

If you know of anyone pining for the old days, especially if they're obnoxiously spouting off how cool Fidonet was and such, you can point them (telnet) to bbs.hak5.org. There, the Hak5 bunch has set up a BBS so that people can be reminded just how spare the interface was.

A few things missing from the experience:

  • the text should be printing at 300 baud (about the speed that the average fourth-grader can keep up with)
  • the connection should drop out periodically (think of it as beind randomly logged off against your will)
  • the text files need more Ctrl-G's

I do miss those Ctrl-G's.

The devil's in the details

For the benefit of anyone in Rob's class that's attempting to recreate what was done on the big display tonight --> when you're grabbing/compiling/running kmod-ptrace.c on the target machine, pay close attention to the details:
  • use gcc, not make or cc
  • when you run the program what is displayed?
  • can you do anything (hint: type ls or whoami)
  • if you hit Ctrl-C and run "ls -l", what do you see?
  • re-run the program and try to answer these questions again

Note: success may be specific to the version of the OS being run on the target machine. Your mileage will vary depending on a number of things (hint: the classroom lab is a controlled environment (i.e., each target is exactly the same)).

Enjoy! But you should probably get your homework done first. You may spend more time than you should getting the exploits to work in your home labs. If you're frustrated, please note that Rob usually isn't adverse to you coming in when there isn't a class in the lab. Just check in with one of the techs in the fishbowl.

Tuesday, October 16, 2007

Kernel upgrades and HTPCs

Note(s) to self: upgrading the kernel on a home theater PC is not a good idea unless you really need a new feature. Swapping out kernels will break IVTV and, by extension, whatever sits on top of it. If you're building production machines, it's a good idea to stick with whatever you're currently using and save kernel upgrades for the next model.

Hak5 bumpers

Note to all: if you're going to use any of the Hak5 bumpers, it may be worth the time to edit the ID3 tags if you're doing anything like using them in a playlist.

Friday, October 12, 2007

LiquidSoap web interface

I think I have the telnet interface to LiquidSoap figured out and have a simple web interface to it coded up. I'll post the code once I've got it cleaned up and add a few more functions to it.

Wednesday, October 10, 2007

What's next?

From the give-me-$5-for-the-song-playing-in-your-head department...

There's a case in the UK where a car repair business is being sued for copyright infringement because their mechanics are playing music loud enough that it can be overheard by others. Silly, no?

Even sillier, it's not the employees of the business that are being sued for the actual sharing of the music (by turning their radios on). Rather, it is the business being sued for facilitating that sharing. (Never mind that broadcast radio has already paid for the broadcasted content and that it is able to be heard by anyone with enough skill to operate a tuning dial or button.) Or will the employees be sued at a later date, once it can be determined whose radio played what song when?

What's next? Having to pay a service fee for riding the elevator because muzak was playing while you rode? Of course, the elevator company would have to record the number of riders and the distance (in floors) that each rider traveled.

NSLU2 Icecast Server

I've got an Icecast server set up on a Linksys NSLU2 server so I can experiment with various audio tools without annoying the Hak5Radio bunch. I've stuck the notes for "installing OpenWRT on the NSLU2" and "Icecast on the NSLU2" in the wiki.

Monday, October 8, 2007

Configuration silliness

It's warnings such as these that cause an odd sense of panic when you're attempting to compile a mixer at 2 a.m.


Sheesh!

Sunday, October 7, 2007

NSLU2 Audio Redo?

I moved the NSLU2 back next to the computer because it wasn't seeing much use in the bedroom. It also lets me continue to crash the desktop without having to worry about losing the audio stream. I'm currently working on a demo to show off LiquidSoap (yeah, I tend to fixate on new tools) to the local users' group.

Problem is that I'll need to use the current NSLU2 (with the audio interface) and another with Icecast running on it. I running the risk of more people (at the meeting) being fascinated with the NSLU2's than the LS scripts I'm trying to show off. (Notes will be in the wiki shortly.)

Wednesday, October 3, 2007

Liquidsoap update

I'm starting to think that LiquidSoap is to audio as Perl is to text. I had a bit of fun annoying the extremely early morning listeners on Hak5Radio with misc. Creative Commons music, while reading up on some of the syntax. In addition to being able to stream to Ice/Shout/Peercast servers, it can also stream directly to your hardware (i.e., your soundcard).

I can attest that chaining Sky.FM-->SlimServer-->LiquidSoap-as-a-player works very nicely. Even the metadata being passed across from Sky.FM is handled properly, and neither processor got below 95% idle on the dual core, even with all of the other crap I run on the box (SageTV, fetchmail, etc.). That's saying a lot as it appears that both Slimserver and (possibly) LiquidSoap are doing a bit of transcoding on the fly. The one drawback to this so far is SlimServer's built-in delay (5 or so seconds). I'll need to read up on that.

It's obvious that simulcasting (rebroadcasting/redirecting) a stream is going to be simple. I need to play with the mixing features now (think "periodic jingles" mixed into an open conference call). If I can come up with an interface to Asterisk, you can consider me as having thrown IDJC in the round file.

Oh! If anyone's interested (and for my own notes), the syntax is

liquidsoap 'out(input.http("http://192.168.1.175:9000/stream.mp3"))'

LiquidSoap

I've had a "really horrible experience" in getting IDJC up and running. No matter what I've tried to do, anything that I stream contains a quantity of very annoying sound artifacts (at one point, it could have been a helicopter outside of my window).

In attempting to troubleshoot IDJC, I discovered a new streaming tool called "LiquidSoap". To quote the website, it is basically a "general purpose audio streaming tool, designed as a script language, which allows you to build complex webradios".

While the toolset is still considered to be in development, I was able to get streams going via a local radio site (okay, hak5radio) in 30 minutes of installation/reading, vice the 2 months of on and off frustration with IDJC.

In reading some of the docs, there's quite a few interesting features: on-the-fly transcoding/normalization, misc. scheduling features, drop-on-live-input, an IRC bot interface (with input!), and even a (in-development) touchsreen interface. Definitely something for the home theater enthusiast that likes to tweak his/her own stuff!

Monday, October 1, 2007

Self-referentialism

Self-referentialism (similar to existentialism): the depressing condition within Internet-based research where you repeatedly (only?) find your own work. Following is a semi-example where 9 people on the Del.icio.us have noted the same article about LiquidSoap. The "just posted" indicator is an indication of my having saved the link. The picture indicates that I then Googled for the term and was brought back to Del.icio.us. (Arg!!)


(heh) Cutting edge does have its drawbacks...