[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)