---
# System prepended metadata

title: Meeting Minutes
tags: [Templates, Meeting]

---

Meeting Minutes
===

###### tags: `Templates` `Meeting`

:::info
- **Location:** https://ucdenver.zoom.us/j/97994358165
- **Date:** November 17, 2022, 2:30 PM Mountain
- **Participants:**
    - Amy Roberts (AR)
    - 
- **Meeting Goal(s)**
    - Identify action items for data-description language (Kaitai!)
:::

## Summary
<!-- Please fill me in after the meeting -->



## Notes 
<!-- Other important details discussed during the meeting can be entered here. -->
- made a OSF project so we can share protected links, 
- Jim notes that Kaitai requires re-compilation for new data formats.  An example where this would be needed would be ROOT files, which can have different byte layouts with custom data types
- Kaitai is quite complex, so making a compiler that re-creates all its features for e.g. AwkwardForth would be quite a large project
- Jim suggests:
- Modify the Kaitai C++ compiler code so that it also inserts the LayoutBuilder code so that it generates code for Awkward Array, which is useful from both C++ libraries and python.
- Who could work on this?    
    - [Manasvi Goyal](https://iris-hep.org/fellows/ManasviGoyal.html).  How much funding do we need for one year, does that fit in her timescale, where does that funding come from?  IRIS-HEP fellows are paid $3000 for three months?
    - Andrea Zonca has time on this grant
- Jim has an alternative motive!  EventIO is used in gamma astronomy and they want to use it in python ([ctapipe](https://github.com/cta-observatory/ctapipe))
- Amy would like to form a group of people other than CDMS we can use to test out our project
- Kacper's issue with Kaitai
    - It's a fairly complicated language!  Writing the description of data from scratch is difficult.
    - The generated python code does the wrong thing (Amy and Jim would agree).  Big chunks of data stored in a dictionary.  yt needs python code!
    - When writing the Kaitai YAML, you need to be thinking about how the compiler will work.  Minor changes to the YAML will result in very different compiled code
    - The python code isn't usable unless you use opaque types, at which point you lose the portability
    - The Kaitai community is not very welcoming.  This is a major issue that we shouldn't ignore!
- Jim felt that the C++ compiler is okay, if old-fashioned.
- Jim's thought is
    - Add a new backend that generates C++ gets wrapped in a python extension module that runs compiled loops to walk over the data structure and produce an awkward array.
    - Kacper: awkward-array is a much better target to integrate with as opposed to Kaitai's data structure
    - [Example of how to use LayoutBuilder](https://github.com/impy-project/impy/issues/65#issue-1374710755)

Alternatives to Kaitai:

  - [DFDL](https://www.ogf.org/ogf/doku.php/documents/documents)
  - [Construct](https://construct.readthedocs.io/en/latest/intro.html)
  - [Wuffs](https://github.com/google/wuffs)
  - [ycombinator discussion](https://news.ycombinator.com/item?id=30715406)
