Souk's Notes - Unofficial Summaries

Unofficial, machine-generated summaries, as of 2026-11-09.

GCastUsing Azure AI Document Intelligence Studio Custom Classification Model [GCast 182]
  • Classify mixed documents first, then run the matching extraction model. Giard's reason: invoices, order forms, agendas, or invoices from different companies put fields like the company name in different places. Classifying a document first tells you which layout-specific custom extraction model to use. He covered that model in episode 176.
  • A classification project needs an Azure AI service and blob storage. In Document Intelligence Studio (documentintelligence.ai.azure.com, which redirects to /studio), he picks "custom classification model" and creates a project. He creates a new resource group, a new AI service (formerly called Cognitive Services) in East US on the standard pricing tier with the default API version, and a new storage account and blob container. Storage account names must be all lowercase, and he took the cheapest tier. Setup took about 55 seconds, mostly spent creating the storage account.
  • Each document type needs at least five labelled samples. Files can be dragged into the studio or put straight into the blob container. Giard used five each of agendas, invoices and memos, each type sharing one layout. A type can be created with "add a type" or while labelling a document, which creates and assigns it in one step. A check mark shows when a type has enough samples to train.
  • Training is quick, but the models list must be refreshed by hand. Training started in a few seconds. Giard says it can take about a minute depending on how many documents there are. The status read "not started" until he clicked refresh, then went to running and then succeeded.
  • In the test tab, the model classified one document of each type correctly. One agenda, one invoice and one memo were each recognised as the right type. Giard says an API exposes the same classification to applications. His suggested flow is to put documents in blob storage, classify them, then run the custom extraction model for that type.
Technology and FriendsJennifer Marsman on Generative AI and the Office of the CTO [Episode 824]
synopsis

Marsman, who works in Microsoft's Office of the CTO, argues that you learn a model by getting hands-on with it. Each of her demos for Kevin Scott shows what a new model makes possible, ending with small local models doing jobs too costly for cloud LLMs.

The job. She does technology transfer of new OpenAI models into Microsoft, helps strategic partners such as Etsy, and builds Scott's demos. She compares it to grad school under a visionary professor. Working with executives has forced her to be brief, and she holds that a five-minute talk is harder than an hour-long one.

Learning DALL-E. As DALL-E 2 released she ran 30 days of prompts crowd-sourced on Twitter, after which she could predict how the model would handle a prompt. A prompt-guessing game on her GitHub followed.

Chaining models. Scott's Build 2023 demo turned podcast audio into a LinkedIn post. It ran through Whisper, guest-name extraction, a Bing bio lookup, a GPT-4 summary and a DALL-E image.

Small models. A Phi-3 vision recycling sorter ran offline on a laptop GPU and was tested on a plane. She argues that local models remove the cost and latency that rule out large models at public-bin scale.

The keynote. Given GPT-4o audio access at 1 PM the day before Build 2024, she built a Python-help demo. Scott, unprompted, offered to say on stage that she would never really make the error, and she cites this as why she trusts him.

  • Marsman's Office of the CTO job is technology transfer and demos. At Microsoft she explores new OpenAI models as they arrive and works out which product groups and field staff need to know about them. She also helps Fortune 100 strategic partners, among them Etsy, whose CTO and search engineering head presented with her at Build 2024, and she is Kevin Scott's official demo engineer. She likens the role to a grad student serving a visionary professor: running experiments toward his vision and bringing insightful papers back to him.
  • Hands-on, crowd-sourced prompting taught her DALL-E's limits within a month. She joined the office about two years before the recording, as DALL-E 2 released, and ran "30 days of DALL-E" on prompts solicited on Twitter; by the end, she says, she could tell from a prompt whether the model would handle it well. A later C# game on her GitHub shows an image and has the player guess its prompt. It grew out of coaching a colleague to add detail (viewpoint, empty or full field, a 1920s–30s look) to a bare "baseball stadium" prompt, and she says it is still wired to DALL-E 2.
  • Chaining model calls produced a genuinely useful end-to-end copilot demo. For Scott's Build 2023 keynote she automated the social posts he hates writing for his podcast, Behind the Tech. Audio went through OpenAI's Whisper for speech-to-text, a local model extracted the guest's name, a Bing web search fetched a bio, and GPT-4 wrote the post plus a prompt for a DALL-E image; a tool written with the LinkedIn team then posted it. She presents it as the power of orchestration layers such as Semantic Kernel and LangChain.
  • Small local models enable uses too costly for cloud LLMs. Her Phi-3 vision demo puts local recycling rules in the prompt and says whether an item held up to the camera can be recycled. She ran it on a laptop GPU and tested it offline on her flight to Build with a plastic cup, an Aquafina bottle and an aerosol can; it was cut from Build 2024 for time but is on her GitHub. Her argument is that nobody would pay GPT-4-class prices at the scale of public-park bins or a recycling center, while a local model removes the cost, latency and network dependence.
  • Her boss pre-empted her worry that a staged mistake looked bad. She got access to GPT-4o's audio-in, audio-out mode only at 1 PM the day before the Build 2024 keynote, and built a demo of asking it for help with a simple Python error. She feared that erring deliberately in public reflected badly on women in tech. She says Scott, unprompted and without his comms staff in the room, proposed saying on stage that she would never make that mistake in real life, and she gives this as the reason she trusts him.
