Categories
Artificial Intelligence Security Tools Video

Super Cyber Friday: “Hacking Microsegmentation for Machine Workloads” (or: Old cybersecurity tricks don’t work with new AI agents)

Last Friday, NetFoundry’s CEO Galeal Zino appeared on the weekly live YouTube show Super Cyber Friday, hosted by tech journalist David Spark.

Super Cyber Friday is about cybersecurity practitioners and vendors, and every episode has a title that follows a “Hacking [Topic]” format. This particular episode’s title is Hacking Microsegmentation for Machine Workloads, and features:

  • Galeal Zino, NetFoundry CEO (and my boss’ boss, and therefore the best damned skip-level in the world)
  • Howard Holton, Founder and Principal Counsel at Phronia Counsel, an independent technology analyst and advisory firm

If you’re wondering what microsegmentation is, here’s the short version:

Microsegmentation is the practice of carving your network into tiny zones so that when something gets compromised (and something will), the damage stays in one small room instead of spreading through the whole house.

Everyone agrees it’s a good idea, almost nobody enjoys doing it, and few actually do it. It’s the brushing and flossing of cybersecurity.

Before the notes, some disclosure

You should know:

  • I do developer advocacy work at NetFoundry in exchange for money, health insurance, and to convince people I’m more than just an accordion-playing reprobate.
  • Once again, Galeal is my boss’s boss. And he’s a great boss’ boss!
  • NetFoundry sponsored this episode.

Feel free to apply the appropriate amount of skepticism to this writeup, but keep in mind that this episode features both a CEO who builds security stuff with an analyst who’s had to live with the results. The episode’s a little more blunt than your typical PR piece.

The tl;dr

C’mon, this article isn’t that long! But still, if you want a very quick summary, here it is…

The old way What machine workloads need
What you segment by IP addresses, subnets, CIDR blocks, VLANs A cryptographic identity for every machine, plus attestation
Where enforcement happens Firewalls and middleboxes at the edge Inside the application, via an identity-driven overlay
How AI agents get treated “It’s basically an employee” or “It’s basically an app” As a non-human actor with explicitly bounded access
What failure looks like Firewall surgery, configuration bloat, shelfware A contained blast radius
What the board says “We better never get hacked.” “How bad will it be when we get hacked?”

“Early microsegmentation sucked so bad…”

Howard set the tone in the first minute, when David asked for his microsegmentation pet peeve (0:08):

“Early microsegmentation sucked so bad that it’s hard to get people to listen when you talk about microsegmentation.”

For the record, Howard is a big microsegmentation fan. What drives him (and us at NetFoundry too) up the wall is the feedback he hears most often: “Nope, we did that before, we’re not doing it again.” People tell him it was too complicated and a waste of money. He hates that feedback because, in his words, “it’s just wrong.”

Later in the show (7:25), he explained how early rollouts earned that reputation. Teams would get frustrated during the discovery stage, put some segments in place, and then cause an outage by blocking something that only ran once every 30 days and that nobody had planned for. After that happened a few times, they’d shelf whatever microsegmentation tool they were using. His summary: “Complexity always bites you in the ass.”

If you’ve ever been anywhere near a rollout like that, you probably just winced. The problem wasn’t the idea. Least privilege and blast-radius reduction are good ideas! The problem was that vendors tried to implement them with the tools that just happened to be conveniently lying around: IP addresses, subnets, VLANs, and firewalls.

When an audience member asked whether application-level or network-level microsegmentation is more effective, Galeal didn’t mince words (9:05):

“Network-level is DOA: dead on arrival. It’s an oxymoron to begin with… It’s spilled milk, and you can’t put it back in the bottle. If you’re going to try and use IP addresses, VLANs, and firewalls to do ‘microseg,’ good luck to you. It’s not going to happen.”

That’s coming from someone who’s been doing network engineering for 30 years. Here’s the core problem, especially for machines: an IP address tells you where something is, not what it is. In a world of containers, autoscaling, and serverless functions, the IP address your billing service has this morning might belong to something completely different by the time lunch rolls around. Writing security policy against IP addresses is like keeping track of your friends by remembering which seats they sat in the last time you all went to the movies. Or, as Galeal put it later in the show (35:10), “IP addresses are not identities.”

Howard then described what happens when you try to brute-force it anyway (10:03):

