Linguistic PageRank

(from an email to a friend 2 July 2003)

Language is a recursive web of syntax and semantics. A.I. systems seem
to have faltered in the last 20 years as they try to parse seemingly
simple sentences. Given a string of words, one can interact with this
recursive web, finding the interrealtionships (and bring in past conversations,
‘knowledge’ about the world, etc), but intead of diving off the end into
recursive looping, could one use a PageRank-like calculation to help converge
on the useful nodes that are what the sentence ‘means’. (by which I mean:
prune down the web to the small set of interconnected base principle nodes
that can then be machine parsed, sorta like finding the ‘concentrator’ nodes
in a web graph)

Has anyone done this?

Music Event Visualization

[from an email to friends on 13 Aug 2003]

Okay, so the problem with all these ‘eye-candy’ music visualization programs
(stand-alone or part of iTunes, Winamp, XMMS, etc.) is that they have to go
thru the process of sleuthing out interesting ‘events’ in the audio, in
real-time, to act as triggers and modifiers for the visuals.
As we’ve all seen this is pretty hard (because the results mostly suck)
and they usually just devolve into the “twirly oscillosope with color fade”
effect. The time difference between audio and video signal must be very
small to be not noticable, meaning there’s not much time for real-time
analysis.

If instead there existed a visualizer that used a pre-computed ‘event track’
for a song, the visualizer could spend its time doing much more interesting
and meaningful things besides FFTs and such. And let’s say that there exists,
CDDB-style, various network- or disk-available caches of these ‘event tracks’
that the visualizer would search for before displaying pretty pictures.
Soon a whole community exists that creates and submits these event tracks
exists, just like how CDDB avalanched into usefulness because of the network
effects of having more CDs in its database.

What are these ‘event tracks’? At its simplest, I was imagining something
small (32 bits, one bit for a frequency band (each 1/4 octave wide say))
for each 100ms chunk of audio. Perhaps later we create extended events that
indicate something very high-level like ‘intro’, ‘verseA’, ‘bridge’,
‘chorus’, ‘break’, ‘drum solo’, etc.

How do we create these ‘event tracks’? For the simplest event type,
perhaps we start out with a very good (and thus not real-time) method of
analyzing audio into the 32 bins per 100ms. That would be a start.
Maybe we create a GUI that shows the audio with semi-transparent overlays of
what, where & when the algorithm thinks the bins should be and allows users
to nudge the events, clean them up, add the higher-level events
(“the chorus starts here, the break happens here”).

You may be thinking that at some point these ‘event tracks’ start looking
like MIDI data. Hey good idea, there’s another way we could pre-generate
the higher-level events, if we’re given a sufficiently accurate MIDI track
of a song (many MIDI files exist on the Net, would be interesting to see how
accurate they are when compared against the recording)

And maybe as a value-add we include the lyrics too. Instant Karaoke with
trippy visuals!

Imagine what else one could do with an accurate ‘event track’ of a piece of
audio? Besides really nice visuals, a video-editing suite could import it as
a template for when (and what kind of) wipes or other video manipulations
should occur. Auto-editing of video! (well almost) DJs could find a use
for the events I’m sure.

Oh and how do we make money with it? Fuck if I know. Maybe we sell the
really kick-ass GUI event creation tools and leave the punters with the
command-line Perl modules. Maybe we use the event tracks as some sort of
digital signature that artists can use to determine which version of their
song gets out on the Net. (and thus who leaked it) Maybe like GPS we offer
the ‘low-res’ version to the public for free, but if you want the
higher-res/higher-quality version (for your DMX light system you’re using for
your nightclub or theater troupe) you gotta pay. Maybe we apply a special
super-secret algo that generates only high-level rhythm events and then sell
it to music producers with “Want to make your track have the same ‘feel’ as
the latest Beastie Boys track, just apply this event template!”

Embedded Bluetooth / Serial Bluetooth devices

JavaRunner


“Describe in single words,
only the good things that come into your mind
about: your search engine.”
“My search engine? Let me tell you about my search engine. BLAM!!”


“It’s too bad she won’t click. But then again, who does?”


I’ve written Java you people wouldn’t believe.
Attack applets on Firefox off the shoulder of Andreesen.
C++ beams glittering off the JNI gate.
All that code will be lost,
Like posts to slashdot.
Time to debug.

P900 and T-Mobile notes

I’m beginning the process of switching to T-Mobile (from Cingular), because “Tmo” has very cheap all-you-can-eat data plans: from free to $19.99, depending on the level of studliness you want.

I’ll be using a Sony-Ericsson P900.

