サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
mitchellh.com
I'm excited to share that I've joined Polar as an advisor. The opening text of the Polar website at the time of writing is "Get paid coding on your passion." This is a deeply personal mission to me. I want to share some of my personal history and how it led to becoming an advisor for Polar. From 2010 to 2012, I was spending nights and weekends working on my own passion. During the day, I had a ful
This page collects my writing about Ghostty 👻, the terminal emulator I've been working on since 2021 as a personal side project. This isn't an official website for Ghostty, just a place to collect my own thoughts I've written about it. Twitter thread originally sharing Ghostty Note: Ghostty is still a private project. I plan to open source it one day and share it with more people but for now this
Copy and paste "🧑🌾" in your terminal emulator. How many cells forward did your cursor move? Depending on your terminal emulator, it may have moved 2, 4, 5, or 6 cells1. Yikes. This blog post describes why this happens and how terminal emulator and program authors can achieve consistent spacing for all characters. Character Grids, Historically Terminals operate on a grid of fixed size cells. Thi
This is the text format of a talk I did for Zig Showtime. If you'd rather watch the video, you can find it on YouTube: Zig Showtime: Ghostty. The video also includes a Q&A session at the end which I did not include in this post. Hello! I'm excited to talk today about Ghostty. Ghostty is a brand new terminal emulator written from scratch in Zig. Note: at the time of writing this, Ghostty is still n
Building a native GUI for a cross-platform application is a decades old problem. Nowadays, most people just don't and fallback to using a non-native experience such as Electron instead. One approach to building a native GUI for a cross-platform application is to write all of the business logic in a cross-platform language (C, Rust, Zig, etc.) and then write the platform-specific GUI code. This is
Nix is a powerful cross-platform package management tool. The benefits of Nix are far reaching, but one big benefit is that once you adopt Nix, you can get a consistent environment across development (on both Linux and Mac), CI, and production. I've been using Nix for many years and recently started building Docker images using a Dockerfile paired with Nix. This post will explain the benefits of t
"Prompt Engineering" emerged from the growth of language models to describe the process of applying prompting to effectively extract information from language models, typically for use in real-world applications. A lot of people who claim to be doing prompt engineering today are actually just blind prompting.1 "Blind Prompting" is a term I am using to describe the method of creating prompts with a
As a frequent open source maintainer and contributor, I’m often asked: where do you start? How do you approach a new project with the goal of making meaningful changes? How can you possibly understand the internals of a complex project? These questions apply to any software project regardless of whether they are open source or proprietary, hobbyist or professional. The approach I take is the same
Zig has a built-in build system for building projects. It runs on every platform Zig supports and is capable of building everything from simple executables and libraries to complex, multi-artifact, multi-step projects. This page will dive into how the internals of the Zig build system works. Build systems are an extremely important detail of any software project. When they work, they can feel like
This page collects my writing about the 🦎 Zig programming language. Compiler Internals An introduction to the internals of the Zig compiler. The articles currently cover an introduction of most of the compiler "frontend" -- the process from source code to just prior to machine code generation. Note: These are the internals for the self-hosted compiler, also known as the "stage2" compiler. At the
No, not the company or the fruit. APPLE is an acronym ingrained into every Apple store employee before they ever even step on the retail floor. And it has continued to guide me ever since. APPLE: Approach customers with a personalized warm welcome Probe politely to understand all the customer’s needs Present a solution for the customer to take home today Listen for and resolve any issues or concer
For years, the primary bottleneck for virtual machine based development environments with Vagrant has been filesystem performance. CPU differences are minimal and barely noticeable, and RAM only becomes an issue when many virtual machines are active. I spent the better part of yesterday benchmarking and analyzing common filesystem mechanisms, and now share those results here with you. I’ll begin w
For the past two months, I've been heads down working on something new. There is still a lot of work left, but I believe it's time to show everyone what I've been up to. Today, I'm announcing Packer: an open source tool for creating machine images for multiple platforms. Packer is an open source tool for creating machine images, such as AMIs, VirtualBox images, Vagrant boxes, etc. Packer uses a si
Before even installing Vagrant or seeing how it works, it is important to understand the high-level workflow of Vagrant in an actual working environment. These principles are collectively known as the "Tao of Vagrant." The following is an excerpt from Vagrant: Up and Running. In a world with Vagrant, developers can check out any repository from version control, run vagrant up, and have a fully run
I'm a developer living in Los Angeles, CA. I co-founded HashiCorp. I was part of the initial engineering team behind most of our products, such as Vagrant, Packer, Consul, Terraform, Vault, Nomad, Waypoint, and more. I don't work on any of those projects anymore. I was CEO for ~4 years, CTO for ~5 years, an individual contributor for ~2 years, and then left the company in 2023. I fly airplanes. ✈️
Vagrant 1.1+ no longer supports RubyGems as an installation method. Instead, you must install Vagrant 1.1+ using pre-made packages or installers. For folks used to the gem-based installation, this has caused a mixture of confusion and disdain. In this post, I enumerate my reasons for abandoning RubyGems, and why it is better for the Vagrant community long-term. I initially released Vagrant as a Ru
このページを最初にブックマークしてみませんか?
『Mitchell Hashimoto』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く