“Microsegmentation and segmentation are not the same thing… If you’re like, ‘Well, I’m going to create 437 subnets in my network and I’m going to create 300 VLANs and I’m going to turn on host-based firewalls,’ you’ve just created a nightmare that no one is ever going to be able to manage after you. And you have failed job number one, which is make sure that the next person can be as successful as you are.”

“Make sure that the next person can be as successful as you are.” I want that on a poster, and not just for network engineers. It applies to code, documentation, and pretty much anything you build that someone else will inherit.

And if you try to do it the classic way regardless, making your firewalls enforce all that traffic between your services? According to Galeal (29:48), that’s the first lesson you’ll learn: “You will melt your firewalls.”

Credentials aren’t identity

My first bearer tokens.

My favorite moment in the episode came from an audience question. Sierra Montgomery asked (11:05):

“If a compromised workload acquires valid credentials and begins behaving like a legitimate service, what signal does your microsegmentation architecture use to distinguish legitimate machine-to-machine communication from lateral movement?”

Galeal’s answer was one word: Attestation. His reasoning: a credential doesn’t prove whether Howard, David, or an AI agent should have it. Credentials, he said, are “necessary but not sufficient.”

Explaining bearer tokens is something that goes back to my first article for Auth0, which was also my “take-home assignment” in the job interview process. The concept always needed the most careful explaining, even though the name told you everything: whoever bears the token gets the access. The token doesn’t know or care who’s holding it. It’s more like cash than a credit card.

That’s fine as long as you know where the token is. The trouble starts when you don’t. A credential proves that something possesses a secret. It doesn’t prove that the thing should have that secret, and it says nothing about whether the machine presenting it is in the state it’s supposed to be in. Attestation fills that gap: it’s verifiable evidence that the workload is what it claims to be, and that it’s running where and how it’s supposed to.

Take the pwning like a champ

At a DEF CON party a long time ago, a few friends and I came up with a joke talk title for the following year’s edition of the conference: “Security is for lightweights. Take the pwning like a champ.”

But behind the joke was an important idea: every boxer gets hit. What makes a champ isn’t never getting punched; it’s being able to take the punch and stay on your feet. Security works the same way. Sooner or later, one of your credentials is going to end up in the wrong hands, whether it’s through a phished password, a leaked API key, or a token that got copied out of a log file. Back then, planning on getting pwned was a punchline. These days, it’s a design principle, and it’s exactly where Galeal starts.

The DEF CON joke came to my mind when an audience member asked how a platform can alert on a compromised token moving laterally (16:06). Galeal’s answer was in the spirit of “Take the pwning like a champ”: Assume that tokens will be compromised, and design your system so that a token by itself doesn’t grant access.

If your architecture opens the door and grants network reachability before it verifies identity, an ill-gotten token can be a starting point to explore your network. The “Take the pwning like a champ” approach that NetFoundry takes verifies identity first and uses policies to spells out which identities can talk to which services. A stolen token doesn’t open any new doors, because the path the attacker wants isn’t accessible to them.

AI agents are chaos monkeys nobody scheduled

History time! If you were a developer around the time the iPad came out, you might remember Chaos Monkey, Netflix’s tool designed to randomly shut down servers in production. The idea behind it could be summarized as “The random shutdowns will continue until resiliency improves”. Netflix’s dev teams were forced to build in such a way that their systems would survive failure. It’s a brilliant (if sadistic) idea, and it works because Netflix chose to unleash it deliberately, with rules.

This isn’t all too different from a pattern Galeal described (28:56): taking an AI agent and saying, “Hey, cool. Here’s some API keys. Here’s the internet. Here’s some enterprise resources. Go do something useful.”

Howard’s response: “I see that like 40 times a week.” That’s a chaos monkey too, except nobody scheduled it, nobody wrote the rules, and it will explain its reasoning very confidently afterward.

My last job prior to my current Developer Advocate gig at NetFoundry was optimizing an MCP server, so this isn’t a hand-wavey “some customer has this issue” thing to me. Every tool or function you expose through an MCP server is something an agent can decide to call, whenever it wants, for reasons you didn’t anticipate. Its network traffic doesn’t follow a script.

When an audience member asked how to segment an AI agent whose needed connections change with each task, Howard’s advice was (27:27):

“If you try to design something that is entirely flexible, what you’re going to end up with is opening yourself up for AI chaos in your network… If you do it the other way around and hope that your microsegmentation tool set is going to keep up with your AI, you’re basically saying, ‘I want microseg to follow my chaos monkey.’ Do it the other way around. Use microsegmentation to restrict the chaos monkey.”

