RSSAmplifier

Blog

Samrat Man Singh

Thoughts, stories and ideas.

samrat.meRSS feed ↗15 posts

Latest posts

Standalone OpenAI transcription Python script

OpenAI announced some new audio models yesterday, including new transcription models( gpt-4o-transcribe and gpt-4o-mini-transcribe ). This model performs better than Whisper, though because they are built on top of language models, they're prone to prompt injection attacks . You can also access it using the

Assorted links(February 2025)

Import AI 397: DeepSeek means AI proliferation is guaranteed; maritime wardrones; and more evidence of LLM capability overhangs Welcome to Import AI, a newsletter about AI research. But beneath all of this I have a sense of lurking horror - AI systems have got so useful that the thing that will

Running ML models in Elixir using Pythonx

I just discovered Pythonx , which runs a Python interpreter in the same OS process as Elixir. Looks like it also wraps uv so it sets up a virtual environment with all the Python dependencies your code needs. Here's how I got the MLX version of the recently released

Book mini-review: "Children of Ruin"

Children of Ruin is the second book in Adrian Tchaikovsky's Children of Time series. It follows another branch of the terraforming project that began in the first book. Interesting read with non-human intelligences which feels relevant because of all the recent AI buzz and the apparent imminence

Building a Membrane Pipeline to talk to Google Gemini

This post was also published in the Software Mansion blog . Large Language Models like Google’s Gemini 2.0 Flash and OpenAI’s GPT-4o Realtime are multimodal, meaning users can chat with them via text, talk to them directly like in a conversation, or even send a

Assorted links(January 2025)

Speed matters: Why working quickly is more important than it seems « the jsomers.net blog REVIEW: Reentry, by Eric Berger Reentry: SpaceX, Elon Musk, and the Reusable Rockets that Launched a Second Space Age, Eric Berger (BenBella Books, 2024). School is Not Enough Learning is a consequence of doing

TIL: Avoid modifying headers with Dart HTTP package

I'm using the http package to make a POST request to OpenAI, and the API seems to only strictly accept application/sdp as the Content-Type : flutter: Response body: {"error":{"message":"Unsupported content type. This API method only accepts 'application/sdp'

Book mini-review: "Children of Time" by Adrian Tchaikovsky

Children of Time is a science fiction story about the evolution of intelligent spiders on a planet terraformed by humans. I found it enjoyable throughout but the ending is particularly beautiful. If you like the Three Body Problem or Greg Egan's "Diaspora", you'll love

Book review: The MANIAC by Benjamín Labatut

Historical fiction about von Neumann and AI. This felt different than other historical novels I've read because as far as I could tell, there was no fictional plotlines introduced to the history. The fictional bit is just the first-person narratives from people around von Neumann that never

Gemini file upload in Elixir

If you want to send videos or images to the Google Gemini API, eg for video summarization, you need to upload the video to a separate endpoint and wait for it to get processed. This is described in the Gemini docs , and it's fairly straightforward to translate into

Implementing distributed pooling in Elixir

In Elixir, once you have clustering set up , it's ridiculously easy to run some code on another node in your cluster: Node.spawn(:"another_beam_instance@10.0.1.2", fn -> # This runs on a different node send(self(), node()) end) receive do response ->

TIL: `pg` vs `pg2` Erlang modules

I started reading up on Erlang's pg module( pg = "process groups", it's not related to Postgres!) recently and kept seeing references to pg2 . This is quite confusing because pg is the newer module that replaces pg2 . From pg.erl 's initial commit message

FLAME Dashboard

I just released a small Elixir package: flame_dashboard ( Hex.pm package ). It adds a page to Phoenix LiveDashboard that lets you monitor your FLAME pools. Here's a video showing the dashboard in action:

TIL: Looking up a VM's private IP in Hetzner

I recently had to look up my Hetzner VM's IP in a private network I'd set up from inside a Docker container. My initial set up was a bit clunky passing the host IP addresses during deployment but there's an easy way to look

Elixir clustering on a Kamal+Hetzner deployment

I've been experimenting with Kamal for deploying an Elixir application. The application was previously deployed on Fly.io and relies on the Erlang VM's clustering capabilities, so I had to get this working on the Hetzner deployment I'd spun up using Kamal. It took