Crosstalk SolutionsStarlink Mini + UniFi - Super Portable Internet! #Starlink #UniFi #wifi #tech
  • One power bank can run a Starlink Mini and UniFi network. The host powers a Starlink Mini from a 27,600 mAh Anker Prime power bank through a USB-C-to-barrel cable, with Ethernet from the dish into a UniFi Express; he expects the battery to keep the whole setup online for about 3 to 4 hours.
  • The UniFi Express serves as both gateway and access point. Because it has a built-in access point, the host says the single unit gives a full UniFi setup, with room to add switches or more access points.
Scott HanselmanNature of Code with Daniel Shiffman
synopsis

Shiffman presents the new Nature of Code as the book he always meant to make. It stays free online under Creative Commons, but it has been rewritten in JavaScript and p5.js, extended into neuroevolution, and printed as a 640-page No Starch Press edition. He holds that giving it away widens its reach rather than costing sales.

From class to book. The material grew from courses he took at NYU around 2001–2002 and a class he taught at ITP from about 2008. He self-published it through an early Kickstarter and then didn't update it for a decade, which is why he wanted a publisher as a partner.

What changed. Most revisions are better explanations learned from teaching. The growth is machine learning: the perceptron section became a chapter built on ml5, and a new chapter covers neuroevolution, which evolves network weights instead of using backpropagation. The book runs as a story, from a random dot to evolving agents, and assumes basic programming.

Why creative coding. He argues everyone should have the opportunity to code, though not everyone needs to, and that open-ended creative work brings in people that traditional teaching puts off. He chose JavaScript so every example runs in the p5.js web editor, and he invites ports to other languages.

Free and paid. He calls the free site marketing, subsidized by his NYU job, while conceding his evidence is anecdotal.

Lineage. He traces Processing to Reas and Fry in 2001 and to John Maeda's Design by Numbers, singles out its play button, and credits Lauren McCarthy's p5.js with a web-first, community-first reimagining.

  • The new Nature of Code is a full rewrite, not a refresh. Shiffman says the class began at NYU's ITP around 2008, and he self-published the book through an early Kickstarter, then left it largely unchanged for about 10 years. He brought in No Starch Press to "project manage" him and produce a better print object. The new edition is in JavaScript with p5.js instead of Java and runs to about 640 pages.
  • Neuroevolution is the book's new centerpiece. The 2012 edition only covered a single perceptron. He rewrote that chapter around ml5, an open-source machine-learning library for p5 that he also works on, and added a chapter on evolving the weights of many random networks instead of using backpropagation. He calls it a lightweight way to play with machine learning in the browser with no dependencies; Hanselman notes the book builds from a dot moving at random to a Flappy Bird that learns to flap.
  • Everyone should get the chance to code; not everyone must. Shiffman argues that understanding code is empowering when so much of life runs on software. He says teaching through art and creative exploration, with "no answer to this problem", brings in people who thought coding wasn't for them. He also says the book is not a learn-to-code book: it assumes variables, loops, conditionals, arrays, functions and objects.
  • Giving the book away free sells it rather than cannibalizing it. The full text stays online under Creative Commons, and he calls the website marketing that widens the book's reach, while admitting he has only anecdotal evidence. He describes the free material as subsidized by his full-time NYU teaching job, since he counts open education materials as part of that work.
  • p5.js reimagined Processing for the web, community first. Shiffman credits Casey Reas and Ben Fry with starting Processing in 2001, building on John Maeda's Design by Numbers, and calls its play button for running code revolutionary. As Java applets died, Lauren McCarthy rebuilt it for the browser and broke down the line between users and developers. The p5.js web editor hosts every example so code can be changed and shared from any machine, and he invites readers to port the examples to Processing, openFrameworks, Unity and other environments.
