You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Consider adding instructions to other python frameworks. Some people suggested that using jupyter notebooks makes it easier to follow the tutorial. However instructions are not clear on how to launch a jupyter notebook from the command line using uv (uv run jupyter-notebook). I have mixed feelings about this as I am actually against using jupyter notebook overal, but leaving it here as it is a common pain point. Maybe we could consider marimo but I think we will need to help people setup anyway... (Also, most of the troubles with installing the package, or using environments results from rogue conda installations. God I hate conda...)
"Normalizing" timestamps from to "0". This is something that @banchan86 brought up and several people also do. I dont think we want to do this as it is an error prone transformation on the data (e.g. you need to do it for every single stream, exactly once), and I cant get a satisfying answer when I ask "why is it useful"? Nevertheless, if people want this behavior, I think we should document the "write to the seconds register" strategy to force a known offset during acquisition instead of relying on post processing. It should be noted that "read" already has an optional epoch that can be used to achieve something like this. But, once again, it would need to be passed to every single read.
Add instructions on how to run scripts using uv (again not sure this is the goal of the tutorial, but...)
Add plt.show() to all tutorials to make sure running the snippet will render a plot
Add a blurb about the meaning of "register". Maybe drawing an analogy between "register" and "function" or "state" could be a a way to go about it.
Consider adding an hint about automatically naming CSV files to prevent crashes due to name conflict. This happens quite often as people are trying to debug the workflow
Explicitly bind the name of the file created in HobgoblinDataWriter and the one used during the python analysis (Hobgoblin.harp)
There is no way to know what is the name of the registers and it is not explained anywhere. People are forced to infer from the name in the register in the Parse node. However the Parse node has the Payload suffix which makes it a bit awkward. If people use jupyter, then get autocompletion which is nice, but there is no "easy" way to know the name of all register otherwise. I am wondering if we should just overload the str method of (RegisterMap) to print all available registers. I dont like this as it makes the print statement quite long. Alternatively we could add a syntactic sugar method to the reader class that simply calls RegisterMap.keys() or, finally, simply document list(reader.registers.keys()) as the way to list all available registers.
The note at the end of exercise 10 should not be marked as optional. It is an extremely useful exercise to go through.
Day 1
uv run jupyter-notebook). I have mixed feelings about this as I am actually against using jupyter notebook overal, but leaving it here as it is a common pain point. Maybe we could consider marimo but I think we will need to help people setup anyway... (Also, most of the troubles with installing the package, or using environments results from rogue conda installations. God I hate conda...)Hobgoblin.harp)RegisterMap) to print all available registers. I dont like this as it makes the print statement quite long. Alternatively we could add a syntactic sugar method to the reader class that simply callsRegisterMap.keys()or, finally, simply documentlist(reader.registers.keys())as the way to list all available registers.