Writing
Long-form articles, blog posts, and newsletter issues.
Everything in one reverse-chronological list. Filter by type.
- 2026
- KCDC · Kansas City, MOtalk 50 min · Breakout
Build a minimal IaC tool from scratch to demystify how Pulumi / Terraform / CDK actually work.
KCDC · Kansas City, MO· 50 min · Breakout talkBuild a minimal IaC tool from scratch to demystify how Pulumi / Terraform / CDK actually work.
- MLCon San Diego · San Diego, CAtalk 45 min
Building AI agents that take real actions, and the reliability patterns that keep them safe.
MLCon San Diego · San Diego, CA· 45 min talkBuilding AI agents that take real actions, and the reliability patterns that keep them safe.
- article
Ten more platform-engineering workflows you can hand to Pulumi Neo: deployments, tickets, incident triage, IAM, migration, and continuous ops.
articleTen more platform-engineering workflows you can hand to Pulumi Neo: deployments, tickets, incident triage, IAM, migration, and continuous ops.
- podcast
I've been confusing Don with frontier-lab links late at night for months. Ilya Sutskever told a NeurIPS audience that pre-training as we know it would unquestionably end. There's only one internet, and the data isn't growing. The frontier labs call this the pre-training wall. A leaked Google memo from 2023 argued they had no moat. R1 is on GitHub. Llama is on Hugging Face. OpenAI's secondary-market valuation has climbed past $850 billion. Don kept asking what, exactly, that $850 billion was buying. So he came over and we made an episode about it.
podcastI've been confusing Don with frontier-lab links late at night for months. Ilya Sutskever told a NeurIPS audience that pre-training as we know it would unquestionably end. There's only one internet, and the data isn't growing. The frontier labs call this the pre-training wall. A leaked Google memo from 2023 argued they had no moat. R1 is on GitHub. Llama is on Hugging Face. OpenAI's secondary-market valuation has climbed past $850 billion. Don kept asking what, exactly, that $850 billion was buying. So he came over and we made an episode about it.
- video
In this hands-on workshop, learn how to use Pulumi to provision real AWS infrastructure with TypeScript. Adam walks through the building blocks — declarative resources, stacks, outputs — and ties them together by deploying a working multi-tier application: a database, a backend…
videoIn this hands-on workshop, learn how to use Pulumi to provision real AWS infrastructure with TypeScript. Adam walks through the building blocks — declarative resources, stacks, outputs — and ties them together by deploying a working multi-tier application: a database, a backend…
- video
How does a small team ship custom code into customer cloud accounts in a day or two? Adam talks to Ewan Dawson, CTO of Compostable AI, about how they leaned into agentic AI for everything from product to infrastructure — and the rules they learned for building an "AI software…
videoHow does a small team ship custom code into customer cloud accounts in a day or two? Adam talks to Ewan Dawson, CTO of Compostable AI, about how they leaned into agentic AI for everything from product to infrastructure — and the rules they learned for building an "AI software…
- PyTexas · Austin, TXtalk 25 min
A serverless AI running coach that remembers your training — Python + Lambda + EventBridge.
PyTexas · Austin, TX· 25 min talkA serverless AI running coach that remembers your training — Python + Lambda + EventBridge.
- podcast The Aging Programmerpodcast
Kate Gregory has been writing C++ for over forty years. Books, keynotes, a consulting firm she built from the ground up. At sixty-three, she's one of the most experienced programmers alive. She surveyed hundreds of software engineers about getting older. What scares you? What's changed? What have you lost? The things people feared most — memory, stamina, keeping up — weren't the real threats. The stuff that was actually breaking down was mostly fixable. A bad knee wasn't aging, it was a torn cartilage. Wrist pain disappeared when she changed how she slept. But buried in the research was something harder to fix. The single factor that predicted whether you'd age well or badly had nothing to do with your body at all. The opponent isn't aging. The opponent is the story about aging.
podcastKate Gregory has been writing C++ for over forty years. Books, keynotes, a consulting firm she built from the ground up. At sixty-three, she's one of the most experienced programmers alive. She surveyed hundreds of software engineers about getting older. What scares you? What's changed? What have you lost? The things people feared most — memory, stamina, keeping up — weren't the real threats. The stuff that was actually breaking down was mostly fixable. A bad knee wasn't aging, it was a torn cartilage. Wrist pain disappeared when she changed how she slept. But buried in the research was something harder to fix. The single factor that predicted whether you'd age well or badly had nothing to do with your body at all. The opponent isn't aging. The opponent is the story about aging.
- SCaLE 23x · Pasadena, CAtalk 45 minFOSS@Home track
A serverless AI architecture, built around a personal project — an AI coach that remembers your training.
SCaLE 23x · Pasadena, CA· 45 min talkFOSS@Home trackA serverless AI architecture, built around a personal project — an AI coach that remembers your training.
- SCaLE 23x · Pasadena, CAtalk 45 min800+ attendees · Open Source AI track
Failure modes when AI agents touch real infrastructure — and the reliability patterns that keep them safe.
⌄ more ⌃ less
The agent industry has spent two years building autonomy and one year patching the surprises that came with it. This talk takes the audience through three production-grade failure modes — runaway tool loops, blast-radius miscalibration, and trust-boundary drift — and walks through the structural fixes (policy-as-code, IaC review gates, tighter scopes) that actually hold up. Built from real systems, not demos.SCaLE 23x · Pasadena, CA· 45 min talk800+ attendees · Open Source AI trackFailure modes when AI agents touch real infrastructure — and the reliability patterns that keep them safe.
⌄ more ⌃ less
The agent industry has spent two years building autonomy and one year patching the surprises that came with it. This talk takes the audience through three production-grade failure modes — runaway tool loops, blast-radius miscalibration, and trust-boundary drift — and walks through the structural fixes (policy-as-code, IaC review gates, tighter scopes) that actually hold up. Built from real systems, not demos. - podcast From Hacker News to TikTokpodcast
Corey told me about his AI cat reel problem. He found these AI-generated cat videos hilarious. Who makes these? He kept sending them to his wife. Then he tried to stop watching and he couldn’t. So I went down the rabbit hole of how social media algorithms actually work. It starts simple. Upvote, downvote, sort by time. But by 2017 Facebook has a metric that quietly reshapes what two billion people see. Then a leaked playbook lands, and a CEO takes the stand in Los Angeles. Today is an investigation into what happens when the algorithm knows you better than you know yourself.
podcastCorey told me about his AI cat reel problem. He found these AI-generated cat videos hilarious. Who makes these? He kept sending them to his wife. Then he tried to stop watching and he couldn’t. So I went down the rabbit hole of how social media algorithms actually work. It starts simple. Upvote, downvote, sort by time. But by 2017 Facebook has a metric that quietly reshapes what two billion people see. Then a leaked playbook lands, and a CEO takes the stand in Los Angeles. Today is an investigation into what happens when the algorithm knows you better than you know yourself.
- podcast The Universal Paperclip Clickerpodcast
Multiple VS Code windows. "Agent stopping" in a robot voice. A laptop stand on the treadmill so Claude can keep working while I run. The Big Rich sitting unread by the fireplace while I check if the migration's done. Somewhere along the way, I started reorganizing my life around keeping the machine spinning. Claude Code had become my universal paperclip clicker. This is me trying to figure out the difference between real work and just feeding it tickets.
podcastMultiple VS Code windows. "Agent stopping" in a robot voice. A laptop stand on the treadmill so Claude can keep working while I run. The Big Rich sitting unread by the fireplace while I check if the migration's done. Somewhere along the way, I started reorganizing my life around keeping the machine spinning. Claude Code had become my universal paperclip clicker. This is me trying to figure out the difference between real work and just feeding it tickets.
- talk AWS's AI Bet: What re:Invent 2025 Actually MeansAWS's AI Bet: What re:Invent 2025 Actually MeansHouston AWS SIG · Onlinetalk Meetup
A re:Invent 2025 takeaways talk for the Houston AWS user group — what AWS's AI stack means for builders.
AWS's AI Bet: What re:Invent 2025 Actually MeansHouston AWS SIG · Online· Meetup talkA re:Invent 2025 takeaways talk for the Houston AWS user group — what AWS's AI stack means for builders.
- podcast Inside Early Googlepodcast
Ron Garret left JPL for a 100-person startup he’d just discovered on Usenet. Four a.m. alarms. Burbank to San Jose on Southwest. A rented room in Susan Wojcicki’s house. He expected the search engine engineering and instead he got asked to build ad serving. In Java and with JSPs and no syntax highlighting and no delimiter balancing. Launch week was a stampede and then a window on his screen fills with declines. Numbers he can’t explain. Some of them look… real. How do you even name what’s happening? This episode is about creating Google AdWords. Building the machine that prints money, while trying not to get crushed in the gears.
podcastRon Garret left JPL for a 100-person startup he’d just discovered on Usenet. Four a.m. alarms. Burbank to San Jose on Southwest. A rented room in Susan Wojcicki’s house. He expected the search engine engineering and instead he got asked to build ad serving. In Java and with JSPs and no syntax highlighting and no delimiter balancing. Launch week was a stampede and then a window on his screen fills with declines. Numbers he can’t explain. Some of them look… real. How do you even name what’s happening? This episode is about creating Google AdWords. Building the machine that prints money, while trying not to get crushed in the gears.
- 2025
- article
The deprecation of CDKTF has left many without a clear path forward. This post presents the alternatives and shows what it's like to move from CDKTF to Pulumi.
articleThe deprecation of CDKTF has left many without a clear path forward. This post presents the alternatives and shows what it's like to move from CDKTF to Pulumi.
- article
At re:Invent 2025, AWS revealed a vertically integrated AI training pipeline. Here's who it's actually for.
articleAt re:Invent 2025, AWS revealed a vertically integrated AI training pipeline. Here's who it's actually for.
- podcast The Bug He Couldn't Namepodcast
Imagine facing a problem you can’t name, something that feels bigger than any bug you’ve ever had to fix. How do you debug your own mind when you don’t even know what’s wrong? Burke Holland’s story starts with a college party and a bad trip that leaves a deeper mark than he expects. Sleep gets harder. Fear creeps in. His life starts shrinking. School falls apart, friends drift away, and he ends up back at home trying to understand what’s happening to him. He looks for structure in the Coast Guard. Later he discovers computers and realizes he might have found the thing he’s meant to do. But the shadow that followed him out of that party doesn’t care about career paths. It shows up during college, during work, during marriage, during parenthood. Sometimes it’s quiet, sometimes it knocks him completely flat.
podcastImagine facing a problem you can’t name, something that feels bigger than any bug you’ve ever had to fix. How do you debug your own mind when you don’t even know what’s wrong? Burke Holland’s story starts with a college party and a bad trip that leaves a deeper mark than he expects. Sleep gets harder. Fear creeps in. His life starts shrinking. School falls apart, friends drift away, and he ends up back at home trying to understand what’s happening to him. He looks for structure in the Coast Guard. Later he discovers computers and realizes he might have found the thing he’s meant to do. But the shadow that followed him out of that party doesn’t care about career paths. It shows up during college, during work, during marriage, during parenthood. Sometimes it’s quiet, sometimes it knocks him completely flat.
- blog
All life is suffering. Well, duh, Jolie would remember thinking, the one time Roshi Steve ever stooped to bullet-point the noble truths of Buddhism. Her phone, secure in its cubby, was more or less a snuff film of the world’s entangled miseries: bread lines, forever wars, the beehives gone silent, the coral reefs bleached white. Yet there at the zendo to which she’d been sneaking off each Thursday the spring of her seventh-grade year, wisdom wasn’t supposed to come in such pithy little nuggets. So it was only later, toward the end of April, that she would realize this First Noble Truth had been the through-line all along.
blogAll life is suffering. Well, duh, Jolie would remember thinking, the one time Roshi Steve ever stooped to bullet-point the noble truths of Buddhism. Her phone, secure in its cubby, was more or less a snuff film of the world’s entangled miseries: bread lines, forever wars, the beehives gone silent, the coral reefs bleached white. Yet there at the zendo to which she’d been sneaking off each Thursday the spring of her seventh-grade year, wisdom wasn’t supposed to come in such pithy little nuggets. So it was only later, toward the end of April, that she would realize this First Noble Truth had been the through-line all along.
- podcast Godbolt's Rulepodcast
What do you do when your code breaks and the only fix is to dig into the runtime below? Matt Godbolt lives for that. Tile-based renderers, color-coded scanlines, zero-copy NICs—each story is a clue that leads past the abstraction to the real machine. He shares the rule that guides him: master your layer, learn the one below, and know the outline of the layer under that. Matt Godbolt's journey proves the real breakthroughs are hidden behind the abstractions where you are comfortable and familiar.
podcastWhat do you do when your code breaks and the only fix is to dig into the runtime below? Matt Godbolt lives for that. Tile-based renderers, color-coded scanlines, zero-copy NICs—each story is a clue that leads past the abstraction to the real machine. He shares the rule that guides him: master your layer, learn the one below, and know the outline of the layer under that. Matt Godbolt's journey proves the real breakthroughs are hidden behind the abstractions where you are comfortable and familiar.
- MCP Academy PNW · Bellevue, WAtalk 15-20 min · co-presented with Artur Laksberg
How MCP-style agents can safely extend into cloud environments using IaC as the bridge.
MCP Academy PNW · Bellevue, WA· 15-20 min · co-presented with Artur Laksberg talkHow MCP-style agents can safely extend into cloud environments using IaC as the bridge.
- podcast Risk Rolls Downhillpodcast
What if a software bug drained your savings, ruined your reputation, and nobody believed it wasn’t your fault? Scott Darlington took over a village post office, hoping to give his family a steady life. But the software system kept showing cash shortfalls he couldn’t explain. Each time, the Post Office told him the numbers were right and made him pay the difference out of his own pocket. Eventually it became too much and actions Scott took to protect himself lead to his arrest and public shaming. How do you build trust in systems when the people behind them refuse to admit they’re broken?
podcastWhat if a software bug drained your savings, ruined your reputation, and nobody believed it wasn’t your fault? Scott Darlington took over a village post office, hoping to give his family a steady life. But the software system kept showing cash shortfalls he couldn’t explain. Each time, the Post Office told him the numbers were right and made him pay the difference out of his own pocket. Eventually it became too much and actions Scott took to protect himself lead to his arrest and public shaming. How do you build trust in systems when the people behind them refuse to admit they’re broken?
- article
Implement deployment guardrails with Pulumi CrossGuard to create safe self-service infrastructure balancing developer autonomy and control.
articleImplement deployment guardrails with Pulumi CrossGuard to create safe self-service infrastructure balancing developer autonomy and control.
- video
Short walkthrough of using Earthly Lunar to roll out an SDLC compliance check across a fleet — turning a post-incident action item into an enforceable policy.
videoShort walkthrough of using Earthly Lunar to roll out an SDLC compliance check across a fleet — turning a post-incident action item into an enforceable policy.
- podcast Podcast Updatepodcast
A quick update from Adam about the podcast's current state, consistency challenges, and what's coming next.
podcastA quick update from Adam about the podcast's current state, consistency challenges, and what's coming next.
- podcast Coding in the Red-Queen Erapodcast
What do we risk when we let AI do the heavy lifting in our coding? Are we giving up the thinking that makes us good at what we do? And as expectations keep rising to match productivy gains, is all this speed really helping, or just making us busier? Today, let's look at the tradeoffs of coding with AI and why the hardest part might be deciding what to hold onto, and what to let go.
podcastWhat do we risk when we let AI do the heavy lifting in our coding? Are we giving up the thinking that makes us good at what we do? And as expectations keep rising to match productivy gains, is all this speed really helping, or just making us busier? Today, let's look at the tradeoffs of coding with AI and why the hardest part might be deciding what to hold onto, and what to let go.
- article
Learn about the importance of Developer Experience (DX) and how it can impact different roles within an organization. Discover how Alice, Bob, and ...
articleLearn about the importance of Developer Experience (DX) and how it can impact different roles within an organization. Discover how Alice, Bob, and ...
- podcast
I’ve always found meaning, and a lot of strength, in building things. Now, with AI coding agents changing the way we work, it’s easy to feel threatened, like something essential might get taken away. But honestly, that creative urge can’t be replaced by any tool. In this episode, I talk about what it’s like when your identity is tied to making things, and the tools suddenly change.
podcastI’ve always found meaning, and a lot of strength, in building things. Now, with AI coding agents changing the way we work, it’s easy to feel threatened, like something essential might get taken away. But honestly, that creative urge can’t be replaced by any tool. In this episode, I talk about what it’s like when your identity is tied to making things, and the tools suddenly change.
- article
Transform governance from manual bureaucracy into an automated enabler by embedding policy-as-code, RBAC, and automated controls directly into your platform.
articleTransform governance from manual bureaucracy into an automated enabler by embedding policy-as-code, RBAC, and automated controls directly into your platform.
- article
Transform observability into a developer superpower with unified visibility, AI-powered insights, and actionable alerts embedded in your platform.
articleTransform observability into a developer superpower with unified visibility, AI-powered insights, and actionable alerts embedded in your platform.
- podcast Coding Through Chaospodcast
What if your search for connection took you somewhere you never meant to go—almost costing you everything? John Walker grew up building computers and exploring early internet forums, always looking for a place to fit in. As a teenager, he hacked his school network and spent hours on IRC, but loneliness crept in. Drugs became a fun exploration and a social experiment. But soon, addiction pulled him into homelessness and jail. Even at his lowest, John turned to online communities. He ran IRC bots to keep recovery chatrooms safe from trolls and built scrapers to solve tough data problems at work. These technical challenges gave him a reason to keep going, even when face-to-face life felt impossible. But the real turning point came when John stopped trying to hide his differences. How do you rebuild when you feel like an outsider?
podcastWhat if your search for connection took you somewhere you never meant to go—almost costing you everything? John Walker grew up building computers and exploring early internet forums, always looking for a place to fit in. As a teenager, he hacked his school network and spent hours on IRC, but loneliness crept in. Drugs became a fun exploration and a social experiment. But soon, addiction pulled him into homelessness and jail. Even at his lowest, John turned to online communities. He ran IRC bots to keep recovery chatrooms safe from trolls and built scrapers to solve tough data problems at work. These technical challenges gave him a reason to keep going, even when face-to-face life felt impossible. But the real turning point came when John stopped trying to hide his differences. How do you rebuild when you feel like an outsider?
- article
Learn how to transform infrastructure management from configuration chaos to programming languages using effective change management strategies.
articleLearn how to transform infrastructure management from configuration chaos to programming languages using effective change management strategies.
- article
How SEITENBAU built a flexible platform serving 20+ independent projects with Pulumi's buffet approach, offering reusable components teams can mix and match.
articleHow SEITENBAU built a flexible platform serving 20+ independent projects with Pulumi's buffet approach, offering reusable components teams can mix and match.
- article
Is platform engineering a genuine evolution of DevOps or just a rebrand? We explore both perspectives on this industry trend.
articleIs platform engineering a genuine evolution of DevOps or just a rebrand? We explore both perspectives on this industry trend.
- podcast
Have you ever found yourself in a situation where learning felt like an uphill battle? Like no matter how hard you tried, the pieces just wouldn't fall into place? Steve Krouse's story shows the power of the right learning environment. As a child, Steve felt he wasn't good at math. But everything changed with an afterschool program called IMACS. Initially skeptical, he soon embraced its creative approach, which encouraged self-paced learning. At IMACS, Steve learned to think on paper, grasping math concepts through programming languages like Logo and Scheme. This confidence moved him from remedial to advanced math, sparking a love for programming and education. Frustrated with traditional schooling, Steve dropped out of college to create engaging learning experiences for kids. His efforts led to tools like woof.js and the founding of Val Town, making programming accessible and collaborative. Join us as we explore Steve's journey, revealing how innovative educational environments can unlock potential and transform identities.
podcastHave you ever found yourself in a situation where learning felt like an uphill battle? Like no matter how hard you tried, the pieces just wouldn't fall into place? Steve Krouse's story shows the power of the right learning environment. As a child, Steve felt he wasn't good at math. But everything changed with an afterschool program called IMACS. Initially skeptical, he soon embraced its creative approach, which encouraged self-paced learning. At IMACS, Steve learned to think on paper, grasping math concepts through programming languages like Logo and Scheme. This confidence moved him from remedial to advanced math, sparking a love for programming and education. Frustrated with traditional schooling, Steve dropped out of college to create engaging learning experiences for kids. His efforts led to tools like woof.js and the founding of Val Town, making programming accessible and collaborative. Join us as we explore Steve's journey, revealing how innovative educational environments can unlock potential and transform identities.
- newsletter The 2 Sigma Problemnewsletter
Do you recognize this man? Well, he has some things to teach us about learning in the latest episode: https://corecursive.com/the-power-of-context/ Todays' podcast episode is about how to learn hard things. Guest Steve Krouse ( not pictured ) was a struggling student when he…
newsletterDo you recognize this man? Well, he has some things to teach us about learning in the latest episode: https://corecursive.com/the-power-of-context/ Todays' podcast episode is about how to learn hard things. Guest Steve Krouse ( not pictured ) was a struggling student when he…
- article
Learn how security can enable innovation by embedding guardrails directly into your platform.
articleLearn how security can enable innovation by embedding guardrails directly into your platform.
- podcast briffa_sep98_e.propodcast
Can a single line of code change the way we see science, policy, and trust? In this episode we explore the "Climategate" scandal that erupted from leaked emails and code snippets, fueling doubts about climate science. What starts as an investigation into accusations of fraud leads to an unexpected journey through the messy reality of data science, legacy code struggles, and the complex pressures scientists face every day. Along the way, we uncover stories of hidden errors and misunderstood phrases taken out of context, revealing a world where science, software engineering, and human complexity intertwine. This story doesn't just challenge assumptions—it shows the power and importance of transparency in science and technology. Join Adam as he digs deep into Climategate, uncovering what really happened when code got thrust into the spotlight, and what it means for trust, truth, and open science.
podcastCan a single line of code change the way we see science, policy, and trust? In this episode we explore the "Climategate" scandal that erupted from leaked emails and code snippets, fueling doubts about climate science. What starts as an investigation into accusations of fraud leads to an unexpected journey through the messy reality of data science, legacy code struggles, and the complex pressures scientists face every day. Along the way, we uncover stories of hidden errors and misunderstood phrases taken out of context, revealing a world where science, software engineering, and human complexity intertwine. This story doesn't just challenge assumptions—it shows the power and importance of transparency in science and technology. Join Adam as he digs deep into Climategate, uncovering what really happened when code got thrust into the spotlight, and what it means for trust, truth, and open science.
- newsletter The IDL Graphnewsletter
I have a new podcast episode out about this graph: I know that doesn't sound exciting, but it actually is! https://corecursive.com/briffa-sep98-e/ That is a famous climate change graph that caused a lot of controversy, with newspapers and news shows accusing scientists of fraud…
newsletterI have a new podcast episode out about this graph: I know that doesn't sound exciting, but it actually is! https://corecursive.com/briffa-sep98-e/ That is a famous climate change graph that caused a lot of controversy, with newspapers and news shows accusing scientists of fraud…
- article
Learn how to boost developer experience, productivity, and velocity with an internal developer platform using service catalogs, templates, and CI/CD.
articleLearn how to boost developer experience, productivity, and velocity with an internal developer platform using service catalogs, templates, and CI/CD.
- article
Unlock developer productivity with self-service infrastructure through modular abstraction and intent-based specifications for your internal developer platform.
articleUnlock developer productivity with self-service infrastructure through modular abstraction and intent-based specifications for your internal developer platform.
- podcast HATETRISpodcast
What if a simple game became a gateway to computational breakthroughs? David Freiberg and Felipe set out on a journey to conquer Hatetris, a notoriously difficult JavaScript game. Their interest ignited when a new world record was set, showing that surpassing the game's high score was possible. Their journey was full of challenges, from building an emulator in different programming languages to tackling complex algorithms. They pushed the boundaries of what's possible but the story didn't end there. Collaborating with fellow enthusiasts, including a Japanese Tetris expert, led to further breakthroughs. By sharing insights and building on each other's work, they set a records after records. Their story highlights the power of curiosity, collaboration, and the joy of discovery.
podcastWhat if a simple game became a gateway to computational breakthroughs? David Freiberg and Felipe set out on a journey to conquer Hatetris, a notoriously difficult JavaScript game. Their interest ignited when a new world record was set, showing that surpassing the game's high score was possible. Their journey was full of challenges, from building an emulator in different programming languages to tackling complex algorithms. They pushed the boundaries of what's possible but the story didn't end there. Collaborating with fellow enthusiasts, including a Japanese Tetris expert, led to further breakthroughs. By sharing insights and building on each other's work, they set a records after records. Their story highlights the power of curiosity, collaboration, and the joy of discovery.
- article
Build a reliable infrastructure provisioning foundation with version control, automation, and golden-path templates for your internal developer platform.
articleBuild a reliable infrastructure provisioning foundation with version control, automation, and golden-path templates for your internal developer platform.
- article
Explore the essential pillars of Platform Engineering and learn how to transform infrastructure chaos into a streamlined development experience.
articleExplore the essential pillars of Platform Engineering and learn how to transform infrastructure chaos into a streamlined development experience.
- podcast One Million Checkboxespodcast
What if internet trolls could become your greatest collaborators? Nolen Royalty discovered this unexpected truth when his simple checkbox game went viral. It began with a school email prank that crashed servers but sparked a philosophy: creative constraints breed innovation. From "Flappy Dird" to "One Million Checkboxes," Nolen built games that turned limitations into playgrounds. But when his checkbox project became a battleground of organized chaos, Nolen faced a choice: suppress the chaos or lean into it. Discover how systematic constraints can channel creative anarchy - and why one developer now believes the best user experiences emerge when you code for controlled chaos of strangers meeting on the internet.
podcastWhat if internet trolls could become your greatest collaborators? Nolen Royalty discovered this unexpected truth when his simple checkbox game went viral. It began with a school email prank that crashed servers but sparked a philosophy: creative constraints breed innovation. From "Flappy Dird" to "One Million Checkboxes," Nolen built games that turned limitations into playgrounds. But when his checkbox project became a battleground of organized chaos, Nolen faced a choice: suppress the chaos or lean into it. Discover how systematic constraints can channel creative anarchy - and why one developer now believes the best user experiences emerge when you code for controlled chaos of strangers meeting on the internet.
- newsletter Boaty McBoatfacenewsletter
I have a new podcast episode is out: https://corecursive.com/one-million-checkboxes-with-nolen-royalty/ It's at the intersection of coding, game building, art and online trolls. That is to say it's a super fun episode about building something and having it become really really…
newsletterI have a new podcast episode is out: https://corecursive.com/one-million-checkboxes-with-nolen-royalty/ It's at the intersection of coding, game building, art and online trolls. That is to say it's a super fun episode about building something and having it become really really…
- article
How cheap can you host a Python API in 2026? Package Flask as a container, deploy to AWS Lambda with Pulumi, and pay ~$1.12/month worst-case ($0 when idle).
articleHow cheap can you host a Python API in 2026? Package Flask as a container, deploy to AWS Lambda with Pulumi, and pay ~$1.12/month worst-case ($0 when idle).
- article Top 15 Python Tools for DevOpsarticle
From quick fixes to scalable enterprise solutions—explore 15 essential Python tools for automation, monitoring, and cloud deployment.
articleFrom quick fixes to scalable enterprise solutions—explore 15 essential Python tools for automation, monitoring, and cloud deployment.
- podcast Leaving Stripepodcast
What if the only way to improve your life was leave your dream job behind? Jon de la Motte failed his first Stripe interview, but he didn't give up. It was his dream job, a company that connected his father's work in finance with his software ambitions. At Stripe, Jon faced challenges. He joined a risky JavaScript infrastructure team and struggled to find his footing. Eventually he found his way, built a great team and then it all started to fall apart. Discover how Jon's journey reshaped his life and what it means to balance personal and professional priorities.
podcastWhat if the only way to improve your life was leave your dream job behind? Jon de la Motte failed his first Stripe interview, but he didn't give up. It was his dream job, a company that connected his father's work in finance with his software ambitions. At Stripe, Jon faced challenges. He joined a risky JavaScript infrastructure team and struggled to find his footing. Eventually he found his way, built a great team and then it all started to fall apart. Discover how Jon's journey reshaped his life and what it means to balance personal and professional priorities.
- Pulumiworkshop Case study interview
Pulumi case study — how Statsig's one-person infra team scaled to 2 trillion events/day using self-service infrastructure.
Pulumi· Case study interview workshopPulumi case study — how Statsig's one-person infra team scaled to 2 trillion events/day using self-service infrastructure.
- workshop Pulumi — Recorded Workshop · ▶ videoPulumiworkshop Workshop
Recorded Pulumi workshop covering IaC fundamentals.
Pulumi· Workshop workshopRecorded Pulumi workshop covering IaC fundamentals.
- 2024
- article
Learn key engineering lessons from building Pulumi Copilot, including how to minimize LLM workload, validate outputs, and deal with hallucination.
articleLearn key engineering lessons from building Pulumi Copilot, including how to minimize LLM workload, validate outputs, and deal with hallucination.
- article
Explore 105+ ways to run containers—from AWS to toasters to quantum computers. Discover unique OCI deployment options beyond Kubernetes and Docker.
articleExplore 105+ ways to run containers—from AWS to toasters to quantum computers. Discover unique OCI deployment options beyond Kubernetes and Docker.
- podcast Inside Shopify's Layoffspodcast
What if you had to break life-changing news to your team—could you handle the weight of their futures? Allison's journey from software engineer to compassionate leader at Shopify is filled with challenges and growth. It all started when her mentor was suddenly laid off, leaving her with uncertainty and guilt. This turning point taught her the importance of adaptability in the tech industry's ups and downs. When Allison faced her own layoff, she found the strength to move on to new roles, including a position at Shopify. There, she had to announce layoffs to her team, learning to lead with empathy and prioritize their well-being. Her story highlights the power of empathy and resilience in leadership. She shares how to end employment on good terms and create a supportive environment for those affected. While layoffs are tough, they can also be a place to show strength.
podcastWhat if you had to break life-changing news to your team—could you handle the weight of their futures? Allison's journey from software engineer to compassionate leader at Shopify is filled with challenges and growth. It all started when her mentor was suddenly laid off, leaving her with uncertainty and guilt. This turning point taught her the importance of adaptability in the tech industry's ups and downs. When Allison faced her own layoff, she found the strength to move on to new roles, including a position at Shopify. There, she had to announce layoffs to her team, learning to lead with empathy and prioritize their well-being. Her story highlights the power of empathy and resilience in leadership. She shares how to end employment on good terms and create a supportive environment for those affected. While layoffs are tough, they can also be a place to show strength.
- article
Learn how to use uv, an ultra-fast Python package manager, now fully integrated with Pulumi
articleLearn how to use uv, an ultra-fast Python package manager, now fully integrated with Pulumi
- article Fargate vs EC2article
Explore the differences between AWS EKS Fargate and EC2-backed clusters for your Kubernetes EKS workloads.
articleExplore the differences between AWS EKS Fargate and EC2-backed clusters for your Kubernetes EKS workloads.
- article When to Use Cosmos DBarticle
Discover when to use Cosmos DB and how it compares with PostgreSQL, MongoDB, Cassandra, and DynamoDB. Learn about scalability, performance, cost & use cases.
articleDiscover when to use Cosmos DB and how it compares with PostgreSQL, MongoDB, Cassandra, and DynamoDB. Learn about scalability, performance, cost & use cases.
- video
Key topics covered: - Common misconceptions about Docker Secrets - Why secrets shouldn't be stored in Docker images - Runtime vs. build-time secrets management - Secure alternatives for managing secrets - Best practices for container security
videoKey topics covered: - Common misconceptions about Docker Secrets - Why secrets shouldn't be stored in Docker images - Runtime vs. build-time secrets management - Secure alternatives for managing secrets - Best practices for container security
- podcast ReiserFSpodcast
Have you ever known someone whose technical brilliance was overshadowed by personal failings? This is the story of Hans Reiser, a software developer driven to create a superior Linux filesystem, but whose difficult personality got in the way. Then came the disappearance of his wife, Nina, in 2006. The investigation pointed to Reiser, ending with a murder conviction that shocked the tech world. Reiser's story is a reminder of how technical skills and personal integrity need to go hand in hand. From prison, he reflects on his mistakes, realizing the need for empathy and collaboration. His legacy, once about innovation, now serves as a cautionary tale.
podcastHave you ever known someone whose technical brilliance was overshadowed by personal failings? This is the story of Hans Reiser, a software developer driven to create a superior Linux filesystem, but whose difficult personality got in the way. Then came the disappearance of his wife, Nina, in 2006. The investigation pointed to Reiser, ending with a murder conviction that shocked the tech world. Reiser's story is a reminder of how technical skills and personal integrity need to go hand in hand. From prison, he reflects on his mistakes, realizing the need for empathy and collaboration. His legacy, once about innovation, now serves as a cautionary tale.
- podcast From Everest to Startupspodcast
How do you know what matters? What goals are worth pursing? What if training to climb Everest left you certain you were on the wrong career path? . Yoshio's journey starts with disappointment in his academic path. Unsatisfied and aimless, he decides to climb Mount Everest, inspired by a childhood experience. This marks the beginning of a life-changing adventure. Join us to hear Yoshio's story of transformation, from Everest to personal loss, and how he found his true calling in coding, communication and 'being one of the wizards who can create things with their mind'.
podcastHow do you know what matters? What goals are worth pursing? What if training to climb Everest left you certain you were on the wrong career path? . Yoshio's journey starts with disappointment in his academic path. Unsatisfied and aimless, he decides to climb Mount Everest, inspired by a childhood experience. This marks the beginning of a life-changing adventure. Join us to hear Yoshio's story of transformation, from Everest to personal loss, and how he found his true calling in coding, communication and 'being one of the wizards who can create things with their mind'.
- newsletter Life is shortnewsletter
It's October, and new podcast episode is out: https://corecursive.com/from-everest-to-startups-with-yoshio-goto/ This episode is about your life. It's about accepting that life is short and using that to structure how you live. Yoshio Goto shares his story of finding what…
newsletterIt's October, and new podcast episode is out: https://corecursive.com/from-everest-to-startups-with-yoshio-goto/ This episode is about your life. It's about accepting that life is short and using that to structure how you live. Yoshio Goto shares his story of finding what…
- podcast From Code to Capitalpodcast
What if your corporate job left you feeling empty, and you decided to leap into venture capital? Tim Chen, a software engineer, was disillusioned with corporate life at Microsoft. The 2008 market crash and layoffs deepened his dissatisfaction. Seeking more impactful work, Tim joined startups and contributed to open-source projects, like Kafka and Docker. Then after his own start-up, Tim found a niche bridging the gap between technical founders and venture capital. But could get into Venture Capital himself? Join me and Tim to hear his journey from a disillusioned software engineer to a successful venture capitalist, exploring the highs and lows of his unusual career move.
podcastWhat if your corporate job left you feeling empty, and you decided to leap into venture capital? Tim Chen, a software engineer, was disillusioned with corporate life at Microsoft. The 2008 market crash and layoffs deepened his dissatisfaction. Seeking more impactful work, Tim joined startups and contributed to open-source projects, like Kafka and Docker. Then after his own start-up, Tim found a niche bridging the gap between technical founders and venture capital. But could get into Venture Capital himself? Join me and Tim to hear his journey from a disillusioned software engineer to a successful venture capitalist, exploring the highs and lows of his unusual career move.
- blog
I was interviewed for the Software Misadventures Podcast.
Below is a machine generated transcription.
blogI was interviewed for the Software Misadventures Podcast.
Below is a machine generated transcription.
- newsletter A Plausible Theory of Successnewsletter
It's July, and happy July 4th to my American readers. A new podcast episode is out: https://corecursive.com/building-powershell-with-jeffrey-snover/ It's a detailed peek into the internals of Microsoft and the development of Powershell. My guest is Jeffrey Snover and he has a…
newsletterIt's July, and happy July 4th to my American readers. A new podcast episode is out: https://corecursive.com/building-powershell-with-jeffrey-snover/ It's a detailed peek into the internals of Microsoft and the development of Powershell. My guest is Jeffrey Snover and he has a…
- video
In this video, Adam dives into the evolution of programming languages and the balance between expressiveness and readability. He explores how modern features like lambdas in Java and constexpr in C++ reduce boilerplate but add complexity. Using examples from Java, Scala, Go,…
videoIn this video, Adam dives into the evolution of programming languages and the balance between expressiveness and readability. He explores how modern features like lambdas in Java and constexpr in C++ reduce boilerplate but add complexity. Using examples from Java, Scala, Go,…
- podcast From Burnout to Breakthroughpodcast
Can you imagine risking your career to making coding easier to learn? . Meet Felienne Hermans, a professor who did just that by stepping beyond academia to redefine coding education. Disillusioned by her research's limited impact, Felienne discovered a new calling in teaching coding to underserved students. Her journey led to the creation of Hedy, a programming language designed to dismantle language and learning barriers in coding. Confronting skepticism from her peers, Felienne's dedication to accessible coding challenged traditional academic priorities. Felienne's story is a powerful reminder of the impact one person can have by following their passion against the odds.
podcastCan you imagine risking your career to making coding easier to learn? . Meet Felienne Hermans, a professor who did just that by stepping beyond academia to redefine coding education. Disillusioned by her research's limited impact, Felienne discovered a new calling in teaching coding to underserved students. Her journey led to the creation of Hedy, a programming language designed to dismantle language and learning barriers in coding. Confronting skepticism from her peers, Felienne's dedication to accessible coding challenged traditional academic priorities. Felienne's story is a powerful reminder of the impact one person can have by following their passion against the odds.
- newsletter Questioning the Assumptionsnewsletter
It's June now, and I have a new episode out here: Hedy https://corecursive.com/hedy-with-felienne-hermans/ I've been telling friends and colleagues about this episode for several weeks. Whenever someone asks me how the podcast is going, I jump into it: Ok, Imagine this: A…
newsletterIt's June now, and I have a new episode out here: Hedy https://corecursive.com/hedy-with-felienne-hermans/ I've been telling friends and colleagues about this episode for several weeks. Whenever someone asks me how the podcast is going, I jump into it: Ok, Imagine this: A…
- blog
I was interviewed by Sarah for a podcast.
Below is a machine generated transcription.
Sarah interviews Adam Gordon Bell about his successful content creation strategies during his time at Earthly Technologies.
Sarah: Adam, your articles consistently made it to the front page of Hacker News during your time at Earthly, with pieces like “We built the fastest CI and it failed” and “Don’t Feed the Thought Leaders” generating hundreds of points. What was your approach to selecting topics that would resonate with the developer community?
blogI was interviewed by Sarah for a podcast.
Below is a machine generated transcription.
Sarah interviews Adam Gordon Bell about his successful content creation strategies during his time at Earthly Technologies.
Sarah: Adam, your articles consistently made it to the front page of Hacker News during your time at Earthly, with pieces like “We built the fastest CI and it failed” and “Don’t Feed the Thought Leaders” generating hundreds of points. What was your approach to selecting topics that would resonate with the developer community?
- blog
For years, this blog has said at the top, in the header, “This is my blog. It’s somewhat abandoned.” It’s more than just abandoned, though. Here is the story.
blogFor years, this blog has said at the top, in the header, “This is my blog. It’s somewhat abandoned.” It’s more than just abandoned, though. Here is the story.
- podcast Coding Machinespodcast
What if the tools you trust were actually betraying you? Join us for a riveting story where a team of software developers discovers that their compiler is compromised. What starts as suspicion of a simple bug quickly escalates into the alarming realization. In this 100th episode celebration past show regulars Don and Krystal join Adam lend their voice to this work of fiction about the limits of trust in computing from Lawrence Kesteloot. Join us in as we peel back the layers of trust in the software we rely on daily and celebrate our 100th episode.
podcastWhat if the tools you trust were actually betraying you? Join us for a riveting story where a team of software developers discovers that their compiler is compromised. What starts as suspicion of a simple bug quickly escalates into the alarming realization. In this 100th episode celebration past show regulars Don and Krystal join Adam lend their voice to this work of fiction about the limits of trust in computing from Lawrence Kesteloot. Join us in as we peel back the layers of trust in the software we rely on daily and celebrate our 100th episode.
- newsletter One Hundred Episodesnewsletter
It’s May now, and I have a new episode out. But it’s just not just any episode 100, and it’s something special. : 100! https://corecursive.com/coding-machines-with-don-and-krystal/ It's a story about debugging code, and I don't want to spoil it, but it blew my mind. It's about…
newsletterIt’s May now, and I have a new episode out. But it’s just not just any episode 100, and it’s something special. : 100! https://corecursive.com/coding-machines-with-don-and-krystal/ It's a story about debugging code, and I don't want to spoil it, but it blew my mind. It's about…
- video
Welcome to another episode of Earthly Show and Tell. Today, Josh Gilman, the SRE lead at IOHK (Input Output), will take us on a deep dive into how his team has utilized Earthly to transform their CI process. In today's session, Josh will demonstrate how Earthly can simplify and…
videoWelcome to another episode of Earthly Show and Tell. Today, Josh Gilman, the SRE lead at IOHK (Input Output), will take us on a deep dive into how his team has utilized Earthly to transform their CI process. In today's session, Josh will demonstrate how Earthly can simplify and…
- video
Dive into the complexities of advancing from beginner to intermediate programming with our detailed discussion on overcoming the 'intermediate plateau.' This video addresses the challenges faced when transitioning to complex programming languages like Rust compared to simpler…
videoDive into the complexities of advancing from beginner to intermediate programming with our detailed discussion on overcoming the 'intermediate plateau.' This video addresses the challenges faced when transitioning to complex programming languages like Rust compared to simpler…
- video
In this episode of Earthly Show and Tell, we sit down with Dan Miller, a software engineer at Replay, to explore their cloud-based development workflow powered by Earthly and Tilt.
videoIn this episode of Earthly Show and Tell, we sit down with Dan Miller, a software engineer at Replay, to explore their cloud-based development workflow powered by Earthly and Tilt.
- article go delve - The Golang Debuggerarticle
Delve (dlv) is a CLI-based debugger for Go, tailored to the language’s concurrency model and runtime. It allows y...
articleDelve (dlv) is a CLI-based debugger for Go, tailored to the language’s concurrency model and runtime. It allows y...
- video
This video explores the concept of implicit returns, if-expressions, match-expressions, and single-expression functions in programming languages like Rust, Ruby, Kotlin, and Scala, highlighting how they can enhance code readability and conciseness. The author demonstrates the…
videoThis video explores the concept of implicit returns, if-expressions, match-expressions, and single-expression functions in programming languages like Rust, Ruby, Kotlin, and Scala, highlighting how they can enhance code readability and conciseness. The author demonstrates the…
- podcast Code, Kickflips and Crunch Timepodcast
Meet Mick West, whose career began in an unusual office setup — sandwiched between a kebab shop and a phone sex hotline. From there he worked all over Manchester, making computer games for Tiertex and Ocean. Career opportunies brought him to California and to his own game dev company, Neversoft. At Neversoft, navigating team growth and tight deadlines, Mick played a key role in creating "Tony Hawk's Pro Skater." This wasn't just another game; it was a huge hit and secured Mick's legacy in the gaming world. Join us as we explore Mick West's journey from a quirky start to the heights of video game innovation and beyond. Discover the resilience, adaptability, and teamwork that fueled his success and how he continues to explore new horizons. How did he tackle the technical challenges that came his way, and what can we learn from his relentless pursuit of the next big thing?
podcastMeet Mick West, whose career began in an unusual office setup — sandwiched between a kebab shop and a phone sex hotline. From there he worked all over Manchester, making computer games for Tiertex and Ocean. Career opportunies brought him to California and to his own game dev company, Neversoft. At Neversoft, navigating team growth and tight deadlines, Mick played a key role in creating "Tony Hawk's Pro Skater." This wasn't just another game; it was a huge hit and secured Mick's legacy in the gaming world. Join us as we explore Mick West's journey from a quirky start to the heights of video game innovation and beyond. Discover the resilience, adaptability, and teamwork that fueled his success and how he continues to explore new horizons. How did he tackle the technical challenges that came his way, and what can we learn from his relentless pursuit of the next big thing?
- newsletter Skateboarding Meets Softwarenewsletter
April and a new CoRecursive episode: Code, Kickflips and Crunch Time: Mick West's Neversoft Journey How do you build one of the most successful video games? The one that tops the charts, leads to a franchise and becomes a cultural phenomenon? Today, Mick West shares the story…
newsletterApril and a new CoRecursive episode: Code, Kickflips and Crunch Time: Mick West's Neversoft Journey How do you build one of the most successful video games? The one that tops the charts, leads to a franchise and becomes a cultural phenomenon? Today, Mick West shares the story…
- article
Here is a non-realistic scenario: You are choosing the programming language for what will eventually become something large. Picture a col...
articleHere is a non-realistic scenario: You are choosing the programming language for what will eventually become something large. Picture a col...
- video
In this episode of Earthly Show and Tell, Eric and Jordan discuss the development of Slipwise, a Ruby application designed for marina management. They outline their journey in creating an efficient system to handle marina operations, including the management of boats, contracts,…
videoIn this episode of Earthly Show and Tell, Eric and Jordan discuss the development of Slipwise, a Ruby application designed for marina management. They outline their journey in creating an efficient system to handle marina operations, including the management of boats, contracts,…
- podcast Leaving LinkedInpodcast
What if your dedication to doing things right clashed with your company's fast pace? Chris Krycho faced this very question at LinkedIn. His journey was marked by challenges: from the nuances of remote work to the struggle of influencing company culture, and a critical incident that put his principles to the test against the company's push for speed. Chris's story highlights the tension between the need for innovation and the importance of project health. This all led Chris to a pivotal decision: to stay and compromise his beliefs or to leave in pursuit of work that aligned with his principles. He chose the latter. Join us as we dive into Chris's compelling story, exploring the challenges of advocating for principled engineering in a world that often prioritizes quick wins over long-term value.
podcastWhat if your dedication to doing things right clashed with your company's fast pace? Chris Krycho faced this very question at LinkedIn. His journey was marked by challenges: from the nuances of remote work to the struggle of influencing company culture, and a critical incident that put his principles to the test against the company's push for speed. Chris's story highlights the tension between the need for innovation and the importance of project health. This all led Chris to a pivotal decision: to stay and compromise his beliefs or to leave in pursuit of work that aligned with his principles. He chose the latter. Join us as we dive into Chris's compelling story, exploring the challenges of advocating for principled engineering in a world that often prioritizes quick wins over long-term value.
- newsletter
March and a new CoRecursive episode: Leaving LinkedIn - Choosing Engineering Excellence Over Expediency Can sustainable software development and tech giant fast-paced cultures truly coexist? Imagine having to choose between your career at a tech giant and your deepest values.…
newsletterMarch and a new CoRecursive episode: Leaving LinkedIn - Choosing Engineering Excellence Over Expediency Can sustainable software development and tech giant fast-paced cultures truly coexist? Imagine having to choose between your career at a tech giant and your deepest values.…
- video
Dr Alexander Mikhalev: Alex has 20+ years of engineering, academic, and leadership experience with deep knowledge and interests in AI/ML, data privacy, synthetic data, distributed data and natural language processing/search engines, sensors, and wired/wireless networks.
videoDr Alexander Mikhalev: Alex has 20+ years of engineering, academic, and leadership experience with deep knowledge and interests in AI/ML, data privacy, synthetic data, distributed data and natural language processing/search engines, sensors, and wired/wireless networks.
- article
Ever looked at some code and thought, “Wow, that’s an ugly mess!”? Or maybe you picked up a new programming language and felt right at hom...
articleEver looked at some code and thought, “Wow, that’s an ugly mess!”? Or maybe you picked up a new programming language and felt right at hom...
- podcast Beautiful Codepodcast
Have you ever felt like your code could be more than just functional, that it could be beautiful? Greg Wilson didn't just ponder this; he embarked on a quest to elevate software design to an art form. From a soldering iron burn that steered him away from electrical engineering to his crusade for a shared language in software architecture, Greg's journey is a testament to the transformative power of teaching and the relentless pursuit of design excellence. In this episode, we dive into Greg's world, where the lessons of building sawhorses in carpentry shed light on the elegance of code and where the stories of software's pioneers become a roadmap for mastering design. Greg's mission has been to share his knowledge generously, to develop a language for design that can transform how we build software, and to inspire a new generation of developers to see the beauty in their craft. Join us as we explore how Greg's practical approach has empowered countless scientists and developers, and how his books have started essential conversations in the software community. It's a story of passion, perseverance, and the unyielding belief that software design can and should be as revered as any other form of architecture.
podcastHave you ever felt like your code could be more than just functional, that it could be beautiful? Greg Wilson didn't just ponder this; he embarked on a quest to elevate software design to an art form. From a soldering iron burn that steered him away from electrical engineering to his crusade for a shared language in software architecture, Greg's journey is a testament to the transformative power of teaching and the relentless pursuit of design excellence. In this episode, we dive into Greg's world, where the lessons of building sawhorses in carpentry shed light on the elegance of code and where the stories of software's pioneers become a roadmap for mastering design. Greg's mission has been to share his knowledge generously, to develop a language for design that can transform how we build software, and to inspire a new generation of developers to see the beauty in their craft. Join us as we explore how Greg's practical approach has empowered countless scientists and developers, and how his books have started essential conversations in the software community. It's a story of passion, perseverance, and the unyielding belief that software design can and should be as revered as any other form of architecture.
- newsletter Visual Basic and Beyondnewsletter
February and a new CoRecursive episode: Beautiful Code - Inside Greg Wilson's Vision for Software Design Greg Wilson has been on a decades-long quest to transform how we teach and talk about software design. From getting rejections for using the term "beautiful code," to…
newsletterFebruary and a new CoRecursive episode: Beautiful Code - Inside Greg Wilson's Vision for Software Design Greg Wilson has been on a decades-long quest to transform how we teach and talk about software design. From getting rejections for using the term "beautiful code," to…
- article Showboaters, Maximalists and Youarticle
Following from Rust, Ruby, and the Art of Implicit Returns...
articleFollowing from Rust, Ruby, and the Art of Implicit Returns...
- article
This article explores the concept of implicit returns, if-expressions, match-expressions, and single-expression functions in programming languages ...
articleThis article explores the concept of implicit returns, if-expressions, match-expressions, and single-expression functions in programming languages ...
- podcast Code as a Lifelinepodcast
What if your dreams were suddenly ripped away? What if your talents vanished, your passions erased? That's what happened to Jason McDonald when a traumatic brain injury at 16 ravaged his planned destiny of becoming a doctor. Jason painfully rebuilt his identity from scratch - relearning to read, write, even speak. A serendipitous discovery of coding ignited a new passion within Jason. He dove into the world of Python, even writing a popular programming book. His is a story of the incredible resilience of the human spirit when faced with life-altering challenges. One that calls us to embrace our own vulnerabilities as gateways to growth.
podcastWhat if your dreams were suddenly ripped away? What if your talents vanished, your passions erased? That's what happened to Jason McDonald when a traumatic brain injury at 16 ravaged his planned destiny of becoming a doctor. Jason painfully rebuilt his identity from scratch - relearning to read, write, even speak. A serendipitous discovery of coding ignited a new passion within Jason. He dove into the world of Python, even writing a popular programming book. His is a story of the incredible resilience of the human spirit when faced with life-altering challenges. One that calls us to embrace our own vulnerabilities as gateways to growth.
- newsletter
2024 and a new CoRecursive episode: Code As A Lifeline What if your dreams were suddenly ripped away? What if your talents vanished, your passions erased? That’s what happened to Jason McDonald when a traumatic brain injury at 16 ravaged his planned destiny of becoming a doctor.…
newsletter2024 and a new CoRecursive episode: Code As A Lifeline What if your dreams were suddenly ripped away? What if your talents vanished, your passions erased? That’s what happened to Jason McDonald when a traumatic brain injury at 16 ravaged his planned destiny of becoming a doctor.…
- 2023
- video
In this tutorial, we learn to use JQ to manipulate JSON documents! We explore the powerful features and functions of JQ, guiding you through constructing, sorting, filtering, and combining functions with pipes to enhance your JSON manipulation skills.
videoIn this tutorial, we learn to use JQ to manipulate JSON documents! We explore the powerful features and functions of JQ, guiding you through constructing, sorting, filtering, and combining functions with pipes to enhance your JSON manipulation skills.
- article The Future is Rustyarticle
The article discusses the challenges of learning complex programming languages like Rust and how the use of Large Language Models (LLMs) can help b...
articleThe article discusses the challenges of learning complex programming languages like Rust and how the use of Large Language Models (LLMs) can help b...
- video AWK in 300 Secondsvideo
In this tutorial, we delve into the power of AWK at the command line, focusing on two key functionalities.
videoIn this tutorial, we delve into the power of AWK at the command line, focusing on two key functionalities.
- podcast From 486 to Vue.jspodcast
From the early days of exploring creative possibilities on a 486 computer in his childhood to developing one of today's most popular web frameworks, Evan You's journey is a tale of passion and innovation. Evan started Vue.js while working at Google, just wanting to scratch his own itch for a lightweight JavaScript framework. But soon Vue started to gain a huge following. Eventually Evan then faced a tough dilemma - should he take a leap of faith and devote himself fully to his fledgling open source project? Hear Evan's firsthand story of that key career transition. How the explosive user feedback at Vue conferences gave him confidence. But also the challenges he faced by putting himself directly in the line of fire from unhappy users. It's an inspiring journey - from a developer just trying to solve his own problems to the leader of one of today's most popular web frameworks. Hear the very human story behind Vue.js.
podcastFrom the early days of exploring creative possibilities on a 486 computer in his childhood to developing one of today's most popular web frameworks, Evan You's journey is a tale of passion and innovation. Evan started Vue.js while working at Google, just wanting to scratch his own itch for a lightweight JavaScript framework. But soon Vue started to gain a huge following. Eventually Evan then faced a tough dilemma - should he take a leap of faith and devote himself fully to his fledgling open source project? Hear Evan's firsthand story of that key career transition. How the explosive user feedback at Vue conferences gave him confidence. But also the challenges he faced by putting himself directly in the line of fire from unhappy users. It's an inspiring journey - from a developer just trying to solve his own problems to the leader of one of today's most popular web frameworks. Hear the very human story behind Vue.js.
- newsletter
It's December now, and I have a new podcast episode out here: From 486 to Vue.js - Evan You's Full-Time Gamble on Open Source It's the unlikely origin story behind Vue.js and how Evan You's frustration with Angular sparked a side project that snowballed into one of today's most…
newsletterIt's December now, and I have a new podcast episode out here: From 486 to Vue.js - Evan You's Full-Time Gamble on Open Source It's the unlikely origin story behind Vue.js and how Evan You's frustration with Angular sparked a side project that snowballed into one of today's most…
- article
This tutorial series explains how to package and publish Python code on PyPI using setuptools and twine. It covers topics such as choosing a packag...
articleThis tutorial series explains how to package and publish Python code on PyPI using setuptools and twine. It covers topics such as choosing a packag...
- article Poetry Build and Publisharticle
This tutorial explains how to use the Poetry dependency manager and build system to package and publish Python projects. It covers the process of b...
articleThis tutorial explains how to use the Poetry dependency manager and build system to package and publish Python projects. It covers the process of b...
- article Python C Extension pypi Packagearticle
This tutorial series demonstrates how to package and distribute a Python C extension using setuptools and a setup.py file. It covers the process of...
articleThis tutorial series demonstrates how to package and distribute a Python C extension using setuptools and a setup.py file. It covers the process of...
- video
In this video, we delve deep into the fascinating world of containers and their implementation on various operating systems. We begin by exploring the traditional definition of containers, which involves using Linux system calls and namespaces for isolation. However, we also…
videoIn this video, we delve deep into the fascinating world of containers and their implementation on various operating systems. We begin by exploring the traditional definition of containers, which involves using Linux system calls and namespaces for isolation. However, we also…
- podcast Platform Takes The Painpodcast
How did Spotify scale from 10 engineers to 100s to 1000s ...without slowing down? Without becoming corporate? Facing an IPO deadline, Pia Nilsson worked with 300 teams to transform how Spotify built software. She spearheaded a movement that led them from working in silos to a unified developer platform. Hear the inside story of how Spotify's Platform teams embraced transparency and customer focus to create Backstage — now used by companies worldwide. It's an unbelievable tale of ingenuity and perseverance. Hear Spotify's secret to scaling engineering without losing speed and independence. Don't miss it!
podcastHow did Spotify scale from 10 engineers to 100s to 1000s ...without slowing down? Without becoming corporate? Facing an IPO deadline, Pia Nilsson worked with 300 teams to transform how Spotify built software. She spearheaded a movement that led them from working in silos to a unified developer platform. Hear the inside story of how Spotify's Platform teams embraced transparency and customer focus to create Backstage — now used by companies worldwide. It's an unbelievable tale of ingenuity and perseverance. Hear Spotify's secret to scaling engineering without losing speed and independence. Don't miss it!
- newsletter Wooden Block Puzzles and Spotifynewsletter
It’s November now, and I have a new episode out here: The Inside Story of Spotify's Engineering Growth It’s about Spotify, back in 2016-2018. Facing an IPO deadline, Pia Nilsson worked with 300 teams to transform how Spotify built software. She spearheaded a movement that led…
newsletterIt’s November now, and I have a new episode out here: The Inside Story of Spotify's Engineering Growth It’s about Spotify, back in 2016-2018. Facing an IPO deadline, Pia Nilsson worked with 300 teams to transform how Spotify built software. She spearheaded a movement that led…
- article Earthly On devtools.FMarticle
Vlad appeared on devtools.FM and discussed the challenges of go-to-market strategies in startups, emphasizing that it is often harder than the tech...
articleVlad appeared on devtools.FM and discussed the challenges of go-to-market strategies in startups, emphasizing that it is often harder than the tech...
- video
Today, let's discuss Python dependency, virtual environments and the use of Poetry, an all-in-one tool for virtual environments, dependency management, packaging, and distribution in Python projects.
videoToday, let's discuss Python dependency, virtual environments and the use of Poetry, an all-in-one tool for virtual environments, dependency management, packaging, and distribution in Python projects.
- podcast Sloot Digital Coding Systempodcast
Lost treasure. Conspiracy theories. Impossible tech demos. Jan Sloot claimed to have invented revolutionary data compression that could fit a full movie into a tiny smart card chip. Top executives and investors witnessed his demos and became true believers, ready to bankroll this company into the stratosphere. But was it all an elaborate illusion? Join me as I unravel the perplexing story of Jan Sloot, the eccentric Dutch TV repairman who dazzled the tech world with his compression claims. Discover the shady details and follow the bizarre twists and turns, as we try to separate fact from fiction in the puzzling case of the Sloot Digital Coding System.
podcastLost treasure. Conspiracy theories. Impossible tech demos. Jan Sloot claimed to have invented revolutionary data compression that could fit a full movie into a tiny smart card chip. Top executives and investors witnessed his demos and became true believers, ready to bankroll this company into the stratosphere. But was it all an elaborate illusion? Join me as I unravel the perplexing story of Jan Sloot, the eccentric Dutch TV repairman who dazzled the tech world with his compression claims. Discover the shady details and follow the bizarre twists and turns, as we try to separate fact from fiction in the puzzling case of the Sloot Digital Coding System.
- newsletter Sleep Sortnewsletter
It’s October now, and I have a new episode out here: Sloot Digital Coding System Jan Sloot claimed to have invented revolutionary data compression that could fit a full movie into a tiny smart card chip. Top executives and investors witnessed his demos and became true believers,…
newsletterIt’s October now, and I have a new episode out here: Sloot Digital Coding System Jan Sloot claimed to have invented revolutionary data compression that could fit a full movie into a tiny smart card chip. Top executives and investors witnessed his demos and became true believers,…
- video
In this video, we delve into Golang's unique approach to error handling. We highlight how Go's error handling differs from other programming languages and showcase its effectiveness when following the right idioms. We demonstrate the simplicity of implementing the error…
videoIn this video, we delve into Golang's unique approach to error handling. We highlight how Go's error handling differs from other programming languages and showcase its effectiveness when following the right idioms. We demonstrate the simplicity of implementing the error…
- video
In this video, we demonstrate how to work with YAML in Python, covering key topics such as reading and writing YAML files, working with nested elements, making modifications to YAML documents, and converting YAML to JSON. We also provide practical examples and valuable insights…
videoIn this video, we demonstrate how to work with YAML in Python, covering key topics such as reading and writing YAML files, working with nested elements, making modifications to YAML documents, and converting YAML to JSON. We also provide practical examples and valuable insights…
- article
This article provides a humorous and satirical glossary of terms related to DevOps, highlighting the realities and quirks of the field. It offers a...
articleThis article provides a humorous and satirical glossary of terms related to DevOps, highlighting the realities and quirks of the field. It offers a...
- article Powerlevel10karticle
Powerlevel10k is a powerful prompt customization tool for ZSH that offers speed, customization, and a helpful configuration wizard. It elevates the...
articlePowerlevel10k is a powerful prompt customization tool for ZSH that offers speed, customization, and a helpful configuration wizard. It elevates the...
- newsletter Balancing Developer Identitynewsletter
It’s September now, and I have a new episode out here: https://corecursive.com/configuring-identity-adam-jacob/ It's a look behind the scenes to the creation of Chef - the game-changing infrastructure automation tool. Adam Jacob created Chef, and it became a massively popular…
newsletterIt’s September now, and I have a new episode out here: https://corecursive.com/configuring-identity-adam-jacob/ It's a look behind the scenes to the creation of Chef - the game-changing infrastructure automation tool. Adam Jacob created Chef, and it became a massively popular…
- video
In this video, Adam shares expert strategies for harnessing GPT-4 and other generative AI models to tackle complex challenges. He dives into the nuances of prompt engineering and tuning, highlighting the significance of meticulously choosing the information you feed into…
videoIn this video, Adam shares expert strategies for harnessing GPT-4 and other generative AI models to tackle complex challenges. He dives into the nuances of prompt engineering and tuning, highlighting the significance of meticulously choosing the information you feed into…
- newsletter Learning When to Learnnewsletter
It’s August now, and I have a new episode out here: The Science of Learning to Code It's about learning, and this is a topic very dear to my own heart. The episode shares some history of learning research and imparts some guidelines for embarking on a learning side project while…
newsletterIt’s August now, and I have a new episode out here: The Science of Learning to Code It's about learning, and this is a topic very dear to my own heart. The episode shares some history of learning research and imparts some guidelines for embarking on a learning side project while…
- podcast The Science of Learning to Codepodcast
Learning to code can feel impossible. Like facing a sheer rock wall with no ropes or harnesses. But what if there was a path up the mountain? A trail blazed smooth by master coders who went before? In this episode, we'll follow that path. We'll hear the stories of legends like Seymour Papert, who championed active, project-based learning. Of Fred Brooks, who discovered that pairing accelerates learning. And more. The research shows that with the right methods, motivation, and support, anyone can master coding's steep summit. So join me as we uncover the science behind learning to code. You'll walk away fired up, equipped with proven techniques to unlock your potential and conquer new technical skills. The climb is on!
podcastLearning to code can feel impossible. Like facing a sheer rock wall with no ropes or harnesses. But what if there was a path up the mountain? A trail blazed smooth by master coders who went before? In this episode, we'll follow that path. We'll hear the stories of legends like Seymour Papert, who championed active, project-based learning. Of Fred Brooks, who discovered that pairing accelerates learning. And more. The research shows that with the right methods, motivation, and support, anyone can master coding's steep summit. So join me as we uncover the science behind learning to code. You'll walk away fired up, equipped with proven techniques to unlock your potential and conquer new technical skills. The climb is on!
- article Don't Configure Control Flowarticle
Learn why using YAML for control flow configuration can lead to complex and hard-to-understand code, and why it's better to use existing progra...
articleLearn why using YAML for control flow configuration can lead to complex and hard-to-understand code, and why it's better to use existing progra...
- video
In this tutorial, Adam unveils his secret recipe for crafting personalized article excerpts and tailor-made call-to-action messages using the power of LLMs. Get ready to unleash your creativity and embark on an exciting writing adventure with Adam.
videoIn this tutorial, Adam unveils his secret recipe for crafting personalized article excerpts and tailor-made call-to-action messages using the power of LLMs. Get ready to unleash your creativity and embark on an exciting writing adventure with Adam.
- video
In this video, we learn to use JQ to manipulate JSON documents! We explore the powerful features and functions of JQ, guiding you through constructing, sorting, filtering, and combining functions with pipes to enhance your JSON manipulation skills. Learn the ins and outs of…
videoIn this video, we learn to use JQ to manipulate JSON documents! We explore the powerful features and functions of JQ, guiding you through constructing, sorting, filtering, and combining functions with pipes to enhance your JSON manipulation skills. Learn the ins and outs of…
- article
Learn strategies for working with LLMs, such managing context, framing the problem, thinking outloud and more in this newbs's guide to applying...
articleLearn strategies for working with LLMs, such managing context, framing the problem, thinking outloud and more in this newbs's guide to applying...
- video
In this video, we show you how Earthly Satellites can be used with Github Actions to improve build performance and consistency while significantly reducing the complexity of creating and maintaining Github Actions workflows.
videoIn this video, we show you how Earthly Satellites can be used with Github Actions to improve build performance and consistency while significantly reducing the complexity of creating and maintaining Github Actions workflows.
- podcast
Have you ever been frustrated with your job? Maybe not burnt out, but getting close to there? You used to love what you did, and it felt so creative and empowering, but then it starts to feel a bit more cookie cutter. Have you ever been frustrated with your whole life? The daily grind has taken what you love and it just doesn't feel the same anymore. Some of the magic just has slowly faded away. You don't know when it started, but it did. Today's guest is Amir Rajan. He's hard to describe. Is he a developer? Yes. An artist who sold everything that he owned for indie game development. Yes. The subject of a New Yorker profile? Yes, all of that. And also, somebody who got frustrated with his life and left everything behind.
podcastHave you ever been frustrated with your job? Maybe not burnt out, but getting close to there? You used to love what you did, and it felt so creative and empowering, but then it starts to feel a bit more cookie cutter. Have you ever been frustrated with your whole life? The daily grind has taken what you love and it just doesn't feel the same anymore. Some of the magic just has slowly faded away. You don't know when it started, but it did. Today's guest is Amir Rajan. He's hard to describe. Is he a developer? Yes. An artist who sold everything that he owned for indie game development. Yes. The subject of a New Yorker profile? Yes, all of that. And also, somebody who got frustrated with his life and left everything behind.
- newsletter Passion and Focusnewsletter
It's July now, and I have a new episode out here: https://corecursive.com/a-dark-room-with-amir-rajan/ Amir is amazing. I identify with his early struggles – his struggles working with people who didn't care – so much. He is a little worried that his earlier self – who got…
newsletterIt's July now, and I have a new episode out here: https://corecursive.com/a-dark-room-with-amir-rajan/ Amir is amazing. I identify with his early struggles – his struggles working with people who didn't care – so much. He is a little worried that his earlier self – who got…
- video Earthly May Office Hoursvideo
Earthly community office hours — open Q&A on Earthfiles, build caching, and CI patterns.
videoEarthly community office hours — open Q&A on Earthfiles, build caching, and CI patterns.
- video
Hey there! Ready to demystify containerization? Join us in this video where we dive into creating a container runtime from scratch using the Linux chroot syscall. We'll build our own basic container runtime using chroot to provide isolation.
videoHey there! Ready to demystify containerization? Join us in this video where we dive into creating a container runtime from scratch using the Linux chroot syscall. We'll build our own basic container runtime using chroot to provide isolation.
- podcast
Today, we meet Ben Dumke-von der Ehe, one of the early developers on the Stack Overflow team. He was on the front lines as the platform transformed how programmers worked. And he embodies the spirit of Stack Overflow: Its transparency, playfulness, and even some of its struggles to be as welcoming and friendly as it should be. But you'll see what I mean. So stick around as Ben takes us on a journey through the building of Stack Overflow. Get ready for a candid inside look at the creation of a platform that would become an essential part of the developer community and the internet as we know it.
podcastToday, we meet Ben Dumke-von der Ehe, one of the early developers on the Stack Overflow team. He was on the front lines as the platform transformed how programmers worked. And he embodies the spirit of Stack Overflow: Its transparency, playfulness, and even some of its struggles to be as welcoming and friendly as it should be. But you'll see what I mean. So stick around as Ben takes us on a journey through the building of Stack Overflow. Get ready for a candid inside look at the creation of a platform that would become an essential part of the developer community and the internet as we know it.
- newsletter Waiting for Marvnewsletter
Waiting for Marv Quiting Stack Overflow It's June now, and I have a new episode out here: https://corecursive.com/stack-overflow/ The episode is the story of the longest-tenured employee at Stack Overflow, Ben Dumke-von der Ehe. He became an early employee of Stack Overflow by…
newsletterWaiting for Marv Quiting Stack Overflow It's June now, and I have a new episode out here: https://corecursive.com/stack-overflow/ The episode is the story of the longest-tenured employee at Stack Overflow, Ben Dumke-von der Ehe. He became an early employee of Stack Overflow by…
- video Awk Crash Coursevideo
In this video, we delve into the powerful command line tool, awk, and showcase its exceptional capabilities for parsing and analyzing data. Whether you're a data enthusiast or a programming novice, awk can revolutionize the way you handle and process files, text, CSVs, and TSVs.…
videoIn this video, we delve into the powerful command line tool, awk, and showcase its exceptional capabilities for parsing and analyzing data. Whether you're a data enthusiast or a programming novice, awk can revolutionize the way you handle and process files, text, CSVs, and TSVs.…
- podcast
How do you accomplish something massive over time? I've had the chance to meet with a number of exceptional software developers and it's something I always wonder about. Today, I might have an answer with the incredible story of Yann Collet. Yann was a project manager who went from being burnt out on corporate life to becoming one of the most sought-after developers in the world. What happens when you build something so impressive and valuable that it essentially becomes invisible? And how do you do that when your day job is mainly organizing spreadsheets and keeping timelines on track? Yann built LZ4 and ZStandard - two of the world's fastest compression algorithms that have transformed databases, operating systems, file systems, and much more. We'll go back in time to Yann's initial steps with programming, his game-changing discoveries along the way and how his devotion to data compression hobby led him to create something that saves billions of dollars worldwide.
podcastHow do you accomplish something massive over time? I've had the chance to meet with a number of exceptional software developers and it's something I always wonder about. Today, I might have an answer with the incredible story of Yann Collet. Yann was a project manager who went from being burnt out on corporate life to becoming one of the most sought-after developers in the world. What happens when you build something so impressive and valuable that it essentially becomes invisible? And how do you do that when your day job is mainly organizing spreadsheets and keeping timelines on track? Yann built LZ4 and ZStandard - two of the world's fastest compression algorithms that have transformed databases, operating systems, file systems, and much more. We'll go back in time to Yann's initial steps with programming, his game-changing discoveries along the way and how his devotion to data compression hobby led him to create something that saves billions of dollars worldwide.
- newsletter Learning to Learnnewsletter
It's May now, and I have a new episode out here: https://corecursive.com/data-compression-yann--collet/ Yann Collet became interested in programming and discovered his passion for…
newsletterIt's May now, and I have a new episode out here: https://corecursive.com/data-compression-yann--collet/ Yann Collet became interested in programming and discovered his passion for…
- article
Discover the hidden pitfalls of dev tool businesses and how misaligned incentives can lead to bloated software and unsatisfied users. Learn how Ear...
articleDiscover the hidden pitfalls of dev tool businesses and how misaligned incentives can lead to bloated software and unsatisfied users. Learn how Ear...
- article
This article explores the history of the build system Pants, from its early days at Google to its current version, Pants V2. It delves into the cha...
articleThis article explores the history of the build system Pants, from its early days at Google to its current version, Pants V2. It delves into the cha...
- podcast JSON vs XMLpodcast
Today's guest is Douglas Crockford. He's sharing the story of JSON, his discovery of JavaScript's good parts, and his approach to finding a simple way to build software. Also, his battles against XML, against complexity, his battles to say that there's a better way to build software. This is foundational stuff for the web, and Doug is an iconoclast.
podcastToday's guest is Douglas Crockford. He's sharing the story of JSON, his discovery of JavaScript's good parts, and his approach to finding a simple way to build software. Also, his battles against XML, against complexity, his battles to say that there's a better way to build software. This is foundational stuff for the web, and Doug is an iconoclast.
- newsletter Be Like Kennewsletter
April is here! March has been a challenging month for me. My dad is in the hospital, and I'm heading out on a road trip to visit him shortly. Some months are tougher than others. Doug Crockford But Episode 087 of the podcast is out, and it's an interview with Doug Crockford —…
newsletterApril is here! March has been a challenging month for me. My dad is in the hospital, and I'm heading out on a road trip to visit him shortly. Some months are tougher than others. Doug Crockford But Episode 087 of the podcast is out, and it's an interview with Doug Crockford —…
- SCaLE 20x · Pasadena, CAtalk 45 min
Walking through how Linux namespaces and cgroups enable containerization, by building a runtime from scratch.
⌄ more ⌃ less
Containers feel magical until you build one. This talk strips the magic off the magic —chroot,unshare,cgroups, layered filesystems — and reconstructs a tiny runtime live, so the audience leaves with a mental model of what Docker is actually doing under the hood.SCaLE 20x · Pasadena, CA· 45 min talkWalking through how Linux namespaces and cgroups enable containerization, by building a runtime from scratch.
⌄ more ⌃ less
Containers feel magical until you build one. This talk strips the magic off the magic —chroot,unshare,cgroups, layered filesystems — and reconstructs a tiny runtime live, so the audience leaves with a mental model of what Docker is actually doing under the hood. - podcast Sun's Mobile Blunderspodcast
Shai Almog worked at Sun on Mobile JVMs just as phones started to turn from phones into something else. Sun had deep expertise in mobile development, and unique engineering-driven culture, and relationships with manufacturers and operators. And yet internal politics and the collapse of its server market made it hard to get things done. At Sun, as the mobile market changed, Shai and his friend Chen Fishbein launched a popular UI toolkit. Today Shai shares their struggles at Sun and after it to shape mobile UI development.
podcastShai Almog worked at Sun on Mobile JVMs just as phones started to turn from phones into something else. Sun had deep expertise in mobile development, and unique engineering-driven culture, and relationships with manufacturers and operators. And yet internal politics and the collapse of its server market made it hard to get things done. At Sun, as the mobile market changed, Shai and his friend Chen Fishbein launched a popular UI toolkit. Today Shai shares their struggles at Sun and after it to shape mobile UI development.
- newsletter Shades of Grey Personal Truthsnewsletter
It's March now, and I have a new episode out here: Sun's Mobile Blunders Shai Almog worked at Sun on Mobile JVMs just as phones started to turn from phones into something else. Sun had deep expertise in mobile development and unique engineering-driven culture and relationships…
newsletterIt's March now, and I have a new episode out here: Sun's Mobile Blunders Shai Almog worked at Sun on Mobile JVMs just as phones started to turn from phones into something else. Sun had deep expertise in mobile development and unique engineering-driven culture and relationships…
- video
In this video, Adam talks to Benjy Weinberger, cocreator of Pants about Builds, MonoRepos, the history of Bazel and pants and why building software can be done better.
videoIn this video, Adam talks to Benjy Weinberger, cocreator of Pants about Builds, MonoRepos, the history of Bazel and pants and why building software can be done better.
- ConFoo · Montreal, QCtalk 45 min
Staff vs line engineers — how the business-literature distinction maps to engineering careers and org dynamics.
ConFoo · Montreal, QC· 45 min talkStaff vs line engineers — how the business-literature distinction maps to engineering careers and org dynamics.
- talk Beating TimsortConFoo · Montreal, QCtalk 45 min1,000+ attendees
Python's Timsort merge logic — and where it can be beaten.
ConFoo · Montreal, QC· 45 min talk1,000+ attendeesPython's Timsort merge logic — and where it can be beaten.
- video
In this video I'm going to show you how variables work in make files. It might seem like a simple topic, but actually, its a bit complex. Make files can get a little bit wild, and follow along with me today, and you'll be the expert at make files in no time.
videoIn this video I'm going to show you how variables work in make files. It might seem like a simple topic, but actually, its a bit complex. Make files can get a little bit wild, and follow along with me today, and you'll be the expert at make files in no time.
- podcast Shipping Graphing Calculatorpodcast
I've been on many projects that get canceled. We're building cool stuff. We're going above and beyond, and we're excited. But the project encounters reality, shifting priorities, or budgeting constraints, and the work never goes anywhere. It always feels tragic, but then I move on. But what if I didn't let a project get canceled? What if I couldn't accept that? That is what Ron Avitzur's story is all about. He is the creator of "Graphing Calculator," and he would not let it be canceled.
podcastI've been on many projects that get canceled. We're building cool stuff. We're going above and beyond, and we're excited. But the project encounters reality, shifting priorities, or budgeting constraints, and the work never goes anywhere. It always feels tragic, but then I move on. But what if I didn't let a project get canceled? What if I couldn't accept that? That is what Ron Avitzur's story is all about. He is the creator of "Graphing Calculator," and he would not let it be canceled.
- newsletter Make-Believe Projectsnewsletter
It’s February now, and I have a new episode out here: https://corecursive.com/shipping-graphing-calculator/ It’s the story of sneaking onto the Apple Campus to finish working on a project that got canceled. Each episode is only as good as the story, and it would be hard to find…
newsletterIt’s February now, and I have a new episode out here: https://corecursive.com/shipping-graphing-calculator/ It’s the story of sneaking onto the Apple Campus to finish working on a project that got canceled. Each episode is only as good as the story, and it would be hard to find…
- article
Learn how to store your VS Code settings in Git to easily manage and share your customizations. Keep all your settings in one place and avoid break...
articleLearn how to store your VS Code settings in Git to easily manage and share your customizations. Keep all your settings in one place and avoid break...
- video
Let’s talk about a tech career, but not about salary or how to pass the interview process at FANG. Instead, let’s talk about how your relationship with your employer influences what your job is like.
videoLet’s talk about a tech career, but not about salary or how to pass the interview process at FANG. Instead, let’s talk about how your relationship with your employer influences what your job is like.
- video
In this tutorial, we delve into the powerful world of build automation with Makefiles in Go (Golang) programming. Discover the essentials of using task runners for efficient software development, including how to streamline the process of compiling, running, testing, and…
videoIn this tutorial, we delve into the powerful world of build automation with Makefiles in Go (Golang) programming. Discover the essentials of using task runners for efficient software development, including how to streamline the process of compiling, running, testing, and…
- video
In this video, I will show you how – and why – to use makefiles with Python. How to set up virtual environments and develop faster using this old-fashioned tool. And if you stay to the end, I'll share why makefiles are still an excellent choice for a modern developer.
videoIn this video, I will show you how – and why – to use makefiles with Python. How to set up virtual environments and develop faster using this old-fashioned tool. And if you stay to the end, I'll share why makefiles are still an excellent choice for a modern developer.
- video
Unlock the power of makefiles within Visual Studio Code (VS Code) with our latest tutorial video. Dive into the seamless integration of makefiles with VS Code, your one-stop solution for a streamlined coding experience. We’ll guide you through the essentials—compiling your code,…
videoUnlock the power of makefiles within Visual Studio Code (VS Code) with our latest tutorial video. Dive into the seamless integration of makefiles with VS Code, your one-stop solution for a streamlined coding experience. We’ll guide you through the essentials—compiling your code,…
- video
In this Python Data Analysis tutorial, we explore the versatile techniques for reading and processing CSV files using Python's powerful libraries. We begin by leveraging the csv package to parse CSV files using both the standard reader and DictReader for optimized column access.…
videoIn this Python Data Analysis tutorial, we explore the versatile techniques for reading and processing CSV files using Python's powerful libraries. We begin by leveraging the csv package to parse CSV files using both the standard reader and DictReader for optimized column access.…
- podcast The Unfulfilled Engineerpodcast
Nothing good comes from being insecure about your worth, especially at your job. That's what today's episode is about. That's what today's guest is here to discuss. It's a slow burn, but if you listen to the end, I think you will value yourself more professionally. My Guest is Don Mckay. Someone longtime listeners will undoubtedly know.
podcastNothing good comes from being insecure about your worth, especially at your job. That's what today's episode is about. That's what today's guest is here to discuss. It's a slow burn, but if you listen to the end, I think you will value yourself more professionally. My Guest is Don Mckay. Someone longtime listeners will undoubtedly know.
- newsletter When Working Hard Isn't Enoughnewsletter
Newsletter, readers! The first episode of the year is a very special one to me. It’s an interview with long-time podcast guest and sort of neighbor Don McKay. Often times when I have Don on the podcast it’s a zany light episode where we explore a tech topic in a light-hearted…
newsletterNewsletter, readers! The first episode of the year is a very special one to me. It’s an interview with long-time podcast guest and sort of neighbor Don McKay. Often times when I have Don on the podcast it’s a zany light episode where we explore a tech topic in a light-hearted…
- Earthly Blogarticle PostmortemHacker News front page
Postmortem on building a fast CI product that didn't find its market.
Earthly Blog· Postmortem articleHacker News front pagePostmortem on building a fast CI product that didn't find its market.
- 2022
- article Monorepo Build Toolsarticle
Learn about the different monorepo build tools available, including Bazel, Pants, Nx, and Earthly. Discover their features, programming language su...
articleLearn about the different monorepo build tools available, including Bazel, Pants, Nx, and Earthly. Discover their features, programming language su...
- video
In this detailed tutorial, learn the essentials of containerizing a Python application using Docker, including comprehensive steps for crafting a Dockerfile, building an image, and deploying it as a container. Discover best practices for exposing ports and managing dependencies…
videoIn this detailed tutorial, learn the essentials of containerizing a Python application using Docker, including comprehensive steps for crafting a Dockerfile, building an image, and deploying it as a container. Discover best practices for exposing ports and managing dependencies…
- video
In this Python tutorial, delve into the efficient manipulation of list data structures, where you'll master the techniques of list concatenation, merging, and combination. Whether you're working with small lists or facing the challenge of uniting large datasets with extensive…
videoIn this Python tutorial, delve into the efficient manipulation of list data structures, where you'll master the techniques of list concatenation, merging, and combination. Whether you're working with small lists or facing the challenge of uniting large datasets with extensive…
- PyjamasConf 2022 · Onlinetalk Online
Python audience version of the Timsort talk — beating Timsort's merge logic.
PyjamasConf 2022 · Online· Online talkPython audience version of the Timsort talk — beating Timsort's merge logic.
- podcast DOOMed to Fail: A Horror Storypodcast
Today Rebecca Burger Becky Heineman shares the tale of porting Doom to the 3DO console under extreme conditions. There is an engine to tweak, deadlines to hit, hardware acceleration to get working, and dramatic rock anthems to record. We also learn about how game piracy led her to game development and what it was like to do game development in the mania of the mid-nineties. Finally, we close with Becky's advice on learning bare metal development skills.
podcastToday Rebecca Burger Becky Heineman shares the tale of porting Doom to the 3DO console under extreme conditions. There is an engine to tweak, deadlines to hit, hardware acceleration to get working, and dramatic rock anthems to record. We also learn about how game piracy led her to game development and what it was like to do game development in the mania of the mid-nineties. Finally, we close with Becky's advice on learning bare metal development skills.
- newsletter From DOOM to DOOMEDnewsletter
It's December now, and I have a new episode: https://corecursive.com/doomed-to-fail-with-burger-becky/ My Guest, Becky Heineman, shares the story of porting DOOM to the 3DO console. I grew up in this era and remember playing Wolfenstein on my home computer for hours and hours. I…
newsletterIt's December now, and I have a new episode: https://corecursive.com/doomed-to-fail-with-burger-becky/ My Guest, Becky Heineman, shares the story of porting DOOM to the 3DO console. I grew up in this era and remember playing Wolfenstein on my home computer for hours and hours. I…
- video
Tim Peters created TimSort for Python, and it's so fast in the real world most programming languages have now copied it. But here is how I beat it for at least one case, and what Tim thinks of my improvement.
videoTim Peters created TimSort for Python, and it's so fast in the real world most programming languages have now copied it. But here is how I beat it for at least one case, and what Tim thinks of my improvement.
- video
In this Python Programming Tutorial, you'll learn how to read CSV files. You'll will learn how to read CSV files three ways, twice using the csv package, normal reader and dictreader, and finally using pandas. I'll also show you how to change the delimiter type and read…
videoIn this Python Programming Tutorial, you'll learn how to read CSV files. You'll will learn how to read CSV files three ways, twice using the csv package, normal reader and dictreader, and finally using pandas. I'll also show you how to change the delimiter type and read…
- article Bullshit Software Projectsarticle
Discover the frustrations and challenges faced by software developers in the world of "bullshit work." From pointless projects to busy wo...
articleDiscover the frustrations and challenges faced by software developers in the world of "bullshit work." From pointless projects to busy wo...
- article
In this article, the author explores the concept of containers and how they are essentially chrooted processes. They walk through the process of bu...
articleIn this article, the author explores the concept of containers and how they are essentially chrooted processes. They walk through the process of bu...
- podcast Software World Tourpodcast
Today's story is from Son Luong Ngoc, who shares what it was like for him to work and live in many different countries around the world, including working for Alibaba at the Xixi campus in Hangzhou, China ([Son's photos of the Alibaba campus](#bonus-content-from-son)). It's a story of a software developer finding a place that fits them, a place that suits them.
podcastToday's story is from Son Luong Ngoc, who shares what it was like for him to work and live in many different countries around the world, including working for Alibaba at the Xixi campus in Hangzhou, China ([Son's photos of the Alibaba campus](#bonus-content-from-son)). It's a story of a software developer finding a place that fits them, a place that suits them.
- newsletter Software World Tournewsletter
It's November now, and I have a new episode out here: https://corecursive.com/software-world-tour-with-son-luong-ngoc/ The episode follows Son Luong Ngoc through his early career, starting with a desire to build video games in Vietnam and shadowing him through his travels around…
newsletterIt's November now, and I have a new episode out here: https://corecursive.com/software-world-tour-with-son-luong-ngoc/ The episode follows Son Luong Ngoc through his early career, starting with a desire to build video games in Vietnam and shadowing him through his travels around…
- podcast Android's Unlikely Successpodcast
What could you accomplish if your teammates were all excited and determined to hit some project timelines? What is it like for a group of people to give it all they have? That's what today is about. Chet Haase from the Android team is here to share the story of the early days of Android, the mobile operating system that powers the majority of phones worldwide. We'll cover the years from 2005 to around 2011. It's a wild story.
podcastWhat could you accomplish if your teammates were all excited and determined to hit some project timelines? What is it like for a group of people to give it all they have? That's what today is about. Chet Haase from the Android team is here to share the story of the early days of Android, the mobile operating system that powers the majority of phones worldwide. We'll cover the years from 2005 to around 2011. It's a wild story.
- newsletter The Inside Story of Androidnewsletter
It's October now, and I have a new episode out here: https://corecursive.com/android-with-chet-haase/ It's about the early days of Android and it's a story I wouldn't usually be able to share because it's the story of the many people who worked on Android in the early days.…
newsletterIt's October now, and I have a new episode out here: https://corecursive.com/android-with-chet-haase/ It's about the early days of Android and it's a story I wouldn't usually be able to share because it's the story of the many people who worked on Android in the early days.…
- video
In Adam's experience build scripts are often an ugly mix of make files, bash scripts, groovy code, and who knows what else. Adam will share his personal experience of moving to use the open-source earthfile format to improve this mess and walk through migrating an example…
videoIn Adam's experience build scripts are often an ugly mix of make files, bash scripts, groovy code, and who knows what else. Adam will share his personal experience of moving to use the open-source earthfile format to improve this mess and walk through migrating an example…
- video
Delve into the captivating process of container creation with "Compiling Containers," where Adam Gordon Bell illuminates the journey from Dockerfile statements like RUN, FROM, and COPY to a fully-fledged container image. This exploration reveals the transformative steps that…
videoDelve into the captivating process of container creation with "Compiling Containers," where Adam Gordon Bell illuminates the journey from Dockerfile statements like RUN, FROM, and COPY to a fully-fledged container image. This exploration reveals the transformative steps that…
- article
Learn how to set up a Linux virtual machine on your macOS with Lima, a simple and efficient tool powered by QEMU. With Lima, you can have a Linux e...
articleLearn how to set up a Linux virtual machine on your macOS with Lima, a simple and efficient tool powered by QEMU. With Lima, you can have a Linux e...
- article When to use Bazel?article
Learn about the benefits and challenges of using Bazel, Google's open-source monorepo build system, from experts who have experience with it. D...
articleLearn about the benefits and challenges of using Bazel, Google's open-source monorepo build system, from experts who have experience with it. D...
- podcast From Prison To Programmingpodcast
I believe that getting underrepresented groups into software development is a good thing. This is not a controversial opinion until you start talking about felons. Today's guest is Rick Wolter. He's an iOS developer who served 18 years in prison for second degree murder. Rick killed somebody and for some that's all they need to know about Rick. But today's episode is about Rick's path to redemption him, teaching himself to code in prison, smuggling in a Python interpreter, and then getting out and trying to get a job as a dev when you're a felon.
podcastI believe that getting underrepresented groups into software development is a good thing. This is not a controversial opinion until you start talking about felons. Today's guest is Rick Wolter. He's an iOS developer who served 18 years in prison for second degree murder. Rick killed somebody and for some that's all they need to know about Rick. But today's episode is about Rick's path to redemption him, teaching himself to code in prison, smuggling in a Python interpreter, and then getting out and trying to get a job as a dev when you're a felon.
- newsletter Prison Pythonnewsletter
It's September now, and I have a new episode out here. https://corecursive.com/prison-programming-with-rick-wolter/ It's an interview with Rick Wolter, and it's an interview I won't forget. In a lot of ways, Rick is a perfect guest for me. He is raw and transparent and not…
newsletterIt's September now, and I have a new episode out here. https://corecursive.com/prison-programming-with-rick-wolter/ It's an interview with Rick Wolter, and it's an interview I won't forget. In a lot of ways, Rick is a perfect guest for me. He is raw and transparent and not…
- article Stop saying 10x developerarticle
In this article, the concept of the "10x developer" is dissected and examined. The author explores whether such developers truly exist an...
articleIn this article, the concept of the "10x developer" is dissected and examined. The author explores whether such developers truly exist an...
- article Terraform Route53 And DNS Funarticle
Learn how to fix DNS issues and import DNS records from AWS's Route53 into Terraform in this informative article by Adam. Discover the steps he...
articleLearn how to fix DNS issues and import DNS records from AWS's Route53 into Terraform in this informative article by Adam. Discover the steps he...
- podcast CPANpodcast
CPAN was the first open-source software module repository. And on this day, Aug 1st, in 1995, CPAN was first announced to a private group of PERL users. And why does this matter? Who is still using PERL anyhow? CPAN inspired everything that would follow: npm, maven, cargo, nuget, hackage, ruby gems, python pypi and so on. If you are building things today by pulling in various packages from various open source places – and really, who isn’t – then the history of how this world came to be is important.
podcastCPAN was the first open-source software module repository. And on this day, Aug 1st, in 1995, CPAN was first announced to a private group of PERL users. And why does this matter? Who is still using PERL anyhow? CPAN inspired everything that would follow: npm, maven, cargo, nuget, hackage, ruby gems, python pypi and so on. If you are building things today by pulling in various packages from various open source places – and really, who isn’t – then the history of how this world came to be is important.
- newsletter Three Cheers for CPANnewsletter
CoRecursive subscriber, It's August now, and I have a new episode out: This Day In History: CPAN CPAN CPAN, The Comprehensive Perl Archive Network, changed software development for the better, and the story behind its creation is fascinating. The episode also touches on my…
newsletterCoRecursive subscriber, It's August now, and I have a new episode out: This Day In History: CPAN CPAN CPAN, The Comprehensive Perl Archive Network, changed software development for the better, and the story behind its creation is fascinating. The episode also touches on my…
- podcast Building PowerShellCoRecursivepodcast with Jeffrey Snover Episode
Jeffrey Snover on building PowerShell and transforming Windows system administration.
CoRecursive· Episode · with Jeffrey Snover podcastJeffrey Snover on building PowerShell and transforming Windows system administration.
- article S3 Terraform Backendarticle
Learn how to store your Terraform state in an S3 bucket to avoid leaking sensitive information and manage changes made by multiple people.
articleLearn how to store your Terraform state in an S3 bucket to avoid leaking sensitive information and manage changes made by multiple people.
- article
Learn how to import existing infrastructure into Terraform and manage it as code. Follow along as the author imports resources such as AWS Lambda, ...
articleLearn how to import existing infrastructure into Terraform and manage it as code. Follow along as the author imports resources such as AWS Lambda, ...
- article
Discover how programming language tooling has evolved over time and why newer languages like Go and Rust have gained popularity due to their compre...
articleDiscover how programming language tooling has evolved over time and why newer languages like Go and Rust have gained popularity due to their compre...
- podcast The History and Mystery Of Elizapodcast
I recently got an email from Jeff Shrager, who said he'd been working hard to solve a mystery about some famous code. Eliza, the chatbot, was built in 1964, and she didn't answer questions like Alexa or Siri. She asked questions. She was a therapist chatbot and quickly became famous after being described in a 1964 paper. But here is the mystery. We're not sure how the original version worked. Joseph Weizenbaum never released the code. But Jeff tracked it down, and some of the things we thought we knew about Eliza turned out to be wrong.
podcastI recently got an email from Jeff Shrager, who said he'd been working hard to solve a mystery about some famous code. Eliza, the chatbot, was built in 1964, and she didn't answer questions like Alexa or Siri. She asked questions. She was a therapist chatbot and quickly became famous after being described in a 1964 paper. But here is the mystery. We're not sure how the original version worked. Joseph Weizenbaum never released the code. But Jeff tracked it down, and some of the things we thought we knew about Eliza turned out to be wrong.
- newsletter The origins of Elizanewsletter
The Mystery of the Eliza Chatbot It’s July now, and I have a new episode out here. This episode is the story of Jeff Shrager, his connection with the famous chatbot Eliza, and his efforts to track down the original code. Jeff is an enjoyable person to chat with, and I could tell…
newsletterThe Mystery of the Eliza Chatbot It’s July now, and I have a new episode out here. This episode is the story of Jeff Shrager, his connection with the famous chatbot Eliza, and his efforts to track down the original code. Jeff is an enjoyable person to chat with, and I could tell…
- podcast
Build automation tools automate the process of building code, including steps such as compiling, packaging binary code, and running automated tests. Because of this, build automation tools are considered a key part of a continuous delivery pipeline. Build automation tools read build scripts to define how they should perform a build. Common build scripts include
podcastBuild automation tools automate the process of building code, including steps such as compiling, packaging binary code, and running automated tests. Because of this, build automation tools are considered a key part of a continuous delivery pipeline. Build automation tools read build scripts to define how they should perform a build. Common build scripts include
- article
Learn how to set up multi-factor authentication and generate time-based one-time passwords programmatically using MFA secret keys. Discover differe...
articleLearn how to set up multi-factor authentication and generate time-based one-time passwords programmatically using MFA secret keys. Discover differe...
- article Validate Your YAML (with CUE)article
Learn how to use Cuelang, an extension of YAML, to validate your YAML configurations and prevent runtime errors. Discover how to define types, add ...
articleLearn how to use Cuelang, an extension of YAML, to validate your YAML configurations and prevent runtime errors. Discover how to define types, add ...
- article
Learn how to run a full REST HTTP API in a single AWS Lambda using Golang. Discover the advantages of this approach and how to handle routing and r...
articleLearn how to run a full REST HTTP API in a single AWS Lambda using Golang. Discover the advantages of this approach and how to handle routing and r...
- podcast Why still 80 columns?podcast
On June 1st, 2014, the following question showed up on hacker news: > Why is 80 characters, the standard limit for code width. Why 80? > > Why not? 79 or 81 or even a hundred. So you probably know what happens next. People started to post their opinions and the comments and other people started to disagree. The posts spread around the internet. So that is going to be today's show: Let's answer this question. It's a question about traditions and teamwork, and how preexisting idioms shape us and help us, but sometimes restrict us.
podcastOn June 1st, 2014, the following question showed up on hacker news: > Why is 80 characters, the standard limit for code width. Why 80? > > Why not? 79 or 81 or even a hundred. So you probably know what happens next. People started to post their opinions and the comments and other people started to disagree. The posts spread around the internet. So that is going to be today's show: Let's answer this question. It's a question about traditions and teamwork, and how preexisting idioms shape us and help us, but sometimes restrict us.
- newsletter Why 80 columns?newsletter
New Episode It's June now, and I have a new This-Day-in-History episode out here: Why 80 columns? This episode is a peek into the world of mainframes and how idioms shape what we do as programmers. It was fun for me to make, and it all started on Twitter. Let me know what you…
newsletterNew Episode It's June now, and I have a new This-Day-in-History episode out here: Why 80 columns? This episode is a peek into the world of mainframes and how idioms shape what we do as programmers. It was fun for me to make, and it all started on Twitter. Let me know what you…
- article Beating TimSort at MergingEarthly Blogarticle Long-form
Companion piece to the ConFoo talk — where Python's Timsort merge logic can be beaten.
Earthly Blog· Long-form articleCompanion piece to the ConFoo talk — where Python's Timsort merge logic can be beaten.
- article Grpc, AWS Lambdas and GoLangarticle
Learn how to combine GRPC, AWS Lambdas, and GoLang to create a powerful serverless architecture. Discover different approaches to proxying GRPC req...
articleLearn how to combine GRPC, AWS Lambdas, and GoLang to create a powerful serverless architecture. Discover different approaches to proxying GRPC req...
- article
In this article, the author explores the differences between line and staff software engineers. They discuss the advantages and disadvantages of ea...
articleIn this article, the author explores the differences between line and staff software engineers. They discuss the advantages and disadvantages of ea...
- article AWS Lambda Golang With S3article
Learn how to build a Golang Lambda service in a container, hook it up to a REST API endpoint, and push and pull data from S3. This article covers t...
articleLearn how to build a Golang Lambda service in a container, hook it up to a REST API endpoint, and push and pull data from S3. This article covers t...
- podcast LISP in Spacepodcast
Have you ever had a unique approach to a problem and been excited to use it, but you're met with skepticism? Today's story: what happens if you take someone who's passionate about LISP and put them in an organization where that's just not how they write software. Today's story is about getting LISP into space. The year is 1988. The USSR still existed. Ronald Reagan was president of the United States. And Ron, under his thesis advisor, was working on a prototype for the first Mars Rover.
podcastHave you ever had a unique approach to a problem and been excited to use it, but you're met with skepticism? Today's story: what happens if you take someone who's passionate about LISP and put them in an organization where that's just not how they write software. Today's story is about getting LISP into space. The year is 1988. The USSR still existed. Ronald Reagan was president of the United States. And Ron, under his thesis advisor, was working on a prototype for the first Mars Rover.
- newsletter LISP in Spacenewsletter
LISP in Space It's May now, and I have a new episode out here. It's the story of Ron Garret working on LISP at The Jet Propulsion Lab. He started there as part of his Comp Sci Ph.D. and worked on prototypes for the first Mars Rover: Sojourner. I'm not sure what I want to share…
newsletterLISP in Space It's May now, and I have a new episode out here. It's the story of Ron Garret working on LISP at The Jet Propulsion Lab. He started there as part of his Comp Sci Ph.D. and worked on prototypes for the first Mars Rover: Sojourner. I'm not sure what I want to share…
- podcast Configuring IdentityCoRecursivepodcast with Adam Jacob (creator of Chef) Episode
Adam Jacob on creating Chef and the identity crisis of going from sysadmin to startup CTO.
CoRecursive· Episode · with Adam Jacob (creator of Chef) podcastAdam Jacob on creating Chef and the identity crisis of going from sysadmin to startup CTO.
- article Watch People Doing the Thingarticle
Learn how to absorb tacit knowledge and improve your programming skills by watching experienced developers code in real-time. Discover a list of po...
articleLearn how to absorb tacit knowledge and improve your programming skills by watching experienced developers code in real-time. Discover a list of po...
- article Write For Usarticle
Are you passionate about software development? Write for Earthly and reach a larger audience while getting paid. With tens of thousands of monthly ...
articleAre you passionate about software development? Write for Earthly and reach a larger audience while getting paid. With tens of thousands of monthly ...
- podcast April Fools' Is Cancelled (2014)podcast
On this day in 2014, "lame april fools' jokes" were banned from hacker news. Today in our first This-Day-in-History segment, I want to share some of history not just of April Fools', but of tech pranks in general, all leading up to 2014. Why were pranks and April Fools' jokes traditionally celebrated in tech? Why are they now considered lame? And is there anything we can do to save them? Those are today's questions.
podcastOn this day in 2014, "lame april fools' jokes" were banned from hacker news. Today in our first This-Day-in-History segment, I want to share some of history not just of April Fools', but of tech pranks in general, all leading up to 2014. Why were pranks and April Fools' jokes traditionally celebrated in tech? Why are they now considered lame? And is there anything we can do to save them? Those are today's questions.
- newsletter April Fools' Is Cancellednewsletter
It’s April now, and I have a new episode out here: https://corecursive.com/april-fools-is-cancelled/ Today being April Fools, I brought back frequent guests Don and Krystal to discuss the banning of April Fools pranks from Hacker News in 2014, and from there, we explore the…
newsletterIt’s April now, and I have a new episode out here: https://corecursive.com/april-fools-is-cancelled/ Today being April Fools, I brought back frequent guests Don and Krystal to discuss the banning of April Fools pranks from Hacker News in 2014, and from there, we explore the…
- article What About A Plain Text Webarticle
Learn how to convert webpages into plain text documents using the Text-Mode feature on Earthly. This article explores the benefits of reading the w...
articleLearn how to convert webpages into plain text documents using the Text-Mode feature on Earthly. This article explores the benefits of reading the w...
- article Running Containers on AWS Lambdaarticle
Learn how to run containers on AWS Lambda and leverage the scalability and cost-saving benefits of serverless computing. This article explores the ...
articleLearn how to run containers on AWS Lambda and leverage the scalability and cost-saving benefits of serverless computing. This article explores the ...
- article
Learn how to avoid common pitfalls when working with Protobuf using Buf, a suite of tools that simplifies dealing with protocol buffers. Discover h...
articleLearn how to avoid common pitfalls when working with Protobuf using Buf, a suite of tools that simplifies dealing with protocol buffers. Discover h...
- article gRPC Gatewayarticle
In this article, the author explores different ways to create a gRPC gateway that accepts HTTP requests and proxies them to a gRPC service. They co...
articleIn this article, the author explores different ways to create a gRPC gateway that accepts HTTP requests and proxies them to a gRPC service. They co...
- article
Learn why top-down standardization efforts can often lead to failure and how understanding specific problems through collaboration and embedding wi...
articleLearn why top-down standardization efforts can often lead to failure and how understanding specific problems through collaboration and embedding wi...
- podcast The Story Graphpodcast
Whenever I work on a side project, I can't help but daydream of it taking off in a big way. For today's guests, something like that did happen. When Nadia started building her side project, she didn't know that it would end up spreading virally. She didn't know that it would end up competing with an Amazon product. She didn't know that keeping it up would be something that would drive her close to tears.
podcastWhenever I work on a side project, I can't help but daydream of it taking off in a big way. For today's guests, something like that did happen. When Nadia started building her side project, she didn't know that it would end up spreading virally. She didn't know that it would end up competing with an Amazon product. She didn't know that keeping it up would be something that would drive her close to tears.
- newsletter Production Incidents and Product Managementnewsletter
It’s March now, and I have a new episode out here (and in your podcast player): The Story Graph with Nadia Odunayo Here is some of the backstory. As I mentioned in the episode, my wife first pointed me at The Story Graph. She is big into Bookstagram, which is the…
newsletterIt’s March now, and I have a new episode out here (and in your podcast player): The Story Graph with Nadia Odunayo Here is some of the backstory. As I mentioned in the episode, my wife first pointed me at The Story Graph. She is big into Bookstagram, which is the…
- Earthly Blogarticle Data analysis
What makes programming languages popular — greenfield vs maintenance work.
Earthly Blog· Data analysis articleWhat makes programming languages popular — greenfield vs maintenance work.
- article
Meet Josh Alletto, Earthly's new Senior Technical Content Engineer. In this article, he shares his journey from literature major to coding enth...
articleMeet Josh Alletto, Earthly's new Senior Technical Content Engineer. In this article, he shares his journey from literature major to coding enth...
- article Golang gRPC Examplearticle
In this article, the author explores how to build a gRPC client and server in Golang. They explain the advantages of using gRPC over REST, demonstr...
articleIn this article, the author explores how to build a gRPC client and server in Golang. They explain the advantages of using gRPC over REST, demonstr...
- article Golang SQLite `database/sql`article
Learn how to use Golang's `database/sql` package to work with SQLite databases. This tutorial covers topics such as installing SQLite, creating...
articleLearn how to use Golang's `database/sql` package to work with SQLite databases. This tutorial covers topics such as installing SQLite, creating...
- podcast Serenity OSpodcast
How would you build an operating system? My answer is I wouldn't. First off, I don't know how. And the second thing is it seems like to large of a task. It took thousands of developers to build Windows XP. But actually, it is possible to build an operating system from scratch. My guest is doing it. Andreas Kling created SerenityOS starting from an empty Git repository. So today, I find out how he did it, how this is possible. But mainly today, I find out why. Why build an operating system from scratch? And it all started in the 2010s when Andreas worked at Apple.
podcastHow would you build an operating system? My answer is I wouldn't. First off, I don't know how. And the second thing is it seems like to large of a task. It took thousands of developers to build Windows XP. But actually, it is possible to build an operating system from scratch. My guest is doing it. Andreas Kling created SerenityOS starting from an empty Git repository. So today, I find out how he did it, how this is possible. But mainly today, I find out why. Why build an operating system from scratch? And it all started in the 2010s when Andreas worked at Apple.
- newsletter Serenity OSnewsletter
It's February now, and I have a new episode out here: https://corecursive.com/serenity-os-with-andreas-kling/ It's a story about building an operating system, but so much more. My guest was Andreas Kling. Andreas struggled with addiction and was very willing to share his…
newsletterIt's February now, and I have a new episode out here: https://corecursive.com/serenity-os-with-andreas-kling/ It's a story about building an operating system, but so much more. My guest was Andreas Kling. Andreas struggled with addiction and was very willing to share his…
- article
Learn how to build a command-line JSON client in Golang to interact with a REST service for storing workout activities. The article covers topics s...
articleLearn how to build a command-line JSON client in Golang to interact with a REST service for storing workout activities. The article covers topics s...
- podcast
Today, I have two of my favorite guests together: Krystal Maughan and Don McKay. We are going to be sharing strange and interesting facts about computing. I'm super pumped about this because, sometimes, I learn something new, and I'm excited about it. And I want to tell people about it. And so today is a chance for Don and Krystal and I to share some of these "Oh, my God. Did you guys see this?" stories.
podcastToday, I have two of my favorite guests together: Krystal Maughan and Don McKay. We are going to be sharing strange and interesting facts about computing. I'm super pumped about this because, sometimes, I learn something new, and I'm excited about it. And I want to tell people about it. And so today is a chance for Don and Krystal and I to share some of these "Oh, my God. Did you guys see this?" stories.
- newsletter Hello 2022newsletter
It's 2022 now, and I have a new episode out here: https://corecursive.com/internet-is-duct-tape/ It's a continuation of episode #68 "Quines". Don Mckay is back, and so is Krystal from episode 52. The three of us discuss how the world is messy, and often…
newsletterIt's 2022 now, and I have a new episode out here: https://corecursive.com/internet-is-duct-tape/ It's a continuation of episode #68 "Quines". Don Mckay is back, and so is Krystal from episode 52. The three of us discuss how the world is messy, and often…
- article Don't Feed the Thought LeadersEarthly Blogarticle EssayHacker News front page
On non-contingent advice and why to ignore most of it.
Earthly Blog· Essay articleHacker News front pageOn non-contingent advice and why to ignore most of it.
- 2021
- article
Learn how to build a JSON HTTP server using Golang in this tutorial. Discover the basics of creating a Golang web service, handling HTTP requests, ...
articleLearn how to build a JSON HTTP server using Golang in this tutorial. Discover the basics of creating a Golang web service, handling HTTP requests, ...
- article
Learn why many experienced software engineers prefer printf debugging over using debuggers, and how this approach can deepen your understanding of ...
articleLearn why many experienced software engineers prefer printf debugging over using debuggers, and how this approach can deepen your understanding of ...
- podcast Cocoa Culturepodcast
The last episode, I said I wasn't sure there was such a thing as culture, but that's not the case. Every place I've worked has been a bit different, and often those differences had huge impacts on the software we built. The team where people roll their eyes at UX feedback will not have as simple of a product as a team where the user experience is highly valued. If software performance isn't valued, the end result won't be performant. Today, I found an expert on observing developer cultures. Hansen Hsu worked on the AppKit team at Apple, and he's here to talk about this mushy concept called culture. How does it manifest? How does it affect what people build? And how can it lead to beautiful software?
podcastThe last episode, I said I wasn't sure there was such a thing as culture, but that's not the case. Every place I've worked has been a bit different, and often those differences had huge impacts on the software we built. The team where people roll their eyes at UX feedback will not have as simple of a product as a team where the user experience is highly valued. If software performance isn't valued, the end result won't be performant. Today, I found an expert on observing developer cultures. Hansen Hsu worked on the AppKit team at Apple, and he's here to talk about this mushy concept called culture. How does it manifest? How does it affect what people build? And how can it lead to beautiful software?
- newsletter Cocoa Culture Episode and morenewsletter
It's December now, and I have a new episode out here: https://corecursive.com/cocoa-culture-with-hansen-hsu/ This episode started with a question: Why are some groups so much better at some things than others? It's a big question with many possible answers, but one answer that…
newsletterIt's December now, and I have a new episode out here: https://corecursive.com/cocoa-culture-with-hansen-hsu/ This episode started with a question: Why are some groups so much better at some things than others? It's a big question with many possible answers, but one answer that…
- article Property-Based Testing In Goarticle
Learn how to use property-based testing in Go to automatically generate unit tests and ensure the reliability of your code. Property-based testing ...
articleLearn how to use property-based testing in Go to automatically generate unit tests and ensure the reliability of your code. Property-based testing ...
- article Understanding Bash Variablesarticle
Learn the basics of bash variables and how they work in the UNIX shell. Discover how to define and access local shell variables, work with arrays, ...
articleLearn the basics of bash variables and how they work in the UNIX shell. Discover how to define and access local shell variables, work with arrays, ...
- podcast Leaving Debianpodcast
Today's story is an insider view of Debian. One of the oldest Linux distributions and probably one of the longest-running volunteer-based open-source projects. Joey Hess is my guest, and he dedicated significant parts of his adult life to working on Debian. He's going to share what that was like. The good and the bad, and it's almost all good. It's a story about open source software, but it's also about community and teamwork.
podcastToday's story is an insider view of Debian. One of the oldest Linux distributions and probably one of the longest-running volunteer-based open-source projects. Joey Hess is my guest, and he dedicated significant parts of his adult life to working on Debian. He's going to share what that was like. The good and the bad, and it's almost all good. It's a story about open source software, but it's also about community and teamwork.
- newsletter Leaving Debiannewsletter
It's November now, and I have a new episode out here: https://corecursive.com/leaving-debian/ The episode is about Joey Hess and his time working on Debian. I've been a fan of Joey for some time, and when he commented on a recent episode on hacker news, I reached out to him to…
newsletterIt's November now, and I have a new episode out here: https://corecursive.com/leaving-debian/ The episode is about Joey Hess and his time working on Debian. I've been a fan of Joey for some time, and when he commented on a recent episode on hacker news, I reached out to him to…
- article Bash String Manipulationarticle
Learn how to manipulate strings in bash with this informative tutorial. From concatenating strings to replacing parts of a string, you'll disco...
articleLearn how to manipulate strings in bash with this informative tutorial. From concatenating strings to replacing parts of a string, you'll disco...
- article
Learn how to balance social confidence and epistemic confidence in order to succeed in your career. Find out why being confidently uncertain can be...
articleLearn how to balance social confidence and epistemic confidence in order to succeed in your career. Find out why being confidently uncertain can be...
- podcast Dev Tool Time with Adam Gordon Bell · ▶ videoDev Tool Timepodcast Interview
Live show interview about developer tools and Earthly.
Dev Tool Time· Interview podcastLive show interview about developer tools and Earthly.
- podcast The Original Remote Developerpodcast
Today's episode is about remote work. Well, sort of. I found someone with a different perspective on remote work and a fantastic story to share, Paul Lutus. I think that he might be the original remote software developer. He left California behind for a lower cost of living in Oregon. And from Oregon, he developed software for Apple. But the kind of surprising thing is he did this in the 1970s! And he did it so well he became rich and even briefly quite famous.
podcastToday's episode is about remote work. Well, sort of. I found someone with a different perspective on remote work and a fantastic story to share, Paul Lutus. I think that he might be the original remote software developer. He left California behind for a lower cost of living in Oregon. And from Oregon, he developed software for Apple. But the kind of surprising thing is he did this in the 1970s! And he did it so well he became rich and even briefly quite famous.
- newsletter The Original Remote Developernewsletter
It’s October now, and I have a new episode out : https://corecursive.com/066-sqlite-with-richard-hipp/ It’s the story of Paul Lutus, the Oregon hermit, who built software for the Apple II from his log cabin in the woods by kerosene lantern and eventually became rich and famous.…
newsletterIt’s October now, and I have a new episode out : https://corecursive.com/066-sqlite-with-richard-hipp/ It’s the story of Paul Lutus, the Oregon hermit, who built software for the Apple II from his log cabin in the woods by kerosene lantern and eventually became rich and famous.…
- article Hacktoberfest 2021article
Join Earthly in celebrating Hacktoberfest 2021! Contribute to open-source projects, submit pull requests, and get a chance to win an Earthly sticke...
articleJoin Earthly in celebrating Hacktoberfest 2021! Contribute to open-source projects, submit pull requests, and get a chance to win an Earthly sticke...
- podcast
As developers hone their craft, becoming more productive often means learning utilities and tools at the command line. The right combination of various parsing commands chained together through pipes can enable engineers to quickly and efficiently automate many adhoc data processing tasks. In this episode I speak with Adam Gordon Bell about some of his
podcastAs developers hone their craft, becoming more productive often means learning utilities and tools at the command line. The right combination of various parsing commands chained together through pipes can enable engineers to quickly and efficiently automate many adhoc data processing tasks. In this episode I speak with Adam Gordon Bell about some of his
- podcast
Today, previous guest and my neighbor Don Mckay and I will discuss items from the endless fascinating *[Cursed Computer Iceberg Meme](https://suricrasia.online/iceberg/)*. The Iceberg is a giant list of "the peculiarities and weirdness of computers." We each a select few items from the list and alternate explaining it to each other. Don's choices are varied, and mine focus on quines and esoteric coding problems. We also share some coding horror stories from our past.
podcastToday, previous guest and my neighbor Don Mckay and I will discuss items from the endless fascinating *[Cursed Computer Iceberg Meme](https://suricrasia.online/iceberg/)*. The Iceberg is a giant list of "the peculiarities and weirdness of computers." We each a select few items from the list and alternate explaining it to each other. Don's choices are varied, and mine focus on quines and esoteric coding problems. We also share some coding horror stories from our past.
- newsletter Computational Icebergnewsletter
It’s September now, and I have a new episode out here: https://corecursive.com/quines-polyglot-code/ It's a fun episode about various strange types of computation featuring my neighbour Don McKay. Don's explains varying computer errors and hacks and I cover quines and esoteric…
newsletterIt’s September now, and I have a new episode out here: https://corecursive.com/quines-polyglot-code/ It's a fun episode about various strange types of computation featuring my neighbour Don McKay. Don's explains varying computer errors and hacks and I cover quines and esoteric…
- Earthly Blogarticle EssayHacker News front page · sparked industry debate
Viral piece arguing YAML-as-DSL is the new INTERCAL.
⌄ more ⌃ less
The argument: if you have conditionals, loops, and references, you have a programming language — and YAML is a hostile one. The piece used INTERCAL as a foil to make the case that configuration formats are becoming programming languages by accident, and badly. It hit the HN front page, got picked up across the industry, and started an actual conversation about why we keep choosing YAML for things that need real logic. Pulumi’s existence is part of the answer.Earthly Blog· Essay articleHacker News front page · sparked industry debateViral piece arguing YAML-as-DSL is the new INTERCAL.
⌄ more ⌃ less
The argument: if you have conditionals, loops, and references, you have a programming language — and YAML is a hostile one. The piece used INTERCAL as a foil to make the case that configuration formats are becoming programming languages by accident, and badly. It hit the HN front page, got picked up across the industry, and started an actual conversation about why we keep choosing YAML for things that need real logic. Pulumi’s existence is part of the answer. - article
Learn how to convert JSON to CSV and vice versa at the command line using tools like `dasel`, `jq`, `jsonv`, and `csvtojson`. These handy command l...
articleLearn how to convert JSON to CSV and vice versa at the command line using tools like `dasel`, `jq`, `jsonv`, and `csvtojson`. These handy command l...
- podcast Full-Time Open Sourcepodcast
Today’s show: How to quit your job and work on open source full time. This story has it all -- balancing side projects and full-time employment, building up enough supports to leave your job, and explaining quitting to your family and friends. And also: what do you do if your project succeeds, and then someone forks it and builds a commercial business around it? And how do you deal with hacker news feedback? And how can we improve on the C programming language? This is a fun one!
podcastToday’s show: How to quit your job and work on open source full time. This story has it all -- balancing side projects and full-time employment, building up enough supports to leave your job, and explaining quitting to your family and friends. And also: what do you do if your project succeeds, and then someone forks it and builds a commercial business around it? And how do you deal with hacker news feedback? And how can we improve on the C programming language? This is a fun one!
- newsletter Zig, Andrew Kelly and Self Fundingnewsletter
The August episode is out and it's really good. It's an interview with Zig programming language creator Andrew Kelly: https://corecursive.com/067-zig-with-andrew-kelley/ Andrew is has been creating Zig, the programming language he always wanted for 5 years and the story behind…
newsletterThe August episode is out and it's really good. It's an interview with Zig programming language creator Andrew Kelly: https://corecursive.com/067-zig-with-andrew-kelley/ Andrew is has been creating Zig, the programming language he always wanted for 5 years and the story behind…
- article An Introduction to JQEarthly Blogarticle Long-form tutorialHacker News front page
Demystifying JSON processing at the command line.
Earthly Blog· Long-form tutorial articleHacker News front pageDemystifying JSON processing at the command line.
- article Idiots And Maniacsarticle
In this article, the author explores the concept of "idiots and maniacs" in software development, drawing parallels to driving in the sno...
articleIn this article, the author explores the concept of "idiots and maniacs" in software development, drawing parallels to driving in the sno...
- article
In this article, the author shares six command-line tools that can enhance productivity for programmers. These tools include `broot` for navigating...
articleIn this article, the author shares six command-line tools that can enhance productivity for programmers. These tools include `broot` for navigating...
- article
Learn how to install `matplotlib` in a Docker container and quickly generate graphs and visualizations. Discover the differences between installing...
articleLearn how to install `matplotlib` in a Docker container and quickly generate graphs and visualizations. Discover the differences between installing...
- article Python Concatenate Listsarticle
There are several ways to join lists in Python. In almost all situations using list1 + list2 is the way you want to concatenate lists.
articleThere are several ways to join lists in Python. In almost all situations using list1 + list2 is the way you want to concatenate lists.
- newsletter SQLite and Video Camerasnewsletter
Everyone, It's July now, and I have a new episode out with Richard Hipp about SQLite. You can find it here: https://corecursive.com/066-sqlite-with-richard-hipp/ SQLite is public domain and has a Christian blessing in place of a license agreement, so I went into the interview…
newsletterEveryone, It's July now, and I have a new episode out with Richard Hipp about SQLite. You can find it here: https://corecursive.com/066-sqlite-with-richard-hipp/ SQLite is public domain and has a Christian blessing in place of a license agreement, so I went into the interview…
- article SQL Errors and Video Camerasarticle
In this article, the author shares a personal experience of encountering a SQL error and how a non-verbal cue from a teammate helped them solve the...
articleIn this article, the author shares a personal experience of encountering a SQL error and how a non-verbal cue from a teammate helped them solve the...
- article
Learn how to ensure the quality of your markdown files and documentation with linting tools. Discover various tools like markdownlint, mdspell, ale...
articleLearn how to ensure the quality of your markdown files and documentation with linting tools. Discover various tools like markdownlint, mdspell, ale...
- article
Learn about the evolution of git branching strategies and how they have changed over time. Follow the story of Ashley, a software developer, as she...
articleLearn about the evolution of git branching strategies and how they have changed over time. Follow the story of Ashley, a software developer, as she...
- article
Learn about the essential metrics and key performance indicators (KPIs) for incident management in software development. Discover how Mean Time Bet...
articleLearn about the essential metrics and key performance indicators (KPIs) for incident management in software development. Discover how Mean Time Bet...
- article Deployment Strategiesarticle
This article explores different deployment strategies, including the recreate deployment strategy, rolling update deployment strategy, blue-green d...
articleThis article explores different deployment strategies, including the recreate deployment strategy, rolling update deployment strategy, blue-green d...
- talk Compiling Containers · ▶ videoConf42 Cloud Native · Onlinetalk Online
How Dockerfiles get compiled into running containers — BuildKit's LLB and image layers.
Conf42 Cloud Native · Online· Online talkHow Dockerfiles get compiled into running containers — BuildKit's LLB and image layers.
- podcast
Today on the show, we have solving algorithmic programming problems. You know when you interview for a job to write CSS and they ask you to reverse a binary tree on the whiteboard using C and in constant memory space? It's that kind of thing. These problems have their roots in algorithmic programming contests. And our guest, Conor Hoekstra, is a former competitor. Conor's story started in university when he was competing in programming contests. But it's interesting how if you follow a single idea long and hard enough, you end up in exciting places like writing software for GPUs. For Conor, that idea is finding the perfect way to express the solution to a programming problem. His journey will take him into LeetCode, into getting his dream job and all the way to APL, which is one of the more unusual and obscure programming languages.
podcastToday on the show, we have solving algorithmic programming problems. You know when you interview for a job to write CSS and they ask you to reverse a binary tree on the whiteboard using C and in constant memory space? It's that kind of thing. These problems have their roots in algorithmic programming contests. And our guest, Conor Hoekstra, is a former competitor. Conor's story started in university when he was competing in programming contests. But it's interesting how if you follow a single idea long and hard enough, you end up in exciting places like writing software for GPUs. For Conor, that idea is finding the perfect way to express the solution to a programming problem. His journey will take him into LeetCode, into getting his dream job and all the way to APL, which is one of the more unusual and obscure programming languages.
- article AWK with CSV FilesEarthly Blog· Tutorial article
Follow-up tutorial on processing CSV files with AWK.
- DockerCon · Onlinetalk Online
A look at BuildKit and how Dockerfiles become container images.
DockerCon · Online· Online talkA look at BuildKit and how Dockerfiles become container images.
- article Why is JRuby Slow?article
In this article, the author explores why JRuby, an alternative Ruby interpreter that runs on the Java Virtual Machine (JVM), is slower than other R...
articleIn this article, the author explores why JRuby, an alternative Ruby interpreter that runs on the Java Virtual Machine (JVM), is slower than other R...
- podcast Smart Contract Rescuepodcast
Today I talk to Dan Robinson about trying to get someone their money back on Ethereum. He's going to be battling this murky world of blockchain high-frequency bots. Along the way, we'll learn how trades are executed on Ethereum and a bit of game theory and political philosophy. It's an entertaining peek into a world that seems like pure science fiction to me, a world where nobody's in charge, where there's no regulation, and where these forces of greed and idealism are in direct conflict with each other.
podcastToday I talk to Dan Robinson about trying to get someone their money back on Ethereum. He's going to be battling this murky world of blockchain high-frequency bots. Along the way, we'll learn how trades are executed on Ethereum and a bit of game theory and political philosophy. It's an entertaining peek into a world that seems like pure science fiction to me, a world where nobody's in charge, where there's no regulation, and where these forces of greed and idealism are in direct conflict with each other.
- podcast The Untold Story of SQLiteCoRecursivepodcast with Richard Hipp Episode
Richard Hipp on how SQLite became core infrastructure for the world.
CoRecursive· Episode · with Richard Hipp podcastRichard Hipp on how SQLite became core infrastructure for the world.
- podcast Apple 2001podcast
David Shayer worked at Apple for 14 years, and he has a wild experience to share. Apple has a unique culture, and David will give us an insider view of what it was like for him at Apple during the 2000s, roughly between 2001 to 2015 when Apple transformed into the powerhouse that it is today. David worked as a Software Engineer but for the hardware organization with Apple. He worked on a few special projects at Apple: at least one of them was top secret. But he is also going to share the struggles of building file systems and working on really short timelines and having development plans upended by Steve jobs.
podcastDavid Shayer worked at Apple for 14 years, and he has a wild experience to share. Apple has a unique culture, and David will give us an insider view of what it was like for him at Apple during the 2000s, roughly between 2001 to 2015 when Apple transformed into the powerhouse that it is today. David worked as a Software Engineer but for the hardware organization with Apple. He worked on a few special projects at Apple: at least one of them was top secret. But he is also going to share the struggles of building file systems and working on really short timelines and having development plans upended by Steve jobs.
- article
Learn how containers are compiled using Dockerfiles, LLVM, and BuildKit in this tutorial. Explore the phases involved in creating a container image...
articleLearn how containers are compiled using Dockerfiles, LLVM, and BuildKit in this tutorial. Explore the phases involved in creating a container image...
- article On YAML Discussionsarticle
Learn about the pitfalls and discussions surrounding the use of YAML as a programming language, including the challenges of config traps, alternati...
articleLearn about the pitfalls and discussions surrounding the use of YAML as a programming language, including the challenges of config traps, alternati...
- article Understanding AWKEarthly Blogarticle Long-form tutorialHacker News front page
A comprehensive guide to AWK that became a go-to reference.
⌄ more ⌃ less
AWK has a reputation as a fossil — a thing from the 70s that lurks in.bashrcfiles. This piece takes it seriously as a programming language and walks through enough of the model — fields, records, patterns, associative arrays — that the reader can actually reach for it next time they’re tempted by Python for a one-liner. Ended up as one of the most- shared AWK references on the internet.Earthly Blog· Long-form tutorial articleHacker News front pageA comprehensive guide to AWK that became a go-to reference.
⌄ more ⌃ less
AWK has a reputation as a fossil — a thing from the 70s that lurks in.bashrcfiles. This piece takes it seriously as a programming language and walks through enough of the model — fields, records, patterns, associative arrays — that the reader can actually reach for it next time they’re tempted by Python for a one-liner. Ended up as one of the most- shared AWK references on the internet. - podcast
I'm not really a big gamer, but lately, I've fallen down this rabbit hole into the world of Casey Muratori, and this project that he started on Twitch in 2014. He is building a video game from scratch and explaining it all as he goes along. Casey is a professional video game and game engine, creator. He has been doing it for over 30 years. His approach to development feels a little bit like it's from the 1970s. Yet, it resonates with many smart people who are learning how to truly build things and understand fundamentals from Casey. Casey has a lesson about learning and teaching for us all.
podcastI'm not really a big gamer, but lately, I've fallen down this rabbit hole into the world of Casey Muratori, and this project that he started on Twitch in 2014. He is building a video game from scratch and explaining it all as he goes along. Casey is a professional video game and game engine, creator. He has been doing it for over 30 years. His approach to development feels a little bit like it's from the 1970s. Yet, it resonates with many smart people who are learning how to truly build things and understand fundamentals from Casey. Casey has a lesson about learning and teaching for us all.
- article What is Buildkit?article
Learn how to use BuildKit, an open-source project that turns Dockerfiles into Docker images. Discover its history, how to install it, and how to bu...
articleLearn how to use BuildKit, an open-source project that turns Dockerfiles into Docker images. Discover its history, how to install it, and how to bu...
- article
Learn how to use mitmproxy, a command-line tool that acts as an HTTP and HTTPS proxy, to capture and modify network traffic. This tutorial provides...
articleLearn how to use mitmproxy, a command-line tool that acts as an HTTP and HTTPS proxy, to capture and modify network traffic. This tutorial provides...
- podcast
If you ever wanted to learn about machine learning you could do worse than have Jason Gauci teach you. Jason has worked on YouTube recommendations. He was an early contributor to TensorFlow the open-source machine learning platform. His thesis work was cited by DeepMind. But what I find so fascinating with Jason is he recognized this problem that was being solved the wrong way and set out to find a solution to it. So that's the show today. Jason is going to share his story.
podcastIf you ever wanted to learn about machine learning you could do worse than have Jason Gauci teach you. Jason has worked on YouTube recommendations. He was an early contributor to TensorFlow the open-source machine learning platform. His thesis work was cited by DeepMind. But what I find so fascinating with Jason is he recognized this problem that was being solved the wrong way and set out to find a solution to it. So that's the show today. Jason is going to share his story.
- article 5 Blogs for Scala's Birthdayarticle
Looking for some interesting Scala blogs to celebrate Scala's birthday? Check out this list of active Scala blogs that cover a range of topics,...
articleLooking for some interesting Scala blogs to celebrate Scala's birthday? Check out this list of active Scala blogs that cover a range of topics,...
- article
Looking to learn GoLang? Check out this article for the top 3 resources recommended by an experienced developer. From interactive tours to in-depth...
articleLooking to learn GoLang? Check out this article for the top 3 resources recommended by an experienced developer. From interactive tours to in-depth...
- article
Learn about the recent migration of open-source projects off of Travis CI and discover alternative options for hosting your builds, such as Circle ...
articleLearn about the recent migration of open-source projects off of Travis CI and discover alternative options for hosting your builds, such as Circle ...
- talk Brampton DevOps MeetupBrampton DevOps MeetupBrampton DevOps Meetup · Brampton, ONtalk Meetup
DevOps talk at the Brampton meetup during the Earthly era.
Brampton DevOps MeetupBrampton DevOps Meetup · Brampton, ON· Meetup talkDevOps talk at the Brampton meetup during the Earthly era.
- talk BluePrint LDNBluePrint LDNBluePrint LDN · London, UKtalk Conference
Conference talk at BluePrint LDN during the Earthly era.
BluePrint LDNBluePrint LDN · London, UK· Conference talkConference talk at BluePrint LDN during the Earthly era.
- talk DevFest LiveDevFest LiveDevFest Live · Onlinetalk Online
Online talk at DevFest Live during the Earthly era.
DevFest LiveDevFest Live · Online· Online talkOnline talk at DevFest Live during the Earthly era.
- podcast 2020 Year Endpodcast
Welcome to the year-end episode. Today is all the bonus questions. Often times I have questions that I want to ask guests, but they don't quite fit the overall theme of the episode. So today we're going to do a whole episode of those extra questions. I have previously recorded questions for Brian Kernighan, the creator of AWK among many other things. I have questions for Sean Allen, who works at Microsoft research, and Krystal Maughan, PHD Candidate.
podcastWelcome to the year-end episode. Today is all the bonus questions. Often times I have questions that I want to ask guests, but they don't quite fit the overall theme of the episode. So today we're going to do a whole episode of those extra questions. I have previously recorded questions for Brian Kernighan, the creator of AWK among many other things. I have questions for Sean Allen, who works at Microsoft research, and Krystal Maughan, PHD Candidate.
- 2020
- video
Quick Tutorial: Let's build a go application using Earthly
videoQuick Tutorial: Let's build a go application using Earthly
- article
Learn the differences between unit testing and integration testing and when to use each approach. Discover how unit tests focus on small, isolated ...
articleLearn the differences between unit testing and integration testing and when to use each approach. Discover how unit tests focus on small, isolated ...
- podcast Frontiers of Performancepodcast
Did you ever meet somebody who seemed a little bit different than the rest of the world? Maybe they question things that others wouldn't question or said things that others would never say. Daniel is a world-renowned expert on software performance, and one of the most popular open-source developers, if you measure by Github followers. Today, he's gonna share his story. It involves time at a research lab and teaching students in a new way. It will also involve upending people's assumptions about IO performance. Elon Musk And Julia Roberts will come up a little bit more than you might expect.
podcastDid you ever meet somebody who seemed a little bit different than the rest of the world? Maybe they question things that others wouldn't question or said things that others would never say. Daniel is a world-renowned expert on software performance, and one of the most popular open-source developers, if you measure by Github followers. Today, he's gonna share his story. It involves time at a research lab and teaching students in a new way. It will also involve upending people's assumptions about IO performance. Elon Musk And Julia Roberts will come up a little bit more than you might expect.
- Dev Ops Exchange · Onlinetalk Meetup
The case for builds that combine what Dockerfiles and Makefiles each do well.
Dev Ops Exchange · Online· Meetup talkThe case for builds that combine what Dockerfiles and Makefiles each do well.
- podcast The Birth of UNIXpodcast
When you work on your computer, there are so many things you take for granted: operating systems, programming languages, they all have to come from somewhere. In the late 1960s and 1970s, that somewhere was Bell Labs, and the operating system they were building was UNIX. They were building more than just an operating system though. They were building a way to work with computers that had never existed before. In today's episode I talk to Brian Kernighan about the history of Unix.
podcastWhen you work on your computer, there are so many things you take for granted: operating systems, programming languages, they all have to come from somewhere. In the late 1960s and 1970s, that somewhere was Bell Labs, and the operating system they were building was UNIX. They were building more than just an operating system though. They were building a way to work with computers that had never existed before. In today's episode I talk to Brian Kernighan about the history of Unix.
- talk Trends in FPHouston Functional Programmers Meetup · Onlinetalk Meetup
Trends in functional programming — Scala and Docker Compose as a worked example.
Houston Functional Programmers Meetup · Online· Meetup talkTrends in functional programming — Scala and Docker Compose as a worked example.
- podcast To The Assemblypodcast
How do CPUs work? How do compilers work? How does high-level code get translated into machine code? Today's guest is Matt Godbolt and he knows the answers to these questions. How he became an expert in bare metal programming is an interesting story. Matt shares his origin story and the creation of compiler explorer in today's interview.
podcastHow do CPUs work? How do compilers work? How does high-level code get translated into machine code? Today's guest is Matt Godbolt and he knows the answers to these questions. How he became an expert in bare metal programming is an interesting story. Matt shares his origin story and the creation of compiler explorer in today's interview.
- article Can We Build Better?article
Learn how to solve the problem of reproducible builds with Earthly, an open-source tool that encapsulates your build process in a Docker-like synta...
articleLearn how to solve the problem of reproducible builds with Earthly, an open-source tool that encapsulates your build process in a Docker-like synta...
- podcast Memento Moripodcast
Preparing our minds for the inevitable is hard. But, after facing terminal cancer, Kate Gregory recalled that facing death has many lessons to teach us. In this episode, Kate will share the lessons she learned and explain how you can apply them to your career as a software developer and live a remarkable life.
podcastPreparing our minds for the inevitable is hard. But, after facing terminal cancer, Kate Gregory recalled that facing death has many lessons to teach us. In this episode, Kate will share the lessons she learned and explain how you can apply them to your career as a software developer and live a remarkable life.
- podcast
Today Richard Feldman shares his story of going from javascript developer to elm developer to functional programming teacher. Along the way, Richard finds that people are teaching functional programming wrong. We are teaching it in a way that misses how most industrial software engineers learn best. Richard also delves into Elm, his approach, and how to make teaching delightful.
podcastToday Richard Feldman shares his story of going from javascript developer to elm developer to functional programming teacher. Along the way, Richard finds that people are teaching functional programming wrong. We are teaching it in a way that misses how most industrial software engineers learn best. Richard also delves into Elm, his approach, and how to make teaching delightful.
- podcast
Alex Petrov, author of Database Internals explains the ins and outs of database storage engines. What are they? How do they differ? What problems do they solve? Host Adam Gordon Bell spoke with Alex about these questions as well as how information is stored on disk, different strategies for building indexes and the difference between log structured merge trees and B Trees. Alex also touches on the topic of solid state drives and how their strengths are more suited towards certain storage engine implementations and how a storage engine affects important characteristics of a database, like its strengths and weaknesses in write heavy or read heavy workloads.
podcastAlex Petrov, author of Database Internals explains the ins and outs of database storage engines. What are they? How do they differ? What problems do they solve? Host Adam Gordon Bell spoke with Alex about these questions as well as how information is stored on disk, different strategies for building indexes and the difference between log structured merge trees and B Trees. Alex also touches on the topic of solid state drives and how their strengths are more suited towards certain storage engine implementations and how a storage engine affects important characteristics of a database, like its strengths and weaknesses in write heavy or read heavy workloads.
- podcast Software That Doesn't Suckpodcast
Software is just the tool and it should get out of your way. In this episode, Jim discusses how to build a great developer tool. It all started with: “What's the worst software that you use every day?” and led to the creation of Subversion.
podcastSoftware is just the tool and it should get out of your way. In this episode, Jim discusses how to build a great developer tool. It all started with: “What's the worst software that you use every day?” and led to the creation of Subversion.
- podcast Berkay on Incident Managementpodcast
Berkay Mollamustafaoglu, founder of Ops Genie, discusses the keys to an effective incident management process. Many aspects of incident management are counterintuitive. Why does increasing the rate of change increase uptime? Why is culture the most important thing to get right? Why is having zero incidents not a goal to aim for? SE Radio host Adam Gordon Bell spoke with Berkay about these questions, as well as who should be on call, how to get buy-in on an incident response process, how to detect when feature development should take a back seat to addressing underlying quality issues, and many other lessons Berkay has learned in working with customers to set up effective incident response processes.
podcastBerkay Mollamustafaoglu, founder of Ops Genie, discusses the keys to an effective incident management process. Many aspects of incident management are counterintuitive. Why does increasing the rate of change increase uptime? Why is culture the most important thing to get right? Why is having zero incidents not a goal to aim for? SE Radio host Adam Gordon Bell spoke with Berkay about these questions, as well as who should be on call, how to get buy-in on an incident response process, how to detect when feature development should take a back seat to addressing underlying quality issues, and many other lessons Berkay has learned in working with customers to set up effective incident response processes.
- podcast Unproven Techology Case Studypodcast
Choosing the programming language or framework for a project can be to the success of the project. In today’s episode, Sean Allen shares a story of picking the right tool for a job. The tool he ends up picking will surprise you. His problem: make a distributed stream processing framework, something that can take a fire hose of events and perform customer's specific calculations on them but the latency needs to be less than a millisecond and the calculations might be CPU intensive. Who would need something like this? The initial use case was risk systems for Wall Street banks.
podcastChoosing the programming language or framework for a project can be to the success of the project. In today’s episode, Sean Allen shares a story of picking the right tool for a job. The tool he ends up picking will surprise you. His problem: make a distributed stream processing framework, something that can take a fire hose of events and perform customer's specific calculations on them but the latency needs to be less than a millisecond and the calculations might be CPU intensive. Who would need something like this? The initial use case was risk systems for Wall Street banks.
- podcast Krystal's Storypodcast
Things are easier to learn when you are passionate about something. A lot of great careers are built on curiosity and obsession including Krystal Maughan our guest for today's episode. Krystal will share her journey as she chased her curiosity in programming wherever it led her.
podcastThings are easier to learn when you are passionate about something. A lot of great careers are built on curiosity and obsession including Krystal Maughan our guest for today's episode. Krystal will share her journey as she chased her curiosity in programming wherever it led her.
- podcast Learning a new languagepodcast
There’s joy that can be found in language learning and pain as well. Whether you’re a beginner or an expert, there are still some things you can only discover by picking up a new language. Bruce Tate will tell us how learning new languages rekindled the spark of joy for him.
podcastThere’s joy that can be found in language learning and pain as well. Whether you’re a beginner or an expert, there are still some things you can only discover by picking up a new language. Bruce Tate will tell us how learning new languages rekindled the spark of joy for him.
- podcast
Today the story of how twitter engineers came up with a unique solution to data engineering. Adam interviews Sam about how the abstract algebra and probabilistic data structures help solve fast versus big data issues that many are struggling with. Adam talks to Sam Ritchie, a machine learning researcher. Stop in to hear Adam and Sam's conversation about portal abstractions that let you leverage work from other fields.
podcastToday the story of how twitter engineers came up with a unique solution to data engineering. Adam interviews Sam about how the abstract algebra and probabilistic data structures help solve fast versus big data issues that many are struggling with. Adam talks to Sam Ritchie, a machine learning researcher. Stop in to hear Adam and Sam's conversation about portal abstractions that let you leverage work from other fields.
- podcast
Legacy code is everywhere. I don't think I've met anyone who doesn't have to deal with legacy code in the substantial portion of his work. Our guest, Jonathan Boccara is a French C++ developer and the author of The Legacy Code Programmer's Toolbox. In this episode, Jonathan will help us understand and build the correct mindset to effectively work with legacy code by using his approach and processes.
podcastLegacy code is everywhere. I don't think I've met anyone who doesn't have to deal with legacy code in the substantial portion of his work. Our guest, Jonathan Boccara is a French C++ developer and the author of The Legacy Code Programmer's Toolbox. In this episode, Jonathan will help us understand and build the correct mindset to effectively work with legacy code by using his approach and processes.
- podcast The Reason For Typespodcast
Adam talked to Jared Forsyth about his journey from untyped javascript to using flow and eventually reasonml.
podcastAdam talked to Jared Forsyth about his journey from untyped javascript to using flow and eventually reasonml.
- podcast
Adam talks to Karl Hughes about his path to becoming a conference speaker and the work he has done to make it easier for others to follow in his footsteps.
podcastAdam talks to Karl Hughes about his path to becoming a conference speaker and the work he has done to make it easier for others to follow in his footsteps.
- podcast Don and Adam Discuss Foldspodcast
Today we try a different format. Adam invites his neighbour, Don McKay, over to ask him questions. An interesting discussion on recursion, corecursion and the naming of the podcast unfolds.
podcastToday we try a different format. Adam invites his neighbour, Don McKay, over to ask him questions. An interesting discussion on recursion, corecursion and the naming of the podcast unfolds.
- podcast David Heinemeier Hanssonpodcast
David Heinemeier Hansson talks to Adam about avoiding a software monoculture. He explains why we should find a programming language that speaks to us, why ergonomics matter, and why single page apps and microservices are not for him.
podcastDavid Heinemeier Hansson talks to Adam about avoiding a software monoculture. He explains why we should find a programming language that speaks to us, why ergonomics matter, and why single page apps and microservices are not for him.
- podcast React and Scala JSpodcast
Today Adam talks to Shadaj Laddad. What is React? Why do we need front end frameworks at all. Shadaj explains modern front end web development. He also explains why he likes to use react from scala.js and built a framework to make that easy for all.
podcastToday Adam talks to Shadaj Laddad. What is React? Why do we need front end frameworks at all. Shadaj explains modern front end web development. He also explains why he likes to use react from scala.js and built a framework to make that easy for all.
- IEEE SE Radiopodcast Hosting
Host on IEEE's Software Engineering Radio.
IEEE SE Radio· Hosting podcastHost on IEEE's Software Engineering Radio.
- podcast Remote WorkingCOAP Podcastpodcast with Dave & Woody Interview
Dave and Woody interview Adam on organizational impediments to remote work.
COAP Podcast· Interview · with Dave & Woody podcastDave and Woody interview Adam on organizational impediments to remote work.
- article A Peek Into Docker ImagesTenable Tech Blogarticle Tutorial
How Docker images are actually structured — layers and metadata.
Tenable Tech Blog· Tutorial articleHow Docker images are actually structured — layers and metadata.
- 2019
- podcast The Business Of Developer Toolspodcast
How do you build a business around tools for software engineers? Adam talks to Lee Edwards, a VC who spends a lot of time thinking about this question.
podcastHow do you build a business around tools for software engineers? Adam talks to Lee Edwards, a VC who spends a lot of time thinking about this question.
- podcast Stephen Wolfram on Mathematicapodcast
Stephen Wolfram, creator of Mathematica and Wolfram Alpha discusses the wolfram language, which is behind both projects. Host Adam Gordon Bell spoke with Stephen Wolfram about computing, computational essays, building a language, notebook-based computing, and teaching children how to code. Stephen discusses the origin story behind Mathematica and why it is so unique and sometimes considered unusual. He explains why mixing prose, code, and data together in one integrated environment is the future of computing and communication, and how his ideas inspired Jupyter notebooks. #podcast #seradio #ieeecs @ComputerSociety @stephen_wolfram
podcastStephen Wolfram, creator of Mathematica and Wolfram Alpha discusses the wolfram language, which is behind both projects. Host Adam Gordon Bell spoke with Stephen Wolfram about computing, computational essays, building a language, notebook-based computing, and teaching children how to code. Stephen discusses the origin story behind Mathematica and why it is so unique and sometimes considered unusual. He explains why mixing prose, code, and data together in one integrated environment is the future of computing and communication, and how his ideas inspired Jupyter notebooks. #podcast #seradio #ieeecs @ComputerSociety @stephen_wolfram
- podcast Software in Contextpodcast
Adam talks to Author and Clojure advocate Zach Tellman about how great software is built.
podcastAdam talks to Author and Clojure advocate Zach Tellman about how great software is built.
- podcast Beautiful and Useless Codingpodcast
Generative Art involves using the tools of computation to creative ends. Adam talks to Allison Parrish about how she uses word vectors to create unique poetry. Word vectors represent a fundamentally new tool for working with text. Adam and Allison also talk about creative computer programming and building twitter bots and what makes something art.
podcastGenerative Art involves using the tools of computation to creative ends. Adam talks to Allison Parrish about how she uses word vectors to create unique poetry. Word vectors represent a fundamentally new tool for working with text. Adam and Allison also talk about creative computer programming and building twitter bots and what makes something art.
- podcast Tech Evangelismpodcast
What makes some pieces of technology take off? Why is java popular and not small talk or Haskell? Gabe is a popular blogger, a former Haskell cheerleader, and creator of the Dhall configuration language. Today we talk about marketing and tech evangelism.
podcastWhat makes some pieces of technology take off? Why is java popular and not small talk or Haskell? Gabe is a popular blogger, a former Haskell cheerleader, and creator of the Dhall configuration language. Today we talk about marketing and tech evangelism.
- podcast Language Oriented Designpodcast
Adam talks to Hal Abelson about the textbook he coauthored in 1985, The Structure and Interpretation of Computer Programs and why it is still popular and influential today.
podcastAdam talks to Hal Abelson about the textbook he coauthored in 1985, The Structure and Interpretation of Computer Programs and why it is still popular and influential today.
- podcast Open Source Health and Diversitypodcast
Heather Miller is an Assistant Professor at CMU. She is concerned that key open source projects are at risk of failure and no one is paying attention. Adam talks to her about open source, how it grows, the diversity problems it has and much more. Heather also shares some interesting stories about the early days of Scala and her ideas for increasing diversity in tech.
podcastHeather Miller is an Assistant Professor at CMU. She is concerned that key open source projects are at risk of failure and no one is paying attention. Adam talks to her about open source, how it grows, the diversity problems it has and much more. Heather also shares some interesting stories about the early days of Scala and her ideas for increasing diversity in tech.
- podcast Learning About Compilerspodcast
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 bytecode. Throsten Ball answers these questions in this interview with Adam.
podcastWhat do compilers do? What is the runtime of a language? What does it mean to compile something down to bytecode and what executes the bytecode. Throsten Ball answers these questions in this interview with Adam.
- podcast
Heidi Howard, a researcher in the field of distributed systems, discusses distributed consensus. Heidi explains when we need it, when we don’t need and the algorithms we use to achieve it. Adam Gordon Bell spoke with Heidi about the history of distributed consensus, paxos and variations on it, such as raft and flexible paxos, performance and scaling of distributed consensus, CAP Theorem, scaling consensus, TLA+, important papers in the field, what algorithms are used by real world systems like zookeeper and etcd and the verification of these algorithms. Heidi also discusses what it is like to be a researcher in the field of distributed systems, how algorithms are verified and how she got into the field.
podcastHeidi Howard, a researcher in the field of distributed systems, discusses distributed consensus. Heidi explains when we need it, when we don’t need and the algorithms we use to achieve it. Adam Gordon Bell spoke with Heidi about the history of distributed consensus, paxos and variations on it, such as raft and flexible paxos, performance and scaling of distributed consensus, CAP Theorem, scaling consensus, TLA+, important papers in the field, what algorithms are used by real world systems like zookeeper and etcd and the verification of these algorithms. Heidi also discusses what it is like to be a researcher in the field of distributed systems, how algorithms are verified and how she got into the field.
- podcast Advanced Software Designpodcast
How do we create great software? What are the important skills need to properly review a PR? How do you identify assumptions of a code base and the stable contracts of a software module? Jimmy Koppel is working on his Ph.D. In the field of program synthesis at MIT. He was previously paid 100 thousand dollars to drop out of university by Peter Thiel, yet still graduated with two degrees. The most interesting, however, about Jimmy is he is working hard to teach the world how to design better software. Due to his time working on program synthesis, he developed some unique insights into what makes software good, and what makes it bad, and he spends time teaching people his insights.
podcastHow do we create great software? What are the important skills need to properly review a PR? How do you identify assumptions of a code base and the stable contracts of a software module? Jimmy Koppel is working on his Ph.D. In the field of program synthesis at MIT. He was previously paid 100 thousand dollars to drop out of university by Peter Thiel, yet still graduated with two degrees. The most interesting, however, about Jimmy is he is working hard to teach the world how to design better software. Due to his time working on program synthesis, he developed some unique insights into what makes software good, and what makes it bad, and he spends time teaching people his insights.
- podcast Category Theorypodcast
Today Adam talks to Bartosz Milewski. He is the author of a popular blog series, lecture series, and now book on Category Theory for programmers. The world of functional programming is rife with terminology imported from abstract algebra and Category Theory. In fact, it may be one of the most valid criticisms of functional programming is the use of Category-Theoretic terminology that can be unwelcoming to newcomers. Category theory can also be a tool to teach us to see software development in a different light and it can teach us to build better software. Bartosz is also just an interesting person, if you haven't heard of him yet, you are in for a treat.
podcastToday Adam talks to Bartosz Milewski. He is the author of a popular blog series, lecture series, and now book on Category Theory for programmers. The world of functional programming is rife with terminology imported from abstract algebra and Category Theory. In fact, it may be one of the most valid criticisms of functional programming is the use of Category-Theoretic terminology that can be unwelcoming to newcomers. Category theory can also be a tool to teach us to see software development in a different light and it can teach us to build better software. Bartosz is also just an interesting person, if you haven't heard of him yet, you are in for a treat.
- podcast
Gabriel Gonzalez, the creator of Dhall, the non-repetitive alternative to YAML on why configuration is important and how we can make it better. Adam Gordon Bell spoke Gonzalez about Dhall, yaml, total functional programming and dealing with configuration at scale. Topics covered include problems dealing with configuration in a large organization, removing duplication from configuration, using an inert format for configuration vs. using full-featured programming language. Also discussed were how Dhall solves some of the common configuration challenges ops face, how type systems and constrained use of functional programming can introduce safety to programmable configuration. Gabe also touches on finding a market for your open source project and how he stumbled into operations as being a great domain for a total functional programming language.
podcastGabriel Gonzalez, the creator of Dhall, the non-repetitive alternative to YAML on why configuration is important and how we can make it better. Adam Gordon Bell spoke Gonzalez about Dhall, yaml, total functional programming and dealing with configuration at scale. Topics covered include problems dealing with configuration in a large organization, removing duplication from configuration, using an inert format for configuration vs. using full-featured programming language. Also discussed were how Dhall solves some of the common configuration challenges ops face, how type systems and constrained use of functional programming can introduce safety to programmable configuration. Gabe also touches on finding a market for your open source project and how he stumbled into operations as being a great domain for a total functional programming language.
- podcast Using TypeScript Like A Propodcast
How do we make javascript easier to work with? Chris Krycho has been using typescript to add types to javascript since 2016. Chris is a software developer at LinkedIn who, at his previous gig, worked on converting one of the largest Ember apps in the world to TypeScript. I was shocked by the size. Chris also loves Rust and types and is a former C and FORTRAN programmers. He hosted a podcast called the New Rustacean, which he has retired from. Today we talk about TypeScript and when you should use it. We also talk about Language Server Protocols, Rust, working with large codebases, Structural types, row polymorphism and talking code over audio.
podcastHow do we make javascript easier to work with? Chris Krycho has been using typescript to add types to javascript since 2016. Chris is a software developer at LinkedIn who, at his previous gig, worked on converting one of the largest Ember apps in the world to TypeScript. I was shocked by the size. Chris also loves Rust and types and is a former C and FORTRAN programmers. He hosted a podcast called the New Rustacean, which he has retired from. Today we talk about TypeScript and when you should use it. We also talk about Language Server Protocols, Rust, working with large codebases, Structural types, row polymorphism and talking code over audio.
- podcast
Self-driving cars or armed autonomous military robots may make use of the same technologies. In a certain sense, we as software developers are helping to build and shape the future. What does the future look like and are we helping build the right one? Is technology a force for liberty or oppression. Cory Doctorow is one of my favorite authors and also a public intellectual with a keen insight into the dangers we face a society. In this interview, I ask him how to avoid ending up in a techno-totalitarian society. We also talk about Turing, DRM, data mining and monopolies.
podcastSelf-driving cars or armed autonomous military robots may make use of the same technologies. In a certain sense, we as software developers are helping to build and shape the future. What does the future look like and are we helping build the right one? Is technology a force for liberty or oppression. Cory Doctorow is one of my favorite authors and also a public intellectual with a keen insight into the dangers we face a society. In this interview, I ask him how to avoid ending up in a techno-totalitarian society. We also talk about Turing, DRM, data mining and monopolies.
- blog
I was interviewed on The Accidental Engineer Podcast. Here is a machine generated transcript.
blogI was interviewed on The Accidental Engineer Podcast. Here is a machine generated transcript.
- podcast Functional ProgrammingProgramming Throwdownpodcast with Patrick Wheeler & Jason Gauci Interview
Patrick Wheeler and Jason Gauci interview Adam on functional programming basics.
Programming Throwdown· Interview · with Patrick Wheeler & Jason Gauci podcastPatrick Wheeler and Jason Gauci interview Adam on functional programming basics.
- podcast
Bob Nystrom is the author of Crafting Interpreters. I speak with Nystrom about building a programming language and an interpreter implementation for it. We talk about parsing, the difference between compiler and interpreters and a lot more. If you are wondering why many languages have hand-rolled parser implementations yet much content on building languages implementations focuses on parser and tokenizer generators then Bob's insights will be eye-opening. Also, if you've ever used regexes to pull strings apart into structured data, and I sure have, then Bob's perspective on the simplicity of hand-rolled parsers will certainly open up some new possibilities for you.
podcastBob Nystrom is the author of Crafting Interpreters. I speak with Nystrom about building a programming language and an interpreter implementation for it. We talk about parsing, the difference between compiler and interpreters and a lot more. If you are wondering why many languages have hand-rolled parser implementations yet much content on building languages implementations focuses on parser and tokenizer generators then Bob's insights will be eye-opening. Also, if you've ever used regexes to pull strings apart into structured data, and I sure have, then Bob's perspective on the simplicity of hand-rolled parsers will certainly open up some new possibilities for you.
- podcast Refinement Typespodcast
Formal verification and type systems - how do they relate? Niki Vazou is on a mission to bring better formal verification to the masses. I have done a couple of episodes about dependent types and my feeling is that dependent types are super powerful and have some conceptual simplicity ( Types are a first class concept ) but are somewhat tricky to wield in practice. Refinement types are something simpler. A refinement is a predicate that narrows the meaning of a type. What if instead of divide taking two ints, one was Int i where i != 0. This is a refinement type, a type that has been refined, the set of possible values narrowed, using simple predicates. Niki is the creator of Liquid Haskell, a system that extends Haskell to support refinements. It actually goes farther than that. She has also worked on refinement types in Ruby and explained refinement types to scala community at various conferences, but her heart lies with the Haskell community. We talk about refinement types, theorem proving, formal verification, SMT solvers, and working with GHC. This interview is also a great place to hear me asking stupid questions of a very smart person. Niki and her work are way outside my comfort bounds but hopefully my struggles to understand the topic will help make the power of refinement types approachable to a wider audience. Ruby developers, js developers, and everyone, refinement types are for you as well.
podcastFormal verification and type systems - how do they relate? Niki Vazou is on a mission to bring better formal verification to the masses. I have done a couple of episodes about dependent types and my feeling is that dependent types are super powerful and have some conceptual simplicity ( Types are a first class concept ) but are somewhat tricky to wield in practice. Refinement types are something simpler. A refinement is a predicate that narrows the meaning of a type. What if instead of divide taking two ints, one was Int i where i != 0. This is a refinement type, a type that has been refined, the set of possible values narrowed, using simple predicates. Niki is the creator of Liquid Haskell, a system that extends Haskell to support refinements. It actually goes farther than that. She has also worked on refinement types in Ruby and explained refinement types to scala community at various conferences, but her heart lies with the Haskell community. We talk about refinement types, theorem proving, formal verification, SMT solvers, and working with GHC. This interview is also a great place to hear me asking stupid questions of a very smart person. Niki and her work are way outside my comfort bounds but hopefully my struggles to understand the topic will help make the power of refinement types approachable to a wider audience. Ruby developers, js developers, and everyone, refinement types are for you as well.
- podcast
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, tokenizing input, building a parser without the aid of a parser generator, abstract syntax trees, the monkey programming language, evaluating abstract syntax trees and a discussion of the size of various real-world language implementations.
podcastThorsten 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, tokenizing input, building a parser without the aid of a parser generator, abstract syntax trees, the monkey programming language, evaluating abstract syntax trees and a discussion of the size of various real-world language implementations.
- podcast Rethinking DatabasesCoRecursivepodcast with Jon Gjengset Episode
Jon Gjengset on Noria and rethinking database design from first principles.
CoRecursive· Episode · with Jon Gjengset podcastJon Gjengset on Noria and rethinking database design from first principles.
- podcast An Insight Into CoRecursiveSignify Technologiespodcast Interview
Interview on the journey of the CoRecursive Podcast.
Signify Technologies· Interview podcastInterview on the journey of the CoRecursive Podcast.
- blog
I was interviewed on “A Geek Leader” Podcast. Here is a machine generated transcript.
blogI was interviewed on “A Geek Leader” Podcast. Here is a machine generated transcript.
- blog
I was interviewed for the Lucid Programming Podcast.
Below is a machine generated transcription.
blogI was interviewed for the Lucid Programming Podcast.
Below is a machine generated transcription.
- blog
I was interviewed for the programming throwdown podcast.
Below is a machine generated transcription.
blogI was interviewed for the programming throwdown podcast.
Below is a machine generated transcription.
- podcast
Jonathan Boccara, author of The Legacy Code Programmer’s Toolbox discusses understanding and working with legacy code. Working with legacy code is a key skill of professional software development that is often neglected. Host Adam Gordon Bell spoke with Boccara about reading legacy code, developing the right attitude for approaching legacy code and several techniques for improving your legacy code skill set.
podcastJonathan Boccara, author of The Legacy Code Programmer’s Toolbox discusses understanding and working with legacy code. Working with legacy code is a key skill of professional software development that is often neglected. Host Adam Gordon Bell spoke with Boccara about reading legacy code, developing the right attitude for approaching legacy code and several techniques for improving your legacy code skill set.
- blog
I was interviewed for by Signify Technolgies for Scala in the City.
Below is a machine generated transcription.
blogI was interviewed for by Signify Technolgies for Scala in the City.
Below is a machine generated transcription.
- podcast Learning to Thinkpodcast
Andy Hunt is a celebrity in the world of software development. Or at least he is one to me. The Pragmatic Programmer is a classic book on software development book. He is an author of the agile manifesto and started the book company that has published many great books, including several by recent guests. Today I talk to Andy about how software engineers can get better at thinking and learning. How can we develop this meta-skill and how can being aware of common mistakes our brain make us more productive?
podcastAndy Hunt is a celebrity in the world of software development. Or at least he is one to me. The Pragmatic Programmer is a classic book on software development book. He is an author of the agile manifesto and started the book company that has published many great books, including several by recent guests. Today I talk to Andy about how software engineers can get better at thinking and learning. How can we develop this meta-skill and how can being aware of common mistakes our brain make us more productive?
- podcast Data and Scalepodcast
Pat Helland has a wealth of knowledge on building distributed data stores. He has been working on distributed data stores since 1978, when he worked on the tandem fault-tolerant database. Since then he has been involved in many distributed database projects. Here is the key thing, he is also a master at explaining the key ideas of distributed systems using simple language and practical everyday examples. Can you get married on the phone? How are messaging systems and idempotence like regional offices communicating via fax machine? These are the type of metaphor that Pat uses. Today, Pat sits down with me and teaches me about dealing with data in a distributed, fault tolerant, infinitely scaling world.
podcastPat Helland has a wealth of knowledge on building distributed data stores. He has been working on distributed data stores since 1978, when he worked on the tandem fault-tolerant database. Since then he has been involved in many distributed database projects. Here is the key thing, he is also a master at explaining the key ideas of distributed systems using simple language and practical everyday examples. Can you get married on the phone? How are messaging systems and idempotence like regional offices communicating via fax machine? These are the type of metaphor that Pat uses. Today, Pat sits down with me and teaches me about dealing with data in a distributed, fault tolerant, infinitely scaling world.
- podcast Abstraction and Learningpodcast
What is abstraction? Can we have a precise definition of abstraction that, once understood, makes writing software simpler? Runar has thought a lot about abstraction and how we can choose the proper level for the software we write. In this interview, he explains these concepts using examples from the real world. Examples include SQL, effectful computing and several others areas. We also talk about how to learn and acquire the skills necessary to understand complex concepts. Concepts like highly polymorphic code and category theory. Runar also explains his latest project unison computing and how it uses the correct level of abstraction to rethink several foundation ideas in software development.
podcastWhat is abstraction? Can we have a precise definition of abstraction that, once understood, makes writing software simpler? Runar has thought a lot about abstraction and how we can choose the proper level for the software we write. In this interview, he explains these concepts using examples from the real world. Examples include SQL, effectful computing and several others areas. We also talk about how to learn and acquire the skills necessary to understand complex concepts. Concepts like highly polymorphic code and category theory. Runar also explains his latest project unison computing and how it uses the correct level of abstraction to rethink several foundation ideas in software development.
- podcast Modern Systems Programmingpodcast
Richard Whaling has an interesting perspective on software development. If you write software for the JVM or if you are interested in low level system programming, or even doing data heavy or network heavy IO programming then you will find this interview interesting. We discuss how to build faster software in a modern fashion by using glibc and techniques from system programming. This means using raw pointers and manual memory management but from a modern language. Richard also shares some perspectives on better utilizing the underlying operating system and how we can build better software by depending on services rather than libraries.
podcastRichard Whaling has an interesting perspective on software development. If you write software for the JVM or if you are interested in low level system programming, or even doing data heavy or network heavy IO programming then you will find this interview interesting. We discuss how to build faster software in a modern fashion by using glibc and techniques from system programming. This means using raw pointers and manual memory management but from a modern language. Richard also shares some perspectives on better utilizing the underlying operating system and how we can build better software by depending on services rather than libraries.
- CoRecursivepodcast with Bryan Cantrill Episode
Bryan Cantrill on values in software design and engineering culture.
CoRecursive· Episode · with Bryan Cantrill podcastBryan Cantrill on values in software design and engineering culture.
- podcast Recreational Codingpodcast
A decade ago Jamis Buck was not loving his job. He was an important open source contributor. He worked for the hottest trendiest software company at the time, 37 signals, creator of ruby on rails. He was on top of the world but also he was burnt out. Today Jamis talks about how he overcame burn out. We discuss how his struggle lead him to write a book about generating mazes and another about building a ray tracer. His books are great fun, and all about recreational programming. You will learn to build things with a focus not on the latest trends in software development and not even a specific programming language. **The focus, instead, is on fun.**
podcastA decade ago Jamis Buck was not loving his job. He was an important open source contributor. He worked for the hottest trendiest software company at the time, 37 signals, creator of ruby on rails. He was on top of the world but also he was burnt out. Today Jamis talks about how he overcame burn out. We discuss how his struggle lead him to write a book about generating mazes and another about building a ray tracer. His books are great fun, and all about recreational programming. You will learn to build things with a focus not on the latest trends in software development and not even a specific programming language. **The focus, instead, is on fun.**
- podcast Collecting SolutionsDeveloper On Firepodcast with Dave Rael Interview
Dave Rael interviews Adam on learning, podcasting, and delivering value.
Developer On Fire· Interview · with Dave Rael podcastDave Rael interviews Adam on learning, podcasting, and delivering value.
- 6 Figure Developerpodcast Interview
Guest interview on functional programming and Scala on the 6 Figure Developer podcast.
6 Figure Developer· Interview podcastGuest interview on functional programming and Scala on the 6 Figure Developer podcast.
- A Geek Leaderpodcast with John Rouda Interview
John Rouda interviews Adam on learning and perspective-taking.
A Geek Leader· Interview · with John Rouda podcastJohn Rouda interviews Adam on learning and perspective-taking.
- podcast Bullet Journaling & Remote Work · ▶ videoLucid Programmingpodcast Interview
Interview on bullet journaling, remote work, and developer productivity.
Lucid Programming· Interview podcastInterview on bullet journaling, remote work, and developer productivity.
- 2018
- podcast The Little Typerpodcast
You can write more correct software and even rigorous mathematical proofs. Prepare for some mind stretching. Previous guests like Edwin Brady and Stephanie Weirich have discussed some of the exciting things a dependent type system can do Miles Sabin said dependent types are surely the future. This interview is to get us ready for the future. Daniel P. Friedman is famous for his "Little" series of books. Little Schemer, Little prover, Little MLer and so on. These books are held in high regard. Here is a quote from Doug Crockford: _"Little Schemer teaches one thing, a thing that is very difficult to teach, a thing that every profession programmer should know, and it does it really well. These are lessons that stick with you."_ The latest one is the little typer and its about types. Specifically dependent types. Dan's coauthor is David Thrane Christiansen, Idris contributor, and host of a podcast about type theory that is way over my head. Together they are going to teach us how the programming skills we already have can be used to develop rigorous mathematical proofs. Stay tuned to the end for my guide to working thru the book.
podcastYou can write more correct software and even rigorous mathematical proofs. Prepare for some mind stretching. Previous guests like Edwin Brady and Stephanie Weirich have discussed some of the exciting things a dependent type system can do Miles Sabin said dependent types are surely the future. This interview is to get us ready for the future. Daniel P. Friedman is famous for his "Little" series of books. Little Schemer, Little prover, Little MLer and so on. These books are held in high regard. Here is a quote from Doug Crockford: _"Little Schemer teaches one thing, a thing that is very difficult to teach, a thing that every profession programmer should know, and it does it really well. These are lessons that stick with you."_ The latest one is the little typer and its about types. Specifically dependent types. Dan's coauthor is David Thrane Christiansen, Idris contributor, and host of a podcast about type theory that is way over my head. Together they are going to teach us how the programming skills we already have can be used to develop rigorous mathematical proofs. Stay tuned to the end for my guide to working thru the book.
- podcast God's Programming LanguageCoRecursivepodcast with Philip Wadler Episode
Philip Wadler on Haskell, lambda calculus, and the languages of computation.
CoRecursive· Episode · with Philip Wadler podcastPhilip Wadler on Haskell, lambda calculus, and the languages of computation.
- podcast Big Ball Of Mudpodcast
In 1997, researchers analyzed the actual architectures of software in the field. The horrifying results: a large portion were best described by colorful phrases like "big ball of mud" and "sweep it under the rug." Wade Waldron talks about designing reactive applications and systems and how to avoid these anti-patterns. We also cover when a monolith is the right choice, hexagonal architecture, what to do if you're stuck with a big ball of mud and more.
podcastIn 1997, researchers analyzed the actual architectures of software in the field. The horrifying results: a large portion were best described by colorful phrases like "big ball of mud" and "sweep it under the rug." Wade Waldron talks about designing reactive applications and systems and how to avoid these anti-patterns. We also cover when a monolith is the right choice, hexagonal architecture, what to do if you're stuck with a big ball of mud and more.
- podcast
When Riccardo Terrell hit the concurrency limitations in a jvm application, he thought back to the haskell he learned in a university course and decided to rewrite the entire thing in haskell. The immutability of the haskell solution made the concurrency bottleneck non-existent. It is no surprise that years later, his book on concurrency in .net leans heavily on functional programming constructs and the functional features of F# and C#. Today we talk about concurrency and functional programming, about F# how it compares to haskell and scala. We also chat about CPU architectures, best practises for writing distributed systems and much more. Thanks to Manning we also have some free copies of the book to give away. Leave a comment on the webpage for the episode or on twitter if you are interested and I will randomly pick from the interested parties.
podcastWhen Riccardo Terrell hit the concurrency limitations in a jvm application, he thought back to the haskell he learned in a university course and decided to rewrite the entire thing in haskell. The immutability of the haskell solution made the concurrency bottleneck non-existent. It is no surprise that years later, his book on concurrency in .net leans heavily on functional programming constructs and the functional features of F# and C#. Today we talk about concurrency and functional programming, about F# how it compares to haskell and scala. We also chat about CPU architectures, best practises for writing distributed systems and much more. Thanks to Manning we also have some free copies of the book to give away. Leave a comment on the webpage for the episode or on twitter if you are interested and I will randomly pick from the interested parties.
- podcast Test in Productionpodcast
Today's Interview is with Charity Majors. We talk about how to make it easier to debug production issues in today's world of complicated distributed systems. A warning, There is some explicit language in this interview. I originally saw a talk by Charity where she said something like fuck your metrics and dashboards, you should test in production more. It was a pretty hyperbolic statement, but backed up with a lot of great insights. I think you'll find this interview similarly insightful. Charity and her company are probably best known for popularizing the concept that observability in the key to being able to debug issues in production.
podcastToday's Interview is with Charity Majors. We talk about how to make it easier to debug production issues in today's world of complicated distributed systems. A warning, There is some explicit language in this interview. I originally saw a talk by Charity where she said something like fuck your metrics and dashboards, you should test in production more. It was a pretty hyperbolic statement, but backed up with a lot of great insights. I think you'll find this interview similarly insightful. Charity and her company are probably best known for popularizing the concept that observability in the key to being able to debug issues in production.
- podcast
Today I talk to Vaughn Vernon about how Domain Driven Design can help with designing micro services. The guidelines that Vaughn has developed in his work on DDD can provide guidance for where service and consistency boundaries should be drawn. We also talk about the platform he is developing for applying these DDD concepts using the actor model, [Vlingo](https://vlingo.io).
podcastToday I talk to Vaughn Vernon about how Domain Driven Design can help with designing micro services. The guidelines that Vaughn has developed in his work on DDD can provide guidance for where service and consistency boundaries should be drawn. We also talk about the platform he is developing for applying these DDD concepts using the actor model, [Vlingo](https://vlingo.io).
- podcast
The promise of functional programming is code that is easier to reason about, test and maintain. Referential transparency means there is no extra context to worry about, we can just focus on inputs and outputs. Examples of functional programming in the small are plentiful. Fibonacci is easy to write as a function but what about fp in the large? Http4s is a web framework written in scala that takes a pure functional approach to building http services. Ross Baker is a contributor to http4s and he explains the benefits of this approach. We also touch on the benefits of working remotely, since he and I have both been doing it for some time.
podcastThe promise of functional programming is code that is easier to reason about, test and maintain. Referential transparency means there is no extra context to worry about, we can just focus on inputs and outputs. Examples of functional programming in the small are plentiful. Fibonacci is easy to write as a function but what about fp in the large? Http4s is a web framework written in scala that takes a pure functional approach to building http services. Ross Baker is a contributor to http4s and he explains the benefits of this approach. We also touch on the benefits of working remotely, since he and I have both been doing it for some time.
- podcast Moves and Borrowing In Rustpodcast
The surprising thing about rust is how memory management works. Rust has the concepts of moves and borrowing. If you have heard about Rust, you may have heard people talking about the borrow checker and trying to make it happy. In this interview, Jim Blandy walks us through what these concepts mean and how they work. We also talk about how to avoid fighting with the borrow checker at all and why the conceptual model that Rust adopts, though it may seem unusual at first, is actually more representative of how computers work and therefore an easier programming model.
podcastThe surprising thing about rust is how memory management works. Rust has the concepts of moves and borrowing. If you have heard about Rust, you may have heard people talking about the borrow checker and trying to make it happy. In this interview, Jim Blandy walks us through what these concepts mean and how they work. We also talk about how to avoid fighting with the borrow checker at all and why the conceptual model that Rust adopts, though it may seem unusual at first, is actually more representative of how computers work and therefore an easier programming model.
- podcast Dependent Types in Haskellpodcast
At Strange Loop 2017, I wandered into a talk where I saw some code that deeply surprised me. The code could have been python if you squinted, passing dictionaries around, no type annotations anywhere. Yet, key lookup in the dictionary was validated at compile time. It was a compile-time error to access elements that didn't exist. Also, the dictionary was heterogeneous, the elements had different types, and it was all inferred and validated at compile time. What I was seeing was Dependent types in Haskell. In today's interview, Stephanie Weirich explains her efforts to add dependent types to Haskell and how that example worked. At Strange Loop 2017, I wandered into a talk where I saw some code that deeply surprised me. The code could have been python if you squinted, passing dictionaries around, no type annotations anywhere. Yet, key lookup in the dictionary was validated at compile time. It was a compile-time error to access elements that didn’t exist. Also, the dictionary was heterogeneous, the elements had different types, and it was all inferred and validated at compile time. What I was seeing was Dependent types in Haskell. In today’s interview, Stephanie Weirich explains her efforts to add dependent types to Haskell and how that example worked.
podcastAt Strange Loop 2017, I wandered into a talk where I saw some code that deeply surprised me. The code could have been python if you squinted, passing dictionaries around, no type annotations anywhere. Yet, key lookup in the dictionary was validated at compile time. It was a compile-time error to access elements that didn't exist. Also, the dictionary was heterogeneous, the elements had different types, and it was all inferred and validated at compile time. What I was seeing was Dependent types in Haskell. In today's interview, Stephanie Weirich explains her efforts to add dependent types to Haskell and how that example worked. At Strange Loop 2017, I wandered into a talk where I saw some code that deeply surprised me. The code could have been python if you squinted, passing dictionaries around, no type annotations anywhere. Yet, key lookup in the dictionary was validated at compile time. It was a compile-time error to access elements that didn’t exist. Also, the dictionary was heterogeneous, the elements had different types, and it was all inferred and validated at compile time. What I was seeing was Dependent types in Haskell. In today’s interview, Stephanie Weirich explains her efforts to add dependent types to Haskell and how that example worked.
- podcast Microservices Architecturepodcast
I don't know a lot about microservices. Like how to design them and what the various caveats and anti-patterns are. I'm currently working on a project that involves decomposing a monolithic application into separate parts, integrated together using Kafka and http. Today I talk to coauthor of upcoming book, Reactive Systems Architecture : Designing and Implementing an Entire Distributed System. If you want to learn some of the hows and whys of building a distributed system, I think you'll really enjoy this interview. The insights from this conversation are already helping me.
podcastI don't know a lot about microservices. Like how to design them and what the various caveats and anti-patterns are. I'm currently working on a project that involves decomposing a monolithic application into separate parts, integrated together using Kafka and http. Today I talk to coauthor of upcoming book, Reactive Systems Architecture : Designing and Implementing an Entire Distributed System. If you want to learn some of the hows and whys of building a distributed system, I think you'll really enjoy this interview. The insights from this conversation are already helping me.
- podcast Rust And Bitter C++ Developerspodcast
Today I talk with Jim Blandy, one of the authors of Programming Rust. We talk about what problems rust is trying to solve, the unique language features and type system of rust. It includes both algebraic data types, type classes, and generics. We also touch on why it is so hard to secure code. Jim works on Firefox and his insights into the difficulty of writing secure code are super interesting.
podcastToday I talk with Jim Blandy, one of the authors of Programming Rust. We talk about what problems rust is trying to solve, the unique language features and type system of rust. It includes both algebraic data types, type classes, and generics. We also touch on why it is so hard to secure code. Jim works on Firefox and his insights into the difficulty of writing secure code are super interesting.
- podcast Distributed Systemspodcast
Today's interview is with Steven Proctor, the host of the functional geekery podcast. We talk about distributed programming in general and specifically how erlang supports distributed computing. We also talk about things he's learned about functional programming and applying FP principles to various non FP contexts.
podcastToday's interview is with Steven Proctor, the host of the functional geekery podcast. We talk about distributed programming in general and specifically how erlang supports distributed computing. We also talk about things he's learned about functional programming and applying FP principles to various non FP contexts.
- podcast Graphqlpodcast
What is GraphQL and when should you use it? Oleg Illyenko is primary creator of Sangria, a graphql implementation used by twitter, The New York Times and many other companies. We discuss the problems that graphql solves, how sangria works and the problems of api design. According to Oleg, GraphQL gives you a type system for your API.
podcastWhat is GraphQL and when should you use it? Oleg Illyenko is primary creator of Sangria, a graphql implementation used by twitter, The New York Times and many other companies. We discuss the problems that graphql solves, how sangria works and the problems of api design. According to Oleg, GraphQL gives you a type system for your API.
- podcast PureScriptpodcast
Purescript is a functional programming language that compiles to JavaScript. It is a strict Haskell dialect that can run anywhere that JavaScript does. Justin Woo is a self described PureScript evangelist and enthusiast. We talk about PureScript vs Elm and working with expressive type systems. Justin also had some great metaphors about phantom types and masking tape as well as avocados and testing.
podcastPurescript is a functional programming language that compiles to JavaScript. It is a strict Haskell dialect that can run anywhere that JavaScript does. Justin Woo is a self described PureScript evangelist and enthusiast. We talk about PureScript vs Elm and working with expressive type systems. Justin also had some great metaphors about phantom types and masking tape as well as avocados and testing.
- podcast Throwaway the Irrelevantpodcast
John De Goes and I talk flame wars, monad transformer performance, IO monad flavours, and reasoning about polymorphic type signatures. On the lighter side, we discuss how to write technical articles well and Zee vs Zed pronunciation.
podcastJohn De Goes and I talk flame wars, monad transformer performance, IO monad flavours, and reasoning about polymorphic type signatures. On the lighter side, we discuss how to write technical articles well and Zee vs Zed pronunciation.
- podcast Generic Programmingpodcast
When Miles Sabin applied to speak at a conference on generic programming, he bluffed a little bit. He would present on porting Simon Peytons Jone’s scrap your boilerplate functionality to Scala. Once his talk was accepted, he only had one thing left to do, implement it. Generic programming is the type of polymorphism your language does not directly support. To me this seems paradoxical, as once you implement a solution, the language, or at least a library within the language can now support it. This recursive definition and a speaking deadline led Miles to create shapeless. Years later he is still pushing the bounds on what you can do in Scala, including recently getting support for literal types added to scalac 2.13.
podcastWhen Miles Sabin applied to speak at a conference on generic programming, he bluffed a little bit. He would present on porting Simon Peytons Jone’s scrap your boilerplate functionality to Scala. Once his talk was accepted, he only had one thing left to do, implement it. Generic programming is the type of polymorphism your language does not directly support. To me this seems paradoxical, as once you implement a solution, the language, or at least a library within the language can now support it. This recursive definition and a speaking deadline led Miles to create shapeless. Years later he is still pushing the bounds on what you can do in Scala, including recently getting support for literal types added to scalac 2.13.
- podcast Total Programming Using Swiftpodcast
In simple terms, a total function is a function that produces a well defined output for all possible inputs. A total program is a program composed of only total functions. A non-total, or partial function, would be a function that can fail given certain inputs. Such as taking the head of a list, which can fail if giving an empty list and is therefore non-total. Total programming can be done in any language, however many languages make this easier. Some, going so far as to require proof of totality. In this interview Andre Videla discusses how the swift program language encourages programming in a total style. He also discusses his love of Idris, proof assistants and how his research into haskell, idris and dependant types have made him a better swift programmer.
podcastIn simple terms, a total function is a function that produces a well defined output for all possible inputs. A total program is a program composed of only total functions. A non-total, or partial function, would be a function that can fail given certain inputs. Such as taking the head of a list, which can fail if giving an empty list and is therefore non-total. Total programming can be done in any language, however many languages make this easier. Some, going so far as to require proof of totality. In this interview Andre Videla discusses how the swift program language encourages programming in a total style. He also discusses his love of Idris, proof assistants and how his research into haskell, idris and dependant types have made him a better swift programmer.
- podcast
Edwin Brady is the creator of the Idris programming language and Author of the book Type-Driven Development with Idris and a computer science lecturer. The book, the language and Edwin himself all seem to be chock full of ideas for improving the way computer programming is done, by applying ideas from programming language theory. In this interview, we discuss dependent types, type holes, interactive and type-driven development, theorem provers, Curry–Howard correspondence, dependant haskell, total functional programming, British vs American spelling and much more.
podcastEdwin Brady is the creator of the Idris programming language and Author of the book Type-Driven Development with Idris and a computer science lecturer. The book, the language and Edwin himself all seem to be chock full of ideas for improving the way computer programming is done, by applying ideas from programming language theory. In this interview, we discuss dependent types, type holes, interactive and type-driven development, theorem provers, Curry–Howard correspondence, dependant haskell, total functional programming, British vs American spelling and much more.
- podcast
In object oriented languages, modeling a complex problem domain is a well understood process. Books like Domain Driven Design contain techniques for breaking down a problem domain and earlier books like the gang of four book catalogue design patterns for modeling these domains in an object oriented way. In today’s interview Debashish Ghosh explains how to model a complex problem domain in a functional paradigm. His solution focuses on modelling the behaviour of the software system rather than nouns it will contain. He also focuses on an algebraic approach to api design and discusses how abstract algebra provides tools for building better software.
podcastIn object oriented languages, modeling a complex problem domain is a well understood process. Books like Domain Driven Design contain techniques for breaking down a problem domain and earlier books like the gang of four book catalogue design patterns for modeling these domains in an object oriented way. In today’s interview Debashish Ghosh explains how to model a complex problem domain in a functional paradigm. His solution focuses on modelling the behaviour of the software system rather than nouns it will contain. He also focuses on an algebraic approach to api design and discusses how abstract algebra provides tools for building better software.
- podcast
Runar Bjarnason has been exploring how writing in a functional style increases modularity and compositionality of software for many years. He is co-author of functional programming in scala, a book that teaches these principles in scala. It is a very challenging yet very rewarding book, sometimes referred to as simple ‘the red book’. In this interview Runar explains how writing in a functional style involves limiting side effects, avoiding exceptions and using higher order abstractions. Writing in this style places constraints on what a module in a software system may do, but by constraining modules in this way, the software modules themselves become endlessly composable.
podcastRunar Bjarnason has been exploring how writing in a functional style increases modularity and compositionality of software for many years. He is co-author of functional programming in scala, a book that teaches these principles in scala. It is a very challenging yet very rewarding book, sometimes referred to as simple ‘the red book’. In this interview Runar explains how writing in a functional style involves limiting side effects, avoiding exceptions and using higher order abstractions. Writing in this style places constraints on what a module in a software system may do, but by constraining modules in this way, the software modules themselves become endlessly composable.
- podcast Scala at Duolingopodcast
Doulingo is a language learning platform with over 200 million users. On a daily basis millions of users receive customized language lessons targeted specifically to them. These lessons are generated by a system called the session generator. In this episode, Andre talks about the reasons for the rewrite, what drove them to move to scala and the experience of moving from one technology stack to another.
podcastDoulingo is a language learning platform with over 200 million users. On a daily basis millions of users receive customized language lessons targeted specifically to them. These lessons are generated by a system called the session generator. In this episode, Andre talks about the reasons for the rewrite, what drove them to move to scala and the experience of moving from one technology stack to another.
- podcast Incident Responsepodcast
As a system becomes more complex, the chance of failure increases. At a large enough scale, failures are inevitable. Incident response is the practice of preparing for and effectively recovering from these failures. In this interview Emil argues that we need to move beyond tribal knowledge and incorporate practices such as an incident command system and rigorous use of checklists. Emil suggests that we need to move beyond a mindset of - "move fast and break things" and toward a place of more deliberate preparation.
podcastAs a system becomes more complex, the chance of failure increases. At a large enough scale, failures are inevitable. Incident response is the practice of preparing for and effectively recovering from these failures. In this interview Emil argues that we need to move beyond tribal knowledge and incorporate practices such as an incident command system and rigorous use of checklists. Emil suggests that we need to move beyond a mindset of - "move fast and break things" and toward a place of more deliberate preparation.
- podcast Scala Nativepodcast
Scala is a functional and object oriented programming language built on the JVM. Scala Native takes this language, loved by many, and brings it to bare metal. Scala Native is an optimizing ahead-of-time compiler and lightweight managed runtime designed specifically for Scala. Denys Shabalin is a Research Assistant at the EPFL and the primary creator of Scala Native. In this episode, I interview Denys about the motivations behind the Scala Native project, how it was implemented and future directions. He also briefly touches on how Scala Native made cold compilation times of Scala code twice as fast. If you are interested in functional programming, compiler design, or want to learn some interesting tidbits about garbage collector design and trade offs you will like this episode.
podcastScala is a functional and object oriented programming language built on the JVM. Scala Native takes this language, loved by many, and brings it to bare metal. Scala Native is an optimizing ahead-of-time compiler and lightweight managed runtime designed specifically for Scala. Denys Shabalin is a Research Assistant at the EPFL and the primary creator of Scala Native. In this episode, I interview Denys about the motivations behind the Scala Native project, how it was implemented and future directions. He also briefly touches on how Scala Native made cold compilation times of Scala code twice as fast. If you are interested in functional programming, compiler design, or want to learn some interesting tidbits about garbage collector design and trade offs you will like this episode.
- podcast CoRecursive Podcast — HostCoRecursivepodcast Hosting since 2018Several million downloads · 100+ episodes
Creator and host since 2018. Long-form interviews with the people behind the code.
⌄ more ⌃ less
Started as a side project in early 2018 to interview the engineers who built the systems the rest of us rely on — Chef, SQLite, PowerShell, Noria, and dozens more. The format is long-form story-led conversation, edited tight: each episode is a single arc, not a panel chat. Several million downloads later it’s still the work I’m proudest of.CoRecursive· Hosting since 2018 podcastSeveral million downloads · 100+ episodesCreator and host since 2018. Long-form interviews with the people behind the code.
⌄ more ⌃ less
Started as a side project in early 2018 to interview the engineers who built the systems the rest of us rely on — Chef, SQLite, PowerShell, Noria, and dozens more. The format is long-form story-led conversation, edited tight: each episode is a single arc, not a panel chat. Several million downloads later it’s still the work I’m proudest of. - 2017
- Software Engineering Dailypodcast Guest host
Guest host on SEDaily. Episodes on Scala Native, incident response, functional programming.
Software Engineering Daily· Guest host podcastGuest host on SEDaily. Episodes on Scala Native, incident response, functional programming.
- 2016
- blog
With today’s opensource keyboard firmware, it is possible to use dual role keys to have all modifier keys in your home row.blog
With today’s opensource keyboard firmware, it is possible to use dual role keys to have all modifier keys in your home row. - blog
3-way merge works great for code merges in the majority of cases. Can we do better, however. Can we decrease the number of places where a manual conflict resolution is required. I would say, yes we can, if we know more about the syntax of the file in question.
blog3-way merge works great for code merges in the majority of cases. Can we do better, however. Can we decrease the number of places where a manual conflict resolution is required. I would say, yes we can, if we know more about the syntax of the file in question.
- blog
How to perform and update with a join using CTE’s in postgres
- in a cte, write a select that returns the update to values, and the join on conditions
- join on that in the update
- Test: Optionally write a select that tests your results and wrap it all in a rolled back transaction to test run
blogHow to perform and update with a join using CTE’s in postgres
- in a cte, write a select that returns the update to values, and the join on conditions
- join on that in the update
- Test: Optionally write a select that tests your results and wrap it all in a rolled back transaction to test run
- blog
Here is a problem we encountered with NixOS:
The nix-channel we were on didn’t have the latest version of something we needed. This happened recently when my coworker upgraded to Postgres 9.5 from 9.4 but the PostGIS version in nixpkgs hadn’t been updated to a 9.5 compatible version.
blogHere is a problem we encountered with NixOS:
The nix-channel we were on didn’t have the latest version of something we needed. This happened recently when my coworker upgraded to Postgres 9.5 from 9.4 but the PostGIS version in nixpkgs hadn’t been updated to a 9.5 compatible version.
- 2015
- blog Bitcoin Transactionsblog
What will be the average number of Bitcoin transactions per day in the first week of June 2016?
blogWhat will be the average number of Bitcoin transactions per day in the first week of June 2016?
- blog Fitness Booksblog
I’ve read a lot of fitness biographies over the last little while. Here is a quick list.
blogI’ve read a lot of fitness biographies over the last little while. Here is a quick list.
- blog
Continuing from here, I have lists of tuples and I want to group them. Here I have a list of 4-tuples and I want to group the second tuple by the first. The fact that I need to do this probably represents some greater problem, but that is a story for another time
import shapeless._ import syntax.std.tuple._ import poly._ object GroupLists { def group1TwoExtra[A,B,C,D](t : List[(A,B,C,D)]) : List[(A,List[B],C,D)] = { val map = LinkedHashMap[A, LinkedHashSet[B]]() val mapOther = scala.collection.mutable.Map[A,(C,D)]() for (i <- t) { val key = i.head map(key) = map.lift(key).getOrElse(LinkedHashSet[B]()) + i.drop(1).head mapOther += (key -> i.drop(2)) } map.map(b => (b._1, b._2.toList) ++ mapOther(b._1)).toList }blogContinuing from here, I have lists of tuples and I want to group them. Here I have a list of 4-tuples and I want to group the second tuple by the first. The fact that I need to do this probably represents some greater problem, but that is a story for another time
import shapeless._ import syntax.std.tuple._ import poly._ object GroupLists { def group1TwoExtra[A,B,C,D](t : List[(A,B,C,D)]) : List[(A,List[B],C,D)] = { val map = LinkedHashMap[A, LinkedHashSet[B]]() val mapOther = scala.collection.mutable.Map[A,(C,D)]() for (i <- t) { val key = i.head map(key) = map.lift(key).getOrElse(LinkedHashSet[B]()) + i.drop(1).head mapOther += (key -> i.drop(2)) } map.map(b => (b._1, b._2.toList) ++ mapOther(b._1)).toList } - blog Mixed Metaphorsblog
Here I’m collecting some mixed metaphors that I thought were funny. Hopefully for use in a presentation about comedy I am doing
- I wouldn’t eat that with a ten foot pole
blogHere I’m collecting some mixed metaphors that I thought were funny. Hopefully for use in a presentation about comedy I am doing
- I wouldn’t eat that with a ten foot pole
- blog Scala Slick Groupblog
In slick, if each foo has many bars and I need to retrive several foos and associtated bars I will do something like this:
val join = for { (f,b) <- foo.filter(...) on innerJoin bar on (...) } yield (o,i,s)blogIn slick, if each foo has many bars and I need to retrive several foos and associtated bars I will do something like this:
val join = for { (f,b) <- foo.filter(...) on innerJoin bar on (...) } yield (o,i,s) - blog Hakyll and CircleCiblog
This blog was on tumblr, which was easy to setup and post and such. However, I spend like 8 hours a day with a text editor open and a git in terminal window.
blogThis blog was on tumblr, which was easy to setup and post and such. However, I spend like 8 hours a day with a text editor open and a git in terminal window.
- blog
This post is a work in progress and represents my getting to understand how laziness works in haskell and how it affects performance.
blogThis post is a work in progress and represents my getting to understand how laziness works in haskell and how it affects performance.
- 2014
- blog Incrementingblog
In an old essay, Paul Graham, talks about how some languages are more succinct and therefore they are more powerful. In fact, some programming languages can say things that you can’t easily say in others. Maybe you can’t say them at all. Its a good essay overall, you should read it.
blogIn an old essay, Paul Graham, talks about how some languages are more succinct and therefore they are more powerful. In fact, some programming languages can say things that you can’t easily say in others. Maybe you can’t say them at all. Its a good essay overall, you should read it.
- 2013
- 2012
- blog
How many Sundays fell on the first of the month during the twentieth century (1 Jan 1901 to 31 Dec 2000)?
blogHow many Sundays fell on the first of the month during the twentieth century (1 Jan 1901 to 31 Dec 2000)?
- blog
“Functor is to Lens as Applicative is to Biplate”
Haskell, the language with seemingly endless new concepts to learn about
blog“Functor is to Lens as Applicative is to Biplate”
Haskell, the language with seemingly endless new concepts to learn about
- blog
What is the greatest product of four adjacent numbers in any direction (up, down, left, right, or diagonally) in the 20
20 grid?blogWhat is the greatest product of four adjacent numbers in any direction (up, down, left, right, or diagonally) in the 20
20 grid? - blog
Using the code from the preceding three exercises, implement Graham’s scan algorithm for the convex hull of a set of 2D points. You can find good description of what a convex hull. is, and how the Graham scan algorithm should work, on Wikipedia
blogUsing the code from the preceding three exercises, implement Graham’s scan algorithm for the convex hull of a set of 2D points. You can find good description of what a convex hull. is, and how the Graham scan algorithm should work, on Wikipedia
- blog
Force categories list not to use category descritption use this:
blogForce categories list not to use category descritption use this:
- blog
I am reading “Joy Of Clojure”. It seems like a good book, but it keeps telling me about these problems I have which I don’t percieve as problems.
blogI am reading “Joy Of Clojure”. It seems like a good book, but it keeps telling me about these problems I have which I don’t percieve as problems.
- blog Creeping Determinism
- 2011
- blog
The scaffolding style code generators that generate out a good starting point from which standard coding takes over, those are very useful.
The Microsoft brand “design surface” based code generators (TableAdapters,WSSF) where the uml diagram of a class needs to be edited, rather than the actual class, those are more harm than good. if fact they slow development way down.
The design surface itself, is not necessarily a bad concept. it is just a GUI over top of a XML document. Just don’t use it to generate repetitive code. If code is repetitive, factor it out until its DRY. Don’t break out the code generators.
blogThe scaffolding style code generators that generate out a good starting point from which standard coding takes over, those are very useful.
The Microsoft brand “design surface” based code generators (TableAdapters,WSSF) where the uml diagram of a class needs to be edited, rather than the actual class, those are more harm than good. if fact they slow development way down.
The design surface itself, is not necessarily a bad concept. it is just a GUI over top of a XML document. Just don’t use it to generate repetitive code. If code is repetitive, factor it out until its DRY. Don’t break out the code generators.
- blog
David Cookery did a short write up of my AOP caching framework on infoQ. As a result downloads and usage have spiked.
blogDavid Cookery did a short write up of my AOP caching framework on infoQ. As a result downloads and usage have spiked.
- blog
You have made a project using attribute based caching, but the cache isn’t being hit?
blogYou have made a project using attribute based caching, but the cache isn’t being hit?
- blog Incrementingblog
Generic Hierarchical Meta data is cool! There are many ways to implement it with a standard relational database. Most of them are considered anti-patterns, but sometimes we need to optimize for flexibility, not raw database performance. Here are some of my notes on the subject:
blogGeneric Hierarchical Meta data is cool! There are many ways to implement it with a standard relational database. Most of them are considered anti-patterns, but sometimes we need to optimize for flexibility, not raw database performance. Here are some of my notes on the subject:
- blog
Attribute Based Caching 1.2 has been Released. It’s still the .net only caching library that has declarative cache invalidation.
Attribute Based Caching 1.1 had almost 100 downloads! Release 1.2 contains some small improvements like disk based cache and a time-to-live setting.
Cache 1.2
blogAttribute Based Caching 1.2 has been Released. It’s still the .net only caching library that has declarative cache invalidation.
Attribute Based Caching 1.1 had almost 100 downloads! Release 1.2 contains some small improvements like disk based cache and a time-to-live setting.
Cache 1.2
- 2010
- blog
Security Thoughts:There are generally three types of authorization in enterprise applications:
- Role based security - Which actions can a user do - aka role-based access control
- Entity level security - A user can only perform an Action on certain objects/data - aka row level security
- Field level security - A user can see or edit only certain fields of an entity – (this is really fine grained and usually a bad idea)
blog
Security Thoughts:There are generally three types of authorization in enterprise applications:
- Role based security - Which actions can a user do - aka role-based access control
- Entity level security - A user can only perform an Action on certain objects/data - aka row level security
- Field level security - A user can see or edit only certain fields of an entity – (this is really fine grained and usually a bad idea)
- blog
Haskell has parsec, f# has fparsec. I went searching for a good option for creating parsers in c#.
blogHaskell has parsec, f# has fparsec. I went searching for a good option for creating parsers in c#.
- blog
A permutation is an ordered arrangement of objects. For example, 3124 is one possible permutation of the digits 1, 2, 3 and 4. If all of the permutations are listed numerically or alphabetically, we call it lexicographic order. The lexicographic permutations of 0, 1 and 2 are:
012 021 102 120 201 210
What is the millionth lexicographic permutation of the digits 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9?
blogA permutation is an ordered arrangement of objects. For example, 3124 is one possible permutation of the digits 1, 2, 3 and 4. If all of the permutations are listed numerically or alphabetically, we call it lexicographic order. The lexicographic permutations of 0, 1 and 2 are:
012 021 102 120 201 210
What is the millionth lexicographic permutation of the digits 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9?
- blog
Discover the largest product of five consecutive digits in the 1000-digit number.
blogDiscover the largest product of five consecutive digits in the 1000-digit number.
- blog
“There are only two hard problems in computer science: cache invalidation, naming things, and off-by-one errors.”
I am a big fan of postsharp and its creator Gael. There are a number of examples floating around of doing caching with postsharp. However, none handled cache invalidation in a nice declarative way.
blog“There are only two hard problems in computer science: cache invalidation, naming things, and off-by-one errors.”
I am a big fan of postsharp and its creator Gael. There are a number of examples floating around of doing caching with postsharp. However, none handled cache invalidation in a nice declarative way.
- blog
Problem 3: What is the largest prime factor of the number 600851475143 ?
With enough extension methods we can make 3 really simple:
600851475143.LargestPrimeFactor()
Where:
blogProblem 3: What is the largest prime factor of the number 600851475143 ?
With enough extension methods we can make 3 really simple:
600851475143.LargestPrimeFactor()
Where:
- blog
If you would like to expose the results of an entity framework call as the index page or any other get based url using naked object mvc, a custom controller is required.
blogIf you would like to expose the results of an entity framework call as the index page or any other get based url using naked object mvc, a custom controller is required.
- blog Project Euler #9blog
Find the difference between the sum of the squares of the first one hundred natural numbers and the square of the sum.
blogFind the difference between the sum of the squares of the first one hundred natural numbers and the square of the sum.
- blog Project Euler #5blog
Here is my solution to the following project Euler Problem:
2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any remainder.
What is the smallest positive number that is evenly divisible by all of the numbers from 1 to 20?
blogHere is my solution to the following project Euler Problem:
2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any remainder.
What is the smallest positive number that is evenly divisible by all of the numbers from 1 to 20?
- blog Project Euler #6blog
Ok, this one is stupidly simple:
var squaredsum = Math.Pow(1.To(100).Sum(), 2); var sumedsquare = 1.To(100).Select(x => x * x).Sum(); Console.WriteLine(squaredsum - sumedsquare);blogOk, this one is stupidly simple:
var squaredsum = Math.Pow(1.To(100).Sum(), 2); var sumedsquare = 1.To(100).Select(x => x * x).Sum(); Console.WriteLine(squaredsum - sumedsquare);
