[HN Gopher] Transformers for Ruby
___________________________________________________________________
Transformers for Ruby
Author : felipemesquita
Score : 353 points
Date : 2024-08-20 11:54 UTC (1 days ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| riffraff wrote:
| I believe Andrew Kane is also a the author of pgvector[0],
| pgvector-ruby[1], and neighbor[2], all of which are pretty sweet!
|
| Plus a bunch of other stuff[3].
|
| Maybe he solved AI/ML by himself long ago and is using that to be
| this productive.
|
| [0] https://github.com/pgvector/pgvector
|
| [1] https://github.com/pgvector/pgvector-ruby
|
| [2] https://github.com/ankane/neighbor
|
| [3] https://github.com/ankane/
| Lukas_Skywalker wrote:
| Also:
|
| - Chartkick, a charting library for Ruby
|
| - Ahoy, a Rails analytics library
|
| - Searchkick, a Rails search library
|
| There are over 370 repos in his Github profile...
| corytheboyd wrote:
| FWIW it's 199 source repos (excluding forks). Still insanely,
| wildly productive if even 25% of those are substantive
| projects!
| felipemesquita wrote:
| And blazer[0], the closest thing to a perfect BI tool. It has
| a SQL editor/runner, saved queries, audit history,
| dashboards, alerts and user access control; all in a rails
| engine you can mount with minimal configuration.
|
| [0]https://github.com/ankane/blazer
| petepete wrote:
| Blazer is my favourite BI tool by a country mile. It does
| all I want with no fuss, is a breeze to set up and it's so
| much faster and more efficient than any of the other BI
| tools I've tried.
| andruby wrote:
| PgHero is also from him I believe. Very helpful to identify
| slow queries in production, remove duplicate indexes, see
| missing indexes, keep an eye on table size, etc.
|
| https://github.com/ankane/pghero
| swyx wrote:
| what the heck? has anyone interviewed him? i'd love to learn
| more about how he works
| rgrieselhuber wrote:
| One of the most prolific people that I am aware of.
| mtkd wrote:
| For anyone using Ruby who doesn't know ankane already, there
| are some very useful tools in his github ... like /disco which
| is a super simple collaborative filtering implemention if you
| want to quickly drop some recommendation in somewhere
|
| If you are looking for anything ML related with Ruby ankane has
| usually had a look already ...
| philip1209 wrote:
| We use so many tools from Andrew Kane in our production repo.
| His packages make it possible to build an AI application using
| Rails.
| mooreds wrote:
| He's also done a ton outside the AI space:
|
| https://github.com/ankane/pretender makes it super easy to
| impersonate a different user in a rails app
|
| https://github.com/ankane/ahoy is first party analytics for
| rails
|
| https://github.com/ankane/blazer is BI built into rails
|
| https://github.com/ankane/field_test is A/B testing
|
| This kind of stuff is why rails is so productive for a normal
| web app. Sure, there are better vendor and point solutions for
| each of these, but the ability to drop in a gem, do some
| configuration and have a 80% solution lets you ship so. damn.
| fast.
| mosselman wrote:
| Ahoy, blazer and field_test form the basis of our very strong
| no-BS data infra. It is so simple.
|
| I still want to try and combine ahoy with a column store in
| postgres so that we can run the analytical queries straight
| onto postgres instead of syncing the events to BigQuery.
|
| I've tried using pg_analytics by Paradedb but they don't
| support json columns, which is necessary with ahoy.
| Performance wise that would be ideal though.
| philippemnoel wrote:
| ParadeDB founder here -- We migrated the pg_analytics
| project to its own repo and will be adding JSON support!
| czbond wrote:
| Thanks for creating this - it looks interesting. Contributions
| like this are really needed in the Ruby community
| berkes wrote:
| They really are.
|
| The lack of such contributions -in general- or the speed at
| which they appear, is what leads me to conclude that the Ruby
| community is slowing down.
|
| In this case, suddenly there's an awesome library for Ruby.
| Which is fantastic. An achievement to be very thankful for. But
| "the community" "produced" this months or years after such libs
| landed for Python, JS, TS, Rust, Go and so on.
|
| Not just ML/AI, same happens for "gems" (Ruby libs) that deal
| with any new tech. It used to be that any SAAS or startup would
| offer official Rubygems from the get-go. Often before offering
| other platforms or languages. Today, when I want or need to
| integrate something, from notion to slack to cloudflare: no
| Ruby option or at least no official one.
|
| This saddens me. Ruby is so much more than Rails (for which I
| can understand the reluctance or "hate"). Ruby is so much nicer
| to work in than Python and certainly than JavaScript. Ruby
| could easily have been what Python is today and tens of
| thousands of developers would be just a little happier than
| they are now, I am certain.
| gjtorikian wrote:
| This is such an odd comment to me.
|
| On the one hand, you praise Ruby, and lament that it gains
| such libraries so much later than other languages.
|
| On the other hand...if you were paying attention to the
| "Python, JS, TS, Rust, Go and so on" ecosystems, and noticed
| the ML/AI work, why didn't you create one for Ruby yourself?
|
| I guarantee that whatever answer you give doesn't matter,
| because every other Rubyist has their own reply. A
| "community" begins with one person doing the thing.
| vinceguidry wrote:
| Not just everyone is skilled enough to make great
| libraries. There is always going to be an order of
| magnitude more people interested in using a premade library
| than are going to be capable of making one themselves. Even
| if ability wasn't a factor, time often is.
| JohnBooty wrote:
| Even if ability wasn't a factor, time often is.
|
| Right. Not everybody has spare time! Many of us are
| caring for loved ones, have disabilities, whatever.
| mkl95 wrote:
| I have worked both at Ruby and Python shops.
|
| The average Ruby dev works at a mid to small sized company,
| probably a startup, and they are usually contributing to
| some proprietary SaaS product on top of Rails. Progress is
| always happening in the Ruby / Rails world but it's really
| slow.
|
| On the other hand, Python has three popular web frameworks
| and a huge data tooling ecosystem that just keeps getting
| better. It's just easier to get things done with Python
| these days and the gap is so huge that I can understand OP.
| notjoemama wrote:
| > I guarantee that whatever answer you give doesn't matter
|
| k
| cortesoft wrote:
| No one person can create enough libraries to maintain an
| entire ecosystem (although the guy who made this
| transformer library is pretty close), so even if the person
| you responded to did create a few libraries, their problem
| wouldn't be solved.
| berkes wrote:
| > A "community" begins with one person doing the thing.
|
| And a community thrives with many one-persons combining
| their effort and keep doing so.
|
| I _have_ made many libraries (gems), OpenSource. Some paid,
| many just for the benefit of this community; your
| implication that I lament but not put my work and effort up
| is frankly rather offending.
|
| To continue on this lament: libraries in dynamic languages
| are rather hard to maintain, due to runtime constraints
| that progress/change over time. And the one thing I see is
| a dwindling usage. Less issues filed (good! ;), less
| downloads, less integrations, less praise, etc etc.
|
| The more I pay attention, the more I see the Ruby community
| dwindling. I hope this is merely Rails dwindling - I
| frankly won't mind if Rails is replaced -, but I fear that
| Ruby = Rails in practicality. And that Ruby is on the way
| to the COBOL or Perl.
|
| This, I lament, because I think Ruby is, in the niche of
| dynamic scripting languages, by far the nicest, cleanest
| and fun to work with. It's tooling and syntax far more
| consistent and sensible than Pythons. It's concepts far
| better thought out and much nicer executed than PHPs. And,
| sorry, everything can be better than JavaScript without
| much effort.
|
| So, to me it makes no sense to make Ruby the next Python or
| PHP, because it's already much better, IMO. It's just not
| used as often. One extra person using it, doesn't change
| that.
|
| And, it makes even less sense to make Ruby more like Go or
| Rust, because if I need Rust, I'd pick Rust instead of
| spending years of my life making Ruby more like Rust (i.e.
| invest in a type system, some compile stuff etc).
|
| And when I need e.g. WASM runtime (in say serverless
| functions) or integration of some new fancy SAAS, or
| LangChain alike tooling, why would I poor months or years
| of effort into building tooling to compile to WASM, build
| gems around said SAAS, or help with tools like Transformers
| for Ruby, when I can pick Go or Rust to compile to wasm
| today, grab the Typescript package for the SAAS today, or
| learn, use (and dislike) Langchain in python today as well?
| vidarh wrote:
| My desktop is almost all Ruby. Ruby is not going away for
| decades.
|
| I've just started replacing my shell with a shell in Ruby
| too. To me one of the nice things about Ruby is that I
| feel like I can get things done so easily it doesn't
| matter if the community is smaller. Almost all the code I
| use apart from the kernel, Chrome and Xorg is now my own.
| downrightmike wrote:
| Can you give me some examples? This seems like an interesting
| problem.
| berkes wrote:
| Examples of what? Missing gems?
|
| I mentioned a few already. Some more that I recently ran
| into, are in the niche of "verifiable credentials", SSI and
| DIID. A weird niche, but relevant to my current work.
|
| There's plenty of work, references, implementations, type-
| systems for TS, Rust, Python and even .net. But nothing
| significant (a very few experiments at most) in Ruby.
|
| There's little support for WASM, eventhough that's a
| promising tech to run and manage backend stuff as well as
| maybe someday client-side stuff already. There's little
| tooling to manage cloud infra in Ruby (Chef and Puppet
| still chugging along, but hardly as omnipresent as Ansible
| etc)
|
| PHP, Python, Typescript: typing is emerging everywhere,
| albeit "bolted on". Ruby has efforts in this direction, but
| far behind the ones mentioned above.
|
| There's no practical "frameworks" or libraries to make
| games. Very few frameworks or tooling to build desktop
| software. There's little effort around architectural
| concepts like Event Sourcing, Hexagonal architecture,
| Actors and so on. They are there, but I suspect
| overshadowed by Rails and far less used and documented than
| their counterparts in other ecosystems.
| hfyasdflkjwa wrote:
| I actually dropped Ruby due to lack of typing, if
| Rails/Ruby gets static typing maybe people like me will
| come back.
|
| Another problem was lack of concurrency, I don't know if
| that is still an issue today.
| diggan wrote:
| > I actually dropped Ruby due to lack of typing, if
| Rails/Ruby gets static typing maybe people like me will
| come back.
|
| Not every language needs/should have static typing, so
| sounds like you just found a better language for your own
| needs, doesn't mean Ruby has to change. Personally I
| think it's perfect as it is :)
| reducesuffering wrote:
| > is what leads me to conclude that the Ruby community is
| slowing down
|
| That conclusion was apparent awhile ago.
|
| https://trends.stackoverflow.co/?tags=ruby,python,php,typesc.
| ..
| jashmatthews wrote:
| It look like a decline but these are relative numbers
| right? The whole industry exploded in size over this time
| period.
| berkes wrote:
| Does it matter if it's relative or absolute?
| felipemesquita wrote:
| A relative decline in a segment where the overall total
| is growing might mean that the segment's absolute number
| hasn't gone down at all.
| theappsecguy wrote:
| I find the ruby gem ecosystem significantly richer than any
| another. Maybe not by sheer quality, which quickly translates
| to millions of abandoned libraries (I'm looking at you nom),
| but certainly quality.
|
| It's also recently on the rise in general.
| qudat wrote:
| Such absolutely wild takes here. I think ruby is the worst
| language I have ever used, especially with rails.
|
| I'm not surprised at all that the ruby ecosystem is dying,
| people have been complaining about its magic-ness for a
| decade and it's still a problem today.
| jashmatthews wrote:
| Competitive pressure on SaaS companies and startups is much
| higher now and while there are tons of people are building
| client wrappers and other much more exciting stuff in Ruby
| none of its getting extracted, polished and open-sourced
| because everyone is entirely justifiably freaking out about
| profitability.
| rsoto wrote:
| Ankane's Onnx runtime for ruby is so easy to use that makes you
| wonder why the official repo for js is so difficult to
| understand. This guy's a hero, although I'm only scratching the
| surface for what he has done.
| blob64 wrote:
| Some amazing tools from this guy : hip hip hooray for more :)
| realty_geek wrote:
| Seriously, is this guy human? I'd invest a billion dollars in any
| individual so talented...
| delichon wrote:
| I'm 100th as talented and would consider accepting a $10M
| investment.
| shayonj wrote:
| Ankane single handedly is contributing so much back to the
| industry, in so many ways. Wild!
| aantix wrote:
| Any plans for implementing coreference resolution, similar to the
| FastCoref?
| Alifatisk wrote:
| I can't describe how thankful I am for Ankanes gems, the stuff
| hes created has been essential for some of my apps. He fills the
| gap on the ecosystem in my opinion.
| hahahacorn wrote:
| I'm sure it's not why he does it, but I just nominated ankane for
| the Rails 2024 Luminary award, if anyone else wanted to express
| their gratitude.. https://rubyonrails.org/2024/8/2/nominations-
| open-for-2024-l...
| wkirby wrote:
| Seconded. The sheer volume of useful work Ankane puts out for
| the community is unreal.
| theappsecguy wrote:
| How does one person end up being this productive? With I assume a
| pretty busy life of work, family, etc...
| danieldrehmer wrote:
| wait, but why?
| buf wrote:
| Andrew Kane and Chris Oliver are the best of the best in the ruby
| community IMO. Even if I don't use all their contributions, they
| are most welcome.
___________________________________________________________________
(page generated 2024-08-21 23:02 UTC)