Really recommend to check them out if you need a vector DB. I tried qdrant and zilli cloud solutions and in terms of operational simplicity turbopuffer just killing it.
287 karma · joined January 24, 2025
Really recommend to check them out if you need a vector DB. I tried qdrant and zilli cloud solutions and in terms of operational simplicity turbopuffer just killing it.
It would be amazing if they pull this off. Being able to compile JS to produce minimal binaries for CLIs or just to make slim containers would be nice.
I don't feel much satisfaction in socializing, random conversations, hobbies, or relationships after the initial romance phase—they become boring. Work feels nice. My reflections and therapy have led me to realize this is more about proving self-worth and the desire to be proud of my work (for whatever broken childhood reason). It's a desire for external validation.
I haven't solved this yet. I can say that I feel happier when I go out and do activities like learning salsa dancing or participating in a debate club once a week. Though these activities work (I do feel happier), I never feel like I fit into those groups. Right after the activity ends and the free, unstructured socializing starts, people become boring... salsa people socializing (booze, dancing, shallow conversations) or debate club people (just shallow conversations). It just feels dull.
I recommend reading "No More Mr. Nice Guy" by Dr. Robert Glover - https://www.amazon.com/No-More-Mr-Nice-Guy-ebook/dp/B004C438...
Either you'll find that it's about you and the book will highlight a lot of things, or it's not—then just toss it away. It helped me reconsider some parts of my life, as well as my behavior and attitude.
---
A "like-minded group" of oil states (Saudi Arabia, Iran, Kuwait, Bahrain, Russia) refused to accept:
- Legally binding obligations to reduce plastic production
- Mandatory phaseouts of hazardous chemicals
- Disclosure requirements
- Any controls on new plastic production
I mean does anyone expected anything like this to happen?
---
And here's the biggest joke:
Taxpayers around the world are funding all of this. Countries should represent their citizens' interests, right? So taxpayers collectively spend tens of millions to send their representatives, only to get this unexpected result. Saudi Arabia, Russia, and co. blocked the agreement.
One simple thought - it’s just an email answer, not a contract/obligation that you have to sell it at particular price, you can change your mind at any time.
1. Nothing we tried with usual strategies worked consistently. Backtesting parameters, ML with smart feature selection, boosting, neural networks - everything failed out of sample. Maybe we were dumb, I don't know.
2. What worked was having a clear edge: - Private exchange programs with rebates for high-volume teams - Pure latency arbitrage - Weird arbitrage trading obscure instruments (e.g. on chain AMMs vs crypto exchange futures).
Both market maker and arbitrage strategies were very sensitive to latency. We built a low-latency trading engine in Java (on top of https://github.com/OpenHFT/Chronicle-Queue). We got 130mqs from market event to order send in a hot loop on 99.99 percentile. It was fun to optimize and benchmark.
- Tail latency matters. You can have 100ms at the 90th percentile and 10-50ms at the 99.9th percentile. For low latency strategies, this is pure loss. - Tail latency matters even more when markets go crazy. Event rates can jump from 10 per second to 1-2k per second. If your trading engine uses trades or bid/ask events, be ready. For OHLC bars it doesn't matter, but nothing based on OHLC worked for us.
---
p.s.
I wouldn't recommend trading to anyone. It's very stressful and exhausting. More importantly, all your hard work disappears like trying to hold sand in your hands. There's very little compounding of your work. Strategies constantly churn. You're always negotiating with managers for fees and API limits. You're always negotiating with managers for fees and API limits. They force you to buy and hold exchange tokens like Binance's BNB just to get slightly better fees, VIP status, or direct API access that bypasses firewalls.
The industry is extremely secretive - it's a zero-sum game with no incentive to share anything. When you meet someone who trades, it's usually hard to have a meaningful conversation. At least that was true for me. All our strategies were small-scale and we couldn't invest all our capital in them. So discussing what we did was basically saying "yes, we print money, here's how you can take it from us".
Overall, I was super lucky. We built a money-printing machine that worked for a few years. But in the end, my co-founder and I decided not to pursue it long-term. One day when yet another strategy stopped working, we just shut down all operations.
We decided to stop active development when realized that most people don't want different models, custom instructions, tools, etc..
People want their work done, and no one cares how exactly it will be done - the less they have to think about the setup, the better (and chatgpt just works in most of the cases).
Wanted workflow orchestration without infrastructure to store workflow JSON/YAML in database/S3/CDN/whatever and execute it on Cloudflare Workers, in the browser, etc.
The magical part about the serverless workflow spec: native JSONSchema support for inputs/outputs at both workflow and task level. This creates composable, Lego-like tools for AI agents - each tool is just a workflow reference that can be fetched on the fly.
Working on final cleanup before publishing.
Just use an off-the-shelf solution for docs, like Docusaurus, for example:
Here's what our current stack looks like:
- LLM Access: Custom proxy layer to an OpenAI-compatible gateway for chat completion, transcriptions, image generation, embeddings (we started with LangChain but were fighting with it more than it helped us). Now we use the OpenAI SDK + a custom API gateway that handles cost tracking, metered billing, API with model fallbacks, aliases, and feature flags (e.g., supports_structured_output, supports_reasoning, modality: text, image, audio, etc.).
- Workflow Orchestration: We started with a very simple task executor + background job queue to handle retries and durable executions. Now it has become a real limitation, and we are looking for a complete replacement, considering Temporal, trigger.dev, and Conductor. I don't see an obvious winner here, everything looks like a really sophisticated piece of tech that will have a learning curve and require some rethinking of our decisions and serious refactoring to support new flows.
- Observability: OTEL + https://signoz.io, we don't track LLM outputs for security reasons (consumer product, a lot of private stuff).
- Cost Tracking: We embedded cost tracking into our API proxy layer. For each request, we estimate usage and push it into ClickHouse (via TinyBird) to provide analytics of product usage and to our metering/billing provider (Stripe meters, but evaluating Orb to replace Stripe).
- Agent Memory / Chat History / Persistence: Postgres for everything + S3 for files and images. Frankly, it looks like a chat app schema (chat threads, messages, attachments). Relatively simple and straightforward.
- Billing: This was a real pain - a hybrid subscription with a monthly fee + pay-as-you-go for overages. Stripe offers limited support for subscriptions with usage billing and does not support automatic top-ups. Implementing a free plan + paid plan with metered usage required a lot of code and even more tests. I thought billing providers had already solved this?
- RAG: Custom document ingestion service based on LlamaIndex (document extraction, indexing, querying), managed Qdrant for vector search. Pros - works well, quite simple, scales well. Cons - requires an API boundary layer and more work upfront but was quite low-maintenance in the long run.
- Integrations (Tools, MCPs): LLM tools wrappers + user credentials management (API keys, OAuth) to connect users' CRM, Notion, whatever. That's a big pain; we have accumulated quite some debt here because we can't decide on a layer to manage this. There is no open-source "go-to" solution.