Galeal’s answer to the same question (26:43) supplies the other half: The old bag of tricks isn’t going to work on agentic flows. Treat agents as identities, define a graph of what each one can talk to and under what conditions, and have the visibility and enforcement to make sure they stay on that graph.

That’s the right mental model. An AI agent isn’t a human employee sitting behind your SSO portal, and it isn’t a cron job that does the same thing at the same time every night. It’s a whole new thing.

As Howard put it later in the show, it isn’t another application, and it doesn’t act like a human either. It needs boundaries defined up front, including things like:

  • A specific identity,
  • ashort list of things it’s allowed to reach, and i
  • solation that travels with it whether it’s running in AWS, on bare metal, or in an OT facility.

What this looks like if you write code

Time for me to put my work hat on for a minute. The table above mentions “an identity-driven overlay” enforced “inside the application,” which is a mouthful, so here’s what it means in practice.

OpenZiti is the open source zero trust networking platform that NetFoundry builds, and one of the things it lets you do is embed zero trust directly into your application with an SDK. Your app gets its own cryptographic identity, and it can only reach the services that policy says it’s allowed to reach. On the other side, services don’t need open inbound ports at all, so there’s nothing sitting on the network for an attacker to scan, probe, or point a stolen token at.

Galeal’s “kill switch” (more on that below) gets pretty concrete here too: if an identity is compromised, you revoke it or change the policy, and its paths go away. No firewall surgery required.

If you want to try it yourself, the docs and quickstarts are at openziti.io.

What do you tell the board?

Near the end, David read an audience question: Which metric best shows leadership that microsegmentation is working? Galeal boiled his answer down to three questions (39:11):

  1. The graph: Can you answer the question “What identity can talk to what identity, according to what policy?” (Note that he said identity, not IP address.)
  2. The kill switch: When something unexpected happens, where’s the kill switch that lets you deal with it without compromising uptime, human safety, or business continuity?
  3. Centralized governance: How much of all this can you see and govern from one place, instead of going to a bunch of different environments and firewalls?

Then Howard put on his gloves (41:27): “I couldn’t disagree more.” Speaking as a CISO, he said:

“What my board said 10, 15 years ago was, ‘We better never get hacked.’… Today they say, ‘How bad will it be?’ That is their question to me. That is the question they want me to answer in every board meeting they invite me to.”

My answer would be “Take the pwning like a champ”.

David pointed out that the two answers aren’t really in conflict: Galeal was describing what you measure for yourself and your security team, and Howard was describing what you tell the board. Galeal agreed. Howard then explained why the board version has to be so compressed (43:29):

“I get one slide as a CISO… I get like five minutes… I make that one slide tell them how I’m spending money to make it less bad than the last time they gave me money.”

Ah, the dreaded “You get one, and only one, slide” directive for board meeting presentations. Replace “board” with “VP of Engineering” or “whoever approves your budget,” and it’s still excellent advice.

My takeaway

If I had to boil the whole episode down to one idea, it wouldn’t be about AI, firewalls, or attestation. It would be Howard’s “job number one”: make sure the next person can be as successful as you are.

Galeal landed in the same place from a different direction. When David asked why he started NetFoundry (24:00), he said that after years of beating his head against walls like microsegmentation, he wanted to tilt the playing field so that the next person who has to solve these problems doesn’t have to.

That’s the real case against building microsegmentation out of subnets and VLANs. Even if you get it working, you’ve built something nobody else can understand, let alone maintain.

A policy that says “the billing service can talk to the orders database, and the AI agent can talk to these three APIs and nothing else” is something the next person can read, reason about, and change without breaking everything. And when some of the things doing the talking are AI agents that nobody can fully predict, that kind of clarity is what keeps the chaos monkey in its cage.

Go watch the episode, and if you’re a developer who wants to see what identity-first networking looks like from the inside, take OpenZiti for a test drive!

Categories
Security Tools

Can you use zrok’s Free hosted plan for your team’s internal tool? (or: 5 questions, answered)

We recently got a great set of questions from someone evaluating hosted zrok for a web-based e-commerce content tool.

Their situation: a small team of internal colleagues testing a tool for business work that might later become part of their daily workflow, and their budget was zero dollars.

Their main question: Could they use the Free hosted version of zrok?

The super-short answer

Yes!

The short (but with some details) answer

If you’re on a small internal team with zero budget, zrok’s Free hosted plan will cover your core needs:

  • A stable HTTPS address
  • Browser access with no install for users
  • Login-gated access for approved colleagues/users.

