---
# System prepended metadata

title: Tech party
tags: [MCD-archive, tech party]

---

---
tags: tech party
---

# Tech party

## 2023-June-15

### Health (mental, physical)
 - [name=Pavlo]: 
   - better, getting way too hot already.

- [name=Quyen]:
    - I am doing good, just finished the Dungeon-game.


### What went well
 - [name=Pavlo]: 
   - figured out how to split my work in smaller mr's
   - most things for Q2 got merged

- [name=Quyen]:
    - The work of Dungeon and demo went well. 
    - Moving the code of Dungeon from marigold to tezos.

### Pain points
-  [name=Pavlo]: 
   - Nicholas isn't a fan of Generator.DSL and all the improvements that are not strictly Q2 get backlogged.

#### Follow up action
:::info
- [name=Pavlo]: I create large MR's that are taking long time to review, I need to start doing smaller MRs.

Follow up:
- [name=Pavlo]
     - started doing smaller mrs
:::


### What I learned
- [name=Pavlo]: 
    - Started reading DAC docs 
    - gained experienced with writing DSL's that depend on exclusion of values in ocaml.

- [name=Quyen]
    - Understand more about Rust language itself, kernel and the sequencer.

- [name=Pavlo]:
  -  https://leanprover.github.io/
  -  Trading platform: skin marketplace on Tezos using tickets



## 2023-June-1st

### Health (mental, physical)

- [name=Pavlo]: had some issues with overfocusing on stuff.........
- [name=Quyen]: good because I have a lot of day off this month.

### What went well
- [name=Pavlo]: 
    - Generator.DSL for benchmark definitions 
    - grouping for benchmarks
    - some progress on parallelization of benchmark runs.
- [name=Quyen]: 
    - Alcotezt Q2 is nearly finished.
    - Dungeon has the first demo on protocall.

### Pain points
- [name=Pavlo]: I create large MR's that are taking long time to review, I need to start doing smaller MRs.

#### Follow up action
:::info
- [name=Pavlo]:
    - Reviews bottlenecking.
    - Follow up: it is better now.
:::

- [name=Quyen]: I don't have any pain points atm.

### What I learned
- [name=Pavlo]
    - Codensity
    - indexed monads (hs, not really possible in ocaml egonomically)
    - type families (hs)
    - ocaml, writing dsl with constraints on types on step by step basis

Some references:
    - Tagless final usage in Tezos: https://gitlab.com/tezos/tezos/-/blob/master/src/lib_benchmark/costlang.ml

Some other resources:
    - Tagless-final https://okmij.org/ftp/tagless-final/
    - Type using object types constraint https://research-development.nomadic-labs.com/labelled-type-parameters-in-ocaml.html
    - Type families explanation: https://serokell.io/blog/type-families-haskell
    - Example of using type families to model AST: https://www.microsoft.com/en-us/research/uploads/prod/2016/11/trees-that-grow.pdf

- [name=Quyen]:
    - Technical: ReactApp, Rust, Sequencer and SDK-kernel
    - Game: understand a bit about the game devs while developing the Dungeon

## 2023-05-04

### Health (metal, physical)
- [name=Pavlo]: had covid, now better.
- [name=Quyen]: feeling beter after 4 days break.
- [name=Renato]: Better than previous weeks, but there're some issues with personal life that are affecting my mental health.

### What went well
- [name=Pavlo]: 
     - Grouping MR for benchmarks, that would allow us to clearly define inference group is up for review 
     - UX and tech debt in snoop is getting worked on.
- [name=Quyen]:
    - All the MRs of Alcotezt-Q1 and Alcotezt-UX have been merged.
    - Alcotezt-Q2 has been started, the MRs are under reviews and soon be merged.
    - Dungeon rust project with sequencer at the moment is good. 
