HNHacker News
TopNewBestAskShowJobs

borromakot

168 karma · joined December 16, 2017

submissionscomments
borromakot··on LLMs and Elixir: Windfall or deathblow?
It having strengths and weaknesses doesn't make it not general purpose language.
borromakot··on LLMs and Elixir: Windfall or deathblow?
Have you written/deployed Elixir before?
borromakot··on Why I wrote the BEAM book
Elixir has been quite easy to set up, configure and deploy, at least for the last 5-6 years. I can't speak for Erlang though.
borromakot··on Elixir/Phoenix Liveview was a mistake
LMK when you get the awful errors and we'll fix them
borromakot··on Ash AI: A Comprehensive LLM Toolbox for Ash Framework
I don't think this links to where you intended to link to.
borromakot··on Ash Framework – Model your domain, derive the rest
We just launched an api key strategy `mix ash_authentication.add_strategy api_key`
borromakot··on Ash Framework – Model your domain, derive the rest
FWIW I regret introducing that term into this conversation. I've used it in some cases to try to bring people close to an understanding when we have like...no middle ground. But its nothing close to an ORM.
borromakot··on Ash Framework – Model your domain, derive the rest
Would love to have some conversations about specific bad error messages and indirection that causes problems. Please open issues or reach out, I'm happy to help.
borromakot··on Ash Framework – Model your domain, derive the rest
I appreciate the perspective. Honestly for us it was just something that our whole user base was mega excited about, and so we made a big deal about it. It seemed like a positive that there was a book available (especially given that young-ish frameworks benefit from some level of legitimacy, given that it's a Prag Prog book etc.). I never even considered that it would rub people the wrong way honestly.

I think I'll probably keep it front and center for now, given that the book will be launched out of beta in the near future, but I can see how it might give the wrong idea, and will reconsider its placement going forward

borromakot··on Ash Framework – Model your domain, derive the rest
...do you think the book is like a money grab or something? We put it big on the site because a bunch of our users were excited about it and found value from it. The book doesn't even remotely pay for itself.
borromakot··on Ash Framework – Model your domain, derive the rest
I will go in and add another section that expands a bit more on what Ash is after ElixirConf EU is over. Thanks for the feedback!
borromakot··on Ash Framework – Model your domain, derive the rest
We've always had trouble with this. The closest thing to Ash I've seen elsewhere is an ORM. It's not an ORM though.

Ash is a declarative application framework. You define your application logic using Ash.Resource, which model things like state, but most importantly actions.

Another analogy is that it's similar to GraphQL, but lowered down to the backend layer. It's a declarative, typed application description and implementation framework, that you can derive a GraphQL from (amongst many other things).

Another way to think of it is a whole ecosystem of packages that standardize the vast majority of things you want to do when building an Elixir backend, instead of trying to kludge together a bunch of different tools. Pagination, sorting, filtering, authentication, authorization, all builtin and designed to work together.

borromakot··on Ash Framework – Model your domain, derive the rest
Do these help at all?

https://hexdocs.pm/ash/what-is-ash.html

https://youtu.be/vjnPjrCF4rs?si=sGlfZeEpPrfp1J0K

borromakot··on "We're building a new static type checker for Python"
Author of Ash/Igniter here, curious how it doesn't speak to your personal values. Are we doing something that you find problematic at a non-technical level?
borromakot··on Ash Framework: Build Declarative Elixir Web Apps
Also launched:

New homepage and installer builder - https://ash-hq.org

Ash Weekly newsletter - https://ashweekly.substack.com

borromakot··on Oban Web is now free and open source
Oban is a background job system packed with enterprise grade features, real-time monitoring with Oban Web, and complex workflow management with Oban Pro.
borromakot··on Hologram – An Isomorphic Elixir Web Framework Is Here
Ash isn’t an alternative to Phoenix, they are typically used side by side :)
borromakot··on Serialization Is the Secret
There is a guarantee that you have when rebinding is the only option.

with rebinding:

    def thing() do
      x = 10
      do_something(x)
      # x is 10, non negotiably, it is never not 10
    end
with mutability

    def thing() do
      x = 10
      do_something(x)
      # who knows what x is? Could be anything.
    end
Additionally, because rebinding is a syntactic construct, you can use a linter to detect it: https://hexdocs.pm/credo/Credo.Check.Refactor.VariableRebind...
borromakot··on Serialization Is the Secret
I didn't mean you "must be inside of a function".

If you call `Process.put(:something, 10)`, any references you have to whatever was already in the process dictionary will not have changed, and the only way to "observe" that there was some mutating state is that now subsequent calls to `Process.get(:something)` return a different value than it would have before.

So with immutable variables, there is a strict contract for observing mutation.

borromakot··on Serialization Is the Secret
Gross :)

But I will update my example in that case. Someone else mentioned this but I was waiting to hear back. I will alter the example to `await doSomethingElse`.

borromakot··on Serialization Is the Secret
The point wasn’t to encourage shadowing bindings from a parent scope, only to illustrate that it is not the same thing as mutable references. Whether to, and when to, use rebinding is a different conversation, but in some cases it can lead to subtle bugs just like you described.
borromakot··on Serialization Is the Secret
`send` is a function. `receive` is a special form but in this context it counts as a function
borromakot··on Llama 3.2: Revolutionizing edge AI and vision with open, customizable models
Wildly incorrect
borromakot··on Silos in the Elixir Community
Agreed. Small communities are good, but insular and isolated communities are problematic fragmentation.
borromakot··on Show HN: Find words “halfway” between two others
We really need to redo that front page . Ash can be used with or without Phoenix. Ash is an "application framework", and is designed to help you structure your application, something you do by creating resources using `Ash.Resource`. A resource typically refers to some domain object/action. In this resource you declare the "actions" that operate on your resource. There is a lot more to it like GraphQL & JSON:API extensions, all kinds of additional tools and utilities.

In a lot of ways, it tries to cut a good balance between a lot of concepts. The examples at the bottom of the front page show some examples of the way you use it. There are example apps linked from the Media page as well that can illustrate how it works.

I know the front page is missing a lot of key information, but I promise there is tons of useful stuff in Ash, not just buzzwords

borromakot··on Show HN: Find words “halfway” between two others
Hey there! Creator of Ash here. Mind if I tweet about this?
borromakot··on Phoenix 1.7.0
Well, I made it, so I'm biased, but one of our most prolific users is a solo dev building a large ERP system with Ash.
borromakot··on Recode: An experimental Elixir linter with autocorrection and refactoring tools
This is partly the reason why we've built something custom for our documentation (using all of the wonderful tools provided by Elixir) at https://ash-hq.org. We still have a lot of work to do, but it allows us to provide a more wholistic documentation experience over all of our projects.

In all honesty, though, documentation is still a major hassle for people using the framework today. There is a lot to it, and even with a wholistic docs site it can often be hard to find what you want. But with this we at least have a singular vision to build towards, and its grown in leaps & bounds over the last 6-8 months.

borromakot··on Internet Chemotherapy
How do you know?
← PreviousPage 2 of 2