Scott HanselmanGitHub Copilot AI features in Visual Studio BEYOND "just writing code"
  • Treat Copilot as a rubber duck, not a one-shot oracle. While upgrading the Hanselminutes site to .NET 8, Hanselman says most people ask one question and stop if they dislike the answer. He builds up context instead with follow-ups ("tell me more about the setup method", "is this modern idiomatic .NET"), and keeps separate named chat threads for each piece of work.
  • Scope what Copilot sees. He shows slash commands such as /explain working on selected code, and inline chat marking the exact scope it is reasoning over. He then widens that scope to a file plus its tests to ask whether the tests are affected.
  • Generated commit messages are the standout feature. He expected the generated message to say only "added new tests". Having read the diff, it also listed earlier Dockerfile and .NET hosting changes he had forgotten. He calls this "the killer feature" and says he would have missed those changes himself.
  • AI tools should show where they looked. In his demo, analyze-and-fix on a failing test immediately found the deliberately wrong assertion (690 expected, 694 actual), and ask-Copilot on a null-reference exception pointed to the line he had broken. He praises it for listing the references it used and argues no AI app should be a black box, so a user can see why it answered and correct it.
  • The small "delighters" go unnoticed, and AI icons are inconsistent. He shows rename suggestions and conditional-breakpoint suggestions (it proposed "shows greater than 10" from context). He complains that the AI is marked with a sparkle in one place, a sparkle pen in another and a Copilot figure in a third, and says the industry hasn't settled on one icon. He recommends Help > What's New as the way to find such features.
Crosstalk SolutionsMeshtastic: Build Your Own Private Off-Grid Network!
  • Meshtastic gives cheap, low-power messaging where cellular fails. The host pitches the open-source mesh for events with congested cell coverage (a music festival, the Baja 500), remote hiking with a base camp, farm IoT sensors on small solar panels and batteries, and GPS asset tracking on vehicles, before handing off to Crosstalk's David Barger for the build.
  • The recommended RAK Wireless starter kit needs a few add-ons. Barger bought three at roughly $20–30 each: a RAK19007 baseboard with a 900 MHz LoRa module (US), an optional GPS module he calls power-hungry, and a screen. The battery (about $2–3) and enclosure are extra; his battery connector did not fit and had to be re-soldered. Connect antennas before powering on, or risk frying the board.
  • Set the LoRa region first, or the node will not work. Barger flashes the latest stable firmware via the web flasher in a Chromium-based browser, then sets the region from "unset" to US. Defaults to know: the primary channel has no pre-shared key, so add one on a secondary channel for privacy; roles are client (relays), client mute (never relays), router and repeater; leave the LongFast modem preset as a beginner.
  • One high node covered about seven to eight city blocks. With a large 915 MHz antenna on a town's tallest parking garage, Barger reached the fringe at seven or eight blocks, shorter where large buildings intervened. To cover the downtown he would place repeaters about six to seven blocks apart, as high as possible.
  • The firmware is still beta, and it showed. Nodes left on overnight stopped receiving each other's messages despite transmitting; after hours with the logs, only a factory reset fixed it, cause unknown. His GPS module never got a lock even outdoors, possibly specific to his hardware; a phone can share its GPS instead, which he says is no good for standalone asset tracking.
Crosstalk SolutionsCamping with Starlink Mini! #starlink #starlinkinternet #camping #crosstalk #techtips #tech #wifi
  • Aim the Starlink Mini roughly north, then fine-tune alignment. The host uses a compass to point the dish in the general direction of north, plugs it into the RV's power, and corrects the alignment with the app's guide; the obstruction view showed trees overhead.
  • Speed roughly sextupled once the dish settled in. The first test, with obstructions, gave about 22 Mbps down and 10 up, already above the campground's paid Wi-Fi, which tops out at 10 Mbps. After 20 to 30 minutes of settling, the host measured 128 Mbps down and 20 up.
Polis PanditBreaking Up Google: Why This Is Not Microsoft Circa 2000
  • This post includes paid content that is not available publicly. See the original source.
Scott HanselmanFine tuning Products with Stanza System's Stacie Frederick
synopsis

Frederick, chief product officer at Stanza Systems, ends up arguing that the industry's unsolved problem is operating software, not writing it. Stanza is betting on turning data teams already collect into the prioritized judgment that today only senior engineers supply.

Why a technical CPO. Stanza's first product, rate limiting, sits deep in infrastructure. Her engineering background lets her tell which part of a customer's organization a complaint really comes from.

