TLDR: I prompt-engineered the system prompt in chatcraft to turn it into a github analytics tool: github analyst chat.
Longer Story I suggested to David that we have a newsfeed of new features on chatcraft.org. He replied that we should try to use chatcraft.org to generate those.
Found simonw’s blog post on using a public clickhouse instance.
Used David’s new “edit system prompt” feature in combination with my “Run Code” feature with the new-sh chatgpt-16k model to chat with the rather wide github history table in clickhouse.
[Read More]
From Chaos to Control: Overcoming OpenAI Uncertainties with Local Models
PostgresML and the Coming SQL-LLM Fusion
chatcraft.org is my open source project for working with GPT. It completely changed how I work. Cool thing about chatcraft is that it’s completely client-side, almost completely stateless(except for sharing) on serverside.
I am also working on a project that uses LLMs to help navigate a knowledge base. Making a wrong tech choice there could kill my project. Few thoughts from that perspective:
The 3 YOLOs of LLM development “You only live once” (YOLO) is a modern adaptation of the Latin phrase “Carpe diem,” which means “Seize the day.
[Read More]
Always Bet on Geohot: Tinygrad Will Win
George Holtz (geohot) just raised $5M for tinygrad and plans to sell a $15,000 Machine Learning AMD Epyc box with AMD 7900 XT video cards. At first glance, this seems like a really risky investment into a low-margin commodity hardware company. AMD can’t compete with NVidia, so how can we expect geohot to compete with NVidia on AMD hardware?
Well, I’ve been following geohot for a long while. He delivers what he promises, but does it years later and on different hardware than initially promised :) Here’s the timeline of my evolution alongside George that informs my conviction:
[Read More]
A Tale of PGVector and Friends: The Joy Of Software Naming
Ah, the world of software! A place where creativity and collaboration come together to create amazing projects. But sometimes, this world can be a bit… confusing. Let me tell you a story about the frustration of open source naming, featuring our protagonist: PGVector.
Once upon a time, I though that pgvector was a postgresql extension. And that langchain did not support SQL storage out of the box. After reading the source, turned out there were three things named PGVector:
[Read More]
Chatcraft.org: Developer-focused Open Source ChatGPT
I would like to introduce ChatCraft.org: a developer-focused, open source chatgpt frontend. While it’s my fav GPT UI (as it was created to make my life more convenient), it’s not so much about the features that are complete now as about the fun, collaborative journey ahead. I think we need to explore the design space of GPT-assisted collaboration to write code. The best way to do that is via open source exploration of the concept!
[Read More]
GPT-ARIA: Integrating GPT-3 with Browser Using Accessibility API
https://github.com/thegpvc/gpt-aria
This was the most interesting prototype I’ve explored in my career so far, and I want to thank TheGP for sponsoring this project. Also thanks to Oleksandr Chugai who I partnered with on implementation and Ben Cmejla who helped with prompting.
Inspiration I’ve been thinking about browser automation since the early days of my career when I worked at Firefox, where I got to work on performance problems and built things like Firefox Telemetry (Hi, HN haters!
[Read More]
Trying Cloudflare Pages: Best Server Tech Since cgi-bin
being sold short by subpar documentation
Cloudflare Pages 😍 I got into Cloudflare pages because it lets you host static websites with all the latest optimizations conveniently and for free. Setting up a static website with a custom domain is easy, and you get the benefits of automatic SSL, CDN, and latest version of HTTP3.
This is how this blog is hosted and I have a few other projects like this. I love the fact that I can get a super-fast static website up and running in a few minutes and I don’t have to worry about infrastructure details.
[Read More]
Curious Case of Maintaining Sufficient Free Space with ZFS
Sometimes trivial problems turn out to be more interesting than expected.
TLDR: ZFS free-space reporting is a lagging indicator.
Background I use Proxmox VM server backed by a ZFS array of hard drives for various personal infrastructure. I also have security cameras that upload motion-triggered videos to my server (via FTP!).
Problem Description I would like to use 90% of my available space for most-recent security videos.
Recipe:
1) Create a dedicated ZFS volume 2) Setup ZFS quota 3) Run a cronjob to free space faster than it gets consumed by video uploads.
[Read More]
mmap Page Fault Tracing with bpftrace and ext4
Previous blog post on how to trace Firefox IO using bpftrace via official page_fault_user tracepoint left me a bit unsatisfied with how complicated it turned out. Complexity has potential to be error-prone and the syscall-tracing dependency makes it impossible to trace IO within the main executable.
I decided to try reimplement the trace using my old approach of tracing ext4 functions that handle page-faults. This turned out to be much more robust.
[Read More]
EBPF for Tracing How Firefox Uses Page Faults to Load Libraries
Modern browsers are some of the most complicated programs ever written. For example, the main Firefox library on my system is over 130Mbytes. Doing 130MB of IO poorly can be quite a performance hit, even with SSDs! :).
Few people seem to understand how memory-mapped IO works. There are no pre-canned tools to observe it on Linux, thus even even fewer know how to observe it. Years ago, when I was working on Firefox startup performance, I discovered that libraries were loaded backwards (blog1, blog2, paper, GCC bug) on Linux.
[Read More]