5 ms·
> The Onda Format Specification > Onda is a lightweight format defined atop Apache Arrow for storing and manipulating sets of multi-sensor, multi-channel, LPCM
by warinukraine 4y ago
> The Onda Format Specification
> Onda is a lightweight format defined atop Apache Arrow for storing and manipulating sets of multi-sensor, multi-channel, LPCM-encodable, annotated, time-series recordings.
> This format is intentionally language-agnostic; any consumer/producer that supports Apache Arrow can read/write Onda-compliant Arrow tables. For the sake of convenience, the Onda specification resides here (in the Onda.jl repository) and leverages the Legolas framework to both define and version the Arrow table schemas relevant to the format.
Terminology
> This document uses the term...
> ..."LPCM" to refer to linear pulse code modulation, a form of signal encoding where multivariate waveforms are digitized as a series of samples uniformly spaced over time and quantized to a uniformly spaced grid.
> ..."signal" to refer to the digitized output of a process. We refer to the "devices" (physical, or virtual) that sample processes to generate signals as sensors. A signal is comprised of metadata (e.g. LPCM encoding, sensor information, channel information, sample data path/format information, etc.) and associated multi-channel sample data.
> ..."recording" to refer a collection of one or more signals recorded simultaneously over some time period.
> ..."annotation" to refer to a piece of (meta)data associated with a specific time span within a specific recording.
I'm not sure if it's directly relevant for what I do, but I invariably learn a lot from reading Julia libraries; they tend to be high-quality. Certain higher quality than the average python library. This is what I'm gonna be doing tonight after dinner :-) Thanks for sharing.
- patrick451 4y agoAre they? The last time I tried to use DifferentialEquations.jl, most of the examples were broken. I've not yet run into a broken scipy example...
- europeanguy 4y agoIt's funny that you bring up DifferentialEquations.jl specifically, as that might the most advanced differential equations solver in _existence_, not just in Julia. I'll leave you to think why it might be that your take is so off.
- patrick451 4y agoI bring up DifferentialEquations.jl specifically because it is supposed to be one of the flagship julia packages. When I paste their examples into my repl and get errors or infs where I should get well behaved values, that's their problem, especially when I have the exact version installed that the docs claim to be generated from. I'm not the only one with a similar take that julia has quality control issues, e.g. https://yuri.is/not-julia/ https://yuri.is/not-julia/
- ChrisRackauckas 4y agoCan you please share which example is broken? I'd be happy to take a look. We share the project/manifest that was used with the build (https://diffeq.sciml.ai/stable/#Reproducibility https://diffeq.sciml.ai/stable/#Reproducibility), so you can see the exact versions of all packages and dependencies. The docs aren't perfect and there's many things we plan to improve within the next month (I'd be happy to detail some of what is planned), but I'd be surprised if the >10k unique monthly viewers all didn't notice that every example is broken without any issues reported (as you claim). It seems every typo seems to get an issue opened these days, but the examples haven't had a report in at least months.
- warinukraine 4y agoWhat you wanna bet that we never hear from him again? (Thanks for your work)
- patrick451 4y agoThis is one I remember https://docs.sciml.ai/DiffEqParamEstim/stable/tutorials/ODE_inference/ https://docs.sciml.ai/DiffEqParamEstim/stable/tutorials/ODE_... All of the cost function values are infinite, which results in an empty plot. There were others, but it's been too long that I don't recall exactly which ones. Edit: Here is another from the advanced tutorials DiffEqUncertainty/02-AD_and_optimization.ipynb The fourth cell produces the error Simultaneously using keywords vars and idxs is not supported. Please only use idxs. Stacktrace: [1] error(s::String) @ Base ./error.jl:35 [2] macro expansion [3] apply_recipe(plotattributes::AbstractDict{Symbol, Any}, sol::SciMLBase.AbstractTimeseriesSolution) @ SciMLBase ~/.julia/packages/RecipesBase/eU0hg/src/RecipesBase.jl:300 [4] _process_userrecipes!(plt::Any, plotattributes::Any, args::Any) @ RecipesPipeline ~/.julia/packages/RecipesPipeline/XxUHt/src/user_recipe.jl:38 [5] recipe_pipeline!(plt::Any, plotattributes::Any, args::Any) @ RecipesPipeline ~/.julia/packages/RecipesPipeline/XxUHt/src/RecipesPipeline.jl:72 [6] _plot!(plt::Plots.Plot, plotattributes::Any, args::Any) @ Plots ~/.julia/packages/Plots/aRJ6C/src/plot.jl:225 [7] #plot#182 @ ~/.julia/packages/Plots/aRJ6C/src/plot.jl:102 [inlined] [8] top-level scope @ In[4]:11 [9] eval @ ./boot.jl:368 [inlined] [10] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428
- Libbum 4y agoYou may have been reading a different version of the documentation. Documenter.jl outputs are dependent on the code actually running (and it's the package DifferentialEquations.jl uses to build its docs).
- adgjlsfhk1 4y agoOne thing that's incredibly frustrating is search engines often like to send people to really old versions of docs. I wonder if that was the cause?
- ChrisRackauckas 4y agoThis year we added a giant red banner to the top of all old documentation to try and prevent that. You can see that here (https://diffeq.sciml.ai/v6.15/ https://diffeq.sciml.ai/v6.15/). This indeed was the #1 source of all bug reports on our documentation. Reproducibility and keeping a clear history can have interesting side effects haha.