Open JackKelly opened 3 months ago
Some more names. I'm aiming at single syllable "nonsense" words. Single syllable is good so it's fast to say, and easy to append with sub-crate names (like farr_uring
or farr_object_store_bridge
, or farr_io_python
for the Python API to the IO layer).
(In order of preference: My favorite first)
farr
: fast array. Available on cargo.
farr
will take you far [with minimal effort]." farr_uring
, farr_zarr
(sounds a bit odd!), farr_object_store_bridge
, farr_io_python
.roar
: rust OOC array. (Where OOC = out of core). Available on cargo. Gives a sense of "power" and "speed" (but doesn't give a sense of efficiency). Nice nod to "Rust". Needs explaining when said out loud though: "'Roar' as in a lion's roar. Not 'raw' as in uncooked!". The acronym is rather clumsy, and we'd need to explain "OOC". Perhaps one disadvantage is it sounds like an adjective in crate names: for example, roar_object_store_bridge
sounds like "raw object_store_bridge
". This is especially a problem for roar_uring
!!
roar_uring
, roar_zarr
(sounds better than farr_zarr
!), roar_object_store_bridge
, roar_io_python
.fendar
: fast, efficient n-dim array. Available on cargo. Perhaps too long.
fendar
, but it's actually a word (a verb meaning "to split").fendar_uring
, fendar_zarr
(sounds better than farr_zarr
!), fendar_object_store_bridge
, fendar_io_python
.fendar.io
and fendar.dev
are availablefenda
: fast, efficient n-dim array. Available on cargo
farray
: as in F array. Like xarray. (Available on cargo. But there already exists a afarray
crate).
afarray
crateglidarr
: glide array. Available on cargo.Possible alternative names (these are all from Vincent Immler! Thanks Vincent!):
How about hopper-io
, after Grace Hopper β credited inventor of the compiler?
Not sure if I understand the gubbins of what you're doing and how enough, but "hopping" could be also a fun verb for input-output in a super quick way! Can even imagine the name being "genericised" and becoming verb ("to hop"/"to hopp") if this did become a widely-used library, as is the hope...
Also I guess it makes sense as a method/tool for delivering things, as in a grain hopper etc. β looks like hopper
is a crate already, but doing something that sounds very different and probably not easily confused? But, again, I am not a Ruster. π
How about
hopper-io
, after Grace Hopper
Oooh, that's a nice idea! Thanks so much for the suggestion!
I must admit that I'm trying to move away from names with "IO" in them, because - ultimately - I'm expecting this project to be just as much about efficiently and quickly computing multi-dimensional arrays as it's about IO!
Also - unfortunately - "Hopper" is the name of Nvidia's previous-generation GPU architecture!
I always had the concern as well with lightspeed_io
that lsio
is already the short name for a popular provider of docker containers linuxserver.io - first thing on my google when I search "lsio" (but I'm perhaps entering with a biased algorithm!) - what with it being reasonable overlap in domain (software) I think another good reason to consider different names.
My two pence: short and snappy takes precedence. farr
, roar
I like, and actually pretty partial to πears
, I think you could bump that up the list! Appreciate it would be hard to search but so often I have to put a programming language qualifier after a tool search I don't think that's a problem!
So I'm not a completely useless armchair commenter here's a couple more ideas, although I don't think they're better than any of yours already:
scram
- suggests speed due to the scramjet, could stand for something like Speedy out-of-Core (Random Access) Memory array processor. π "Tell your slow compute tasks to scram
!"'ard
- e.g. ARray data processor. Maybe not enough in the name for the magnitude of the task and might be weird as a prefix. "Make 'ard
tasks easy!" mdma
- suggests speed due to...! Could stand for something like *Multi-Dimensional out-of-core Memory Array processor, and the taglines make themselves up!Loving following the work so far Jack!
(Also, to think all this time I thought Fender guitars was spelt with an "er"...! π)
Thanks @devsjc - these are great comments and suggestions! Thank you for flagging up "LinuxServer.io". I agree: that's so similar that I think I definitely do need to change the name!
After "sleeping on it" over the weekend, I think I'm going to opt for farr
(short for fast array). I'll admit that I'm not wildly in love the name! But it makes logical sense, it's concise, and I'm not aware of any deal-breakers.
If you have better suggestions, or if you can see a fatal flaw in the name farr
then please shout now! If not, I'll probably rename the project to farr
early next week
Random thought, looks like you've resolved this thread, but I'll put here anyway β how about sting
?
Or another very different one β corten
, after the steel alloy(?) which features an intentional, protective layer of rust
, because this is the most dependable way to not develop rust
in an uncontrolled manner when you build something, and as it will probably end up having rust
somewhere (maybe everywhere) at some point, it's best to start with intentional, well-planned and well-founded thin layer of rust
from the very start of the process.
The metaphor is in there somewhere.
Ooh, nice suggestions!
corten
is cool! (Also, I honestly only just realised that it's spelled "corten"! I'd heard "corten" said on Grand Designs, but I always thought that Kevin was saying "core 10"!)
There is an existing crate called corten
but the description of the crate says "Rust is good for metal. Just reserving a cool name. Willing to transfer ownership if requested."
If we can think of a way to link corten
to processing large arrays (!) then that'd be awesome :slightly_smiling_face:... something about corten
being strong and beautiful, whilst also working with the environmental conditions, maybe?!
Or a cheesy backronym?!
Yeah I didn't know what it meant for an embarrassing amount of time too π if your googling hasn't already pointed this out, I'm pretty sure it's an elision/stands for its two main properties, "corrosion resistance" and "tensile strength"...
It is a structural material, often in beams, which simplistically are 1-dimensional (or at least single axis), so in a multidimensional way of putting stuff together, (up to 3 at least) it stacks up... π haha
In the last few days, several people have commented how much the like the name "light speed IO".
I'm not sure what's best to do with the name: leave it as is, or change it!
So... we probably do need to move away from LSIO
... but some folks do like the "light speed" part of the name.
Maybe we can keep "light speed" in the name? Some options:
light-speed-array
: LSA
.
light-speed-array
and LSA
are available on Crates.io.lsa_io
, lsa_object_store_bridge
, lsa_uring
.c
, so light-speed-array
becomes c-array
(although that might be confusing with the programming language C
!)light-speed-data
: has an unfortunate acronym!
cd
as the acronym. But that's somewhat confusing too!
Problems with the name "light speed IO":
lsio
is ambiguous (isl
a lowercaseL
, or the digit 'one', or an uppercaseI
)?!lsio_io
is a bit ugly.None of these problems are deal-breakers. So maybe I should just stick with LSIO.
Thoughts about a better name
Chunker
has the right meaning, but it's an ugly word, and sounds like 1990's slang for throwing up!glide
(because of the idea of efficiently using the resources available) but glide is already a thing: https://crates.io/crates/glideAny thoughts?