Comments (17)
Just one suggestion: "Avram" in honor of Henriette Avram a computer scientist & library scientist, who developed the MARC format which was hugely influential in electronic library systems & the organization of large amounts of data (such as those at the US Library of Congress). I don't know if she's super well known, and this would be a cool way to honor her.
from lucky_record.
@HarrisonB I love it. I think this fits in well with the goals of Lucky in general. To help do and promote good in the world. It seems like this might be a small but hopefully meaningful way to do that!
from lucky_record.
@paulcsmith don't get me wrong, I think abstract names are fun too!
I'd favor a suffix of 'Record over 'ORM. There was no end to people asking why ORM was on Granite, and eventually the project was renamed.
I actually appreciate what Rails did here with ActiveSupport, ActiveRecord, etc. Apple has a similar theme with suffixes: HomeKit, GPSKit, UIKit, etc. It creates a nice familiar namespace without tying it to the product it was developed for directly.
Amber has gone a ways down the "use gem names as a theme" path and I like the theme but it feels forced.
I'm not against a rename, but I would caution and say that it creates a lot of chaos. When the dust settles and everyone starts to move on, the github redirect from old->new dies causing a bunch of chaos a second time around :{. I only mention that because you don't want to rename twice! š
from lucky_record.
How about you name it after Dhalsim's elephant, Kodal (https://en.wikipedia.org/wiki/Dhalsim). Yeah, I had to google that a bit.
from lucky_record.
Oh yeah I didn't think of the POS system. Also you might get lots of weird results when you do "Lucky Clover"
from lucky_record.
As mentioned in the Gitter channel; +1 for abstract names š Would be cool if the name could somehow tie into the use case for the library (not that I have any good suggestions).
FWIW from your list I like Atomic and Turbine š
from lucky_record.
Iām very pro taking a leaf from the Elm community book and naming it after what it does. Or coming as close as possible. HelpfulORM or HelpfulRecord or something maybe?
from lucky_record.
A lot of these names will struggle with search-ability. I like Bokeh, for example, but what are people going to type into a search engine? I enjoy the culture of abstract names but it often hinders usability and search-ability.
I like the idea of using a pair of words, like @neurodynamic suggested. I did have a bad experience removing an ORM suffix once though...
from lucky_record.
Those are some good points. I think there are some good counterpoints too. Usually a person would pair the library name with something else that helps narrow things down, for example: "Bokeh virtual form" or "Bokeh distinct query". The same worry could be said for Rails, node, etc., but Google and most search engines learn about these word pairing and tend to get things right once it has had a few months to learn search behavior and categorize things as "programming"
The downside of more concrete names is that you run out of names quickly. There are a number of ORMs right now and I don't think there are enough adjectives to use for everyone's libraries HelpfulRecord
, FastRecord
, etc.
I think abstract names are nice because:
- They're fun :D But this is purely subjective. I know lots of people think it is annoying
- It allows for multiple Crystal ORMs
So maybe a mix of abstract and concrete names to get the best of both worlds? "#{Abstract name} ORM". Example: "Bokeh ORM", "Plucky ORM", etc.
Thoughts?
from lucky_record.
I'm quite liking "Clover". It's distinct on it's own but still carries the "Lucky" DNA it was born from.
"Clover ORM" / "CloverRecord" / something along those lines.
from lucky_record.
That's true. I think the Elm community reasoning on this has been "Let's have multiples with the same name, and differentiate by the author instead, so the purpose is always clear", but certainly that's different from how most people are thinking about how packages will be named and there are pros and cons to that approach.
If not naming by purpose, I'm a fan of misspelled or nonsense words as well, specifically for searchability. Definitely would be in favor of avoiding naming it something that has a relationship to the concept of crystals. Worst library to search for I've ever experienced was the "Shoes" library in Ruby. Searching "shoes" was useless, and "ruby shoes" not much better.
from lucky_record.
@robacarp You're right. Record is quite nice so maybe that is a good idea. I also love the Kit
and Active
that those names have.
We actually renamed a bunch of repos/shards a few months ago and it went fairly smoothly. I never liked LuckyRecord and a number of people have avoided it when using non-Lucky projects. So I'd rather do it now than later before things get big enough that it totally sucks!
I'd be curious to hear what your ideas are around making the transition easier. Was there anything in particular you'd avoid? Anything you wish you had done when renaming stuff for Amber? Also, I didn't know GitHub stops redirecting at some point :S Yikes!
@neurodynamic Yeah I want to make it searchable too! I'm so glad you brought that up.
@jayroh CloverRecord sounds pretty cool :)
from lucky_record.
Kodal seems pretty searchable, and sounds kinda cool too. I'll add it to the list
from lucky_record.
I'd say stay away from clover since it could get confused with the POS system, and they have a github repo. Also, ActiveRecord's name was taken after the pattern named by Martin Fowler before rails was a thing. But we already have a activerecord.cr package.
I like @russ's idea. The elephant related to postgres, and it's a little more obscure for better searching!
from lucky_record.
I would like some context as to why you chose Lucky, Paul. Maybe try to follow some of the same logic to the Orm? I quite like Atomic, Magma and Obsidian (although maybe Obsidian could be confused with the Amber Orm?)
from lucky_record.
@HarrisonB I never heard of her but reading her bio she seems like an awesome person. Thanks for bringing her to my attention š
from lucky_record.
Closed by luckyframework/avram#1 :D Still a bit more work to do but this is a good start!
from lucky_record.
Related Issues (20)
- Add Box#create that accepts a block
- Infer table name automatically
- Merge LuckyMigrator into LuckyRecord. HOT 2
- validate_required with a boolean field should let `false` pass
- Delegate fields in LuckyRecord::Box
- updated_at only set during creation HOT 1
- Using alternate primary key types (such as UUID) HOT 3
- Handle creating has_one nested form
- Implement distinct_on HOT 1
- UUID based has_many through
- `validates_uniqueness_of` reports error when updating existing records HOT 1
- Model definition can't have a `value` column HOT 1
- Add support for regex HOT 3
- lucky_cli & habitat as production dependency HOT 4
- LuckyRecord fails to compile on cry0.26 - Time.parse signature change HOT 1
- Add create? And update? Methods to forms HOT 1
- Preloading doesn't work when multiple associations reference the same model class HOT 3
- Can't use optional Float64 fields in models HOT 3
- Type restrictions on Form constructors to prevent opaque errors when initializing a form with the incorrect parameters HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
š Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ššš
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ā¤ļø Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lucky_record.