apjanke / neuropixel-jankify

Project management for Andrew's 2021 Neuropixel Utilities enhancement project
MIT License
1 stars 0 forks source link

Use and enhance npy-matlab #8

Open apjanke opened 3 years ago

apjanke commented 3 years ago

On a separate fork, implement (that is, switch to using and being a client of) kwikteam/npy-matlab: via subtree to develop a proof-of-concept for discussion with the npy-matlab owners. npy-matlab is experimental code to read/write NumPy .NPY files in Matlab.

apjanke commented 3 years ago

I looked at the kwikteam/npy-matlab repo, and there's really not much there. 300 lines of code. I also think their current basic approach of writing it all in native Matlab code may have trouble going much further, given the row-major vs column-major and endianness issues with the NPY file format vs. Matlab's native behavior. If all the files are small enough to fit in memory, fine. If not, problem.

If we want to do something here, we may be better off just rewriting it from scratch.

vijayiyer05 commented 3 years ago

@apjanke For this sprint, I'm thinking less about the npy-matlab functionality or implementation itself, and more about the mechanics of working with external projects. One thing I've heard from multiple domain-driven (i.e. busy) MATLAB community toolbox authors is that they haven't had time to sort through the subtree/submodule git options and generally set up this sort of workflow. I was thinking this could be a good opportunity to try this out, time permitting.

apjanke commented 3 years ago

Oh, I have some ideas there.

Git submodules are not one of them. Git submodules suck, and are very difficult to use correctly, even for an experienced software developer.

I'm thinking something more like a "vendored" library structure, similar to what's in the lib/ dirs in Janklab and MatlabProjectTemplate.