POPULARITY
In episode 13 of Open Source Ready, Thorsten Ball of Sourcegraph joins Brian and John to unpack the real-world engineering decisions behind language choices, like Microsoft using Go for the recent TypeScript compiler rewrite. Explore the importance of continuous learning in tech, the benefits of knowing multiple programming languages, and how AI agents are poised to reshape developer workflows.
We drop our fourth Changelog Beats album, Dex Horthy proposes the 12-factor AI agent, Thorsten Ball takes us step-by-step through building a coding agent, Zachary Huang builds an LLM framework in 100 lines of code & Philip Laine's Spegel project gets unknowingly forked by Microsoft.
We drop our fourth Changelog Beats album, Dex Horthy proposes the 12-factor AI agent, Thorsten Ball takes us step-by-step through building a coding agent, Zachary Huang builds an LLM framework in 100 lines of code & Philip Laine's Spegel project gets unknowingly forked by Microsoft.
We drop our fourth Changelog Beats album, Dex Horthy proposes the 12-factor AI agent, Thorsten Ball takes us step-by-step through building a coding agent, Zachary Huang builds an LLM framework in 100 lines of code & Philip Laine's Spegel project gets unknowingly forked by Microsoft.
In this episode, Ben chats with Thorsten Ball. This conversation fits neatly into two halves - in the first, Ben and Thorsten go deep on how to differentiate yourself, work in public, and make it easy for people to hire you. In the second part of the conversation, they talk more specifically about Zed, why it matters, and how it's being built. LinksTuple.app (https://tuple.app) - The best app for pair programmingThorsten's website (https://thorstenball.com) - Where you can find his books, blog, and other podcast appearancesZed (https://zed.dev) - The editor Thorsten is working onKey TakeawaysCultivating a diverse skill set can lead to unique opportunities and make you a valuable asset in a company.Evidence of competence, such as published work or open-source contributions, can significantly impact your chances of getting hired.Soft skills, such as communication and problem-solving, are essential for success in engineering roles.Taking initiative and adding value beyond your job description can make you stand out and contribute to the growth of a company.Interviews should be seen as a chance to demonstrate your skills and fit within a company's culture, rather than just answering questions. Visual cues and real-time interaction are important in conversations to gauge resonance and maintain engagement.Different business models exist in the tech industry, and investment can provide the time and resources needed for product development.Building high-quality products in open source requires a focus on performance, quality, and attention to detail.The landscape of text editors and funding is complex, with various models and approaches.Working on a quality product with a talented team can be fulfilling and contribute to personal growth.Noticing and writing about interesting ideas can enhance creativity and lead to new insights.Chapters(00:00) - Introduction and Background (00:21) - Combining Software Engineering and Content Production (04:41) - The Power of a Diverse Skill Set (07:40) - Creating Valuable Content (11:53) - Taking Initiative and Adding Value (18:47) - Reaching Out and Getting Hired (20:42) - The Power of Evidence of Competence (21:39) - The Myth of Not Hiring (25:35) - The Importance of Leaving Evidence (28:06) - Resumes and Demonstrating Competence (30:56) - Interviews as a Vibe Check (32:38) - The Bias in Interviews (33:55) - Hiring Process and Competence (34:22) - No Foolproof Hiring Process (35:20) - Evidence of Ability (37:00) - Accepting the Hiring Game (39:54) - Marketing and Self-Promotion (44:10) - Zed's Journey and User Availability (51:02) - Collaboration in Zed (56:02) - The Magic of Audio Calls (58:49) - The Intimacy of Voice-Only Communication (01:01:16) - The Distraction of Self-View in Video Calls (01:02:43) - The Importance of Visual Cues in Conversations (01:03:36) - The Value of Real-Time Interaction (01:05:34) - The Deep Knowledge and Complexity of Vim (01:06:00) - The Benefits of Noticing and Writing About Interesting Ideas (01:09:40) - The Habit of Writing and Its Impact on Thinking
In this episode we cover "The Basics" by Thorsten Ball. This article lists out all the things we should be doing every day but aren't taught in classes, books, or courses. You want to listen to this one. These are the foundations on which your skills and expertise rest.
Richard talks to Thorsten Ball, a programmer at Zed Industries and author of two books on compilers. They start out talking about the differences between compilers and interpreters, what the trickiest parts are of teaching compilers, and then end up talking about the unnecessary complexity that has taken over modern Web Development.
In today's episode, we bring Thorsten Ball, author of "Writing An Interpreter In Go" and "Writing A Compiler In Go". In this talk, we discuss the different clashes and responsibilities between Product and Engineering teams, reignite the topic of working with technical managers, explain why cookie banners are dumb, and on a more interpersonal note, discuss how important coolness is in education, explain why a lot of the times, highly talented people just don't know how to work and also dabble into the ideas of fulfillment, responsibility and reliability.Thorsten's Twitter: https://twitter.com/thorstenballRegister Spill: https://registerspill.thorstenball.com/Thorsten's Books: https://thorstenball.com/books/(01:08) - The idea behind Register Spill (02:20) - It's a Negotiation: When Product and Engineering meet (05:58) - Engineering vs Product (07:31) - Thorsten's view of the Product team (09:36) - Thorsten's view of the Engineering team (11:06) - Engineers should inform product before building something (14:57) - Real-life example from Thorsten (18:04) - Measuring completixy in T-Shirt sizes and Time Estimates (22:46) - Set a cap on time dedicated to a task (23:50) - Do we need more technical leadership? (27:58) - Working with Engineering Managers that are technical is a bliss (35:19) - Not Every Company Is For Everybody (41:14) - Cookie Banners are Dumb (50:13) - Educators underestimate how important coolness is (56:19) - There are a lot of highly capable people that just don't know how to work (01:02:20) - Getting fulfillment just from the effort (01:04:23) - Be reliable (01:06:34) - Where to find Thorsten
Programming is the best! We're chatting with Thorsten Ball (self-published author of Writing an Interpreter in Go and Writing a Compiler in Go) about all of our mutual favorite topics: learning new stuff, great textbooks, writing, and why bugs are actually great (a gift, even!).ShownotesWriting an Interpreter in Go (Thorsten's book): Writing a Compiler in Go (Thorsten's book) The Dragon Book (compilers)Thorsten's newsletter: Thorsten's website Zed.dev Sourcegraph
Thorsten Ball is a Staff Engineer at Sourcegraph and also the author of two self-published books. He currently focuses on assisting development teams within the company and correcting scaling issues for large clients. In this episode, he takes us through his journey from growing up in small town Germany to starting a band in Berlin and finally ending up as a Staff Engineer. 00:00 Introduction 05:30 Journey Begins 07:30 First memory of a computer13:00 Technology in the family 19:00 Interests growing up 21:30 Thoughts after high school 25:40 Living in Australia36:50 Getting into programming as a career43:20 Leaving UPS59:00 Moving closer to home 1:07:25 Finding Sourcegraph1:09:30 Discovering Golang1:20:10 Current tasks at Sourcegraph1:30:45 Contact Information Connect with Thorsten: Website: https://thorstenball.comMentioned in today's episode:Sourcegraph: https://sourcegraph.com/searchGolang: https://go.dev Want more from Ardan Labs? You can learn Go, Kubernetes, Docker & more through our video training, live events, or through our blog!Online Courses: https://ardanlabs.com/education/ Live Events: https://www.ardanlabs.com/live-training-events/ Blog: https://www.ardanlabs.com/blog Github: https://github.com/ardanlabs
[00:05:09] Kevin gives us a brief introduction of himself. [00:07:33] Kevin tells us about the grant he received, and he tells us about rubyfmt and SyntaxTree.[00:12:27] We learn why you have to do plugins in your language and why Kevin is convinced we need a new parser for Ruby.[00:16:43] Jason wonders if prettier was Kevin's first introduction to parsers and how he got so knowledgeable about it.[00:17:50] Find out about Kevin's blog post on ripper, which he calls a “very confusing library.”[00:19:08] With the work Kevin is doing with ripper, the work he's doing with SyntaxTree, and the grant, Jason wonders if he sees SyntaxTree getting adopted by Ruby Core one day or live as a standalone project.[00:20:58] We find out with SyntaxTree, if Kevin has a specific Ruby version he targets or because it's built on ripper can he just keep going back to Ruby.[00:22:37] Kevin talks about formatting and how there's no configuration, and also tells us about Reek.[00:26:55] Find out about a VS Code extension for SyntaxTree using Standard. [00:31:33] We learn about Kevin's experiences and thoughts on Sorbet and RBS.[00:36:41] Kevin works on YJIT at Shopify, he tells us how his experience has been since joining the team, and what his average workday looks like.[00:42:13] Find out the benefits of Porting C to Rust and if there are any effects running that in a production application. [00:48:47] Chris wonders what's some of the hardest stuff on YJIT coming up.[00:53:40] Kevin shares three great books to read if you are interested in learning more about compilers or Ruby.[00:55:29] Find out where you can follow Kevin online.Panelists:Jason CharnesChris OliverAndrew MasonGuest:Kevin NewtonSponsor:Hook RelayLinks:Ruby Radar NewsletterRuby Radar TwitterKevin Newton TwitterKevin Newton GitHubKevin Newton WebsiteRufo (Ruby formatter)Rubyfmt (Ruby format)SyntaxTreePrettier for RubyFormatting Ruby: Part 1- How ripper works (Kevin Newton Blog)ReekVscode-syntax-treeSteep-Gradual Typing for RubySorbetTypeProfRuby Sorbet for VS CodeCrafting Interpreters by Robert NystromWriting An Interpreter In Go by Thorsten BallWriting A Compiler In Go by Thorsten Ball
Marianne ponders the consequences of different design decisions and how to direct her research through an enormous amount of information and choices. Thorsten Ball, author of Writing a Compiler in Go, talks about his experiences designing Monkey and some of his regrets in retrospect. More from Thorsten Ball's can be found at thorstenball.com. Writing an Interpreter in Go can be purchased at interpreterbook.com. Writing a Compiler in Go can be found compilerbook.com.
Michael Stapelberg shares with us a multitude of experiences and contributions across the Go and Linux open-source communities. Highlights include creating the popular window manager i3, building Debian Code Search, and researching fast package management for Linux with distri. Thorsten Ball, author of Writing a Compiler in Go and Writing an Interpreter in Go, joins. The three of us talk about the importance of developer experience to open-source communities, how code search changes how you work, and how to decide when to build something new.Show notes and transcript: https://about.sourcegraph.com/podcast/michael-stapelberg
Johnny and John welcome Thorsten Ball back to the show. This time we’re talking power tools! Editors, operating systems, containers, cloud providers, databases, and more. You name it, we probably talk about.
Johnny and John welcome Thorsten Ball back to the show. This time we’re talking power tools! Editors, operating systems, containers, cloud providers, databases, and more. You name it, we probably talk about.
Johnny and John welcome Thorsten Ball back to the show. This time we’re talking power tools! Editors, operating systems, containers, cloud providers, databases, and more. You name it, we probably talk about.
Thorsten Ball and Tim Raymond join Mat Ryer and Mark Bates to talk about compilers and interpreters. What are the roles of compilers and interpreters? What do they do? The how and why of writing a compiler in Go. We also talk about Thorsten’s books “Writing an Interpreter in Go” and “Writing a Compiler in Go.”
Thorsten Ball and Tim Raymond join Mat Ryer and Mark Bates to talk about compilers and interpreters. What are the roles of compilers and interpreters? What do they do? The how and why of writing a compiler in Go. We also talk about Thorsten’s books “Writing an Interpreter in Go” and “Writing a Compiler in Go.”
Thorsten Ball and Tim Raymond join Mat Ryer and Mark Bates to talk about compilers and interpreters. What are the roles of compilers and interpreters? What do they do? The how and why of writing a compiler in Go. We also talk about Thorsten’s books “Writing an Interpreter in Go” and “Writing a Compiler in Go.”
What do compilers do? What is the runtime of a language? What does it mean to compile something down to bytecode and what executes the byte code. Throsten Ball Answers these questions in this interview with Adam. "A virtual machine is a computer built-in software, a CPU built-in software" "Compilers can be slow. You know, I grew up running Linux and I had Gentoo running, so I basically let my computer run for the whole night to compile my window manager. So I do know how slow compilers can be and the reason they're slow is because you're paying the upfront costs that an interpreter pays at runtime. You're paying a little bit more because you're doing additional optimizations. You're shifting the cost to a point in time where you're happy to pay it." Writing a compiler in GO GCC Codebase Mirror LLVM Codebase TCC Compiler C in 4 functions 8CC - small self hosting compiler https://corecursive.com/037-thorsten-ball-compilers/
Software Engineering Radio - The Podcast for Professional Software Developers
Thorsten Ball, author of Writing an interpreter in Go as well as its sequel Writing a Compiler in Go. Adam Gordon Bell spoke with Ball about building an interpreter. Topics covered include the differences between an interpreter and a compiler, what languages are most commonly used for writing interpreters, the advantages and disadvantages of go, […]
Software Engineering Radio - The Podcast for Professional Software Developers
Today's guest is Thorsten Ball, author of Writing an interpreter in Go as well as its sequel Writing a Compiler in Go. Thorsten lives near Frankfurt, Germany. Thorsten loves to deep dive into programming topics like programming languages, interpreters...
So what exactly is a compiler? And how is it different from an interpreter? And do you even need to know any of this stuff as a developer? Thorsten Ball has all the answers. He's written two books on the topic and he gives us a newbie-friendly introduction to the world of compilers and interpreters. We've also got our fourth episode of Tales from the Command Line, where Scott tells us about the computer science professor who failed the entire class. Show Links Digital Ocean (sponsor) MongoDB (sponsor) Heroku (sponsor) TwilioQuest (sponsor) ECMAScript 6 Kathy Sierra Codeland Conf Codeland 2019
Guest: Thorsten Ball @thorstenball Full show notes are at https://developeronfire.com/podcast/episode-373-thorsten-ball-interpreters-compilers-and-writing
Thorsten Ball has a thirst for knowledge, so one day he decided to make a new Programming Language. He went from 0 lines of code to a fully working interpreter written in Go for the "Monkey" Language. Check it out at https://interpreterbook.com!
Thorsten Ball joined the show to talk about creating a programming language, writing an interpreter, why he wrote the book “Writing An Interpreter in Go”, how writing a language/interpreter will help you better understand other programming languages, building a computer from Nand to Tetris, and his thoughts on imposter syndrome.
Thorsten Ball joined the show to talk about creating a programming language, writing an interpreter, why he wrote the book “Writing An Interpreter in Go”, how writing a language/interpreter will help you better understand other programming languages, building a computer from Nand to Tetris, and his thoughts on imposter syndrome.
Thorsten Ball joined the show to talk about creating a programming language, writing an interpreter, why he wrote the book “Writing An Interpreter in Go”, how writing a language/interpreter will help you better understand other programming languages, building a computer from Nand to Tetris, and his thoughts on imposter syndrome.