Enter the Matrix • Conor Hoekstra • YOW! 2025
Conor Hoekstra demonstrates how to achieve exponential productivity by combining AI-assisted development, array programming, and high-performance computing. Using a financial dashboard app built entirely with AI (Vibe Coding), he showcases a custom array-based DSL with a dual backend (interpreted BQN and compiled NVIDIA Parrot for GPUs), urging developers to fully embrace modern tools and elevate their expectations of what is possible.
This talk explores the intersection of three programming paradigms to achieve exponential productivity gains: AI-assisted development, array programming, and high-performance GPU computing. The central theme is that modern tools, particularly Large Language Models (LLMs), have fundamentally changed what is possible for a single developer, urging the audience to reset their expectations upwards.
AI Programming: The New Default
The speaker, a self-proclaimed “AI maximalist,” argues that AI-assisted tools like Cursor are no longer just “assisting” but are capable of doing most of the development work. He categorizes AI coding into three types:
- Vibe Coding: The process of building applications by describing the desired outcome in natural language and letting the AI generate the code, often without the developer ever reading it. This is best for personal projects where visual verification is sufficient.
- Guide Coding: A more controlled approach suitable for professional work. The developer acts as a guide, closely reviewing every line of generated code, providing unit tests, and course-correcting the LLM. This accelerates development by eliminating manual typing.
- Rage Coding: The frustrating experience of an AI model failing to follow instructions, gaslighting the user, or deleting essential code like unit tests. The speaker notes this is increasingly rare with modern models like Claude 4.5 and Gemini 3.
Key tips for effective AI coding include:
- Use IDEs, not web UIs: Tools like Cursor and Antigravity provide an iterative workflow, integrating the LLM directly into the development environment.
- Use the latest models: Models improve dramatically with each release. What was impossible a few months ago may be trivial now.
- Be clear about your confidence: If you know exactly what you want, specify it. If you’re unsure, ask the model for suggestions and trade-offs.
- Provide maximum detail: More context and specificity lead to better results. The speaker even uses a speech-to-text app to dictate long, rambling prompts.
To demonstrate the power of “vibe coding,” the speaker presents Blink, a financial dashboard application he built entirely with Cursor. He has never looked at the underlying JavaScript code. The application was even ported from a 2,000-line Rust codebase to JavaScript in under an hour using the AI.
Array Programming and Custom DSLs
The talk transitions to array programming languages like BQN, APL, J, and Uiua. These languages are characterized by their terse, symbolic nature, allowing developers to express complex operations concisely. The speaker believes that in a world where AI does the bulk of the typing, these compact DSLs will see a resurgence, as they are the one area where a human can still code at the “speed of thought.”
This concept is integrated into the Blink application through a custom Blink DSL. This symbolic, array-based language allows the user to:
- Define custom indicators and trend lines on the fly.
- Filter and rank stocks based on computed metrics.
- Chain expressions together to build complex queries.
The DSL features a dual-backend architecture: an interpreted backend using BQN for fast, interactive exploration, and a compiled backend for high-performance computation.
High-Performance GPU Computing
The compiled backend of the Blink DSL targets GPUs using Parrot, a high-level C++ library from NVIDIA built on top of Thrust. Parrot simplifies CUDA C++ programming by providing a high-level, method-chaining API inspired by Rust iterators. It automatically handles complex optimizations like kernel fusion, which minimizes the number of GPU kernel launches and improves performance. The speaker highlights that the AI was capable of generating both the interpreted and compiled backends and even adding verification steps to ensure their outputs matched.
Conclusion: Know You Can
The talk concludes with a powerful message from The Matrix: “Don’t think you can, know you can.” Developers should not be limited by past experiences with AI tools. The capabilities of modern models and integrated development environments are far greater than most people realize. The future of programming is about leveraging these tools to turn ambitious ideas into reality at an unprecedented pace.