
Hidduc Posmeg's Hoon Tutorials – The Urbit Programming Langauge - kruhft
http://hidduc-posmeg.urbit.org/home/pub/hoon-intro/
======
yarvin9
These are some useful but quite unofficial tutorials written by ~hidduc-
posmeg, who's probably asleep right now. It's always pathetic when your users
shame you into documentation by reverse-engineering the system and writing
their own. (See also: [https://github.com/laanwj/urbit-
tools](https://github.com/laanwj/urbit-tools))

These are markdown files served from ~hidduc-posmeg's own planet and converted
to HTML by urbit, proxied by ~hidduc-posmeg's star ~doznec. Since this system
isn't actually supposed to be live yet, hidduc-posmeg.urbit.org is DNSed to
doznec.urbit.org; ~doznec talks to ~hidduc-posmeg over Urbit's own network, an
encrypted P2P protocol (%ames). Ideally, hidduc-posmeg.urbit.org would DNS to
the actual Unix server the planet is running on, for obvious reasons.

This whole thing, like [http://www.urbit.org](http://www.urbit.org), would
fall over in a few seconds of HN traffic if it wasn't behind an nginx cache.
However, if you look at your network window you should see a long-poll. If
~hidduc-posmeg edits zir tutorials from vim on zir Unix server and saves, this
will drive an update event that'll propagate forward and refresh your browser.
You can see this in action in our demos...

~~~
juped
No markdown about it - it's a ford page, and the example code is actually
compiled and evaluated along with everything else.

Urbit is secretly much cooler than you give it credit for...

~~~
yarvin9
Doh! Yeah, another thing Urbit is ok at is generating HTML. If you were
designing a language, especially a language that's basically in some sense a
Lisp, in 2015, you'd probably want custom syntax for XML-shaped data, to avoid
having to use a separate template syntax...

------
plaguuuuuu
> _If you want to use a webpage, which will allow you to use the tall forms of
> the runes, then you 'll need to setup up a page to work in. First get the
> code from: [https://bitbucket.org/zaphar/hoon-
> intro](https://bitbucket.org/zaphar/hoon-intro). Then you will need to copy
> the lib.hoon file into your urbit instance's desk, By first mounting the
> desk onto your filesystem._

...am I the only person who has absolutely no idea what this guy is talking
about?

> _Gates are a of type core that have only one arm with the empty name '$'._

Okay

~~~
unwind
No, you're not alone. It made me feel like I've missed out on the past 30
years of computing, like they never happened like I remember them, or like I'm
suddenly in a parallel universe. Quite scary. I guess I sound like that to
some people too, some times.

------
zaphar
So probably no one is still reading this. But I'm the author.

I enjoy investigating new languages and technologies. These tutorials were
built while I was doing that for urbit. They probably read like a foreign
language to some folks. It does assume a little bit of familiarity with nock
and urbit servers.

~~~
resu_nimda
Totally off-topic, but about 10 years ago I played an MMO called Star Wars
Galaxies. My character's name was Zaphar Waverunner (at this point I can't
remember if it was a totally random name from their generator or if I modified
one in homage to Zaphod Beeblebrox). I'd never seen that word in another
context until I saw one of your posts here recently.

~~~
zaphar
My name was absolutely modified in homage to Zaphod Beeblebrox. Zaphod was
already taken for some reason so I modified it to Zaphar instead and it's been
that ever since.

------
Niksko
The "we'll release this to the public when it's finished" mentality is what's
causing this project to fail.

Urbit sounds really cool, but it needs people to actually get used to it,
understand it, and then parse it and explain it for us mortals.

~~~
pcmonk
I honestly think you're absolutely right. Some people have pushed through our
"unreleased" status and have learned quite a bit anyway. The guy who wrote
these tutorials is not one of urbit's primary devs, but he still managed to
get a pretty decent grasp on the system, and he even wrote some great doc.

We're generally quite responsive on the urbit-dev mailing list, and we're
making a concerted effort to be more helpful everywhere. Urbit is one of those
projects that can't succeed without a community. The pace of github pull
requests from outside contributors is increasing, and more and more docs are
coming out, both from the core dev team and outside contributors.

