It has long been speculated that a file like this would be a great thing for Hyperborian newcomers to have, but no one has ever gotten around to writing it:

...behold!

Hype Achievements

Apparently people don't do things just because they're a good idea. If keeping track of achievements via some arbitrary points system makes you feel better about following best practices, who am I to argue?

Each achievement will have an associated value. Your score is the sum of these points. See if you can get your score over 9000!

Achievements expire, so if at any given time you don't qualify, you lose those points!

  1. Generate a PGP key
  2. Install Git and create a Github account so you can submit Pull Requests and issues.
  3. Build cjdns from source
  4. Successfully peer with somebody.
  5. Run only the latest version of cjdns on all your nodes.
  6. Extra points for every node running the latest crashey branch.
  7. nmap yourself and close down any exposed services (unless you intend for other people to use them).
  8. Create a ~/.cjdnsadmin file for use with the admin api.
  9. Launch and maintain a webserver on Hyperboria.
  10. Provide an RSS feed so others can subscribe for updates.
  11. Help a newb on EFNet.
  12. Read everything in the documentation repository.
  13. watch the documentation repository so you hear about updates.
  14. Set up an IRC bouncer and point it at HypeIRC so you don't miss anything. Combinations of command line clients and tmux or screen are considered equivalent.
  15. Contribute to the documentation repository at least once a month.
  16. Make (or contribute to) a meshlocal page for your area.
  17. Have a hype-enabled xmpp account.
  18. Configure a persistent link between nodes independent of the internet.
  19. Blag about cjdns or Project Meshnet.
  20. Design some form of rich media for Project Meshnet (graphics, video, animation, audio, presentation slides).
  21. Discover a bug in cjdns, and give it a memorable name.
  22. Host or register a cjdns, Project Meshnet, or Mesh-local mailing list.
  23. Subscribe to any of the above lists.
  24. Learn HTML
  25. Have someone else quote you and commit the results to a HypeIRC bot's factoid system.
  26. Build cjdns on an android phone.
  27. Read all of xkcd.
  28. Install at least one Linux distribution other than Ubuntu or Mint.
  29. Erase Microsoft windows from every computer you own.
  30. Host your own email server.
  31. Host your own ircd.
  32. Don't run your irc client as root!
  33. Host a show on HypeRadio.
  34. Cross compile cjdns for another platform.
  35. Contribute to Hyperboria's news agency.
  36. Document an undocumented function or component of cjdns.
  37. Implement a function or component of cjdns in an alternate language
  38. Translate an article into another language (and maintain it).
  39. Update cjdns without pinging out on IRC.
  40. Configure an authorizedPassword without restarting cjdns.
  41. Find out whether your home router can run cjdns: OpenWrt table of hardware
  42. Try out the Meshbox firmware on your home router.
  43. Harden your cjdns OpenWrt router by building OpenWrt with cjdns from source and make sure seccomp, SSP and RELRO are enabled. Using musl instead of uClibc may make you sleep even better. See buildsdk.sh to see how this can work.
  44. Monitor your nodes' cjdns preformance and make pretty graphs with munin (hint: here's a nice munin plugin to help)

Penalties

Don't do the following, they count against your score:

  1. Provide peering credentials without including a means of getting in contact, such as an email address
  2. Provide peering credentials with extra information in the form of line or block comments. You should be embedding them as JSON attributes instead!
  3. Provide peering credentials without the IPV6 included. (You can get by with just a password and publicKey, and your IPV6 can always be inferred from your publicKey, but it means more work to figure out who you are).

You may have noticed some patterns...