Souk's Notes - Unofficial Summaries
Scott HanselmanThe next supercomputer with NVIDIA's Wen-Mei Hwu
synopsis
Hwu, a senior director of research at Nvidia, argues that with Dennard scaling gone and Moore's law near its end, progress now comes from systems (networking, cooling, smarter runtimes) and from a new kind of processor for retrieving data. He ends on a pocket device holding a lifetime's memory, and says he will retire when he holds one.
Scaling and its lesson. Dennard scaling let code speed up untouched for about 15 years until the early 2000s. He gives Moore's law "at least another two generations". His Berkeley group's 1980s parallelism work reached Intel's P6 by 1993, which taught him to aim research ten years out.
Where the next gains are. He expects optical networking, now more than 10 times the cost of copper, plus new synchronisation primitives and cooling. On software, Python's interpreter lock and isolated framework API calls waste parallelism, and he expects call fusion at runtime within a decade.
A data unit and the pocket device. He predicts a latency-tolerant unit that fetches small pieces from petabytes in real time to feed models. Hanselman frames this as a friend whispering names in his ear. Hwu says it could fit on a desktop or handheld within a decade.
Blue Waters. An NSF panel called his 2011 GPU supercomputer proposal "probably irresponsible" for lacking math libraries. He argues that value brought the ecosystem, and he describes Delta as giving academics access to GPUs.
- With scaling ending, gains must come from whole systems. Hwu, a senior director of research at Nvidia who taught at Illinois for 34 years, says Dennard scaling (lower voltage and power and faster switching as transistors shrink) mattered more than Moore's law: for about 15 years code got faster untouched. Dennard scaling ended in the early 2000s, and he sees "at least another two generations" of Moore's law. He expects the next advances in networking, moving from electrical to optical links that cost more than 10 times their copper equivalents, in primitives for synchronising huge numbers of machines, and in cooling, where data centres are "at the cooling limit".
- Research has to target the technology of ten years out. In the 1980s his Berkeley group under Yale Patt bet that abundant fast transistors could find parallelism no processor then detected. Intel's P6 (Pentium Pro), designed by 1993, embodied those mechanisms, and he draws the lesson that ideas take five to ten years to reach hardware.
- Python frameworks throw away parallelism that lower layers must recover. He cites the Python interpreter lock, and GPU work launched from Python frameworks such as Torch as separate, isolated API calls. He expects runtime techniques such as fusing those calls on the fly, long researched, to be deployed "in the next decade or so" because other optimisations are running out.
- He predicts a new processor unit built for retrieving data. People buy processors "reluctantly" to run applications, and he argues deep-learning models bypassed going straight to the data. His proposed unit would tolerate latency and pull, for example, one kilobyte out of four petabytes in real time to feed models. If the industry "does the right things", he expects within a decade a pocket device holding a person's lifetime of memory, and says he will retire when he has one.
- Enough value makes a missing software ecosystem appear. In 2011 an NSF review panel called his GPU-based Blue Waters supercomputer proposal "risky to say the least and probably irresponsible" for lacking math libraries; he answered that GPUs were "a small puppy with big paws". Thirteen years later those libraries exist. He describes the follow-on Delta project as filling a shortage of GPUs for academic researchers, not as pushing the frontier.
GCastUsing M365 Copilot with Excel [GCast 184]
- Copilot in Excel requires AutoSave and the Copilot service. AutoSave means the workbook has to be stored in OneDrive. With both in place, a Copilot button appears on the Home ribbon and opens a pane that takes plain-English questions and instructions as a second way of working the sheet, alongside formulas.
- Copilot turns a plain-English rule into conditional formatting. Giard asks it to highlight each player's name where dribbles per 90 minutes beat either interceptions or tackles per 90. Copilot first says what it will do and applies it only when he clicks Apply. The formula it wrote is visible under the conditional formatting rules. Giard says he could have built it himself, but it saved him the trouble and is a head start if he wants to change it.
- Advanced analysis writes the Python for you. "Start advanced analysis" adds a new worksheet holding a data frame that previews the data it will work on. Asked for each region's monthly total value as a line chart, it produced one covering January 2022 to the end of 2023, about 24 months, with east and west regions. The generated Python code is shown and can be edited and rerun, which Giard calls a good starting point.
- Follow-up prompts add a forecast and restyle the chart. Asked to forecast each region's total value for the first six months of 2024 on the same chart, Copilot drew the forecast as a dashed line without being told to, but in a different colour from the historical line. A further prompt (label the forecast explicitly, use the same colour for actual and forecast, and make forecast lines dashed and four times as thick) regenerated the chart as asked.
Technology and FriendsJerry Nixon on Data API Builder [EPISODE 828]
synopsis
Nixon, who runs advocacy for Data API Builder on Microsoft's SQL Server team, argues it removes the hand-built CRUD layer from applications entirely: a JSON config plus a stock container gives a secure REST and GraphQL API over any of four databases, free and open source, leaving developers to write only business logic.
The problem. Nixon says the client-to-database API is repetitive copied code, with repositories, endpoints, tests and pipeline changes, amounting to almost a third of an application. Giard calls it plumbing: important but mundane.
How it runs. There is no code generation. A JSON file describing SQL Server, Postgres, Cosmos DB or MySQL goes to a standard container that can run on Kubernetes, Azure Container Apps or Instances, or behind Static Web Apps. Callers in any language use HTTP and JSON. Nixon says regulated customers that bar direct database access use it, sometimes without a development team.
The config. It covers the connection (passwords, managed identities, environment variables), REST at /api and GraphQL side by side, and telemetry to Application Insights. It also maps entities to tables, views, procedures or documents, including cross-source queries and declared relationships. Per-entity roles and policies, such as matching an owner ID to a claim, control access. A CLI (dab init, dab add) builds the file, and a UI configurator is planned for next year.
Limits and cost. DAB does not touch Entity Framework or replace business APIs. Nixon says it is free, open source, needs nothing from Microsoft and runs on-prem. Community sign-ups at aka.ms/dab fed the next semester's priorities.
- Most data API code is copied CRUD that a tool should provide. Nixon, a Microsoft product manager on the SQL Server team under Azure Data who is in charge of Data API Builder, says the layer between client and database is mostly create/read/update/delete repositories, endpoints, unit tests and CI/CD steps copied from project to project, "almost a third of the code" in an application. Data API Builder (DAB) drops that data API on top of the database instead; he jokes it should be "CRUDE", with execute for stored procedures.
- It is zero code: a JSON file handed to a stock container. The file describes the database, which can be SQL Server, Postgres, Cosmos DB or MySQL, in Azure, AWS or on-prem. The container is a standard Microsoft one that runs on Kubernetes, Azure Container Apps, Azure Container Instances, or inside Static Web Apps, which hides the container for the many users who cannot run one. Clients in any language just call it over HTTP and get JSON back. Nixon says large customers whose policies now forbid talking to the database directly use it, sometimes with a citizen developer and no development team. The config can be built with a .NET CLI tool (
dab init,dab add) rather than by hand-editing JSON, and a drag-and-drop configurator is planned for "hopefully sometime next year". - REST and GraphQL can be served at once from one config. Nixon says this meets REST shops trying out GraphQL as well as GraphQL shops with one REST operation. He argues GraphQL saves mobile bandwidth with one nested query, such as an invoice, its line items and product photos, and can insert an invoice and its lines as one transaction with no custom endpoint. Entities can point at tables, views, stored procedures or NoSQL documents. A Cosmos DB and a SQL Server source can be queried together into one payload, and relationships can be declared even where the database has none ("we can make a crappy database look awesome").
- Security is set per entity in the config, not by the DBA. Each entity lists roles and their allowed actions; his example lets anonymous users create and read but not delete. Policies such as owner ID equalling the caller's user-ID claim restrict users to their own rows. Connections can use passwords, system- or user-assigned managed identities, or secrets read from environment variables, and telemetry goes to Application Insights, with more log sinks planned.
- DAB replaces only the CRUD, and it is free and open source. Nixon says business operations ("launch the missile") still need their own API, possibly still on Entity Framework, which DAB neither uses nor replaces. It has no Microsoft prerequisite and runs fully on-prem for some customers. The repository is at aka.ms/dab, where community sign-ups shaped the team's priorities for the coming six-month planning "semester".
Crosstalk SolutionsWant ROCK SOLID Internet? Watch This Peplink MAX BR2 Review Now
- The MAX BR2 can run two 5G carriers at once. The host describes the Peplink MAX BR2 as a professional-grade cellular router with two onboard 5G modems, plus two wired WAN ports, all manageable together through load balancing, failover or Peplink's SpeedFusion bonding.
- It is built for vehicle mounting, as a mobile network in a box. The host points to a metal case with built-in mounting brackets and a 10–30 V DC terminal block with ignition sense, and suggests emergency vehicles, police cars, ambulances or broadcast vans as uses. Crosstalk says it is a Peplink partner and offers sales and support.
Polis Pandit$Donald Trump Did Some Good, But the Bad Far Outweighs It
- This post includes paid content that is not available publicly. See the original source.
Crosstalk SolutionsDon't Waste Money on Marketing BS! #Wifi6 #Wifi7 #HomeNetworking #SmartHomeTech
- Most users will notice no difference between $100 and $500 mesh. At Costco the host found Deco mesh systems at about $100 for Wi-Fi 6, $249.99 for Wi-Fi 6E and about $500 for Wi-Fi 7, and says the vast majority of users would see no difference whatsoever between the cheapest and the dearest.
Scott HanselmanLife as an Indie Developer with Joseph Finney
synopsis
Finney, a Microsoft MVP who builds apps on the side while working a full-time job, believes software can become his living if he guards his time and energy. He spends both on the problems he wants to solve, not on support churn or build pipelines, and accepts that his work is good enough rather than polished.
How he started. He spent ten years as a mechanical engineer and was the office "Excel wizard". He outgrew Excel building a vacation lottery that weighed seniority against request timing. After a Windows Phone app came Ink Calendar, and over about seven years a set of apps, each starting from a problem he had himself.
Working alone. Hiring would cost months, so he does everything himself. He prioritises bugs that lose data, and tells users plainly that it is just him. Developer users report bugs on GitHub and revise their ratings. Consumer users leave one-star reviews for Store failures, and he argues the star system offers no way to talk to them.
Energy and burnout. He frames indie work as energy. Keeping several apps lets him switch to whichever one excites him, and non-tech friends and hobbies help. Hanselman offers Spoon Theory as the same idea. Finney says seeing results, such as a kind review of Simple QR Code Maker, restores energy.
Tooling. Expo's paid build service submits his React Native app to both stores in one command. Windows packaging fails partway through, and the MS Store CLI has not worked for him. He prefers C# and XAML, uses WPF where other frameworks would fight him, and finds React Native pleasant but "not for me".
PowerToys. Giving Text Extractor to PowerToys brought him exposure, his MVP award and contacts, but no money. The team later built the feature into Snipping Tool.
- Staying a one-person shop trades polish for time. Finney, a Microsoft MVP and former mechanical engineer of 10 years who builds apps beside a full-time job, says time is his scarcest resource and finding the right hire could take months with nothing shipped. He accepts that design and architecture "suffer a little" as long as the result is good enough, and he picks whichever framework avoids fighting each app's one hard step.
- Data-loss bugs are the ones he will not tolerate. He reasons that large companies ship bugs too, so the fear he prioritises is Ink Calendar users losing their journals. In app messages and review replies he writes "I" rather than "the team" so users know it is just him.
- App store reviews give users no channel for dialogue. Text Grab users file GitHub issues with line numbers. Ink Calendar, found through the store, draws one-star reviews about Store download and update failures that have nothing to do with the app. Hanselman suggests developers review more kindly than consumers, and Finney agrees.
- Store packaging, not coding, is what eats an indie's time. For his React Native app he pays for Expo's hosted service, where "EAS build all" builds, signs and submits to both stores and generates icons. On Windows the toolchain fails midway or at certification, and the MS Store CLI has not worked for him. He defends the stores' cut (70 cents on a dollar) as covering hosting and distribution he could not run himself.
- Giving Text Extractor to PowerToys paid in exposure, not money. He contributed it when a GitHub issue proposed the feature, keeping a narrower scope while Text Grab stayed his more flexible app. Users still come to Text Grab from it, it led to his MVP award, and the team later built that functionality into Snipping Tool, which he calls "inevitable".
GCastUsing Copilot for M365 with Microsoft OneDrive [GCast 183]
- Copilot in OneDrive summarizes selected files without opening them. In OneDrive on the web, Giard selects one or more files under My Files and chooses Summarize from the Copilot menu, which returns a summary of each file after a few seconds. He shows that follow-up questions can then ask for more detail or about something specific in the files.
- A Compare option builds a side-by-side table across up to five files. Again without opening them, Copilot lays out differences as a table. In his demo of a Word document and a PowerPoint deck it gave the title, creator, purpose, target audience, methodology and expected outcome, and it took follow-up questions.
- Files that share a format give a more useful comparison. Giard says the Word-and-PowerPoint pair worked only because the topic matched. Three of his old status reports from 2015, all with the same sections (past two weeks, next two weeks, upcoming, issues), came back as a table set out by those sections. He calls it a "very simple interface" for analyzing and comparing files quickly, which he says works because Copilot integrates directly with OneDrive.
Mr. GlobalGavin Newsome Doing Gavin Newsome Stuff
- Newsom is attacking high gas prices his own legislation caused. He mocks the special legislative session and Newsom's claim that oil companies charge Californians more, contrasting about $2.50 gas in Oklahoma with about $5 in California.
- Newsom's refinery storage mandate would take a decade to build. California uses over 900,000 barrels of gasoline a day. Catherine Boyd of the Western States Petroleum Association put each tank at $35 million, with land, environmental studies and permits taking about 10 years, by which time Newsom says gas cars will be gone.
Mr. GlobalWhy Utility Bills Are Rising
- Utilities raise rates to fund capital spending, not fuel costs. His example is Alliant Energy in Iowa, serving about half a million people, which seeks higher natural gas rates despite near two-year historic-low gas prices. It earned $700 million last year, about $1,400 per customer, raised dividends 21 straight years, and wants grid, line-burial and renewables costs covered.
- Taxpayers already subsidize the same buildout. He cites federal data as of 2022, before the full effect of the Inflation Reduction Act, showing renewables get over seven times oil and gas subsidies. The second-largest energy subsidy is end-use help with utility bills. He expects bills to keep rising.
Technology and FriendsAL Rodriguez on Managed Identities [EPISODE 827]
- Managed identities hand secret management to Azure, shrinking leak risk. Rodriguez, who works at Microsoft supporting enterprise Azure customers, says you set the permissions and Azure creates and rotates the tokens underneath. A connection string or access token can always leak by human error, and the question is the blast radius and the work to clean it up. He notes that GitHub has become better at blocking token uploads. Giard adds that his employer scans his repos and emails him about checked-in secrets, and that Teams blocks messages containing connection strings, which Rodriguez says can be tricked.
- Service principals, the mechanism underneath, are what make this painful by hand. Rodriguez compares them to on-prem service accounts. Their client secret expires after a maximum he is unsure of ("something like six months, nine months"), and he says Azure gives no reminder, so the first warning is users complaining. He says he relearned how to create one three or four times because he used them so rarely.
- The managed identity only covers Azure-to-Azure calls. For on-prem, AWS or Google resources you are back to managing secrets. His approach is to keep those in Azure Key Vault and read them with a managed identity. He warns against apps holding the Key Vault's own password, since that one leak exposes everything in the vault.
- Code passes a credential object instead of a connection string. In C# you construct
DefaultAzureCredentialand pass it to the service client. It walks a list of credential sources, and he recommends disabling the unused ones for performance. Alternatively,ChainedTokenCredentialstarts empty and you add only the sources you use. Giard calls the chained form more secure; Rodriguez says only that it fits zero trust better. Locally, it picks up the developer's Azure CLI, PowerShell or Visual Studio sign-in, so the developer personally needs the same permissions the deployed app's identity has. - The up-front learning makes development easier afterwards. Rodriguez says each developer can stand up their own environment and grant themselves access, so nobody asks in team chat for an updated connection string and nobody is tempted to commit one. He blames Microsoft for early Azure samples that used connection strings. He says learn.microsoft.com documentation now defaults to the managed-identity version of the code, though not everywhere yet.
Polis Pandit$When It’s Illegal to Stream AI Music
- This post includes paid content that is not available publicly. See the original source.
Scott HanselmanSnapdragon is the future with Qualcomm's Leendert van Doorn
synopsis
Van Doorn, a Qualcomm senior vice president who previously worked at Microsoft's Azure core team and AMD, argues that Arm PCs now deliver what PCs always promised. He credits a cleaner instruction set and dedicated accelerators. He wants developers to measure chips on battery, video and AI performance rather than on instruction set, and expects AI to run on-device first, with the cloud as a fallback.
Arm plus accelerators. Hanselman compares the shift to the 386 math co-processor. Van Doorn cites battery life of 19 hours on the Dell XPS and 26 on HP. Recall on the NPU costs about 30 minutes of battery, against 6 hours or more on a GPU. Dropping x86's legacy explains the "snappier" feel Hanselman describes.
Developer first. He joined two years ago to work on software strategy and wrote an "open manifesto". A cautious IP and cell-phone culture had to change, legal and licensing included, to serve developers at scale. Qualcomm open-sourced Linux enablement for X Elite and worked with Linaro and Microsoft on LLVM for Windows. Microsoft's Arm64EC lets Arm binaries call emulated x64 code. He notes the 64-bit transition took about ten years.
Not a phone chip. The PC part shares building blocks with phone parts but scales memory channels and NPU processing elements. He says it is too big and costly for a phone.
CPU, GPU, NPU. NPUs compute in integers and require quantised models. They are the most efficient of the three and the hardest to bring up, so time-pressed teams start on the CPU. He says Llama 7B runs on the NPU.
Local AI. He gives privacy, latency and power as reasons to run locally. Devices handle 7 billion parameters but not 80 billion, so he expects hybrid routing. Many small models under an orchestrator could reshape client hardware.
- Battery life comes from an efficient Arm ISA plus dedicated accelerators. Van Doorn, a Qualcomm senior vice president, cites 19 hours for the Dell XPS and 26 hours for HP on Snapdragon X Elite. Running Recall on the NPU costs about 30 minutes of battery against 6 hours or more on a GPU. He credits Arm's later start with shedding x86's 40-year legacy, which he notes is also x86's strength.
- Qualcomm had to unlearn an IP company's caution to court developers. He says he joined two years ago and wrote an internal "open manifesto": a cell-phone business with a handful of customers does not scale to the thousands of developers in PC, XR, IoT and auto, so they need "no touch or low touch" enablement without licence terms. Legal and licensing had to change too. Engineers enabled Linux on X Elite outside the product plan and open-sourced it, and Qualcomm worked with Linaro and Microsoft on LLVM for Windows.
- The PC part is not a phone chip. It shares building blocks such as CPU cores with phone parts, but memory channels, accelerator counts and the NPU's processing elements are scaled per target. He says the PC chip is too big and too expensive for a phone.
- NPUs win on power but cost the most developer effort. NPUs compute in integers, which need far fewer transistors than GPU floating point, but models trained in floating point must be quantised, which he calls tricky and slow. Efficiency runs NPU over GPU over CPU, and ease of bring-up runs the other way, so teams pressed for time to market start on the CPU. He reports Llama 7B and a 1 to 1.5 billion parameter speech-to-text model running on the NPU.
- Local AI will run hybrid: on-device first, cloud as fallback. He gives privacy, response time and power as reasons, since cloud GPUs are expensive and power-hungry. Models of 7 billion parameters run fine on device, while 80 billion is "more tricky". He says the architecture could shift again if one large model gives way to many small ones under an orchestrator, and warns that hallucinations mean users still need expertise.
Technology and FriendsBarry Stahl on the Fediverse [EPISODE 826]
synopsis
Stahl argues that developers should move their publishing onto the fediverse, their own domain first and other platforms second. He holds that its open, federated design could protect democracy, but warns it probably won't unless technologists overcome inertia and contribute to it.
The open web. Stahl objects to the web being controlled by anyone other than its users, X/Twitter being his main example. Asked by Giard about moderation and free speech, he says Mastodon puts moderation at the instance level. Each server states its policy, and users can leave with their content and followers.
POSSE and ActivityPub. He recommends publishing on your own site and syndicating elsewhere: start on any instance, then host one on your own domain, for example in an Azure container using MSDN credit. ActivityPub, a W3C spec, describes any actor-activity-object event. Mastodon, Pixelfed and WriteFreely interoperate through it. His blog's GitHub Actions pipeline could push posts to Mastodon, or the blog could have its own account. He floats business streams and an intent-radiating bot.
Why it could save democracy. Stahl says engagement-driven platforms reward outrage, whereas fediverse timelines are chronological and have no owner. No government can silence it either: an instance banned on Afghanistan's .af domain can move.
Why it probably won't. Inertia keeps followings on Twitter, though events like Brazil's ban push people across. The software is mostly hobby work with no money behind it. Stahl ends by asking developers to build clients, contribute code, documentation, moderation or funds, and study governance data.
- Developers should keep the web controlled by its users, not corporations. Stahl says the issue is not corporate control as such but control by someone other than us; on Mastodon, open-source W3C-based software anyone can host, each instance states its own moderation policy, and a user who dislikes it can move all their content and social graph to another instance or their own. He urges POSSE (publish on your own site, syndicate elsewhere), suggesting self-hosting Mastodon from ready-made container instances on Azure under your own domain, so every piece of content has a canonical URL; Giard adds that the $150 monthly Azure credit in an MSDN subscription would cover it.
- ActivityPub can describe any stream of activities, not just social posts. Stahl describes ActivityPub, a W3C spec he puts at version 2.0, as actor–activity–entity messages ("David posted a photo", "Barry liked it") that are easy to extend, with ActivityStreams, in his account, defining the APIs; a Mastodon instance is an implementation of those APIs plus a data store. He floats, without being sure it makes sense, publishing his car company's field advocates' activities (such as fuelling a vehicle) in that format and showing them on a big board through a Mastodon client.
- Fediverse apps interoperate, so cross-posting to every service becomes unnecessary. Mastodon (microblogging), PixelFed (photos) and WriteFreely (blogs) speak the same protocol, so a Mastodon user can follow a WriteFreely blog directly. Stahl says his static GitHub Pages blog could post to his Mastodon account as a GitHub Actions step, or have its own presence (Cognitive Inheritance) that his account follows and boosts; Giard, who copies and pastes each post to Mastodon, Facebook and LinkedIn by hand, summarizes this as push and pull models.
- The Fediverse could save democracy because nothing rewards outrage. Stahl argues engagement-driven corporate platforms profit from anger and push users to extremes and misinformation, while Fediverse feeds are chronological, with no algorithm, no universal policy and no single owner who can boost or silence voices. Governments cannot remove it either: a group whose instance sat on Afghanistan's .af domain was banned by the Taliban, who control the DNS, but could move the instance elsewhere, which he says suits organizing direct action.
- It probably won't, through inertia and missing money, unless technologists act. Stahl calls this a warning rather than a prediction: network effects favour incumbents, and though each upset (Brazil blocking Twitter after its owner refused to appoint a legal representative there) brings an influx, he has an order of magnitude more contacts on Twitter, Facebook and LinkedIn than on Mastodon, and the software is largely a hobby with no financial incentive. He asks listeners to contribute code, reviews, documentation, moderation or money, to build on the open APIs as developers did on Twitter's before it closed (his own idea is an activity-stream bot to "radiate intent" to coworkers privately), and points to a governance report, published "last month", backed by the Digital Infrastructure Insights Fund, that studied which Fediverse governance policies work.
Polis Pandit$Tim Pool Is Not a Victim
- This post includes paid content that is not available publicly. See the original source.
Scott HanselmanAI Storytelling with Michael Washington
synopsis
Washington, a .NET programmer and author of books on AI, calls himself both an enthusiast and a skeptic. He holds that AI is useful only as a co-pilot to a human who has desires and creativity, and he built AI Story Builders to prove it. Tightly grounded, it writes fiction one paragraph at a time, never a whole book. He sees every copilot as iterative by design.
AI has no desires. He says AI is good for certain things "but actually not good for most things". LLMs feel alive because they work in language, the medium people think in. Hanselman adds that a one-word-answer prompt makes output sound deep, and he objects to giving assistants gendered names. Washington replies that the human-sounding voice "ship has sailed". He offers his one-year-old grand-niece's wants as the real difference between a person and the model.
Why build a writing tool. He wanted a real use case and help getting back into fiction, where he spends too long rereading his notes after each break. Whole-book generation gets an F from him, against Hanselman's B-minus.
Grounding. His prompts carry who a character is, their age at that moment, the setting and the weather, so "little Timmy" doesn't drive a car. The app adds characters it finds in his writing to its database, but a human still builds that database. He reports about 1,200 words in 15 minutes.
Context and fine-tuning. Wider context is not better: feeding in two books to get a third yields "horrible" quality. In what he calls his own opinion, fine-tuning should shape style and RAG should supply facts. The app exports a fine-tuning file after about three chapters.
Storage. He keeps embeddings in text files, zipped into browser local storage on the web, with the same code as the Windows store app.
- AI serves human desires and cannot supply them. Washington, a .NET programmer, Microsoft MVP and author of books on AI, says LLMs seem alive only because they manipulate language and humans think in language. His grand-niece at one year old, who wanted her block back, was "so much more advanced" than ChatGPT. AI will not take jobs, but "the people who use AI may", like a person with a sewing machine.
- Whole books from AI fail; single paragraphs succeed. Asked to write a whole book, the model produces work he grades F, against Hanselman's B-minus, and feeding in two books to get a third "will never ever... work". His free, open-source AI Story Builders writes one paragraph at a time that he then edits. He reports about 1,200 words in a 15-minute session, which he says was not possible before.
- Tight grounding in each prompt keeps paragraphs on the rails. Without it, a flashback to a five-year-old has "little Timmy" driving to an appointment. The app uses retrieval-augmented generation to put character attributes, age at that point, location, season and weather into the prompt. It also extracts new characters and attributes from paragraphs he writes, but he stresses a human still builds the database.
- Fine-tune for behaviour, never to add content. In what he calls his own opinion, which others dispute, new information belongs in RAG, while fine-tuning should only change behaviour such as writing style. After about three chapters, a button in the app produces a fine-tuning file. He uploads it to OpenAI and gets back a model in about an hour that writes closer to his style.
- Plain text files are enough to store embeddings. To keep the app free without paying for databases, he saves embeddings as text files. The Blazor MAUI app in the Windows store keeps them in app storage. The Blazor WebAssembly version zips them into browser local storage, and both run the same code.
Technology and FriendsRhia Dixon on Code Reviews [Episode 825]
synopsis
Dixon holds that pull-request code review is worth its time as both a quality gate and the fastest way to learn a codebase. She says making it work depends on small changes, team norms and a mindset of unblocking colleagues, because "the code review is not about the person. It's about the solution."
What and why. Dixon, a director at VML, describes pull requests as a gate before merging to main. They keep code within architectural constraints, catching an unmaintained library or a React infinite loop. They also spread knowledge: with agency contracts of three to six months against the six to eight months developers usually need to learn a codebase, she onboards by reading active pull requests.
Why teams skip it. Reviewers feel outside their stack, juniors fear reviewing seniors, and above all it seems too slow. She answers that pull requests should rarely live past 48 hours, and that unreviewed shared React components in a car-service app with three entry points broke desktop. Giard frames this as shift-left. She wants changes of about 10 files at most.
Making it work. She recommends team norms: reviewing first thing each morning, and rotating designated reviewers. Reviewers should ask "good enough within constraints?" and point to existing helpers. Authors should discuss suggestions rather than always comply.
Her checklist. She starts from a PR template and its linked ticket, checks scope, and may run the code locally. She opens the smallest files first and reads bottom-up so as not to fill in missing words. She checks logic, accessibility and design-system use.
- Pull-request reviews serve two ends: quality gating and knowledge sharing. Dixon, a director of web and mobile development at the agency VML, says the gate keeps changes within a project's architectural constraints. Her examples are rejecting an unmaintained third-party library where the rule requires maintained, unit-tested ones, and catching a React dependency array that triggers an infinite loop. She prefers "better practice" to "best practice", because best is relative.
- Reviewing active pull requests is how she onboards fast. She says developers typically take six to eight months to know a codebase, but her agency contracts run three to six months. She reads the pull requests because that is the code being actively worked on, and that is how she finds things like helper functions. She did not write the codebase of over 30,000 lines that her team asks her about; she read as much of it as she could.
- Skipped reviews cost more time than they save. She says a pull request should rarely live beyond about 48 hours, and longer ones point to process problems. Her example is a car-service scheduling client with three entry points: the dealer's website, the owner's portal and an app, including in-vehicle. They share React components, so a size change made for the in-vehicle or phone screen silently broke desktop. She counts work that breaks production as not done. She also wants changes small: about 10 files at most, two or three for a single component, because 88 changed files take her a long time to review.
- Reviews go faster with a team mindset and agreed norms. On one team she introduced an experiment in which everyone unblocks the team first thing each morning, before stand-up across time zones, by reviewing open code. She wants a few designated reviewers who rotate, so the burden does not fall on the lead or architect. She asks whether a solution is good enough within the project's constraints rather than her favourite, and links to the existing helper rather than just rejecting a rewrite. Authors need not accept every suggestion and should discuss them. The other reasons people skip reviews, she says, are reviewing outside their own stack and juniors afraid to review seniors.
- Her review routine starts from the ticket and reads code bottom-up. She uses a PR template that links the ticket ("if there's not a ticket for it, why are we working on it?") and checks that the change solves that scope. She may pull the branch and run it locally, since "works on my box" is not acceptable for enterprise customer-facing sites. She opens the smallest files first and ticks GitHub's "viewed" box, then reads from the bottom up, a habit from English essays, so her brain does not fill in missing words. She traces logic such as a continue button's validation and checks accessibility, such as close buttons without labels and carousels without arrows. She also checks that the design system's styles and the existing custom button are used rather than new ones.
Polis Pandit$Courting Young Men: Donald Trump's Strategy For Reelection
- This post includes paid content that is not available publicly. See the original source.