Watch the daily bandwidth (you’re limited to 5GB in any 24-hour period), make sure team knows about the interstitial page, and test from every region where you plan to use it.

Before the detailed 5 answers: What’s zrok?

zrok (pronounced “zee-rock”) is an open-source tool for sharing things running on your machine, such as…

  • A web app,
  • an API, or
  • a folder of files…

…without the need for you to open firewall ports or set up servers. You run one command on the machine where the service lives, and zrok gives you a way for other people to reach it. If you’ve used tunneling tools like ngrok, zrok covers similar ground, with private sharing and zero trust networking built in, and with a much bigger bandwidth allowance, too!

zrok can share in two ways:

  • Public shares give your service a regular HTTPS URL that anyone with a browser can open. zrok handles the TLS certificate. You can optionally require a Google or GitHub login so only approved people get in.
  • Private shares are reachable only by people who also run zrok and have been given access, so the service is never exposed to the open internet.

zrok is built on OpenZiti, the open-source zero trust networking platform created by NetFoundry. Your service makes outbound connections to the zrok network instead of listening for inbound ones, which means there are no inbound ports on your machine for scanners and attackers to find. As far as unauthorized parties are concerned, nothing’s happening on your machine, and there’s no way in.

You can use the hosted version at zrok.io, run by NetFoundry, or self-host it under the Apache 2.0 license. This article is about the hosted Free plan.

The 5 questions, answered

1. Is small-team, business-related use allowed on the Free plan?

Yes! Testing a business tool with a few colleagues, and using it internally afterward, is allowed on the hosted Free plan. You don’t need a paid tier for commercial use.

The terms that apply are in NetFoundry’s Self Service Subscriptions Agreement. As with any service agreement, have someone read it before you build a workflow on top of it.

2. Can I reserve a persistent, custom-named public HTTPS address without a payment method?

Yes! By default, zrok2 share gives you a random share token that disappears when the share ends. zrok 2.0 adds namespaces and names, which let you keep a stable address:

  • A namespace works like a DNS zone. The public namespace corresponds to share.zrok.io.
  • A name works like a DNS record inside that zone. A reserved name persists across runs of zrok2 share.

If you reserve the name contenttool in the public namespace, your app is available at https://contenttool.share.zrok.io. That address stays the same every time you restart the share, and it comes with a trusted TLS certificate automatically.

To see which namespaces you can use:

# bash
zrok2 list namespaces

For the details, see Reserved names and namespaces and Manage reserved names.

3. Can colleagues use the app in a normal browser without installing zrok? Can I limit who gets in?

Yes to both! A public share is a regular HTTPS URL, so your colleagues just open it in a browser. Only the machine running your app needs zrok installed.

To limit access to approved people, turn on OAuth for the share. zrok supports Google and GitHub login for public shares, and you can restrict access by email address pattern:

# bash
zrok2 share public --backend-mode proxy \
  --oauth-provider google \
  --oauth-email-address-pattern '*@yourcompany.com' \
  http://localhost:8080

Anyone who visits is sent to sign in first. Only accounts whose email matches the pattern get through. You can repeat --oauth-email-address-pattern to allow several domains or specific addresses.

There’s also a bonus for developers. Once someone is authenticated, zrok adds headers such as zrok-auth-email to every request it forwards to your app. That means your app can tell who’s using it without you building a login system. See OAuth public frontend for the full flow.

4. Are there mandatory charges, usage limits, or restrictions?

No mandatory charges. The Free plan costs $0 a month and doesn’t require a credit card. It does come with limits you should plan around:

  • 5 GB of bandwidth per day, measured over a rolling 24-hour window. If you go over, your running shares are disabled and you can’t create new ones until usage drops back under the limit. For a small team using a content tool this is usually plenty, but heavy media uploads could reach it.
  • 25 environments, 50 share backends, and 50 private access frontends. A small team won’t come close.
  • Rate limits on public shares: 2,000 requests per IP and 7,500 requests per share, each per 5-minute window.
  • An interstitial page. Accounts without a card on file show an anti-phishing page the first time someone visits a public share. It’s a one-time click-through for each visitor, but tell your colleagues about it so it doesn’t surprise them. Adding a card removes it, and you’re still on the Free plan.

In case you were wondering, here’s what the interstitial page looks like:

r/openziti - Can you use zrok's Free hosted plan for your team’s internal tool? (or: 5 questions, answered)

