urbit

Jan 6, 2014  

I will confess that I initially thought this was a big joke, some April Fool’s Day kind of thing.

WTF is Urbit ?

Supposedly it’s an “operating function”. You could try reading the FAQ but it’s pretty sparse right now. Don’t let that stop you from playing around with it though.

After watching the demo video (below), it seemed like something worth checking out.

Even if it isn’t really useful, there’s something to be learnt from what is clearly a well-thought-out, complex piece of work.

Getting started

First, get some essential stuff.

sudo apt-get install libgmp3-dev libsigsegv-dev openssl libssl-dev libncurses5-dev git make exuberant-ctags

Then get the source and build it.

$ git clone https://github.com/urbit/urbit.git

Add to your .bashrc the equivalent of

$ export URBIT_HOME=/home/agam/urbit/urb

and then

$ cd urbit
$ make

This will go on for a short while, and if all goes well, you should end up with a new bin subdirectory, with a single executable. Run it.

$ bin/vere 
vere: urbit home is /home/agam/urbit/urb
bin/vere: usage: [-v] [-k stage] computer

Excellently terse. Get used to it. It’s also not exactly up-to-date. We’re going to use a different parameter.

$ bin/vere -c frogstar

Obviously, substitute some made-up-name instead of frogstar above. Now you should see something like

$ bin/vere -c frogstar
vere: urbit home is /home/agam/urbit/urb
loom: mapped 1024MB
loading /home/agam/urbit/urb/urbit.pill
time: ~2014.1.6..07.34.20..58b0
ames: on localhost, UDP 44342.
http: live on 8080
generating 2048-bit RSA pair...
ames: czar zod.urbit.org: ip .198.199.112.32
saving passcode in /home/agam/.urbit/~fiddyn-lavpun.txt
(for real security, write it down and delete the file...)
; ~zod |Tianming| is your neighbor
; ~zod |Tianming| is your neighbor
waiting...

and after half a minute of waiting, it should download a whole bunch of hoon files …

updating...
: /~wicmet-balful-tipdet-tardul--nisred-divpen-panref-sicbet/main/1/bin/update/hoon
: /~wicmet-balful-tipdet-tardul--nisred-divpen-panref-sicbet/main/1/bin/update/hoon
: /~wicmet-balful-tipdet-tardul--nisred-divpen-panref-sicbet/main/1/bin/update/hoon
: /~wicmet-balful-tipdet-tardul--nisred-divpen-panref-sicbet/main/1/bin/update/hoon
...

Going off on an adventure!

At this point you should find yourself staring at the Arvo prompt

~wicmet-balful-tipdet-tardul--nisred-divpen-panref-sicbet/try=> 

(which, it turns out, is also a REPL)

That’s all for now … more on Urbit later.

Meanwhile, check out their website at www.urbit.org or explore the code on github or follow them on twitter @urbit_.

Happy urbiting !!