Holochain Forum

Coding together online on October 9th!

@ViktorZaunders i intentionally stepped back from managing the weekly conductor releases

i’m focussing on things other than trying to decide what is in/out of the conductor release each week (feature management, QA, etc.), which is a PITA if for nothing more than the Melbourne timezone being really inconvenient to do this kind of planning from :sweat_smile:

the holonix config file will always point to the latest version of itself, if you have a known-good version that works for you for both holochain and hc then go ahead and use that

that said if you are someone who prefers nix-env over nix-shell i recommend trying out v0.0.31 as it removes the need for nix-shell completely if all you need is holochain and hc (i.e. you don’t need anything more than the standard holochain and/or hc commands) - V0.0.31 of holonix shipped - it does this by “wrapping” hc in its own version of rust/node/etc.

pragmatically though… definitely do a dry run of any specific code examples before the day, it’s so easy for a simple typo or missing step to derail people who are new to the process

1 Like

thanks David! We will try decide and try it out.

Maybe @guillemcordoba has input on this?

Hi there!

I think having the nix configuration files (config.nix and default.nix) as you have already on the repo is probably enough, as collaborators can clone and just nix-shell into it. That’s what always has worked best for me. I’ve tried the last version of hc v0.0.30-alpha6 and that worked perfectly.

I’d be happy to set up a stream, never done it but shouldn’t be that difficult.

1 Like

ok, great! Really looking forward to experimenting together :slight_smile:

1 Like

Hi! I’m interested in collaborative coding sessions; however as I am in Sydney the times don’t work well for me and my circumstances.

1 Like

Hey! Yeah, I get that, EU and Australia sure is a pain to coordinate :slight_smile:

I’ll try to document this so maybe next time you or one of the other people down there can hold the space! If I host another one later, maybe we can shift times for that too.

1 Like

Hey again,

Looking forward to experimenting with those of you who make it to tomorrows session. :microscope:

Here is a link to the zoom room where we meet at 2pm Central European Time (I’ve also updated to post above to include the link). ping @hedayat, @guillemcordoba, @raphisee


Hi @ViktorZaunders, when is the next session?
I would love to join you .

1 Like

hey @lylycarrillo, nice to see you here :slight_smile:

We actually were planning to have a follow up session on saturday but I need to reschedule that (did y’all see my mattermost message @hedayat, @guillemcordoba, @raphisee?)

I am still processing some video here too but will post some harvest from the last session with reflections on that when I am ready!

Will keep you posted for what happens next @lylycarrillo :slight_smile:

1 Like

@ViktorZaunders I can attend our codding session during the week days after 4:00 pm CET time. I can not leave my company sooner because of our working hours rule.

Reflections and learnings from the first SymCode session

There were four of us that showed up for the first symcode session that was planned for October 9th 2019. @guillemcordoba, @hedayat , @raphisee and myself. Thanks to all of you for doing that, It was fun! :smile:

And I got to learn a bunch of stuff.

Learning about the process

Even though this was the third time this app would be implemented, it was still pretty har do to scoping for what could be done in the timewindow that we had set up (4h).

It took us about an hour and a half before we split into seperate tracks. We ended up scaffolding (defining structures of entries and functions) and re-writing the application from scratch again.

Having people broadcast their coding (and recording at the same time) is really interesting. It was great to be able to drop in on another person coding once I got stuck in what I had set out to do.

Also, the ability to just start speaking in the zoom chat and pull the others in to resolve some question was also really satisfying.

Some of the materials harvested

There was a bunch of materials recorded, which has been cut and uploaded to youtube. Following I will embed the videos with descriptions of what you can find in them and when. (all videos are also in this playlist)

If you want to look at the HackMD document we used for scaffoling it is here:
A short background on the application can be found in the Readme on the repo here:

part 1 - the setup video

The video is footage of us going through structuring the rebuilding of the application from scratch.

Guillem is walking us through the structs for the entries, considerations on choosing multiple or single zomes as well as what functions will be needed for a minimal “functional” application.

Towards the end of the video Guillem also intializes the repo using command line interface tools.

2:45 What structs do we need for the entries?
8:30 Do we make one or two zomes?
15:00 What functions do we need?
19:00 Updating the structs, do we need another type of entry?
26:43 Iniation of the Holochain Project (HC Init)
31:50 Generating zomes using the rust-prog macros (HC Generate … rust-proc)

part 2 - regrouping for questions

In this part we regroup to go through some questions and clarifications.

(applologies for the DC power noise from time to time I think it is my laptop that is conducting)

Q: How do I retreive all the books to find which ones are mine?

Q: Should there be links from requests_to_borrow to the owner of the item? How does that work since they are two different zomes?

8:00 Creating the get_owner function in the books zome

13:00 Q: How can we use the AGENT_ADRESS when linking in the functions?

15:00 Linking from AGENT_ADRESS to an entry

17:00 Q: Why do we need links when the books have their owner in the entry?

20:00 Q: What is the difference between link-entries and normal entries around how they are stored on the DHT? How does that help us with speeding up querying?

part 3 - Connecting a UI

A short walkthrough of the UI that guillem started to create, how it talks to the backend and how to connect it to the conductor. The UI is built with: https://lit-element.polymer-project.org/

part 4 - Code walkthrough and review

At this point we started going through the code that was produced to fix errors and

0:30 - Going through imports in the HC books/lib.rs

1:40 - Start cleaning up the HC functions from errors

6:17 - Making variables in the zome public

6:50 - Fixing the validation error parsing problems.

7:50 starting to compile code with HC package

8:20 - removing the .cargo from GIT with .gitignore

10:00 - walking through the work on tests and creating more proper syntax

11:00 - Understanding that we should not be passing the owner adress in the create_book function, by switching from the book struct to parameters

12:20 - parse the result from the functions before checking the equals to make it more reliable

Viktor attempting to write tests

(Warning: I am an inexperienced coder, this is a very slowly progressing video :smile:)

My first published livestream of writing tests:

coding happens between around 2.40 to 30:00 marks.

Guillem coding the front end

Viktor and Guillem - updating testing


We’re moving towards morphing this into the Open Learning Community:

guessing this might be interesting to some more folks @carolyn-beer, @bear, @dhtnetwork


Excited to hear about the direction. Thank you for the detailed reflections write-up!

Great! Victor, thank you for summing up this information, valuable!

1 Like

Maybe holopass could be another learning project if we get this thing flowing!


We should introduce the online coding group at the Happathon in Barcelona… might be a great group to continue on the momentum of the Happathon. Also to have a fixed date maybe in the week following the happathon.

What do you guys think?

1 Like

I think it is an excellent idea :slight_smile:

Would be happy to have a chat about it (maybe in conjunction with a little more coding if people are up for that)

1 Like

sounds great! I’m always up for a chat :slight_smile:

Are you coming to Barcelona as well? would be wonderful to see you again!

1 Like

Unfortunately not :frowning: would love to see you all again, but can’t make it this time.

I’m a little pressed for time in the coming two weeks. Would folks be available for conversation and coding on Wednesday the 6th of November, afternoon?

@hedayat @guillemcordoba @lylycarrillo @raphisee?


Yes. I’m available