- [name=Renato]:
    - Floating point issue finally resolved, Michael fixed it on tezos-on-tezos which I previously thought would be impossible.
        - [name=Quyen]: do you a link of the MR for it?
        -  [MR](https://github.com/baking-bad/tezos-on-tezos/pull/19)
    - Could finally originate a tezos-on-tezos kernel, did it on ghostnet and mondaynet.
        - [name=Quyen]: originate a tezos-on-tezos kernel? what does it mean?
        - [name=Quyen]: link of MR or documentation?

### Pain points
- [name=Pavlo]: 
    - Reviews bottlenecking
    - Reviews bottlenecking

- [name=Quyen]:
    - Rust language: I am new in it, so it takes me more time to implement.
    - React: absolutely new, so takes time to learn.

- [name=Renato]:
    - Personal issues left me so overwhelmed I couldn't communicate.
    - Lack of documentation and concern about compability made it too hard to do some stuff on TzOTz.
        - [name=Quyen]: what is TzOTz? (tezos-on-tezos)
        - [name=Quyen]: what kind of documents that you find missing? 
        - [name=Quyen]: action: list the issue of lacking document and share it with #marigold-core-dev?


#### Follow up action
:::info
- [name=Pavlo]:
Communication is hard because the rest of the team is on Japan timezone, so catching anyone for a meeting or pairing session is hard.
KT(Knowledge transfer) and reaching consensus on design decisions(timezone, again)
Merge approvals and cross team communications setup
Life bureaucracy stuff eats time like crazy.
   - Follow up: 
       - Pack more time into paper stuff than even the pessimistic scenario. 
       - Ping everyone about KT base
       - Bring up reviews in next meeting.
- [name=Quyen]:
The review meeting stressed me out.
Waiting for the next project(s).
    - Follow up:
        - The stress gone because I got some time off to refresh, so it is good.
        - next project(s): got involve into the dungeon side project and working in the Alcotezt-Q2.
- [name=Renato]:
Communication when mental health is a big problem is too hard. Lack of understing of the tezos-on-tezos project is probably keeping me behind schedule.
    - Follow up:
        - Handle my personal issues
        - Take care of my mental health
        - Talk to Michael (from baking-bad), see what I can learn from him. Probably schedule a meeting.

:::


### What I learned

- [name=Quyen]:
    - Rust in general I guess.
- [name=Pavlo]: 
    - Modes in ocaml (ocaml-jst repo: https://github.com/ocaml-flambda/ocaml-jst), i don't like the multisignature design with `@` to concatenate signatures and modes. 
        - [name=Quyen]: the link of the multi-signature that you don't like?
            - For example: [link](https://github.com/ocaml-flambda/ocaml-jst/blob/main/jane/doc/proposals/data-race-freedom.md#mode-polymorphism--new-mode-syntax).
        - [name=Pavlo]: suggestion to change:
            - haskell style linearity or effect syntax style
- [name=Renato]:
    - Octez client makes a lot of checks on the Tezos node before actually executing something (is the node bootstrapped? which is current protocol? etc)
    - Learned how to track down specific instructions on a wasm kernel, also learned more about how Rust compiles to wasm.
        - https://github.com/baking-bad/tezos-on-tezos/issues/15

## 2023-04-20

### Health (metal, physical)
- [name=Pavlo]: 
   - Tiredness kinda going away, probably a seasonal thing to begin with.
   - a bit of back pain.

- [name=Quyen]:
    - Ok, a bit tired, but still beareable. But there is a sign of exhausion. 

### What went well
- [name=Pavlo]: 
   - Finally clearly defined what we want to do with the snoop interface. 
   - Should be able to close two issues with one MR that will add a more clear nuance of inference/benchmark groups. 
   - Auto-build feature of snoop is progressing nicely, same for memory allocation benchmarks and cost function codegen assosiated with that.
- [name=Quyen]
    - The Alcotezt and the UX each has only 1 MR left to be merged (1 needs MT bump, another need one more approval)
    - There is another project follow up of Alcotezt
    - kernel-gallery:
        - Working a bit on the kernel-gallery with the dungeon simple example, has the kernel run on the SORU and got it run on the debugger of the kernel as well.
        - Next step is to work on the react app and see what can do next.
            - [name=Pavlo] .idea:
                - store game states in `{[account_addr]:[game_world_state]}` with expiration based on ticks since last update to the world state and just have the UI in react/vue/whatever to play the game on rollup.
            - [name=Quyen] .idea:
                - Having a pair programming session for kernel-gallery not only for Devs but maybe for outside.
                - Or hackathon in the future.

### Pain points
- [name=Pavlo]: 
   - Communication is hard because the rest of the team is on Japan timezone, so catching anyone for a meeting or pairing session is hard.
   - KT(Knowledge transfer) and reaching consensus on design decisions(timezone, again)
   - Merge approvals and cross team communications setup
   - Life bureaucracy stuff eats time like crazy.
- [name=Quyen]:
    - The review meeting stressed me out.
    - Waiting for the next project(s).

#### Follow up action
- [name=quyen]:
    :::info
    - Have to manage a list of MRs that are waiting to be reviewed in Alcotezt-UX because it is not in a list of priority.
        - Follow up: 
            - I closed the issue and all the MRs, and then open 2 big MRs including the left over feature that need to work on (precisely invocation headers), so that it can lift the burdens of having two many MRs for review and merged. 
            - One of them is already merged, another has 1 approve
    - Hanging situation of joining DAC team, waiting for EMs talk between each other.
        - Follow up:
            - DAC team is soon to finish so there is no opportunity to join the team.

   
- [name=Pavlo]: 
    :::info
    - Too many changes at times that affect infra part
      - Follow up: 
         - Still having to make some changes with memory-alloc benches and auto-build
    - Too cumbersome to run stuff to produce understandable results
      - Follow up: 
         - We kinda settled on the way forward of making the usage less confusing for the users and devs alike, will make a docguide for snoop devs and will update the tezos docs.


### What I learned

- [name=Quyen]:
    - It is fun to write the rust game kernel and run them on SORU.
    - The `Clap` feature of `Tezt`.
    

- [name=Pavlo]: 
    - More digging into snoop internals leads to interesting discoveries about the coupling of different elements in it and how its possible to decouple them and make them more ergonomic.
    - Ocaml switches are way lighter now with the new opam and dune versions. 
    - Getting back into compiler pet project is hard after not working on it for 4-5 months. 
    
## 2023-04-06

### What went well
- [name=quyen]: 
    - All the MRs have been merged for Alcotezt-UX, and only one MR left for Alcotezt. 
    - Able to understand the DAC documents and the code. 
- [name=Pavlo]: 
    - Gas team onboarding and general understanding of the scope, MR's are getting merged and we already simplified the usage scenarious of snoop quite a bit.
    - Understanding of the internals of the snoop is a lot better and i make less mistakes wrt infra and setup woes for it.

### Pain points
- [name=quyen]:
    - Have to manage a list of MRs that are waiting to be reviewed in Alcotezt-UX because it is not in a list of priority.
    - Hanging situation of joining DAC team, waiting for EMs talk between each other.
- [name=Pavlo]: 
    - Too many changes at times that affect infra part
    - Too cumbersome to run stuff to produce understandable results

### What I learned
- [name=quyen]:
    - Pipeline in general and the tests that have been done in this project
    - DAC designs and the code implementation.
    - Alcotezt will be removed in few years, the idea is to write test in Tezt.
- [name=Pavlo]: 
   - How snoop works
   - That local model names in snoop are useless and are just ident's for grouping
   - how code is getting generated and how the benchmark report is going
   - how to use Tezt
   - How brittle the current usage of snoop is.