Maturity as fit. Hanselman suggests practice is now standard enough for CI/CD everywhere. She disagrees: the right practice depends on team, product and business. Faster releases hurt when testing is manual, and early-stage products may not repay full automation. Hanselman accepts the point.

Probing customers. Customers often arrive fixed on a solution, so she backs them up to the problem. Rate limiting drew problem validation but little urgency, and customers had already spent heavily on observability. Stanza therefore brought forward analytics built on their existing data.

The production gap. She says tooling has sped up development but done little for running software, so small teams that build a lot burn out operating it. She and Hanselman agree that "shift left" under tight budgets often just moves operational work onto developers.

Codifying SRE wisdom. Of signals, comprehension and actions, she says comprehension is the gap and still depends on senior people's context. Stanza aims to systematize it into clues about where to look. Both want AI to speed juniors up without replacing the reasoning they learn from seniors.

  • A technical product chief reads customers better. Frederick, chief product officer at Stanza Systems, says engineering experience lets her tell whether a pain point is coming from product, platform engineering or SRE staff detached from business goals. She says a CPO without it is at best slowed down and more likely hindered.
  • CI/CD maturity should fit the business, not be chased. She cites a team that pushed for faster releases while its heavy manual testing burden made each release more costly. She argues that an early-stage product still finding its business may not repay full test automation, and Hanselman concedes this challenges his instinct to automate anything done twice.
  • Stanza moved its insights product ahead of schedule. Frederick says customers confirmed the problem behind Stanza's first product, rate limiting, but showed little urgency in a cost-focused market. They had also already paid heavily for observability and would not add another tool. So Stanza decided to draw insights from data customers already collect, a step it had planned for later.
  • Tooling sped up building software but not running it. She argues that small teams can now produce far more software than they can operate, and that this leads to burnout. On "shift left", she agrees with Hanselman that shrinking budgets often just dump right-side work (performance, reliability, resilience) onto developers, "borrowing" development time.
  • Stanza wants to codify senior engineers' judgment. She frames operations as signals, comprehension and actions, and says signals and actions are well served while comprehension still relies on senior people sifting the data. Stanza aims to systematize that triage into prioritized clues, such as flagging a service that has become risky. Hanselman adds that this should make junior engineers better faster without letting them stop thinking, and she agrees juniors learn most by watching how seniors reason.
GeoHussarFor the record. I have no relation to Mr. Beast. Dylan Page is after me with this moniker. #mrbeast
  • The speaker denies being Mr. Beast's father. Responding to a clip in which another creator (Dylan Page, per the title) introduces the speaker as Mr. Beast's dad, the speaker says they have three daughters and no son. The clip has no geopolitical content.
Polis PanditWhat Will Happen To Google?
  • This post includes paid content that is not available publicly. See the original source.
Crosstalk SolutionsStop Emailing Passwords! Easy and Secure Password Sharing
  • Password Pusher replaces clear-text passwords with expiring links. The sender sets expiry by days or views (the demo uses four days or three views), optionally adds a retrieval passphrase, and shares a link or QR code. The host argues the hosted site is low-risk because only the password is sent, not the username or site, and the code is open source; self-hosting removes the trust question.
  • A $5-a-month cloud server is enough, with backups off. The host uses a Vultr shared-CPU instance with the one-click Docker image (25 GB SSD, 1 vCPU, 1 GB RAM; $1 a month more for AMD high-performance) and disables backups, because the app stores nothing worth restoring. He creates the DNS A record early, in Cloudflare with proxying off, to give propagation time.
  • Install is two Docker containers and one Caddyfile edit. The host downloads a Docker Compose file and a Caddyfile, sets the Let's Encrypt email and the fully qualified domain name in the Caddyfile, and runs docker compose up -d, which pulls the Password Pusher and certificate containers. He says the whole job takes under 15 minutes; written steps are on the Crosstalk blog.
  • Lock SSH to your WAN IP and auto-restart the containers. With ufw, he allows port 22 only from his own WAN IP (a /32 for a single address), allows HTTPS 443 from anywhere, deletes the default anywhere rules for 22, and enables the firewall. Adding restart: always to both services in the Compose file brought the site back within a minute of a reboot.
  • Crosstalk itself uses Password Pusher with its customers. The host says the firm sends and receives customer passwords this way, and presents it as showing customers it values security on their networks and phone systems.
Scott HanselmanGitOps on the Edge with Octopus Deploy's Dan Garfield
synopsis

Garfield, VP of open source at Octopus Deploy and Codefresh co-founder, argues that GitOps with Argo CD has become the default way to run Kubernetes. He says Kubernetes is lighter and more widespread at the edge than people assume, and that Octopus's acquisition of Codefresh is funding more open-source Argo work.

