curling down bibtex

When I wrote the last post I really wanted to use curl to turn rfc numbers and drafts into bibtex entries. I did have a look, but I had other things to do that seem urgent and I didn't follow it through.

That was lazy of me, the page will generate an error message with a url when given an rfc or draft that doesn't exist. I looked at this url with a valid rfc, but it wasn't clear how to turn the returned info into a bibtex entry.

Stripping that div off the page makes the url visible:

Failed to read RFC or Internt-Draft resource at http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.9999.xml

Using that url format with a valid rfc number (Our beloved RFC768 ) spits out this xml document:

$ curl  http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.0768.xml
<?xml version='1.0' encoding='UTF-8'?>

<reference  anchor='RFC0768' target='http://www.rfc-editor.org/info/rfc768'>
<front>
<title>User Datagram Protocol</title>
<author initials='J.' surname='Postel' fullname='J. Postel'><organization /></author>
<date year='1980' month='August' />
</front>
<seriesInfo name='STD' value='6'/>
<seriesInfo name='RFC' value='768'/>
<seriesInfo name='DOI' value='10.17487/RFC0768'/>
</reference>

That is how far I got when I gave up earlier. Looking at the page again I thought I might try looking at the network traffic it generates.

That is much more interesting, the page itself is doing a request to https://sysnetgrp.no-ip.org . Lets try a curl there and see what we get:

$ curl "https://sysnetgrp.no-ip.org/rfc/rfcbibtex.php?type=RFC&number=768"    
@techreport{RFC0768,
  author = {J. Postel},
  title = {User Datagram Protocol},
  howpublished = {Internet Requests for Comments},
  type = {STD},
  number = {6},
  year = {1980},
  month = {August},
  issn = {2070-1721},
  publisher = {RFC Editor},
  institution = {RFC Editor},
  url = {http://www.rfc-editor.org/rfc/rfc768.txt},
  note = {\url{http://www.rfc-editor.org/rfc/rfc768.txt}},
}

Much better!

IETF Document to Bibtex

I am writing stuff up right now so I am not really doing anything that interesting. Users of latex for academic work will know the nightmare that is generating bibtex entries. Thankfully for ietf rfc and drafts entries are automatically generate. I found this blog post that includes a tool for looking up an entry and getting its bibtex.


Reading: Normal

RF Path Probing

We are trying to put up a 70cm amateur radio packet network, I started this by hacking together a connector last week. I really need to figure out where I can reach on 70cm.

Hibby and I tried to voice between my home and his, but were unable to hear each other. That isn't so bad, we really want to be able to get into my office where a friend can host a packet repeater.

I have remote access to work, so if I can get audio out of a radio onto the internet I will be able to do a remote check. The plan was to setup a pi, with an [rtl-sdr][6] and [rtl_fm][7] doing demodulation, ssh in and stream the audio back to where ever I am.

rtl_fm is an excellent tool, it can connect to an rtl-sdr stick and provide samples from the sdr. It can give you raw iq output or demodulate audio. This rtl_fm command can be used with the play (from the [sox][8] package to play broadcast fm.

$ rtl_fm -M wbfm -f 90.9M | play -r 32k -t raw -e s -b 16 -c 1 -V1 -

I referred to a blog post with an example of streaming audio over ssh using sox. To test audio streaming over ssh I pushed a copy of this amazing album and got lost for a while listening to it.

$ ssh -C sdr@192.168.1.181 "cat test.flac"| play -q -

rtl_fm will happily dump samples to stdout, a test with broadcast fm over ssh is:

$ ssh -C localhost "rtl_fm -M wbfm -f 90.9M " | play -r 32k -t raw -e s -b 16 -c 1 -V1 -

Broadcast FM is an excellent way to figure out if your demodulate pipeline is working, it is always running and it shits out a fuckton of power.

The command to demod narrow fm looks like:

$ rtl_fm -M fm -s 1000000 -f 145.800M -r 48k | play -r 32k -t raw -e s -b 16 -c 1 -V1 -

And it can be run over ssh:

$ ssh -C localhost "rtl_fm -M fm -s 1000000 -f 433.550M -r 48k "| play -r 48k -t raw -e s -b 16 -c 1 -V1 -

Hibby and I tried some calls to this station from his, but I wasn't able to hear anything. Probably something to do with both of us being in buildings facing away from each other. I will give this a try from mine and see what happens.


Reading: Normal

Of course before trying to do all this from my desktop I faffed about for two hours getting a pi up and running with FreeBSD. The pi wasn't able to handle the sdr without really choppy audio. Eventually while writing this up I noticed that the cable from the antenna was long enough to read my desktop. Oh well.

Look it is post 0x100

SHA1 Hash Collision

Its really windy, so windy that this plane couldn't land first try:

Google found a SHA1 Collision their blog post is much smarter than anything I could write about it.


Reading: Babylon's Ashes, Diamond Age

Know your Rockets


Reading: Crooked Little Vein