Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Maybe change name (away from LSIO) #110

Open
Tracked by #13 ...
JackKelly opened this issue Mar 21, 2024 · 15 comments
Open
Tracked by #13 ...

Maybe change name (away from LSIO) #110

JackKelly opened this issue Mar 21, 2024 · 15 comments
Assignees
Labels
question Further information is requested

Comments

@JackKelly
Copy link
Owner

JackKelly commented Mar 21, 2024

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 (is l a lowercase L, or the digit 'one', or an uppercase I)?!
  • (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?

@JackKelly JackKelly added the question Further information is requested label Mar 21, 2024
@JackKelly JackKelly moved this to Todo in light-speed-io Mar 21, 2024
@JackKelly
Copy link
Owner Author

JackKelly commented Mar 29, 2024

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 "raw object_store_bridge". This is especially a problem for roar_uring!!
    • Internal crate names look OK: roar_uring, roar_zarr (sounds better than farr_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"
  • 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 than farr_zarr!), fendar_object_store_bridge, fendar_io_python.
    • Existing companies / products:
  • fenda: fast, efficient n-dim array. Available on cargo
    • Existing products / companies:
    • 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!
  • farray: as in F array. Like xarray. (Available on cargo. But there already exists a afarray crate).
    • 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

@JackKelly
Copy link
Owner Author

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" 😋

@JackKelly JackKelly mentioned this issue Mar 29, 2024
3 tasks
@braddf
Copy link

braddf commented Apr 19, 2024

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...

@braddf
Copy link

braddf commented Apr 19, 2024

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. 😅

@JackKelly
Copy link
Owner Author

JackKelly commented Apr 19, 2024

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!

@JackKelly JackKelly self-assigned this Apr 19, 2024
@devsjc
Copy link

devsjc commented Apr 19, 2024

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"...! 😉)

@JackKelly
Copy link
Owner Author

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!

@JackKelly
Copy link
Owner Author

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

@braddf
Copy link

braddf commented Apr 23, 2024

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.

@braddf
Copy link

braddf commented Apr 23, 2024

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.

@JackKelly
Copy link
Owner Author

JackKelly commented Apr 23, 2024

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 🙂... something about corten being strong and beautiful, whilst also working with the environmental conditions, maybe?!

Or a cheesy backronym?!

@JackKelly
Copy link
Owner Author

JackKelly commented Apr 23, 2024

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!

@braddf
Copy link

braddf commented Apr 23, 2024

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

@JackKelly
Copy link
Owner Author

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!

@JackKelly
Copy link
Owner Author

JackKelly commented Apr 28, 2024

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 and LSA 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.
  • Use the Physics convention of shortening "light speed" to 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!
    • Could use cd as the acronym. But that's somewhat confusing too!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
Status: Todo
Development

No branches or pull requests

3 participants