I’m literally that weirdo who wrote (all by hand) a 15K word blog post on:
- why one cant treat models as oracles
- how models gaslight you all the time
- what it takes to build confidence in the model’s output
https://t.co/SmnEGkhJzX
So yeah sure, I believe in magical woo-woo
was at a community event and was asked a somewhat sad question: should developers be afraid of the labs eating the new possibilities jev opens up?
with AI (system one) + software (system two):
1. there's no going back to a world without system one models
2. you control the software!
3. there's no way AI could beat the efficiency of this combo
4. you don't even send the model providers your whole program logic
I think the days of "wrapper" apps will be seen as some of the darkest in software because people essentially did all of their programming in a system message and sent it over to a third party who was incentivized to bake that behavior into their 1st party product...
keeping your logic in code and only asking AI for the minimum reverses that and keeps all of your logic yours. if you decompose enough, model providers can't even figure out what you're working on
We have built 10 different AI products at PostHog like PostHog AI, our Wizard, Replay Vision, Scouts, and more. Combined, they are used by nearly 100k people every month.
Along the way, we’ve learned a lot about building them, what works, and what doesn’t. Here are the 38 most important lessons:
I would love to have a small homelab machine I could buy from @oxidecomputer . It would make it easier for me to recommend them to the company I work for since I would already have experience using their setup.
A tiny always-on box - a Raspberry Pi, Apple TV, or Android TV mailed to your parents' place lets you teleport into their home network from anywhere to troubleshoot, back up, or run an exit node.
No asking them to become tech experts. How to build one: https://t.co/ZzsJc9c6om
We are making Markdown files work natively across Google Drive and Docs.
You can now preview .md files in Drive, open them in Docs, edit them, comment on them, and collaborate without converting the file into a Google Doc!
@JackEllis I replaced Adobe audition for a podcast recording flow with something I built myself. I replaced Retool with a custom system. The problem is that vibe coding is awesome, vibe maintaining is horrible, and vibe maintaining someone else’s slop is a nightmare.
We'll be spending a lot more time trying to understand the outputs of language models. A few thoughts, tips & tricks:
Writing. Something I've had success with: Ask your LLM to explain something in ASD-STE100, it's a controlled language specification originally developed for aerospace maintenance documentation. LLMs well-versed in this language and it comes with heavy constraints on clean writing style that I often find a lot more readable. Sometimes I've tried to soften it a bit e.g. ask for "80% of the way to ASD-STE100" because the spec is quite stringent. But even better:
Diagrams / images. Instead of writing, ask your LLM to create a diagram. These can be a lot easier to process, parse, and understand. But even better:
Web pages. Ask for output "in HTML" to get a beautiful, interactive webpage. LLMs are getting really good at frontend and can create beautiful experiences, animations, etc. But even better:
Explainer videos. The output format I am most bullish on is fully custom / bespoke explainer videos generated on any arbitrary topic. Experiment with things like "Create a 3b1b style video explainer on X. Use my ElevenLabs API key for audio narration". (you'd need an API key for the latter or you can ask your LLM to find you decent free alternatives that use your local compute). This is actually starting to work!
In summary:
- As LLMs get better, they will do more and more of the legwork autonomously, and a lot more of our work will rise up the abstractions into oversight and understanding.
- Luckily, LLMs can help here too because as intelligence and code are increasingly abundant, you can ask for large, custom, discardable software artifacts (e.g. web apps, video explainers) that would have never made sense to create before. Push the boundaries here and you'll be surprised.
In the face of generative AI coding agents, the role of human-led architecture becomes even more important in the crafting of software-intensive systems.
All architecture is design, but not all design is architecture. Architecture represents the set of significant design decisions that shape the form and function of a system, where significant as measured by cost of change.
As such, remember that coding agents are reasonably good at transforming prompts into code, but they are not particularly good at making decisions that balance the static and dynamic forces on a system in order to yield a reasonably optimal solution: this is where human judgment, human understanding, human knowledge, and human experience shine.
@GergelyOrosz@gertburger From reading this answer, I would consider it to be quite subjective.
A person might intend for an article to be read by humans but it turns out that it’s always read by an agent.
I wonder if the default should be to expect a human to read the said article.
A treasure trove of hands-on eBPF learning materials 🐝
This highly illustrated series by Teodor Podobnik will have you up and running with eBPF programming in no time. Teodor starts at the very beginning and walks you from zero eBPF knowledge to writing first simple and then much more advanced programs:
- From Zero to Your First eBPF Program https://t.co/TzcZ6pTYlT
- Storing Data in eBPF: Your First eBPF Map https://t.co/2rAPlQGxEE
- Inspecting and Monitoring eBPF Applications https://t.co/39l9W2ABPL
- eBPF Verifier: Why the Kernel Can Safely Run eBPF Programs https://t.co/mD1OWlHptO
- eBPF Challenge for Beginners https://t.co/FOQabdf3r2
- eBPF Tracepoints, Kprobes, or Fprobes: Which One Should You Choose? https://t.co/K6eMkFEMmQ
- Why Does My eBPF Program Work on One Kernel but Fail on Another? https://t.co/Dig9xekWTW
- Building Truly Portable eBPF Programs and BTFHub https://t.co/ELvlK22Lxs
- Different Ways To Deliver Kernel Events from eBPF to User Space https://t.co/61jcSg2ODU
- Network Traffic Rate Limiting with eBPF/XDP https://t.co/Uy7x6VKgED
- Hands-On with XDP: eBPF for High-Performance Networking https://t.co/UNInf7wHZY
- Building an eBPF-based Firewall with LPM Trie–Based IP Range Matching https://t.co/pyqcvgr5Fh
- Building an eBPF/XDP NAT-Based Layer 4 Load Balancer from Scratch https://t.co/OGeCDgxB60
- Building an eBPF/XDP L2 Direct Server Return Load Balancer from Scratch https://t.co/EGI03Qpn08
- Building an eBPF/XDP IP-in-IP Direct Server Return Load Balancer from Scratch https://t.co/CqE4h6aUes
The series is based on real-world use cases, and the examples in the articles always compile and run, regardless of your own Linux distro and kernel versions. Happy hacking!