light-speed-io
light-speed-io copied to clipboard
Maybe change name (away from LSIO)
Problems with the name "light speed IO":
- This project will ultimately be at least as much about compute as about IO! (This is the main problem!)
- "Light Speed IO" has always felt just a bit too cocky!
- What does "light speed IO" even mean, in a physical sense?! (The signals within your computer will always propagate at light speed! TBF, I think I've heard performance software engineering folks occasionally talk about "understanding the speed of light for your domain" which means "understanding the fastest the hardware can possibly go"... but maybe I imagined that, because I can't find anything relevant on Google!)
- "Light Speed IO" isn't great for search engine optimisation.
- In lowercase, the first character of
lsio
is ambiguous (isl
a lowercaseL
, or the digit 'one', or an uppercaseI
)?! - (At least) two existing companies have very similar names:
- UPDATE: linuxserver.io - a popular provider of docker containers (thanks Sol for pointing this out in a comment below!)
- https://www.lightspeedhq.com/ "Lightspeed is the unified point of sale and payments platform powering the world's best businesses". But it's not a dealbreaker IMHO. Because LSIO is such a different domain.
- There's also the SpeedLight.io: The SpeedLightβ’ Viewer: "Web & mobile Second Life viewer". This is perhaps more of a clash with Light Speed IO, because SpeedLight.io is the exact same words, just the first two switched round!
- How do we refer to the IO layer?
lsio_io
is a bit ugly. - Saying "LSIO" out loud is just as many syllables as saying "light speed IO"! (This is a very minor problem).
None of these problems are deal-breakers. So maybe I should just stick with LSIO.
Thoughts about a better name
- Maybe something about processing data in chunks?
-
Chunker
has the right meaning, but it's an ugly word, and sounds like 1990's slang for throwing up!
-
- The main common theme is processing multi-dimensional, labelled arrays that are too large to fit into RAM, and to do so efficiently as possible on modern hardware.
- I like
glide
(because of the idea of efficiently using the resources available) but glide is already a thing: https://crates.io/crates/glide- glider is OK. Except for the similarity to glide. Glider is also a rust crate, but looks like it's not in development
- I should look at synonyms of glide
Any thoughts?
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).
My favorites
(In order of preference: My favorite first)
-
farr
: fast array. Available on cargo.- Nice nod to Zarr (where the "z" stands for "compressed", and the "arr" is from "array").
- Interpreting as "far" is quite nice: "
farr
will take you far [with minimal effort]." - Internal crate names look OK:
farr_uring
,farr_zarr
(sounds a bit odd!),farr_object_store_bridge
,farr_io_python
. - Existing companies / products:
- farr.com: "For 100 years the Farr Law Firm has served Southwest Florida and is the oldest and largest law firm in Charlotte County. The firm tackles complex legal problems while staying rooted in the same small town principles you value. The multi-practice law firm addresses the needs and challenges that face both individuals and businesses."
- Farr Vintners: Based in London & Hong Kong.
- FARR (a music band).
- Farr's Dalston A bar in north London.
- Also see the Farr disambiguation page on WikiPedia.
-
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 "rawobject_store_bridge
". This is especially a problem forroar_uring
!!- Internal crate names look OK:
roar_uring
,roar_zarr
(sounds better thanfarr_zarr
!),roar_object_store_bridge
,roar_io_python
. - A lot of things are already called "roar"! See the WikiPedia disambiguation page for Roar, which has 31 entries!
- Existing companies / products:
- roar.com: "High quality topic based PPC advertising"
- Internal crate names look OK:
-
fendar
: fast, efficient n-dim array. Available on cargo. Perhaps too long.- I didn't know this when I first suggested
fendar
, but it's actually a word (a verb meaning "to split"). - Internal crate names look OK:
fendar_uring
,fendar_zarr
(sounds better thanfarr_zarr
!),fendar_object_store_bridge
,fendar_io_python
. - Existing companies / products:
- A manufacturer of guitars! (But not the "really famous" Fender Guitar, which is spelt with an 'e'!)
- There was a UK company (a management consultancy) called FENDAR Ltd, but it closed in 2017.
-
fendar.io
andfendar.dev
are available
- I didn't know this when I first suggested
-
fenda
: fast, efficient n-dim array. Available on cargo- Existing products / companies:
- en.fenda.com: Fenda Technology, China.
- Apparently already a word. It's a noun meaning "crack, slit, cleft". Apparently it's also used as a vulgar reference to female anatomy, which probably rules this out!
- Existing products / companies:
-
farray
: as in F array. Like xarray. (Available on cargo. But there already exists aafarray
crate).- Related products / companies:
- Farrey: a 2023 Indian Hindi-language heist thriller film.
-
afarray
crate - ArrayFire
- Related products / companies:
-
glidarr
: glide array. Available on cargo.
Other names I've considered, but don't really like
- fars: fast array rust (too similar to farce)
- fear: fast efficient array (but I don't want to induce fear!)
- ear: efficient array. Not available on Cargo.
- earr
- ears
- endar: efficient n-dim array
- fooc: fast out of core (too close to the northern-British pronunciation of f**k!)
- nooc: n-dim OOC
- oocar: OOC array
- foar: fast OOC aRray
- fand: fast array n-dim
- faeoa: fast and efficient OOC array
- fnd: fast n-dim array
- foon: fast OOC n-dim array
- roon: rust OOc n-dim array
- fioc: fast IO & compute
- fac: fast array computation (too close to f**k).
- eac: efficient array computation (too close to eak!)
- fcomp: fast computation
- ecomp
Possible alternative names (these are all from Vincent Immler! Thanks Vincent!):
- warpspeedio (because it is fast)
- wormholeio (gets you from one place to another without long travel)
- gigaio (haha ...)
- octopusio or krakenio (its tentacles representing the many async threads)
- overdriveio (put your stuff on overdrive!)
- hyperspeedio (hmm ... tooo lengthy)
- tachyonio (I like this one and it is very unique) [1]
- rexio (because it rules)
- maximusio (because it maximizes throughput)
- summitio
- pinnacleio
- spearheadio
- the goal is, we want to be faster than just light. "just as fast as light β booooring" π
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 toscram
!" - πͺ
'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
?
- Fast in and out;
- Available on cargo with no similar ones I can see?
- Nice wordplay in combo with array (if slightly reminiscent of a native Japanese speaker with a strongly accented pronunciation of the marine animal) β which could double as a logo/icon idea.
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?!
Although, that said, plenty of software packages have names which have absolutely no "deeper meaning"... ruff
, pandas
, polars
, tokio
, etc.
So, maybe corten
is still a good name, even if it has nothing to do with arrays!
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
.- Both
light-speed-array
andLSA
are available on Crates.io. - Sub-crate names sound OK:
lsa_io
,lsa_object_store_bridge
,lsa_uring
. - Still has the problem that the lowercase "L" is ambiguous in some fonts.
- Both
- Use the Physics convention of shortening "light speed" to
c
, solight-speed-array
becomesc-array
(although that might be confusing with the programming languageC
!) -
light-speed-data
: has an unfortunate acronym!- Could use
cd
as the acronym. But that's somewhat confusing too!
- Could use