Souk's Notes - Unofficial Summaries
Scott HanselmanExploring Decentralized Tech with TBD's Rizel Scarlett
synopsis
Rizel Scarlett, a staff developer advocate at TBD, a Block incubator, argues that decentralized identifiers and verifiable credentials can give the web the identity layer it lacks, without crypto. She says TBD is building the developer tools to make cross-border payments as easy as tapping a phone. The stack is not yet at 1.0, but she says some companies already use it.
The missing identity layer. Scarlett says online identities are fragmented across platforms and cannot move with their owners. A decentralized identifier would travel with the user, held in a phone wallet, and Bluesky already uses them. Hanselman counters that today's domain- and WebFinger-based schemes are too complicated for non-technical people. Scarlett says the wallet approach would hide that complexity.
Why payments. Block already made payments easy within a country through Cash App and Square. Abroad, Western Union-style transfers are slow and expensive. TBD's currency-agnostic exchange protocol, tbDEX, is meant to close that gap. Hanselman supports the case with his family's own costly remittances.
Not a blockchain. Pressed by Hanselman, a self-declared crypto sceptic, Scarlett says there is no coin and no blockchain. TBD moved from a Microsoft DID method anchored to a blockchain to its own did:dht, which runs on BitTorrent's distributed hash table.
How credentials work. An issuer signs a credential using ordinary public-key cryptography. The subject or a holder presents it, and the verifier checks it through selective disclosure, learning that someone is of age without learning their address. Retention depends on the wallet and the verifier.
Status. Packages are at about 0.41. The project's progress site shows 85% overall and 62% for decentralized web apps. FormFree's Passport already lets lenders compete for borrowers who disclose only what is needed.
- The web has no identity layer; decentralized identifiers would supply one. Scarlett, a staff developer advocate at TBD, a Block incubator, relays Angie Jones's framing: her own usernames on Twitter and GitHub are linked only because she made them, and her data cannot move with her. A decentralized identifier (DID, a W3C recommendation) would travel across the web, stored in a phone wallet much like a debit card, and users need not know it is there; she cites Bluesky as already using DIDs under the hood. Hanselman counters that even Bluesky's domain-based check and Mastodon's WebFinger demand a domain and a web server, which is beyond a non-technical parent.
- TBD's aim is cheap, easy cross-border payments. Scarlett says Block, owner of Cash App, Square and Tidal, wants to bring that ease to sending money between countries, where services like Western Union mean delays and high fees and many recipients have no bank. Its exchange protocol, tbDEX, is currency-agnostic. Hanselman adds his own family's experience: an international wire costs about $30, some relatives pay with phone minutes, and picking the wrong day to convert can lose them $50.
- This is not crypto: no coin and no blockchain. Scarlett says TBD at first used a Microsoft DID method anchored to a blockchain but has built its own, did:dht, which stores DID documents in a distributed hash table anchored on BitTorrent. Hanselman, who says he does not support crypto or web3, presses the point, and TBD's GitHub describes the network as "permissionless" and blockchain-free.
- Verifiable credentials disclose only what a verifier needs. An issuer such as a motor-vehicle department signs a credential with standard public and private keys; the subject holds it; a verifier, such as a bar checking age, sees only "of age" and not name or address. A holder can present it on the subject's behalf. Whether the verifier keeps the data depends on the wallet and its policy, though Scarlett says verifiers are not supposed to. Hanselman's test case is a laid-off friend locked out of a GitHub account whose recovery ran through a work email.
- The stack is unfinished, but some companies already use it. It is not yet at 1.0, and some TBD packages are at version 0.41. The project's "are we web5 yet" site shows 85% overall, with DIDs and verifiable credentials at 100% and decentralized web apps at 62%. Scarlett cites FormFree's Passport platform, where borrowers disclose only the necessary data and lenders compete for them, which she presents as reducing bias in loans. Hanselman calls the "Web5" branding "off" because web3 is burned; Scarlett, who was not part of the naming, likens the goal to OpenAI making AI usable by everyday developers.
Scott HanselmanInnovation in Accessibility with Fable's Kate Kalcevich
synopsis
Kalcevich, head of accessibility innovation at Fable, ends where she starts: accessibility is a continuing practice built with disabled people, measured by their experience rather than compliance checklists, and a source of innovation rather than a chore.
People over tools. She came to Fable as a government customer and argues that tools reduce workload but real users reveal which barriers matter most.
Who counts as disabled. Against Hanselman's one-in-eight figure she offers one in four in Ontario and one in two over 65, plus temporary and situational limits. Both describe invisible disabilities they hesitate to claim: his type 1 diabetes, her hearing loss.
Measuring it. A binary score is a "false narrative". The Accessible Usability Scale, a 10-question survey averaged over critical flows, gives a user-side number; staff training and processes need measuring too. Executives respond to market size and loyalty, and most of all to watching someone struggle.
Empathy and its limits. She cautions that simulation exercises without disabled participants can produce the wrong fixes. Users lean on their own accommodations, so native, flexible code serves them better than per-site features.
AI and innovation. Appointed to a Canadian standards committee on accessible and equitable AI, she points to hiring tools trained on past, biased selections. Co-design, she argues, yields new ideas, and gaming accessibility is advancing as companies talk about it publicly.
- Accessibility work should centre on disabled people, not tools. Kalcevich, head of accessibility innovation at Fable (a former Fable customer from two decades in government), says tools matter for the volume of large sites, but testing with assistive-technology users shows which of the many standards failures to fix first; she presents Fable Engage as the way to do this remotely.
- Disability is far more common than people admit. Hanselman cites about a billion people of 8 billion (one in eight); Kalcevich says it is closer to one in four in Ontario, and one in two over 65, though most seniors do not identify as disabled. She adds temporary disabilities (a broken arm) and situational limits such as glare on a phone screen.
- "Accessible or not" is a false binary; measure it instead. She argues no continually updated product is ever fully accessible, and a yes/no hides why and whether it is improving. Fable's Accessible Usability Scale is a free 10-question survey given after usability tests with assistive-tech users, averaged over critical task flows like checkout; she would also measure staff knowledge and processes.
- Empathy exercises can lead teams to do the wrong work. Hanselman recalls having engineers use screen readers with their laptop lids closed for a day; Kalcevich warns that daily assistive-tech users are far more skilled, so simulating disability without engaging disabled people can make a product less accessible. He says his exercise worked because it pushed engineers to work with blind engineers.
- Build flexibly, because users bring their own accommodations. She relies on Chrome's live captions and OS-wide font sizes rather than hunting for each site's options, and combines hearing aids, captions and lip reading; native HTML rather than custom components preserves that flexibility. She noticed Hanselman's podcast transcripts were hard to find.
Crosstalk SolutionsUDM-Pro-Max Gateway: What You Need to Know
- This gateway is built for large deployments, not homes. At an MSRP of $599 USD as of recording, it has about twice the capacity of the UDM Pro and UDM SE: 200 or more UniFi devices and 2,000 or more clients, by the host's account.
- Its onboard switch assumes you bring separate PoE switching. The 8-port gigabit switch has no PoE (unlike the UDM SE) and no Etherlighting. The WAN can be port 8, the new 2.5 GbE RJ45 port (up from gigabit) or either 10G SFP+ cage. In the host's reference design, two gateways uplink over 10G to a USW Aggregation feeding USW Pro Max 48 PoE switches, with a USP RPS on both.
- It is rated well above the UDM Pro with IDS/IPS on. It is rated for 10 Gbps wire speed with the firewall only and about 5 Gbps with intrusion detection and prevention, against 3.5 Gbps for the original UDM Pro with IDS/IPS. These are rated figures; the host did not report a throughput test.
- The drive bays only mirror, and failover does not sync footage. Two drives configure themselves as a RAID 1 mirror for UniFi Protect, with no RAID 0 option; the host's two 1 TB surveillance drives synced in about 2 hours. Under high availability, Protect footage is not copied to the secondary, so he advises a second drive set where recording must never lapse, otherwise moving the drives over by hand.
- Shadow Mode high availability brings automatic failover within seconds. Due in UniFi OS 4.0, it links two gateways directly, using port 7 as the heartbeat. Unplugging the primary on an alpha build cost a few dropped pings. Both units must be the same model, which Ubiquiti told him covers all rackmount Dream Machines; he tells installers to budget for two units.
Polis Pandit$The Young Men Crisis
- This post includes paid content that is not available publicly. See the original source.
Scott HanselmanDigital archaeology reading 40 year old C64 Floppy Disks with a Greaseweazle, Fluxengine, and Aaru
synopsis
Streaming live to YouTube and TikTok, Hanselman pulls games off 40-year-old Commodore 64 floppies found in a garage. He uses a Greaseweazle and FluxEngine, checks the images with Aaru and runs them in the VICE emulator. After several failed reads he gets a lunar lander, a chess program, Mario Bros and Donkey Kong running, and leaves the remaining discs, and why some images will not load, for later.
The problem and the tool. Old discs rot, pick up mildew and magnetic damage, and come in many densities, track counts and file systems. Copying through a real old machine needs a bridge such as an SD card. The Greaseweazle, open-source hardware and software, reads raw flux over USB-C and ignores file systems.
Setup. He uses a roughly $30 eBay Fujitsu 5.25-inch drive in a 3D-printed case, powered by a 12V Molex adapter, on an edge connector. The cable twist selects the drive. The device shows up as COM3.
First reads. The command line and its GUI, which writes the command for you, failed with "no index". FluxEngine reported an unrecognised command. The real fault was a loose 12V cable. He calls it a lesson in rechecking assumptions.
Verification. HxC flagged errors, which he suspects came from a file-system mismatch. Aaru confirmed the image. In VICE, Lander and a listable chess program ran.
Damaged discs. FluxEngine showed bad sectors, and Pac-Man and Donkey Kong hung. Re-reading at a different density helped. Mario Bros loaded slowly under true drive emulation, which can be turned off. Donkey Kong then ran, played with a numpad-as-joystick setting. He points viewers to the Internet Archive.
- Reading raw magnetic flux sidesteps old formats and file systems. Hanselman says discs vary by sides, density, 35 or 40 tracks, and FAT, Amiga or Commodore file systems; the Greaseweazle, open-source hardware bridging USB-C to floppy drives, captures the flux and leaves decoding to software such as FluxEngine and Aaru.
- A vintage drive needs its own power and cabling. His drive is a Fujitsu 5.25-inch IBM PC drive bought on eBay for about $30, in a 3D-printed case; it needs 12V from a Molex adapter because USB supplies only 5V, and the twist in the ribbon cable decides drive 0 or 1. The Greaseweazle appears in Windows as a USB serial port (COM3), not a drive, because COM ports are the easiest lowest common denominator to program to.
- Most failures were his own setup, so recheck assumptions.
gw inforeached the device, but reads returned "no index" and FluxEngine said the device did not recognise the command; the cause turned out to be the 12V cable he had bumped loose. - Check each image with separate tools and an emulator. The HxC floppy emulator reported errors, possibly from the wrong file system setting; Aaru (by Natalia Portillo) confirmed a raw image and its sector count; the VICE emulator then ran a lunar lander game and a chess program whose BASIC source he could list.
- Bad sectors call for re-reads with different settings. FluxEngine flagged bad spots, and Pac-Man and Donkey Kong at first would not load; after re-reading with another density setting, Mario Bros loaded slowly under true drive emulation and Donkey Kong eventually ran. He says the discs, found in a garage, date to about 1981–82.
Scott HanselmanHow to REALLY use Microsoft Word: Styles, Multilevel Lists, and Outline View
- Outline view needs styles, not manual formatting. The viewer's presentation outline used hand-set colours and sizes with no styles, so Word's outline view showed nothing; Hanselman selects each heading from the left margin and uses "create a style" in the Styles pane to make H1 through H5.
- Multilevel lists are what tie styles into levels. Under "Define multilevel list" (distinct from bulleted lists) each level is linked to a named style, whose name does not matter; then Tab and Shift+Tab move a paragraph between levels.
- The hidden link is a paragraph setting inside each style. Outline level lives under Modify Style > Format > Paragraph, which he calls the part no one figures out, along with an option to start collapsed; once each H style has its level, and ordinary text is left as body text, Outline view's Show Level collapses and expands the document.
- Levels must look consistent to work. Each level carries one fixed size, so a heading that should look different needs a different level; the viewer's mixed sizes forced choices, such as jumping from level one straight to level three.
Scott HanselmanFoundations of Design for Developers with Kathryn Grayson Nanz
synopsis
Nanz, a senior developer advocate at Progress who is studying for a master's in human-computer interaction, argues that developers should learn design foundations deeply enough to talk with designers and to iterate past "not bad". She does not think they need new tools or a career change.
Path and tools. She came to code to keep her designs from being handed off unfinished, and grew up on view-source-era MySpace and GeoCities. Asked about a Figma monoculture, she says that, as with React, people have found something that works. Devs should use what they already know.
The low bar. Doing one job is hard enough. Designers knowing CSS helps them, and devs need only learn the vocabulary, for instance that a Figma variable is not a JavaScript variable. Then the two can meet in the middle.
Foundations. Her free, roughly 200-page ebook starts with colour. Fine arts training resets students to fundamentals, because naming why something is off requires colour, balance and visual hierarchy.
Problem first. She endorses Hanselman's practice of giving designers feeling words, because design starts by naming the problem and the emotion. She adds that developer-written micro-copy is design too. Hanselman cites old, ambiguous error messages in Windows 11.
Homogeneity. Templates make the web look alike but functional. Hanselman likens it to ChatGPT's "B-minus" output. She urges iterating as one refactors.
Psychology and patterns. Gestalt principles and cards persist because they work and they follow trends. Breaking users' mental models costs them, as Hanselman's tax-form dropdown showed. Delight is not always the goal.
- Developers need only enough design to communicate and not be bad. Nanz, a senior developer advocate at Progress with a fine arts degree, says few ask "should developers design?" though many ask whether designers should code; she would have devs design with the tools they know, CSS in the browser or pen and paper, rather than learn Figma, and says designers who know CSS and semantic HTML work "two steps ahead".
- Foundations like colour and hierarchy explain why something looks off. Her free, roughly 200-page ebook Foundations of Design for Developers (Progress) opens with colour, not components, mirroring how a fine arts course restarts students on perspective and value; being able to say why is what lets you catch a design that feels unprofessional.
- Design starts by defining the problem and the feeling. Hanselman describes giving designers feeling words ("this isn't energizing") instead of solutions; Nanz agrees, saying colours cannot be chosen intentionally until the emotion and goal are known. She adds that developers write more copy than they think, in error messages, button labels and tooltips, often at the moment a user most needs help.
- Same-looking websites come from templates, and iteration is the fix. She attributes the homogeneous web to Squarespace- and WordPress-style templates, which she does not criticise, and denies Figma is a monoculture; to Hanselman's "80% fine" she answers that design is iterative like refactoring, 60% to 70% and onward.
- Gestalt principles are shorthands, but users' mental models constrain them. Proximity, grouping and cards work because of how people parse visuals; she says designers must be distinctive without breaking expected patterns, which Hanselman illustrates with a tax site's custom dropdown that ignored typing. She cautions that ease and speed sometimes matter more than delight, as with tax software and Duolingo's animations.
Polis Pandit$Assessing the Iran and Israel Conflict and Where It Might Lead
- This post includes paid content that is not available publicly. See the original source.
Crosstalk SolutionsCerro Gordo's Wi-Fi: Network Design for a Ghost Town
- The existing network hangs on a solar-powered router up the hill. Internet from an ISP in Lone Pine reaches a solar receiving station: a 100 W panel and two batteries powering a MikroTik router, a NanoBeam AC Gen 2 and a 120° LiteAP AC point-to-multipoint radio that feeds the Hoist House and the Gordon House. Coverage was spotty, metal-sided buildings got none, and the ISP's own solar antenna loses power under snow, according to the owner, Brent Underwood.
- The design moves the network core off solar power. A NanoBeam AC Gen 2 there feeds WAN 1 of a Dream Machine SE in a locked 4U enclosure with a 1U UPS. The SE adds dual WAN, so Starlink can serve as primary or backup (too power-hungry for the hilltop solar), plus Protect cameras against theft. The host accepts the double NAT this creates as a trade for getting the core off solar power.
- Every building gets the same simple, sparable kit. A Rocket Prism AC with a 10 dBi omni on the General Store feeds NanoStation AC or NanoBeam AC Gen 2 stations at each building, with U6+ access points behind wood covers inside. The host keeps the Gordon House's NanoStation AC and UAP-AC-M, which runs off its 24 V passive PoE port, and replaces the bunkhouse's mesh-fed UAP-AC-LR. The metal-sided church gets its own station.
- The Hoist House needs its own link, not VLAN trickery. It has no line of sight to town, and routing it through the hilltop solar station would be too hard to troubleshoot at a site this remote. The host proposes a point-to-point link from the bunkhouse, possibly from a pole or the outhouse about 30 ft uphill, reusing the Hoist House's NanoBeam. Contacts on site are still checking the line of sight.
- The favoured mine design skips levels rather than run power down. In Dave's preferred option, a USW Pro 8 PoE at the Hoist House powers Switch Ultras and UK-Ultra access points at the 100–200 ft levels over PoE++. The 400 and 550 ft levels are skipped, and a Game Changer extended-reach Cat6 run carries data to 700 ft. There the pump's AC power runs a switch, an AP and a camera on the pump, with a single Cat6 drop to 900 ft.
Scott HanselmanGithub Advanced Security with Jacob DePriest
synopsis
DePriest, GitHub's deputy chief security officer, argues for getting the basics right and then using GitHub's scanning. Account security comes first. Then come the Advanced Security tools, which GitHub offers largely free on public repos as part of its responsibility to open source, with AI layered over them. AI-written code, he says, still needs the same checks.
Background. At the NSA he led an 18-month effort to open-source a million lines of code. He co-founded DevX there, an internal developer platform for an agency of more than 40,000 people. He says many organisations still have fragmented Git servers "under people's desks".
Basics. Hanselman asks whether a small shop needs supply-chain thinking. DePriest says yes, but only after 2FA and locked-down storage. GitHub made 2FA mandatory for contributors over roughly 18 months. It stopped short of hardware keys for equity reasons. He sees passkeys as progress.
The three tools. Code scanning on CodeQL now suggests AI fixes. Dependabot covers dependencies, and Hanselman calls it "an employee that makes pull requests while you sleep". Secret scanning with push protection blocks credentials before they enter Git. He says remediation after a leak is expensive, and vaults are better than repo secrets. Hanselman cites a nation-state actor using stolen tokens at Microsoft, where he works.
Scale. A counter-abuse team fights mining and spam across 100 million developers. CodeQL models evolve per language. Hanselman corrects himself: Rust is unsupported, and Kotlin and Swift are in beta. DePriest ties sustainability to leadership's commitment.
Copilot. Tuned models and Microsoft-partnered filters screen out insecure suggestions. He calls this early days and says it is "a co-pilot". Hanselman wants explanations rather than magic, and both see refining a query as a skill to teach.
- Secure the account first: "don't ever skip leg day". DePriest, GitHub's deputy chief security officer after 15 years at the NSA, names two-factor authentication and no internet-open storage accounts as the core; GitHub spent about 18 months making 2FA mandatory for active contributors because too many incidents start with password spraying or leaked credentials. It does not require YubiKeys or passkeys, citing users without phones or modern hardware, though he favours passkeys.
- GitHub Advanced Security bundles three scanners, now with AI. He describes code scanning on CodeQL with AI autofix suggestions in the pull request (described as "just recently announced"), Dependabot and dependency scanning for supply chain, and secret scanning that AI extends beyond high-confidence tokens to usernames/passwords and SSH or RSA keys; he says most of it is free on public repos, which Hanselman urges listeners to turn on.
- Block secrets before they land, because pushed secrets must be rotated. Push protection sits between the editor and GitHub, inspects incoming pushes for credentials and blocks them, with overrides and enterprise-tunable responses; he says GitHub used it to clear and keep secrets out of its own codebase. Secrets are better fetched on demand from enterprise vaults via APIs, or at minimum stored in GitHub's secrets feature.
- Free compute draws abuse and raises sustainability questions. With 100 million developers, a counter-abuse team uses machine-learning pipelines and auto-detection against spam, crypto mining and ToS-violating binaries; on whether free scanning lasts, he says leadership values the community, though GPU-bound AI features are harder. CodeQL keeps up via per-language models, GitHub's own vulnerability researchers and AI-assisted modeling; compiled languages still often need build integration.
- Copilot is filtered for insecure code but still needs checking. He says its models are tuned for software development and filtered, with Microsoft, for security issues such as SQL injection and for toxicity, calling it early days; developers should still run security scanning and tests. Its context comes from open files and Copilot Chat, and he credits it with fixing an unfamiliar Jupyter notebook in about five minutes.
Polis Pandit$10 Stocks With Great Artificial Intelligence Exposure
- This post includes paid content that is not available publicly. See the original source.
Mr. GlobalJon Stewart and Donald Trump #trump
- Trump's fraud liability came from false statements, not high valuations. Answering a viewer about the Jon Stewart comparison, he says Stewart merely sold a house. Trump's problem was lying to reach his valuations: claiming an apartment was 30,000 square feet when it was 10,000, and omitting a conservation deed restriction on Mar-a-Lago. Truthful statements reaching the same values, he says, would likely have been fine.
Mr. GlobalThe Brain Is Weird
- For a whole generation, birth dates sum to their ages. He noticed a viewer turning 57 on 3/30/24, where 3 + 30 + 24 = 57, and worked out that a roughly 30-year age band, about 28 to 58 in 2024, shares the pattern. He says it holds for them for the rest of the century and resets in 2100.
Crosstalk SolutionsUniFi Protect Hidden Feature! #shorts #unifi #surveillance
- A zoomed-in UniFi Protect live view pans as you tilt the phone. In landscape, after zooming into any camera's live view, turning the phone left, right, up or down shows more of that side of the image. In portrait mode, sliding down enlarges the image and allows the same left-right movement. The host says he learned of it only the day before recording.
GCastUsing Azure AI Document Intelligence Studio Custom Extraction Model [GCast 176]
- A custom extraction model reads fields from same-format documents. Giard says Document Intelligence Studio, at documentintelligence.ai.azure.com, is the rebranded Forms Recognizer with new features added. It offers prebuilt models for invoices, receipts, health insurance cards and tax forms. He uses a custom extraction model instead, for a set of five PDF invoices that share one layout but carry different text. He says it also accepts JPEGs, Office documents and images.
- Creating a project provisions the service and its storage. You don't have to set anything up in the Azure portal first. The project wizard asks for a subscription and resource group, a service name, a region (he picks East US) and a pricing tier. He says the free tier limits calls per minute and document size, and calls standard "pretty cheap" for a small sample. The API version defaults to the most recent. The wizard then creates an Azure storage account (he takes the cheapest tier) and a blob container for the documents. He expected about 60 seconds and says it took about a minute and a half.
- Label one document by hand, skipping auto-label. After the upload he picks "run layout", which skips auto-labelling, because auto-label needs an existing model that matches the form. He clicks words to highlight a span, then names it as a field. The type options are field (static text), selection mark (a true/false checkbox) or signature (handwriting). A table icon detected the column names on its own. He makes the table dynamic rather than fixed so it can handle invoices with more than one row. He labels only one of the five documents.
- Neural training fits this case; template suits handwriting. Giard says the template option needs more than one labelled document, takes longer and is better for handwritten notes. He trains a neural model on the single labelled invoice and says labelling more documents would probably raise accuracy. Training on five documents took about 15–17 minutes.
- The test pulled the right fields, with uneven confidence. On a test document the model found the invoice number and date correctly, with about 96.8% confidence on the vendor address and 98% on the customer address. Other fields came in as low as 36% and 29.5%. Giard says real use would call the model from an application through its API. The studio shows the endpoint, API version, service resource and container, and he says he will cover the API calls in a future video.
Mr. GlobalTrumps Bond
- He sees Trump's bond as a trap with no clean exit. Reporting that Trump's bond was rejected for lacking a financial statement, he asks attorneys whether drastically lowering the figures could be read as an admission of guilt on appeal, or whether resubmitting the old figures would be fresh fraud. He says plainly he is not a lawyer and offers no answer.