Hasty Briefsbeta

Bilingual

Interview with Mitchell Hashimoto about Ghostty and Zig

10 hours ago
  • #Open Source Philosophy
  • #Terminal Development
  • #Software Engineering
  • Mitchell Hashimoto, creator of various DevOps tools and currently working on Ghostty and Vouch, discusses his projects, terminal development, and open-source philosophy.
  • He explains that interviews with him often focus on his transition from software engineering to business founder or on his products like HashiCorp tools and Ghostty.
  • Hashimoto started Ghostty to improve his technical skills, explore GPU programming, desktop systems programming, and learn Zig, leading to a fast, feature-rich, cross-platform terminal emulator.
  • He believes terminals should be optimized for text-based applications with clear security and composability, rather than pushing them to extremes like full application platforms.
  • Hashimoto advocates for new terminal protocols, such as an n-screen API for multiple screens and a button protocol for interactive elements in scrollback history.
  • He emphasizes that open-source maintainers have no obligation to users, but he strives to improve software while balancing user feedback with personal vision and avoiding scope creep.
  • Hashimoto supports forking projects and believes the open-source community should embrace more personal forks, rather than expecting polished, product-like support from maintainers.
  • He praises Zig for its continuous improvement and willingness to make breaking changes, and notes AI can ease the pain of such changes by automating updates.
  • Hashimoto's library design approach involves learning from various ecosystems and porting enjoyable concepts, as seen in his focus on development-specific 'nouns' in Vagrant.
  • He is critical of overly complex tech stacks and industry trends but accepts mainstream technologies for practical reasons like community and hiring.
  • Hashimoto's principles for projects like Ghostty are personal reflections, leading to feature-rich, cross-platform core with native GUI, attracting like-minded contributors.
  • He values diverse programming language cultures and respects Zig's unique stance, despite not agreeing with all aspects, while expressing dislike for Rust's community culture.
  • To ensure quality, Hashimoto uses his own software extensively and employs AI for prototyping, but emphasizes understanding user needs and shipping code with care and empathy.
  • He recommends learning how computers work through low-level systems programming in languages like C, Zig, or Rust, and studying standard library implementations to grasp underlying concepts.