Hacker News · May 2, 2026 · 5:45

macOS VMs near-native speed & Why Windows has TMP and TEMP - Hacker News (May 2, 2026)

Near-native macOS VMs on Apple silicon, the TMP vs TEMP mystery, dashboards-as-code, Lisp on .NET, and a privacy-first self-hosted journal.

macOS VMs near-native speed & Why Windows has TMP and TEMP - Hacker News (May 2, 2026)
0:005:45

Our Sponsors

Today's Hacker News Topics

  1. macOS VMs near-native speed

    — Tests on Apple silicon with macOS 26.4.1 “Tahoe” show virtualization can hit near-native CPU and GPU performance, but Neural Engine results lag, shaping AI workload choices.
  2. Why Windows has TMP and TEMP

    — Raymond Chen traces TMP vs TEMP to MS-DOS history and Windows API quirks, explaining why compatibility keeps both environment variables alive across apps.
  3. Dashboards-as-code with semantic layer

    — Bruin Data’s open-source DAC brings “dashboard-as-code” using YAML and TSX plus a reusable semantic layer for metrics, improving reviewability, consistency, and SQL generation.
  4. Common Lisp targeting .NET runtime

    — Dotcl compiles ANSI Common Lisp to .NET CIL, enabling cross-platform Lisp images and tight interoperability with modern .NET frameworks like ASP.NET Core and MAUI.
  5. Self-hosted private daily journaling

    — Piruetas is a minimalist, privacy-first journal that’s self-hostable, telemetry-free by design, and focused on data portability with exports and shareable links.

Sources & Hacker News References

Full Episode Transcript: macOS VMs near-native speed & Why Windows has TMP and TEMP

A macOS virtual machine just benchmarked at almost the same speed as the host Mac—until one key AI component fell off a cliff. What that means for how you run “AI stuff” in a VM is more interesting than the headline number. Welcome to The Automated Daily, hacker news edition. The podcast created by generative AI. I’m TrendTeller, and today is May 2nd, 2026. Let’s get into it.

macOS VMs near-native speed

First up, a reality check—in a good way—for anyone who relies on macOS virtualization on Apple silicon. The Eclectic Light Company revisited VM performance using macOS 26.4.1, “Tahoe,” on an M4 Pro Mac mini, and the results are surprisingly close to native in the places people actually feel day to day. CPU single-core performance in a VM landed in the high nineties relative to the host, and GPU Metal performance was similarly close. In plain terms, that suggests a lot of everyday macOS work in a VM—apps, UI responsiveness, many dev workflows—can feel a lot like running on bare metal. The catch is AI acceleration. The virtualized Neural Engine performed dramatically worse than the host in tests that target that hardware. The implication is pretty practical: if you’re doing ML tasks inside a macOS VM, you may end up leaning more on CPU and GPU paths than expecting the Neural Engine to bail you out. There was also a useful note for anyone trying to squeeze this onto smaller storage: the limiting factor isn’t so much CPU or RAM as disk. The testing suggested macOS VMs need on the order of tens of gigabytes—around 60 GB—to update reliably, even if sparse files can soften the real-world footprint. That makes “small Mac as a VM host” less ridiculous than it used to sound, but storage planning still matters.

Why Windows has TMP and TEMP

Sticking with the theme of “why is it like this,” Microsoft veteran Raymond Chen dug into a small Windows oddity that has refused to die: the fact that Windows still has both TMP and TEMP for temporary-file locations. The short version is that it’s not a design choice so much as accumulated history. Early microcomputer software didn’t have a strong convention, different developers picked different names, and then the platform itself made choices that didn’t fully align. Even Windows APIs contributed to the split by preferring one in certain calls and the other elsewhere. Why it matters today is that “set one variable and you’re done” isn’t always true. Some programs follow TMP, others follow TEMP, and some follow their own logic entirely. Keeping both is basically a compatibility tax—and a reminder that once an ecosystem ships widely, tiny inconsistencies can become permanent infrastructure.

Dashboards-as-code with semantic layer

On the data tooling front, Bruin Data released an open-source project called DAC, positioned as “dashboard-as-code.” The central idea is to treat dashboards more like software: defined in code, validated, reviewed, and deployed in a repeatable way. The interesting twist is that it’s not just about putting layouts in YAML. DAC also ships with a semantic layer, so teams can define metrics and dimensions once and reuse them across widgets, instead of rewriting slightly different logic in every chart. That’s the kind of discipline that tends to reduce “why don’t these two dashboards agree” arguments. They also lean into AI-assisted iteration, where an agent can help edit and evolve dashboards while keeping the output standardized in code. If that works well in practice, it could make dashboards more maintainable without turning them into a free-for-all of one-off edits. One note people will care about: the project documents telemetry as anonymous command usage metadata, with an opt-out. Whether that’s acceptable depends on your environment, but at least it’s stated plainly.

Common Lisp targeting .NET runtime

For language and runtime enthusiasts, the dotcl project posted updates to its open-source repository, continuing its push to compile Common Lisp into .NET’s Common Intermediate Language. This matters because it’s not just a novelty compiler; it’s aimed at practical interoperability. If you can write Lisp that runs across Windows, macOS, and Linux under the .NET runtime—and also call into modern .NET libraries—you can mix expressive Lisp code with mainstream tooling where it helps. Projects like this are often about expanding your “reuse surface area.” Instead of porting everything or rewriting in the trendy language of the day, you potentially bring a mature language into today’s frameworks and deployment patterns, including web apps and cross-platform UI stacks.

Self-hosted private daily journaling

And finally, a small but telling entry in the ongoing pushback against bloated apps: Piruetas, a minimalist journaling web app built around one entry per day, with privacy and self-hosting at the center. The pitch is intentionally simple: keep “today” front and center, avoid telemetry, support basic formatting and attachments, and make it easy to export your writing so you’re not trapped. It also supports sharing individual days via links, which is useful if you want selective sharing without publishing your whole journal. Why it’s interesting is that it reflects a broader trend: people increasingly want tools that do less, store locally or under their control, and make data portability a default instead of an upgrade.

That’s the episode for May 2nd, 2026. If you’re experimenting with macOS VMs for dev work—or trying to run AI workloads inside them—the Apple silicon benchmarks today are a good reminder to measure the accelerators you actually depend on, not just CPU. Links to all the stories we covered are in the episode notes. Thanks for listening—see you next time.