There’s also community support through the OpenZiti Discourse forum.

All the details are on the zrok pricing page and in the service limits docs. If you outgrow the Free plan, you can self-host zrok with no limits under the Apache 2.0 license, or talk to NetFoundry about commercial options.

5. Are there known restrictions on reaching hosted zrok shares from mainland China or other countries?

We don’t publish a list of country-by-country access guarantees. Whether a public URL is reachable from a given country depends partly on things outside our control, like local network policy.

Our advice is to review the terms of service linked above, then test your exact setup from the locations your users will be in before you roll it out. Stand up a throwaway share, have a colleague in each region load it and click around, and confirm it performs well enough for your needs.

Worth watching on Ziti TV

On the OpenZiti YouTube channel, there’s the Sharing Safely (and Rocking Out) with zrok episode, where hosts Clint and Joey explore zrok’s commands and talk zrok with its creator, NetFoundry developer Michael Quigley.

Categories
Tools What I’m Up To

“Retake the Lake” is now in the Chrome Web Store and easier to install!

My Chrome extension, Retake the Lake is now in the Chrome Web Store, which means it’s easier than ever to put it in your Chrome desktop browser!

I’ve made it easy to find with this URL:

globalnerdy.com/retakethelake

Now, all you have to do is go to the Retake the Lake page in the Chrome Web Store and click the Add to Chrome button:

You’ll see the “This extension is not trusted by Enhanced Safe Browsing” warning:

Click the Continue to install button.

This warning appears because this is my first Chrome extension, and Chrome doesn’t yet have enough developer history or reputation data about me to verify Retake the Lake.

Retake the Lake doesn’t use or sell any of your private data. It simply updates the contents of web pages and Google Maps to restore the correct name of Lake Ontario.

This pop-up will appear:

Click the Add extension button.

And in a second or two, you’ll see this near the upper right of your screen:

Congratulations! You now have Retake the Lake!

Once again, you can get Retake the Lake here:

globalnerdy.com/retakethelake

What is Retake the Lake?

Retake the Lake corrects “Lake America” to the proper “Lake Ontario” on Chrome desktop browsers.

(Unfortunately, the mobile versions of Chrome don’t support extensions.)

  1. On regular web pages, it rewrites “Lake Ontario” back to the proper, correct, and non-idiotic “Lake Ontario.”
  2. On Google Maps, it floats a clickable badge over the lake with a short explanation of where the real name comes from.

You can read more about how I made it here.

And remember…

Categories
Humor Tools

You “Odyssey” this modern version of The Odyssey!

This made-for-the-modern office version of The Odyssey will make you both and laugh and weep, especially if you’ve suffered through a long Zoom/Teams call today.

Categories
Tools

ZrokGui: Windows GUI zrok front end built with WPF

Someone in the wild built a Windows GUI for zrok, and it’s worth a look!

ZrokGui, by GitHub user muratgul, is a WPF / Material Design 3 desktop app that puts a friendly front-end on the zrok CLI. If you know someone who needs to use zrok and doesn’t feel comfortable with the command line (often the case with people who just want to share files or run an internal web site), this could come in handy.

What’s zrok?

One of the most useful tools produced by NetFoundry (where I work as their developer advocate) is zrok. If you’ve ever used ngrok to punch a temporary public URL through to something running on localhost (such as demo, a webhook receiver, a work-in-progress site, or even just a directory of files you want to make available) then you already know what zrok does.

zrok is an open-source sharing platform, and it’s quite clear that ngrok insipred it. It had the exact same “one command and your local thing is reachable from the outside world” ergonomics that made ngrok a developer staple.

Where zrok goes further is what’s underneath. It’s built on OpenZiti, an open-source zero-trust networking project that forms the basis of all of NetFoundry’s offerings.

Having an OpenZiti foundation gives zrok two things  that ngrok doesn’t give you out of the box:

  • Private sharing: instead of only exposing something to the whole internet, you can share it with specific people over a secure, zero-trust connection. The URL is private, not public.
  • You can run it yourself because it’s open source. You can run your own zrok instance on your own infrastructure, rather than being tied to someone else’s hosted service. (There’s also a free hosted zrok if you just want to get going without standing anything up. That’s what I use.)

zrok gives you ngrok’s convenience, plus private-by-default sharing and the option to own the whole stack.

I did a recent livestream on the OpenZiti YouTube channel on zrok with my co-host Clint and zrok developer Michael Quigley:

ZrokGui

