Yes, it’s been a while since last Dev Pulse. Right now, the sense I get is that everyone in the ecosystem is heads-down and focused on building. The Holochain core team is reviewing the initial draft of the Stable Validation milestone, testing the new DHT syncing algorithm, and integrating an interim networking layer that uses simple TLS-encrypted TCP connections, either direct or through a relay server. Meanwhile, the Holo hosting team is testing and bugfixing Elemental Chat and the hosting infrastructure in preparation for the Longitudinal hApp Testing milestone. The Launcher is getting ready for a new release with a very special hApp for developers. And finally, many developers in the ecosystem are busy working on getting their products to a mature state.
Three latest releases: maintenance work
These releases are mostly about maintenance on build dependencies, automated tests, and continuous integration / release scripts.
Holochain 0.0.136
Breaking changes: none
Compatible HDK versions: 0.0.129, 0.0.130
Holochain 0.0.137
Breaking changes: none
Compatible HDK versions: 0.0.129, 0.0.130, 0.0.131
This release brings documentation edits, as well as an update to the Lair keystore that fixes an issue with spaces in paths (#1349). (Note: another such issue was found yesterday; the fix will be in the next Lair release.) Read the full changelog.
Holochain 0.0.138
Breaking changes: none
Compatible HDK versions: 0.0.129, 0.0.130, 0.0.131
Note: the HDK didn’t get a version number bump in this release.
AKASHA Conversations: Intentional culture design for moderating
The AKASHA Foundation is a think tank dedicated to investigating and supporting what humane social media might look like. This year they’ve started a series of conversations exploring various topics, and in May they invited Neighbourhoods’ Emaline Friedman to share about what it takes to build a community culture that supports its own health. Emaline avoids buzzwords and speaks in pragmatic terms; it’s worth a listen if you’re designing any app with a social/community element! (I reckon that’s pretty much any app nowadays.)
Wednesday Workshop: Keyword index
This has been the first Wednesday Workshop in a while. It was an effort to address the immediate need of Clutter, a microblogging hApp: every good microblog, Clutter included, needs searchable hashtags! So this session worked on building a generic keyword indexing module with type-ahead search.
This module is, of course, something that almost every hApp needs (in the words of one workshop participant, “lots of things” he’s working on could use it).
The usage is simple: first, you think up a bunch of keyword types for your hApp (for example, `hashtag` or `cashtag` or `category`). Then, when you want to make a DHT entry discoverable, you give the entry’s hash, the keyword type, and a bunch of keywords to the `index_hash_by_keywords` function. And when you want to search, you pass the keyword type and as many keyword prefix characters as you like to the `search_by_keyword_prefix` function, which gives you back a bunch of DHT hashes along with the full matched keyword.
Behind the scenes, the indexes are built on `Paths` sharded by the keyword type and the first letter of the keyword. This makes it faster to search, and avoids DHT hotspots. If you think your hApp’s DHT is going to have a lot of keywords, you may want to fork the module to shard by the first two, three, or more characters.
You can find the initial source code in the holochain-open-dev/keyword-index GitHub repo, and watch the video here:
Demo video: Scaffold a hApp in 10 minutes
As you may know, Holochain co-hosted the Web3 track once again at this year’s FOSDEM open-source conference. A number of people presented on Holochain, but one of the videos I never shared — until today. My colleague just shared this video with me, called Scaffold a hApp in 10 minutes. In it, Guillem Cordoba, an active community member, educator, and hApp developer, demonstrates how to use the Holochain scaffolding GUI to build a basic CRUD app with a generic UI.
The video is on FOSDEM’s own video hosting platform; you can watch it by clicking on the still image below.
Cover photo courtesy of The U.S. National Archives via Wikimedia