ananthakumaran
ananthakumaran on Hacker News
Posted by
ananthakumaran on Saturday September 05, 2026 @05:09AM
from the ananthakumaran.in dept.
Posted by
ananthakumaran on Sunday August 30, 2026 @01:57PM
from the ananthakumaran.in dept.
Posted by
ananthakumaran on Tuesday June 02, 2026 @06:49AM
from the ananthakumaran.in dept.
Posted by
ananthakumaran on Thursday April 23, 2026 @03:37AM
from the developers.openai.com dept.
Posted by
ananthakumaran on Tuesday April 21, 2026 @11:57PM
from the ananthakumaran.in dept.
I have been using
https://github.com/jacktasia/dumb-jump to quickly jump to definitions. LSP is hit or miss; in some languages, it works great, while in others, the implementation is not so good. I have been thinking about a middle ground based on Tree-sitter. GitHub uses Tree-sitter to power code navigation, but unfortunately, I can't find anything good that I can use offline. Why is there no ctags equivalent powered by Tree-sitter?
Posted by
ananthakumaran on Saturday March 14, 2026 @01:55AM
from the ananthakumaran.in dept.
No, it's a background job. We can easily control the Python process count by controlling the job queue concurrency on the Elixir side.
We have a similar use case. All Elixir code base, but need to use Python for ML libraries. We decided to use IPC. Elixir will spawn a process and communicate over stdio.
https://github.com/akash-akya/ex_cmd makes it a breeze to stream stdin and stdout. This also has the added benefit of keeping the Python side completely stateless and keeping all the domain logic on the Elixir side. Spawning a process might be slower compared to enqueuing a job, but in our case the job usually takes long enough to make it irrelevant.
ES should be thought of as a json key value store and search engine. The json key value store is fully consistent and supports read after write semantics, refresh is needed for search api. In some cases it does make sense to treat it as a database provided the key value store semantics is enough.
I used it about 7 years ago. Text search was not that heavily used, but we utilized the keyword filter heavily. It's like having a database where you can throw any query at it and it would return a response in reasonable time, because you are just creating an index on all fields.
Exactly, I was reading the blog and wondering the whole time how it's better than --update-refs, which I have been using a lot recently.
Posted by
ananthakumaran on Sunday November 02, 2025 @01:47AM
from the ananthakumaran.in dept.
Posted by
ananthakumaran on Wednesday June 11, 2025 @10:56PM
from the ananthakumaran.in dept.
Posted by
ananthakumaran on Monday March 17, 2025 @11:19PM
from the ananthakumaran.in dept.
This is one of the things Elixir got right on day 1, all the libraries in the ecosystem use the standard library and it makes dealing with logs so much easier compared to other languages.
Posted by
ananthakumaran on Saturday January 04, 2025 @12:59AM
from the ananthakumaran.in dept.
Posted by
ananthakumaran on Saturday October 26, 2024 @03:11AM
from the ananthakumaran.in dept.
Have you checked the js grammar? It has a regex grammar, though not sure if that's what you are looking for
> For example, you don’t need sidekiq or Redis as Elixir/Erlang is a concurrent, distributed platform. This simplifies operations and is cheaper to run.
This is simply wrong. You need a Sidekiq alternative (There is Exq which is protocol compatible with Sidekiq, others like Oban are available as well) because Erlang processes are not durable, nor do you get retry, concurrency control, etc. Everyone loves to claim Erlang is distributed and you can connect them so Redis is useless? but this is rarely utilized in the context of the web server. I have been using Elixir for more than 5+ years now, and I have never seen a valid use case for connecting two nodes.
In reality, the tech stack of the Elixir web app is mostly similar, but it makes life a lot easier if you ever have to deal with any kind of concurrency. Making concurrent requests is as simple as doing a map over a list and they just work, unlike other languages where you have to double-guess whether the library you use is thread-safe.
It depends on the layer, some of the layers might be able to take advantage of how the data is persisted. For example, if you use avro/protobuf, the decoder will handle it for you. If that's not the case, you would have to implement the migration by yourself. There is a paper[1] on this subject called "Online, asynchronous schema change in F1", which explains how to implement it.
1: https://dl.acm.org/doi/abs/10.14778/2536222.2536230
Salesforce has this model of development and it's horrible. They won't let you run the code locally since the environment is proprietary. Even to run the tests, the code has to be uploaded and run on their servers.
It does have PDF import support, I am using pdf.js to extract data and it works decently from what I have tested.
Got it, it's too early for i18n
> Question for author - Is it mostly a reporting tool or does it work similar to h/ledger where I can input my transactions from paisa?
It's a reporting + import/editor tool. The goal is to have a app that handles all the common use cases without going to command line.
I meant, you could download the cli using wget and run it inside the docker. There is no prebuilt docker image as of now. I will look into it later.
Nothing specific, I was even looking at adding support for beancount then realized it's much more strict and doesn't support some features like periodic transactions (which I use for budgeting)
The project comes with a flake.nix file, you can try that (you would still need to build it manually, I use the flake only to bring the dev environment, not to build the final package). I don't plan to submit to nixpkg myself or any other package managers. I will only focus on binary builds that's downloadable from release page. I don't have any experience with maintaining distro level packages, and I don't think I can figure out the details and keep it maintained. I will leave it to the community to figure that out.