There are apparently 4 different “Internet plans”:

  • $0.00 – “free/unlimited internet”, aka “basic WAP”
    “just ports 80 (web), 25 (smtp), 110 (pop3), 143 (imap). ”
    all others blocked (and some reports say only port 80 is allowed as of late 2003)
    access to the t-zone portal sites. NATed?
    uses APN ‘wap.voicestream.com’
  • $4.99 – “unlimited t-zones”, also aka “basic WAP”
    same as above, but access to t-zone portal
    uses APN ‘wap.voicestream.com’
  • $9.99 – “unlimited t-zones pro”
    same as above, but access to slightly different portal
    allows one to “access corporate email” ???
    uses APN ‘wap.voicestream.com’
  • $19.99 – “T-Mobile Internet Unlimited”
    no blocked ports, non-NATed too?
    uses APN ‘internet2.voicestream.com’
    Does ‘internet2’ represent a GPRS gateway and ‘wap’ a GSM gateway?

Calling their ‘data specialists’ was pointless. Comments in t-mobile howardforums are also very confused.

Some perhaps useful info gleaned tho, in rough order of usefulness:

  • “Definitive Internet/T-Zones plans post”. It gives current (Jan 2004) and historical definitions for the various T-Mobile Internet plans. Unfortunately,
    he calls everything ‘WAP’ and thus makes no distinction between GPRS and GSM.
  • Also by the same author: “How to configure WAP on Ericsson P800/900”
  • There is a T-Mobile Wireless Data Configurator that may be useful. Once you go through the ‘wizard’, it sends a magic SMS message with configuration information that’s supposed to ‘just work’.
  • Setting up a P800 on T-Mobile: http://www.howardforums.com/showthread.php?threadid=262715
  • Free WAP allowed ports”
  • thread about free wap
  • Outgoing SMTP mail server : “myemail.t-mobile.com”
  • “Internet2/Internet3 DNS settings”:
    • West DNS – Primary: 216.155.175.40 , Alternate: 216.155.175.41
    • East DNS – Primary: 216.155.175.170, Alternate: 216.155.175.171
    • Central DNS – Primary: 216.155.175.105, Alternate: 216.155.175.106

    whatever the fuck that means, maybe ‘internet2.voicestream.com’?

  • “So for those of us who want to use the free data instead of paying $19.99, I understand the following change has to be made in our connection settings.
    • Previous with $19.99 plan: +CGDCONT=1,,”internet2.voicestream.com”
    • Now with FREE wap plan: +CGDCONT=1,,”wap.voicestream.com””

    The ‘internet2’ / ‘wap’ hosts are referred to as ‘apn’s. what is that?

  • Sony-Ericsson t68i settings with T-Mobile:
    T-Mobile Settings
    
    Configure for free WAP access:
    go to settings--->connect--->data comm
    add account GPRS
    CID=1
    preferred service=GPRS and GSM
    SMS access=GPRS
    configure APN as wap.voicestream.com
    no user id
    no password
    no IP address
    no DNS address
    
    Go to WAP Services
    enter a new profile
    configure to connect using GPRS from above
    IP address=216.155.165.050 (dots get entered automatically)
    No user ID
    no password
    data mode=conn. oriented
    security=off
    chg homepage: select a page such as http://wap.voicestream.com
    
    If you call T-Mobile customer support, they can email you a file which
    will automatically configure these settings, but you may be on hold for awhile!
    
    Configure for unlimited internet access:
    
    go to settings--->connect--->data comm
    add account GPRS 2
    CID=2
    preferred service=GPRS and GSM
    SMS access=GPRS
    configure APN as internet2.voicestream.com
    no user id
    no password
    IP address=216.155.165.050 (dots get entered automatically)
    no DNS address
    
    set Bluetooth options as follows:
    
    mode-->operation mode=on or automatic
    make discoverable or pair with your computer if you haven't done so.
    
    set your computer or handheld to use bluetooth,
    "telephone number": *99***2#
    No account name or password.
    
    You should be able to connect.
    

Wireless 802.11b Coprocessor Found!

Once again,
Circuit Cellar
magazine comes to the rescue. There’s both an advert
and an article that uses a new all-in-one wireless module.

It’s the
DPAC Airborne Wirelss LAN Node Module
and it seems to be almost
exactly what I want.

  • size; 1.26″ x 0.83″ x 0.46″
  • power: 3.3V @ 420mA (transmit), 350ma (recv), 75mA (sleep)
  • supports WEP @ 64/128 bits
  • 8 digital I/O and a serial I/O, (and “up to” 8 channgels 10bit A/D)
  • 36 Pin connector (?)

I can’t find any definite pricing, but the article says $80.
It’s unclear from the context whether that’s for the module itself
or the development kit.

Anyway, I’m excited. I’m ordering a few of these asap. Want.