Just for kicks, I cloned the source code and compiled it myself. It was no biggie; with the .NET 10 SDK already installed on my system, it was a matter of opening PowerShell, navigating to the directory containing ZrokGui.slnx and running the command dotnet build.

If you’re of the “I don’t want to compile anything; I just want a working application” school, go to ZrokGui’s Releases page, and download and unzip the .zip file for the latest release. The application is ZrokGuiWpf.exe.

ZrokGui is just a graphical interface for zrok, so you’ll need to have that on your system as well. As long as either zrok.exe or zrok2.exe are in the same directory as the ZrokGui application file (ZrokGuiWpf.exe), ZrokGui app finds zrok automatically, and then drives it for the user in the background. The GUI makes it simple to spin up public, private, file, and reserved shares, pick a backend mode (proxy, web, caddy, drive, tcpTunnel, udpTunnel, socks), and set basic auth or access grants. It presents live log output, pastes the share URL land into the clipboard the moment it’s live.

This is an early-stage project, but a real one. It’s past v1.0 with a downloadable release (v1.1.5 dropped a couple of days ago) and an active commit rhythm. I consider it beyond a weekend experiment at this point, and a nice piece of work. It’s the kind of thing that’s fun to see grow up around zrok.

Where to get ZrokGui

Once again:

Categories
Tools

Happy 20th birthday, Pandoc!

One of the bragging points of digital information is that it’s supposed to be possible to convert it from one format to another. Actually doing the conversion is often where theory runs headlong into practice and gets a concussion. Thankfully, when I need to convert text documents from one format into another, whether for myself or as part of an application, I’ve been able to hand the job to Pandoc.

When people ask me “What is Pandoc?”, I reply with a Star Trek-y summary: “It’s the Universal Translator for text document formats.” Need to take a LaTeX file and turn it into a PDF or Epub ebook? No prob. Got documents on a topic from different sources in different formats and need them all converted to HTML? Easy-peasy. Are you writing an application that takes documents in multiple formats as input and needs to extract the information from them? Have your application call Pandoc to convert those docs into a format it can read.

Want a sense of the formats that Pandoc can translate from and to? Check out the graph below, which shows but a fraction of its translation repertoire, and click on it to see the whole thing:

Like many of the best tools in my “belt,” Pandoc is open source, and it’s also been around for a while. In fact, today (August 3, 2026) is its 20th anniversary!

Developer John MacFarlane wrote it in Haskell (in fact, it’s the most popular program written in Haskell) and first published it on his website under the GPL 20 years ago. I’ve used it regularly for all kinds of projects, including an integration into documentation management system that’s still in use at a very pricey cruise ship company.

To celebrate this milestone anniversary, MacFarlane wrote up an article, Twenty Years of Pandoc, which is worth checking out. However, the best way to really celebrate this anniversary is to take Pandoc for a spin if you’ve never use it before.

Happy 20th, Pandoc, and thanks for all the help!

 

 

Categories
Tools What I’m Up To

“Street fighting” job interview tip #1: Have notes — and write them down by hand!

Tap to view at full size.

Interviews, even for people who appear onstage often, are still stressful. It often helps to have some prepared notes handy so you can spend more brainpower on the actual interview and less brainpower on remembering things. Pictured above is page one of a three-page set of notes from a recent interview; I can share this one because it’s generic enough that it didn’t need too much redacting.

I strongly recommend that if time allows, write your interview notes by hand instead of typing them. Here are my reasons why:

  • Writing by hand buys you extra time to think. The slow, deliberate process of writing something down gives you an opportunity to think about things, including what the interviewer might be looking for, and what you might what to say or emphasize during the interview. I often come up with an interesting new angle or idea, thanks to the extra time writing requires.
  • Writing by hand helps you remember what you wrote. Again, it’s about the process being deliberate: writing by hand requires you to use your fine motor control to form letters, and forming letters is different for each letter — you use a different set of motions to write “b” than you do when writing “M”. Typing uses a similar motion for write different letters; the only difference is their location on the keyboard. Writing those letters engages more “muscle memory” than typing, which “locks in” those facts better.
  • Writing by hand requires you to pay attention to what you’re writing. Audrey van der Meer, Brain researcher and Professor of Neuropsychology at NTNU (Norwegian University of Science and Technology), says this about typing to ake notes in class: “It’s very tempting to type down everything that the lecturer is saying. It kind of goes in through your ears and comes out through your fingertips, but you don’t process the incoming information.” I find the same is true for taking down pre-interview notes.