Why build something new. Codefresh bet early that Kubernetes would win. Its declarative state made hand-rolled, special-case deployments cause more problems than they solved.

Formalizing GitOps. He relays that Weaveworks' Alexis Richardson coined the term after git-stored state enabled a fast outage recovery. A CNCF working group of about 80 companies, started in late 2020, produced four principles at 1.0 around 2021. They put git as the source of truth, reconcile it against live state to catch drift, and delegate control for things like autoscalers. Hanselman adds that a Word document of desired state "can't break the build."

Argo and the acquisition. Codefresh shipped the first commercial Argo CD around 2020. Garfield estimates Argo CD is behind just over half of Kubernetes deployments, a figure extrapolated from a CNCF survey. Octopus wanted a cloud-native offering to complement its strength with VMs. The deal closed in March with a commitment to grow the open-source team.

The edge. Garfield says Kubernetes runs in restaurant chains, F-16s and container ships, because small clusters tolerate node loss and pull from git when they reconnect. Hanselman admits he still thinks of it as too heavy. Garfield's caution is that one command that builds everything can destroy everything, the subject of a planned ArgoCon talk.

  • Kubernetes' declarative state made bespoke deployments obsolete. Garfield says Codefresh bet early that containers would change everything and that Kubernetes would win. Declarative state management, he argues, turned hand-rolled, special-case deployments into something repeatable and automatable.
  • GitOps was formalized to stop it meaning everything. He relays that the term was coined at Weaveworks by Alexis Richardson after git-stored state allowed a fast recovery from an outage. A CNCF working group started around late 2020 with Codefresh, Azure, GitHub, Amazon and Weaveworks, then Red Hat, drawing in about 80 companies and 120-plus parties. It reached 1.0 of four principles by about 2021: git as the source of truth, plus a reconciliation engine that monitors live state for drift.
  • Argo CD has effectively won Kubernetes deployment. Garfield estimates that a little over half of Kubernetes deployments use Argo CD, against about 10% for the runner-up. He says the figure is extrapolated from a CNCF survey and is not exact. Codefresh launched the first commercial Argo CD around 2020 and calls itself the top security contributor to the project.
  • Octopus Deploy bought Codefresh for cloud-native reach and funds its open source. The acquisition closed in March after the Octopus founder met the team at KubeCon. Garfield says Octopus is strong on VMs and Windows/.NET deployments, where Codefresh was weak. Octopus committed to expanding the open-source team, and he has been hiring additional Argo CD maintainers.
  • Kubernetes at the edge is everywhere and cheap. Garfield names Starbucks and Chick-fil-A stores, F-16s and container ships, and argues a two- or three-node cluster survives node failures. With GitOps, a disconnected cluster picks up its updates when it reconnects. He compares Kubernetes to snowboarding: painful on day one, then easier to master than the alternative. He warns that the power to bootstrap everything from git is also the power to destroy everything in one command, a topic for ArgoCon North America (12 November, Salt Lake City, $200 academic price).
GCastUsing the .NET SDK to Create and Manage .NET projects [GCast 181]
  • Typing the bare command shows whether the SDK is installed. Giard runs dotnet in a terminal: if it prints help options the SDK is present; if the command is not recognized, the installer is at dotnet.microsoft.com/download.
  • A new project takes its name from the folder unless overridden. dotnet new console in a folder called ConsoleTest1 scaffolded a one-line Hello World program as ConsoleTest1.csproj; adding --name (he used "GCast Console") produced a project with that name instead, otherwise identical.
  • Build, clean and run are separate commands; run builds implicitly. dotnet build compiles and dotnet run runs the project in the current folder, building first if it is unbuilt or changed since the last build. Giard says dotnet clean is for when leftover artifacts, such as an old NuGet package after references are added or removed, confuse the compiler; it makes the next build slower but clean.
  • Templates go beyond console apps, and C# is only the default. dotnet new mvc scaffolded a web app with models, views and controllers, which dotnet run served at localhost:5069 with a home and a privacy page; an edit to the home view showed on refresh. Adding a language argument set to F#, with --name, produced the same MVC project written in F#.
  • The CLI documents itself, with fuller reference online. dotnet help lists every command (he points to dotnet test, which runs a solution's automated tests), dotnet help test opens that command's switches and arguments, and a page on learn.microsoft.com covers all of the commands.
Polis PanditHow Trump Can Win in November
  • This post includes paid content that is not available publicly. See the original source.