tech

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

Technology and FriendsDanielle Walker on Technology Startups [TECHNOLOGYANDFRIENDS 659]
  • Founders should invest in a product manager, not lean on developers. Walker, director of product delivery at the agency Kin + Carta, says cost-conscious founders treat their tech leads as a substitute for good product work, requirements and validated assumptions; she wants someone who knows tech but is not coding, as the voice of the product.
  • Overloading a product with features hurts it. She describes founders adding features on the word of one person met at a conference; too many features confuse users and pull money from the core problem, so she advises shipping the one thing that solves it, watching the reaction and building from there.
  • Founders skip user research, believing they already know their users. Walker says founders are often on the right track but blindsided by what users actually say, and that users tell founders what they want to hear; she recommends combining surveys, A/B testing and beta-tester interviews, run by a neutral party, and validating again after release.
  • Agency rescues often start with core functionality that doesn't work. When her firm takes over a product built without upfront product or research investment, she says it is typically feature-heavy and architecturally weak, and users report that "half of the functionality doesn't work", so the first job is fixing the core and re-releasing.
  • Walker thinks the best time to start is now. Asked in early 2021, coming out of the pandemic, she says it is probably easier than two years earlier because people are open to new ideas, though she notes she is not an economist; even a simple web form can start validating an idea. On marketing she disclaims expertise and suggests leaning on the community the product serves.
Crosstalk SolutionsAruba Instant On - New Features and Benchmarks!
  • The Wi-Fi 5 AP12 is the standout value in Aruba's range. In the host's benchmarks the AP12 ($141.36 on Amazon, 3x3 Wi-Fi 5) averaged 338 Mbps, third overall behind the U6-LR and EnGenius EWS850, and second on price-to-performance after the U6 Lite. He adds that Wi-Fi 6 is not needed outside dense client environments, so the AP12 suits a standard office.
  • The 4x4 AP15 trailed both cheaper Aruba access points. It costs $192.50, yet it averaged 278 Mbps and ranked second from bottom in sustained throughput among all APs he has tested. His test clients are 2x2, so he would not expect 4x4 to help without many simultaneous clients, but the 3x3 AP12 still beat it in almost every test.
  • The Wi-Fi 6 AP22 seemed held back by its channel-width setting. The AP22 ($159.99, 2x2) averaged 335 Mbps, roughly level with the AP12 and U6 Lite. Version 2.3's new radio controls offer only 20/40 or 20/40/80 MHz auto, and the host never saw it use 80 MHz, so he believes it could do better at a fixed 80. He tested with WPA2 only because WPA3 caused heavy retries on his Ubuntu 20.04 clients, on EnGenius as well.
  • Two-factor login in version 2.3 makes Instant On recommendable. The host would not have recommended it without 2FA, though he reasons that a hijacked portal matters less here because Aruba makes no firewall that could open ports. Management is cloud-only with no local controller, and there are no licence or subscription fees. Version 2.3 also adds MAC-based authentication, DHCP reservations, port mirroring, PoE schedules and manually triggered firmware upgrades.
  • Its pared-down interface suits MSPs who want cookie-cutter deployments. Instant On makes only access points and switches, and the host paired it with a Netgate SG-1100 pfSense firewall, with VLANs working throughout. The 1930 switch ($349) has 24 gigabit PoE ports with a 195 W budget and four 10G SFP+ ports. He found it loud and suggests swapping in quieter fans if noise matters.
GCastManaging Deleted Facebook Posts [GCast 108]
  • Deleting a Facebook post only moves it to Trash. Choosing "Move to Trash" from the post's three-dot menu removes it from the timeline, but Facebook's own message says items in trash are deleted after 30 days. Giard says he only recently learned this.
  • The Trash is buried deep in account settings. Giard calls its location unintuitive: the triangle at the top right (labelled Account), then Settings and Privacy, Settings, Your Facebook Information, Activity Log, and Trash.
  • Trash lets you delete a post permanently without waiting. Giard suggests this for sensitive material you don't want to exist anywhere. Each item's ellipsis menu has Delete, and checking boxes applies the same action to several posts at once; once deleted this way, he says, a post cannot be recovered.
  • Archive and Restore to Profile are the other options. Giard says archiving keeps a post past the 30 days, which suits something you want kept for yourself but not seen by others. Restore to Profile undoes a mistaken deletion, and in the demo the restored post reappeared on his profile after a brief "Restoring" message.
Technology and FriendsMatt Adamczyk on Title Town Tech and Startups [TECHNOLOGYANDFRIENDS 658]
  • Titletown Tech uses Microsoft philanthropy to build Green Bay startups. Adamczyk, Microsoft's technologist-in-residence there, says it was co-founded about a year and a half earlier with the Green Bay Packers under Microsoft's TechSpark initiative, which works in six mostly rural or mid-sized US communities. It pairs a studio taking early-stage founders from proof of concept to MVP with a venture fund for mostly Wisconsin companies.
  • The fund is for-profit, though Microsoft recycles its returns. He says the $25 million fund came $5 million from Microsoft, $5 million from the Packers and $15 million from mostly local corporates, as capital for equity; Microsoft has pledged to roll its returns back into philanthropic work. The other investors are deliberately corporates so startups can tap their market networks.
  • Its "connected capital" model pairs money with mentorship and connections. Adamczyk describes a "one-size-fits-one" approach with about two dozen companies, no cohorts and weekly investment decisions. Jason Zander, EVP of Azure, serves as chief technology advisor, and Brad Smith is executive sponsor.
  • Startups that arrive on rival clouds have nearly all moved to Azure. He says Titletown Tech imposes no platform restrictions, but almost every company that came in on a competing cloud chose to build on Microsoft products because of the mentoring and resources; he describes this as "somewhat unintentional".
  • Equity League invests in minority-led and social-impact startups. Launched in December, it joins the Packers, Bucks, Brewers and Microsoft and is housed under Titletown Tech as a sixth investment arm; Adamczyk ties it to the summer's racial-justice protests, including the shooting of Jacob Blake in Kenosha. At recording it was two months old, and he frames it as a long-term programmatic structure rather than a one-off check.
Scott HanselmanThe Art of Computers by Scott Hanselman as presented at GeekDay.Live 2021 https://geekday.live/
synopsis

Hanselman's GeekDay.Live 2021 talk, given live from Portland and interrupted throughout by the host's and the audience's questions, argues that programming is closer to an art built on habits of thought than to a science reserved for the best. It ends on the claim that everyone is an amateur: the gap between a junior and someone with almost 30 years in the job is accumulated questions and patterns, which anyone can build if they keep learning and are allowed to fail safely. He frames this around four ideas: problem solving, layering, composition and patterns.

Problem solving. Senior engineers seem to know answers instantly because they ask yes/no questions at scale, each one eliminating a class of problems. He shows this with a broken toaster that children debugged by asking whether the power was on and whether the neighbours had power. He argues that coding courses should teach systems thinking, and that seniors must never call a question dumb. Asked whether to search online or ask a senior, he says both amount to asking seniors, but online the senior is a stranger whose answer must be judged.

Layering. Layers hide complexity in code and in management alike. He walks through his own reporting chain up to Satya Nadella, and says he hands strategy to a team member who decides the tactics. He reveals email as name-value parts much like an HTTP post, and a hard drive as a record player's spinning disc and needle. With taxis, cars and mechanics he argues that each person picks the layer they stop at. Layers can also lie: a podcast recording appeared to be lost, and after about 16 hours with a byte-for-byte disk image he found it under a folder with a null name that Windows could not show.

Questions from the audience. Calculus is useful only when you need it. College teaches how to learn, and a degree is like a passport, useful but optional; his own four-year degree took 11 years of night classes. People can get good at things after 25, as he did with taekwondo, which he began at 45.

Patterns. Wisdom is having seen something before. Stripped 0x0D bytes in a Raspberry Pi binary pointed him to an FTP client converting line endings, and he demonstrates CR and LF from the typewriter carriage to Visual Studio Code's CRLF setting.

Closing. He warns against having the same year 20 times. He presents himself as a Swiss Army knife, says to learn the basics, and says career paths can change.

  • Problem solving is asking yes/no questions at scale. Hanselman says a senior engineer who spots a bug instantly is running a bank of eliminating questions built over years (IP address, SSL certificate, permissions, "it's probably DNS"), and he illustrates systems thinking with schoolchildren debugging a broken toaster ("do the neighbours have power?"). Seniors' job is to make it safe to ask "dumb" questions, since that is how juniors build their own list; searching the web is also asking seniors, only strangers, so weigh who wrote the answer.
  • Layering hides complexity, and sometimes it lies. He compares email's multipart name-value format to an HTTP form post, and a hard drive to a record player, to argue that good ideas get reused under the abstraction. Using a taxi rider, a car owner and a mechanic, he argues each coder chooses which layer to stop at. His example of the lie is a recording of his podcast episode with actor Chris Conner: the SD card looked empty, and after about 16 hours of reading FAT32 bytes from a disk image he found the files sitting under a folder with a null name that Explorer could not display.
  • Experience is mostly pattern recognition: "I've seen that before." A Linux binary that broke on a Raspberry Pi was missing every 0x0D byte, because his FTP client treated files without an extension as ASCII and stripped the carriage returns, a typewriter-era convention that Windows CRLF line endings still carry. He says the second time a problem like that takes far less time. He adds that "sucking at something is the first step to being good at something" and cites starting taekwondo at 45, with a black belt due later in 2021.
  • College teaches you how to learn, not what you'll use. In answer to a viewer, he says he has not used calculus in 30 years, though a data scientist would need it, and that C#, the language he uses, did not exist when he studied. He likens a degree to a passport: not required, but a useful piece of paper. He got a two-year degree, then spent 11 years of night classes finishing a four-year one.
  • Everyone is an amateur, so keep learning. He asks whether "20 years experience" is really "the same year 20 times", and concedes that perhaps five to seven of his own 30 years were. He points to Tim Berners-Lee's humble "web developer" title and calls himself a Swiss Army knife that does many small things, none of them well, but says not to skimp on basics such as CPU, memory, disks and computing history. On choosing a path, he says careers can switch, and advises betting on broad areas like web applications rather than one technology like Kubernetes.
Technology and FriendsWolfgang Goerlich on Cyber Security Design Principles [TECHNOLOGYANDFRIENDS 657]
  • Security design should start from empathy for the people using it. Goerlich, who is writing a blog series drawing security principles from classic designers, cites the mouse: Xerox's cost about $2,000 in today's dollars with weekly engineering upkeep, while Apple's iterated design came to about $70 and, per Steve Jobs, 16 minutes to learn. He applied this to a privileged access management setup that took about 18 steps before anything could run: his team watched the engineers', DevOps and IT staff's workflow, cut the steps, and issued a gaming laptop as the privileged access workstation to make it attractive.
  • Ship ugly early iterations instead of waterfall-perfect security specs. Goerlich says security programs over-engineer because practitioners are passionate about getting it right, illustrated by a "delete data" control that escalates to purging memory and degaussing disks. "Minimum viable security" means naming the exact controls needed; his example is his friend Mark Tilden's walking robot, buildable for about $100 from recycled parts, against MIT robots costing the price of a car.
  • Name projects so they tell a story people want to join. He says a program called after a vendor product "doesn't go very well"; his own "Outsource Boring" project, which challenged his team to hand off work they disliked to partners, sold better than a "vendor assessment and review process" would have.
  • Be prepared to get lucky when circumstances change. Goerlich's example is an acquaintance running a secure-development program whose team moved to GitHub, which he had not heard of; by asking the team lead and then a GitHub expert, he found about a quarter of the controls he expected to buy, build or enforce were already in the product.
  • Make security an inside job through paired champions and advocates. In his terms a champion sits in the business and cares about security, and an advocate sits in the security organization and helps that business unit; he wants both in place and working together to cut steps and decision points, as with an operations-side advocate he worked with in financial services.
Crosstalk SolutionsHow Far Can Starlink Go?? Let's Find out... (re-upload)
  • The beta Starlink dish is geo-locked to its home cell. About three hours away, on the Oregon coast near Charleston (next to a Starlink ground station), it reported being outside its geographic location and would not connect after reboots. Once that happens the app locks you out and cannot even stow the dish; the host had to cut power for about 30 seconds first.
  • About 20–30 miles from home it worked, but more slowly. There it delivered 20–35 Mbps down, 6–10 Mbps up and 25–30 ms ping, and one phone speed test showed 40.8/3.73 Mbps, against 80–150 Mbps at home. During a livestream it fell below 10 Mbps down and 2–4 Mbps up. The host suspects the high-voltage lines directly over the dish but says he does not know.
  • A battery power station can run the dish and network. The dish drew about 90–150 W, and an EcoFlow EF Delta (received from EcoFlow about a year earlier) charged from 30% to 100% on AC in about an hour. He bypassed the Starlink router, feeding a UniFi USG, a UniFi 60 W 8-port switch, a Cloud Key Gen2, a mesh AP and a VoIP phone.
  • Remote VoIP calls and livestreaming held up, with brief dropouts. The test VoIP call was clear, and the livestream of roughly 30–60 minutes had one satellite dropout of 15–20 seconds and one of about 5 seconds. A third outage, about a minute, was his laptop losing power. The host says this was not possible a year earlier.
  • The host thinks Starlink makes starting a wireless ISP unwise. At about $500 plus $100 a month, he predicts 200–300 Mbps with sub-30 ms pings in perhaps a year. He thinks established WISPs charging $40–60 a month will be fine for a long while. He expects mobile Starlink for cars, RVs and trucks but sees ocean motion as a tracking problem for boats. Starlink had just become available in Australia.
Technology and FriendsMatthew Renze on the AI Developers Toolkit [TECHNOLOGYANDFRIENDS 656]
  • Ordinary developers can now solve AI problems with a REST call. Renze says pretrained cloud services from Microsoft, Amazon and Google do the model training for you, so tasks that look like they need a data science team take a few lines of code. His Pluralsight course, the AI Developer's Toolkit, runs from tables through text, audio, images, video and apps to cyber-physical systems; he guesses about 80% of its examples will be new to most developers.
  • Analysis reduces complex data while synthesis expands simple input. He defines analysis as turning an image into a label like "cat", and synthesis as the inverse, such as a generative adversarial network drawing a cat from a sentence. Cloud APIs are further along on analysis, which he says is more solved and has more business cases; synthesis needs more compute and has more edge cases.
  • Renze already uses a model of his own voice in courses. He says he edits his script and has the model speak a corrected word, and he could not tell the difference; he plans to move to Microsoft's custom voice synthesis in Azure. He predicts near-photorealistic text-to-image within about a year.
  • Harder problems combine models in parallel or stacked. Examples include pairing face and voice recognition to identify a speaker, or running object detection and then classifying each bounding box. Between cloud and custom builds he describes transfer learning, such as fine-tuning a stock image classifier to spot a company logo.
  • Cyber-physical systems learn in the cloud and act at the edge. He says machines run their decision loop locally to avoid latency while a fleet sends decisions and outcomes up for retraining and receives new models. He predicts human referees will become largely unnecessary within a few years, and that within 10 years no human will drive better than the best AI.
Crosstalk Solutionstp-link Omada - Complete Overview
synopsis

The host concludes that TP-Link Omada is a viable alternative to UniFi. It costs about two-thirds as much for a comparable network, and he rates feature set, performance and support a wash between the two. UniFi wins on aesthetics, and on security because its cloud offers two-factor login and Omada's does not. TP-Link supplied all the reviewed equipment free, and the product links are affiliate links.

The kit. The host uses Amazon prices as of recording. The OC200 hardware controller ($83.92, PoE-powered, up to 100 devices, with USB backup) has a bigger sibling in the OC300 ($159.99, up to 500 devices), and either can be replaced by a self-installed or cloud controller. The ER605 router ($59.95) has one WAN port, one LAN port and three ports configurable as either, for up to four WANs. The TL-SG2210MP switch ($157.49) has eight PoE+ ports with a 150 W budget plus two SFP ports. He also covers the EAP620, a 2x2 Wi-Fi 6 AP with a gigabit uplink, and the EAP225-Wall ($49.99), a Wi-Fi 5 in-wall AP with PoE pass-through for a desk phone.

Topology and interface. He tours the controller, which he calls mature and almost exactly a UniFi clone. It has configurable dashboards, a DHCP fallback IP, per-client or per-network bandwidth limits, and URL filtering without import lists. SIP ALG is on by default, and the captive portal needs the controller online. He singles out PoE schedules, such as cutting power to VoIP phones outside business hours, which he had not seen in another controller. He also likes reboot schedules, site and controller migration, and the option to disable cloud access entirely.

Benchmarks. The EAP620 placed fifth overall in his benchmark, between the nanoHD and UAP-AC-Pro, and fourth on price-to-performance.

The comparison. His spreadsheet put the UniFi set at $795 and the TP-Link set $275 cheaper. On performance he declines to pick a winner, because Crosstalk does not run TP-Link in production and the measured gap may not be noticeable to users. He wants cloud 2FA from TP-Link, which he calls mandatory, and local 2FA as a bonus. On support he calls both prosumer vendors thin, and says businesses needing 24x7 support should pay licence fees to Cisco, Aruba, Ruckus or Meraki. He objects only where hardware stops working once the licence lapses.

  • Omada costs about two-thirds as much as comparable UniFi gear. The host priced an ER605 router, TL-SG2210MP switch, EAP620 and EAP225-Wall on Amazon against a USG, US-8-150W, U6 Lite and UniFi in-wall AP. The UniFi set came to $795, and the TP-Link set saved $275. TP-Link supplied all the equipment free, and the video's product links are affiliate links.
  • The host calls Omada and UniFi even, except on price, looks and security. He rates feature set, performance and support a wash, with TP-Link ahead on price. UniFi wins on aesthetics, since the EAP620 is far bulkier than the U6 Lite, and on security, because UniFi's cloud offers TOTP two-factor login and Omada offers no 2FA. He calls cloud 2FA mandatory if TP-Link wants to compete.
  • The EAP620 benchmarked level with a UAP-AC-Pro or nanoHD. It placed fifth overall in the host's benchmark, fifth in iperf, sixth in OpenSpeedTest and fourth in sustained throughput, and fourth on price-to-performance. He calls performance a toss-up all the same, because Crosstalk does not run TP-Link in production and the gap may not be noticeable to users.
  • Omada's controller software is mature and almost exactly a UniFi clone. Standouts include scheduled PoE (turning off VoIP phone ports outside business hours, which he had not seen in any controller), AP reboot schedules and bandwidth limits per client or per network. It also offers a DHCP fallback IP, site and controller migration and USB auto-backup. SIP ALG is on by default (he disabled it), and the captive portal needs the controller reachable by clients.
  • The controller can be hardware, self-installed or TP-Link's cloud. The PoE-powered OC200 ($83.92) manages up to 100 Omada devices and the OC300 ($159.99) up to 500. Cloud access can be turned off and the TP-Link ID unlinked, which the host suggests for anyone wary of a cloud compromise reaching the network.
Technology and FriendsTed Neward on Technology Culture [TECHNOLOGYANDFRIENDS 655]
synopsis

Neward ends on a test for any manager: what a company or team actually values shows in where it puts its workforce's time and energy, so if training or innovation matters, time for it must be made, and if the answer is unwelcome, change it.

Why the team exists. Neward argues the industry leaves professional growth to individuals, unlike medicine. Quicken Loans' CIO offered to pay him for the mentoring and interviewing work he was already doing, and a Technology Culture team formed in March to focus on people rather than process or technology.

Interviews. He calls the whiteboard interview everything wrong with the industry, and cites a study in which leaving candidates alone raised success from 50% to 100%. The rework also targets unconscious bias.

Mentoring and onboarding. A dedicated hire is building mentoring for 2,000 technologists, sorting out matching, time allowances and coaching. Hardware reached 30,000 staff in about a week, but developer tools still take days or weeks; his team works on such important-but-not-urgent friction as a force multiplier.

Diversity and OKRs. Giard asks about diversity; Neward describes OKRs being rolled out under the chief diversity officer, explaining key results as unit tests for an objective via Andy Grove's Operation Crush against Motorola.

Culture as commitment. He points to Dan Gilbert's 20 "isms", printed as a book and taught at twice-monthly all-day events, as evidence of where Quicken Loans spends its energy.

  • Professional development should be paid work, not a hobby. Neward contrasts doctors, for whom reading journals and training the next generation is part of the job, with tech's expectation of side projects on GitHub. When Quicken Loans CIO Brian Woodring asked what would happen if he paid Neward to do the mentoring and interviewing work he was already drifting into, a Technology Culture team was formed in March, focused on the "people" of people, process and technology.
  • The canonical whiteboard interview tests the wrong thing under pressure. Neward argues only a single-digit percentage of developers need to write algorithms like a red-black tree, and the whiteboard strips away tools such as Stack Overflow. He cites a study Microsoft took part in, with what he thinks was the University of North Carolina, where leaving the candidate alone in the room raised success from 50% to 100%; his team is reworking interviews toward on-the-job work and away from unconscious bias, as part of the company's diversity and inclusion effort.
  • Mentoring programs fizzle without someone dedicated to running them. Neward has hired a technology team leader to build one across the 2,000 people in Rocket Technology; its open questions include how mentees are found, whether the mentor has the skills sought, how much time is allowed (he contrasts a place happy with five one-hour mentees a week against one capping it at an hour), and coaching for pairs who do not know what to ask. It is to slot into the HR group's non-technical programs rather than duplicate them.
  • A support team can clear important-but-not-urgent friction for developers. Neward credits internal support with getting laptops and hardware to all 30,000 people across Dan Gilbert's companies in about a week with no disruption, but says developer tools needing admin rights still take days or weeks. His team "greases the rails", such as talks with O'Reilly on Safari subscriptions, acting as a force multiplier against the tyranny of the urgent.
  • Where a company spends time and energy shows what it values. Neward contrasts companies that say employees come first but fund no programs for them with Quicken Loans' "isms": 20 sayings from Dan Gilbert published as a glossy book and presented at twice-monthly, all-day "isms day" events. He challenges managers to check whether their team's time reflects stated priorities such as training or innovation, and to change it if not.
Crosstalk SolutionsUniFi Protect G4 PTZ - UVC-G4-PTZ
synopsis

The host concludes that Ubiquiti's first pan-tilt-zoom camera, the $1,800-MSRP UniFi Protect G4 PTZ, has the best picture of any Ubiquiti camera and is competitively priced for businesses already on UniFi Protect that will have staff actively steering it. It is not worth it for a home, where he finds it too big and too expensive. Its weaknesses, mainly sluggish controls and poor autofocus, are ones he thinks software updates could fix.

Hardware and install. The camera and mount weigh about 15 lb, mostly metal, with carabiner tethers so neither the top cap nor the camera can fall during install. It needs 802.3bt (PoE++) power; he used a 10-gigabit six-port 802.3bt UniFi switch. It is IP66-rated with a weather shroud. The cable has to come straight out of the wall behind the mount, so framing in his wall forced a makeshift wooden spacer and a cable run through a window. Adoption took one click once the camera was on the same LAN subnet as Protect.

Picture and zoom. Specs are 4K at 24 fps, f/1.5 and 22x optical zoom. At full zoom and 4K he could see blades of grass and read a fire hydrant. Streaming at 720p made the controls faster but left visible artefacts. Night vision he rates spectacular: the exposure adjusts to wherever the camera zooms, and he recognised himself about 100 feet away across a street-lit road, clear enough, he judges, to serve as evidence in court.

Controls and tracking. Responsiveness depends on the client. The Viewport showed moves almost in real time but cannot control the camera. A PC lagged behind it. A phone, especially on LTE at 720p, lagged 5–10 seconds, so every pan overshot and he could only make small moves and wait. Tracking a woman walking her dog and then himself was "only moderately successful". The autofocus kept choosing trees or the ground over the moving subject, which he thinks needs smarter, movement-aware focus.

Other faults. There is no microphone, which surprised him at the price, though he concedes one is of little use at 22x on a distant subject. The pan servos are audible through the wall. The size draws complaints at home, and the red IR LEDs glow at night.

Suggested improvements. On the software side he wants tap-to-centre on the phone app, faster initial zoom-out, controls as fluid as the Viewport's, a joystick accessory, a two-point patrol mode, and AI tracking driven by Protect's person and vehicle smart detections. On the hardware side, a microphone.

Price against rivals. He compares a Hikvision PTZ (30x, 2592x1944, 25 fps, $1,049), a similar Dahua ($1,131), and two Axis models: 40x at 1080p for $3,099, and 8 MP with 12x for $3,199. He notes he is an Axis reseller who does not resell its cameras because of their cost. Counting Protect's lack of licence fees against paid NVR software such as Blue Iris or Synology Surveillance Station, he judges $1,800 about right. For a home user who truly needs 22x and 4K, he calls it about the cheapest option available.

  • The G4 PTZ is worth its price only for actively staffed business monitoring. At $1,800 MSRP the host thinks it is priced about right for a business already on UniFi Protect, with staff such as a security guard steering it over a parking lot or warehouse; for a home user he calls it not worth it, and a Reolink 5 MP, 4x-zoom PTZ at $229 (a camera Reolink sent him) more realistic.
  • Picture quality is the best in Ubiquiti's lineup, night vision included. The camera is 4K at 24 fps, f/1.5, with 22x optical zoom; in his testing he could read a fire hydrant's lettering and recognise himself at night across the street, about 100 feet away. He ranks the fixed G4 Pro a close second.
  • PTZ control lags badly except on the Viewport. The Viewport HDMI output responds almost in real time but cannot control the camera; a PC lags, less so streaming at 720p; a phone on LTE lagged 5–10 seconds, so he over-panned repeatedly. Mouse click-to-centre and scroll-wheel zoom worked best, and tracking a moving subject such as a car's licence plate is very hard.
  • Autofocus, missing microphone and sheer size are the main faults. At full zoom the focus often locked onto trees or the ground behind a moving person; there is no microphone despite the price; the pan servos are audible through a wall; and the 15 lb camera is so conspicuous he is taking it off his house, though he notes a business may want it seen.
  • Most of his suggested fixes are software. He asks Ubiquiti for tap-to-centre PTZ on the phone app, faster zoom-out, a joystick accessory, a two-point patrol ("sentry") mode, and AI tracking that uses Protect's person and vehicle detections to zoom on a subject and return. Only the microphone needs a hardware revision.
Technology and FriendsDave Hoerster on Azure Active Directory B2C [TECHNOLOGYANDFRIENDS 654]
  • Customer identities belong in their own tenant, not the corporate directory. Hoerster, a Microsoft cloud solutions architect, describes Azure AD B2C as an Azure AD tenant with the enterprise features stripped out plus a hidden policy engine on top. That engine holds the configuration for sign-up, sign-in and profile editing: which attributes to collect, which claims to return, and conditional access such as forcing multifactor for users coming from unwelcome locations or a Tor browser.
  • Claims carry customer attributes into the app's tokens. In his example, a sporting-goods retailer asks for a favourite sport at sign-up, stores it in the B2C tenant, and returns it in the identity or access token alongside the name, so other parts of the site can offer specials or coupons only to, say, baseball fans.
  • Scale is no longer the problem; dead accounts need housekeeping. Giard recalls that early Azure AD did not scale for consumer workloads; Hoerster says B2C now handles millions or billions of users without issue. Pruning is not built in: he suggests a simple job against the Microsoft Graph API that queries a last-login attribute, disables accounts after about two years of inactivity, and deletes them perhaps a year later if nobody complains.
  • Legacy logins can migrate without users noticing. One of the two engagement patterns he sees most is moving one or more legacy authentication systems into B2C via "seamless migration": custom policies authenticate the user against the old system first and, if that succeeds, copy the account into B2C, with no new account or password reset; he points to examples in the B2C docs.
  • Affiliates managing their own users need delegated user management. For the second pattern, he suggests API Connectors, a feature he says released around October and still in public preview at recording, which let easily configured user flows call a REST API, for instance a delegation service that sets claims tying a user to one affiliate so they see only that affiliate's users.
Crosstalk SolutionsRaspberry Pi LAN Speed Testing Appliance - OpenSpeedTest
  • OpenSpeedTest gives a local HTML5 speed test for LAN-only benchmarking. The host uses it in Docker for his access-point benchmarks. On a Synology NAS he runs the official openspeedtest/latest image on the host's network rather than a bridge, so it answers at the NAS's IP on port 8080; anything else already on 8080 needs the IP or port changed.
  • Plain HTTP is acceptable for LAN testing. The container serves HTTP only. He says that is fine inside a LAN, since nothing sensitive passes and nothing leaves the network, but a web-facing install should use HTTPS, for example via a version wrapped behind an NGINX container with Let's Encrypt.
  • A Raspberry Pi 4 makes a portable test appliance, booted from SSD. He boots from an M.2 SATA SSD rather than a microSD card so storage is not a bottleneck, installs Docker with the get.docker.com script, adds the pi user to the docker group, and adds Portainer on port 9000 before the OpenSpeedTest container. He does not recommend the Argon ONE M.2 case, citing a dead jumper and a promised replacement that never came.
  • The Pi tops out around 700 Mbps down but full gigabit up. His desktop hit full gigabit both ways against the NAS, which has four aggregated gigabit NICs, but only about 700 Mbps down from the Pi, consistently across three Pis. He suspects a shared USB 3 bus, not the SSD, and treats that ceiling as the baseline: anything below it points to a problem on the LAN under test.
  • He wants the Pi to report its own DHCP address. Because the appliance gets a different address on each client network, he asks viewers for a boot-time script, perhaps a cron job with a 60-second delay, that emails or texts its IP once it has one.
Scott HanselmanMentorship vs. Sponsorship + Storytelling - Computer Stuff They Didn't Teach You #21
synopsis

Hanselman's talk to the Microsoft Learn Student Ambassadors, reposted to his channel, argues that early-career people should share what they learn freely, in public and on a site they own, and that their careers grow less from one-way mentoring than from sponsors who lift them into new spaces. Two moderators interrupt throughout with audience questions.

Inclusion over pie-chart diversity. He prefers the "party planning committee" version of the inclusion quote and dismisses "pie chart diversity", the cartoon-cast approach that in America reduces diversity to skin colour. Asked to define diversity, he lists background, religion, language and experience, and uses his own invisible disabilities to argue that privilege and disadvantage sit in the same person.

Gatekeeping and keystrokes. He defines gatekeeping as standing in the way of information flow, compares it to priests keeping reading from the public, and quotes Ted Nelson in 1974 on experts not wanting to be understood. His remedy is not wasting keystrokes, illustrated with keysleft.com: write answers somewhere with a URL, never only in email.

Learning in public. He shows 19 years of twice-weekly posts as his de facto resume and says he shares experiences rather than expertise. In answer to questions he endorses blogging in a native language, setting small readership goals (ten readers is "an order of magnitude"), and owning a domain because platforms like TikTok "will not exist forever". He cites an email from Jeff Atwood thanking him for an old fix as proof that posts for "five or six of us" pay off.

Own your stack, learn the fundamentals. Running a domain and SSL certificate is his stick-shift analogy: worth experiencing, but gatekeeping if made a requirement. He recommends a hand-written static home page plus a static-site-generated blog built with GitHub Actions, "darn near free". Against early specialisation he stresses data structures, algorithms and architecture, pointing to his "Computer Stuff They Didn't Teach You" series.

Mentorship and sponsorship. Mentors are mirrors who help define a dream; sponsors are spotlights who make luck, as strategisers, connectors, opportunity-givers or advocates. Mentorship must be two-way, since at 50 his experience is specific to him, and it ends in phases. To find mentors, he says show up visibly and ask specific questions.

Microsoft and inclusion. In closing, he reports nearly 40 hours of inclusion and management training this year as a middle manager, with role-played conversations pushed from the top, and concedes a 130,000-person company still has "pockets of jerks".

  • Inclusion means a say in planning, not token representation. Hanselman prefers a variant of the party quote, "inclusion is being a member of the party planning committee", and contrasts it with "pie chart diversity": Power Rangers-style casting that picks one of each skin colour, which he calls quota-based and "just a pretty color palette". He describes diversity as including background, religion, language and invisible disability, citing his own type 1 diabetes and a paralysed right arm.
  • Gatekeeping is blocking information flow, so share expertise generously. He likens hoarded technical knowledge to priests who once kept reading from the public, and quotes Ted Nelson from 1974 saying experts rarely want people to understand what they do. His rule is "don't waste your keystrokes": keysleft.com, a site he made, counts down your remaining keystrokes, and he argues an answer to an emailed question should go to a URL (blog, wiki, GitHub) because email is "the only place that everyone can't search".
  • Learn in public: blog experiences, not expertise, and own the domain. He reports blogging every Tuesday and Thursday for 19 years and calls the blog his real resume; he says he was an expert in none of what he wrote about, and that a beginner's Python 101 is worth writing. He tells students to write for one or two readers rather than chase views, says blogging in a native language serves under-served communities, and warns that Instagram, TikTok and Facebook are walled gardens; he backs up his own TikToks with a Python script.
  • Running your own site is like driving stick once. Registering a domain, installing a certificate and fixing it when it expires is an experience he says everyone on the internet should have, while insisting that making it a requirement would itself be gatekeeping. On specialising, he argues for the fundamentals (data structures, algorithms, computer architecture) and uses his father's Swiss Army knife to argue for being decent at many things.
  • Mentors are mirrors; sponsors are spotlights who make luck. He splits sponsorship into strategiser, connector, opportunity-giver and advocate, and says mentorship must run both ways and ends in phases. On finding one, he advises against cold emails and "can I pick your brain" in favour of showing up at meetups and clubs and then asking for advice on a specific problem.
Technology and FriendsJason Farrell on Kubernetes [TECHNOLOGYANDFRIENDS 653]
  • Containers scale faster than VMs but need an orchestrator. Farrell, who works on DevOps and Kubernetes at New Signature (since acquired by Cognizant), cites a Tinder engineering write-up: startup went from several minutes for VMs on AWS to under 30 seconds for containers, across about 48,000 containers, too many for people to manage. Kubernetes, an open-source CNCF project under the Linux Foundation that grew out of Google's Borg, has in his view become the de facto orchestrator over rivals such as Mesos.
  • The orchestrator's core job is maintaining a declared desired state. If you declare eight instances and one dies, it notices and starts another; the horizontal pod autoscaler can scale on CPU between a floor and a ceiling (eight to 100 in his example). Because CPU misses work such as a long queue, he recommends KEDA, a Microsoft-created project that scales on Azure queue or Kafka topic depth. He believes autoscaling can also follow a schedule but said he would check.
  • Deployment runs image, pod, service, then rolling deployment. An image pushed to a registry is a class and containers are its instances; a pod, roughly the Kubernetes equivalent of a VM, runs the containers; a service routes outside traffic to whichever pods exist, since their number is elastic. The deployment resource does rolling updates by default, e.g. replacing 80 pods 10 at a time to avoid downtime.
  • Linux containers are far more mature than Windows ones. He puts the smallest Windows container at around 800 MB against about 20 MB for Linux, and says Windows has been in the space one to two years against Linux's five or six. He believes Kubernetes accepted Windows containers from version 1.16, mainly for .NET Framework apps; .NET Core typically ships on Linux.
  • Learning Kubernetes in the cloud can get very expensive. He ranks Google's offering first and AKS close behind, with Amazon harder to work with, and warns AKS users to shut down the VM scale sets at day's end. After an Amazon re:Invent EKS lab, his "deleted" cluster self-healed and ran up a $20,000 bill, which Amazon waived; he suggests free single-node local clusters such as Minikube or MicroK8s, plus kubernetes.io and the cncf.io landscape of what he recalls as 200–300 projects.
Scott HanselmanAzure Static Web Apps, Website, GitHub, SSL & hosting FREE! Computer Stuff They Didn't Teach You #20
  • Azure Static Web Apps gives a free live site, while in preview. Hanselman picks it because it is free "while it's in preview" at the time of recording, alongside free GitHub and Visual Studio Code. He generates a repository from Microsoft's vanilla-basic static-site template (templates also exist for Angular, React, Vue and Blazor) and creates the app in the Azure portal on the Free tier, in a resource group he describes as a named circle around related resources.
  • Connecting GitHub writes the CI/CD workflow for you. Signing in with GitHub from Azure generates a GitHub Actions workflow, so every check-in builds the site and deploys it to Azure under a generated URL, which he shows taking about a minute. He then clones the repo with the GitHub CLI, edits in VS Code and pushes, and the change redeploys on its own; he calls this continuous integration and continuous deployment.
  • Custom domains and SSL certificates come free and automatic. He points the www record of a domain he had bought at the generated URL with a CNAME, Azure validates it, and a certificate is issued minutes later without his involvement. He notes the apex ("naked") domain is handled differently from www.
  • The point is the exercise, not the host. He concedes GitHub Pages and other hosts work too, but argues that doing this once teaches DNS, SSL and HTTPS, and how source host, web host and DNS registrar (his is DNSimple) relate. He calls it a kata for early-career people, done in about 20 minutes and recorded in one shot on 15 March.
Technology and FriendsBrian Genisio on Incremental Rewrites [TECHNOLOGYANDFRIENDS 652]
  • Khan Academy is rewriting its back end one field at a time. Genisio, an engineering manager there, describes about a million lines of Python 2.7, which reached end of life and has no backward-compatible path to Python 3, being moved to Go across 27 services that he says are not microservices. They chose Go for type safety, after 10 years of breakage from dynamic typing, and for performance, which ruled out Python 3. The estimate was about 47 person-years; they are roughly halfway, with 41% of fields migrated.
  • An Apollo Federation gateway moves each field through test stages. The API had been GraphQL since about 2016 and was about 70% of the way there, so the remaining REST-like endpoints were moved first. A decorator on each new field sets its stage. In "manual" a query parameter routes it to the new service for testing. In "side-by-side" the gateway calls both systems, compares the results and logs mismatches into a next-day report, without the client waiting. In "migrated" the new service serves it, and a configuration change reverts it. Then the Python is deleted. He also runs side-by-side locally to catch differences, such as an http-versus-https URL, before deploying.
  • Matching production output counts as correct; unported rules are dead code. Where unit tests exist they port the tests, then the code. Side-by-side then compares real traffic from about 3 million users a day, so he reasons that a business rule not needed to match the output is dead, and a missed edge case would just be a bug. He says edge cases have not been the problem. The problems have been scaling the new architecture on the same Google App Engine infrastructure: a provided Redis caching layer that did not scale, 30-second latencies in the Node-based gateway, and App Engine's new platform APIs.
  • The port adds no new behavior and keeps existing bugs. Their guidelines bar new behavior during the move. If the Python returns null where it should return an empty string, the Go does too, because clients may rely on it. New features are built in the new services, which can mean calling back to the monolith or waiting until a service is far enough along.
  • A "minimal viable experience" sets the order; some features are dropped. This core of content delivery, user management, teacher tools and assignments covers what must exist if Google stopped running Python 2.7. It still covers 60–70% of the code base, and no team starts on P1 work until it is all done. Some features will not be ported: streaks, which a small group of users loved, are being sunset because Khan Academy's pedagogy does not want to encourage daily use.
Crosstalk SolutionsPassword Pusher - Open source secure password transfer
  • Password Pusher replaces emailing credentials with expiring one-time links. The host argues that passwords sent by email or ticket sit in clear text with a permanent trail. The open-source project, by a developer in Palermo, Sicily, hosted at pwpush.com, expires a link after a set number of days or views, whichever comes first, and can let the recipient delete it after copying.
  • Self-hosting avoids trusting the central pwpush.com database. The GitHub project supports Heroku, Docker with a built-in or external Postgres database, Docker Compose, Kubernetes, Azure, OpenShift, or building from source. Once installed, it serves on port 5000.
  • A $5-a-month DigitalOcean droplet is enough to host it. He used the Docker 19.03.12 on Ubuntu 20.04 marketplace image on the lowest plan, because the app is not resource-intensive. After updating packages, a single docker run command installed it in about 60 seconds; cloud hosting means no firewall ports to open at home.
  • The default install runs HTTP only; production needs HTTPS. Adding HTTPS involves changing ports on the default web server, which he leaves out of the video. He still judges even the HTTP version far safer than clear-text email, and asks capable developers to contribute easy HTTPS, perhaps via Let's Encrypt, to what he calls essentially a one-person project.
Crosstalk SolutionsU6-LR Review and Benchmarks
  • The U6-LR now tops the host's access-point benchmarks. It is Ubiquiti's second Wi-Fi 6 AP, 4x4 MU-MIMO with OFDMA, at $179 MSRP. It averaged 520 Mbps in his iperf tests against 349 Mbps for the next best, 574.1 Mbps in OpenSpeedTest, more than 100 Mbps ahead of the U6-Lite, and just over 400 Mbps combined, about 50 Mbps ahead of any rival.
  • The U6-LR outclasses the U6-Lite and nanoHD on paper. It transmits up to 26 dBm on both bands, with antenna gain of 4 dBi on 2.4 GHz and 5.5 dBi on 5 GHz against the U6-Lite's 2.8 and 3 dBi. It is also the first Ubiquiti AP he knows of to support 160 MHz channels. Ubiquiti claims 300+ concurrent clients, which he would never plan for on one AP.
  • Its single gigabit port is the host's main design complaint. With single clients reaching 800–924 Mbps in his tests, he expects the gigabit port to bottleneck an AP serving many such clients. He suspects a 2.5 GbE port was left out on cost, despite Ubiquiti's multi-gigabit switches on the horizon.
  • For business deployments, the host now prefers it to the nanoHD. His price-per-megabit figures were $0.29 for the $99 U6-Lite, $0.45 for the U6-LR and $0.60 for the nanoHD. He calls the U6-Lite comparison unfair, since the Lite is a 2x2 home AP. The nanoHD still edged the U6-LR by about 20 Mbps in his sustained-throughput test.
  • The host doubts his sustained-throughput test. The four clients totalled only 292 Mbps there, and he suspects disk I/O on the TrueNAS server serving one file to all four. He calls the testing unscientific but run identically for every AP: UniFi Network 6.1.61 on a UDM Pro, defaults except a 160 MHz channel, which gives the U6-LR a bandwidth edge.
Technology and FriendsKevin Ashley on AI for Design Art and Games [TECHNOLOGYANDFRIENDS 651]
  • AI can help adults recover the drawing ability they abandon as children. Ashley, an engineer and not a trained illustrator, says children give up drawing around ages seven to nine once perspective gets hard. His new book is a guide for anyone, not just data scientists, to using machine learning to improve their own drawing. He says he made its hundreds of illustrations himself with machine-learning help, and calls them a big step up from the basic drawings in his earlier book on machine learning in sports.
  • Treat the model as a partner, usable at any stage. He says you can start from a spoken or typed prompt (his example: a cucumber in a pink outfit walking a dog), from a sketch, or bring AI into only the stage you like least, such as line art or coloring. He goes further and says some models now pass a visual Turing test, meaning a viewer cannot tell their pictures from a human's.
  • Style transfer turned his line sketch into a painting. Drawing on research papers about separating a work's style from its content, he moved the style of Vermeer's Girl with a Pearl Earring onto his own sketch and says he touched up little beyond the eyes. The model was trained on anime and manga, which shows in the result. He says face models estimate the head's 3D orientation (the iris is about 11 mm across, and some Google models map 486 facial features), which lets the light source be moved after the fact.
  • AI can take over the frame-by-frame labor of animation. In the 1930–1950 golden age at Disney, he says, a lead animator drew frames 1 and 96, about four seconds, and others drew the 94 in between. AI can now animate a character's speech and lip movement from a single image, which he says is useful to professional animators too.
  • Zero-setup cloud notebooks keep the method open to non-programmers. Instead of asking readers to install a conda environment with PyTorch and Keras, the book uses cloud notebooks such as Colab that run from a link. He says his wife, a watercolorist, was doing style transfer within 10–15 minutes. On 5 February 2021 he said the book was about 80% done, on Kickstarter, and due in about two months.
Scott HanselmanWSL2, Visual Studio Code, Windows 10, Ubuntu/Linux + more - Computer Stuff They Didn't Teach You #19
  • The terminal is not the shell. Hanselman presents Windows Terminal as a console app that hosts many shells (cmd, PowerShell, Linux distros) as customisable profiles; at recording it was at 1.6, with 1.7 in preview adding a settings GUI instead of JSON editing. He themes his prompt with Oh My Posh 3, which he says works across Mac, Unix and Windows.
  • WSL needs only a Windows feature and a Store distro. He turns on Windows Subsystem for Linux under Windows Features, saying Hyper-V is not required, then installs a distro from the Microsoft Store and it appears in the terminal. He says it works on Windows 10 Home as well as Pro, and with free Visual Studio Community, VS Code and Ubuntu makes a free Linux dev setup.
  • Treat Windows and Linux as two machines and sync with git. Windows drives are reachable from Linux under /mnt, but he says that path is slow because it is "a bit of a network hop" even though it is local. He keeps separate clones on each side and runs git pull on both, and shows each side has its own .NET install, path, prompt and fonts to keep up to date.
  • VS Code becomes a client-server app into Linux. Running code . from Ubuntu installs a VS Code server inside Linux, so the Windows editor's terminal, file dialogs and debugger all work in the Linux environment; he sets a breakpoint in his .NET site and says Node and Python work the same way. explorer.exe . shows each running distro's files as a network share, which he says gives integration a virtual machine cannot match.
  • Full Visual Studio can debug in WSL2 too. With an extension, Visual Studio offers WSL2 as a launch target next to IIS Express and Kestrel, and runs his podcast site from the Windows drive inside Linux. His conclusion is that you can be a Linux developer on Windows, as long as you keep track of which file system and OS your code is on.
Technology and FriendsChristos Matskas on Microsoft Identity Platform [TECHNOLOGYANDFRIENDS 650]
  • Identity work splits into signing users in and running apps securely. Matskas, a PM on Microsoft Identity's developer advocacy team, says his team is DevRel in practice, teaching both through Twitch streams, podcasts, user groups and conferences.
  • The Microsoft Identity Platform is an umbrella, not one product. He places Azure Active Directory at its core for organizational users and resources, and Azure AD B2C at the other end for external customers signing in with a username and password, social logins, or any OpenID Connect provider; B2B, easy auth for web apps, managed identities and service principals also sit under it.
  • Getting started takes an app registration plus a library. Registering in Azure AD or B2C yields an application ID and tenant ID that the code uses, and Matskas says developers should not need to think about protocols or flows. Registration is fully API-driven, so teams without portal access can use the Graph API, PowerShell, the Azure CLI or their own wrappers.
  • Standards compliance means developers can bring their own library. Because the platform follows OAuth 2 and OpenID Connect, he says an existing app, such as a Node.js app on Passport for three years, can just be pointed at Microsoft's endpoints. For new projects he recommends MSAL, which he says keeps reaching more languages, with a Go library in preview.
  • Managed identities let apps run without secrets. Matskas says developers can drop connection strings and secrets from local development for resources like Azure SQL and storage, then move the same code to production unchanged, where managed identity works with the Azure SDKs and Graph.
Crosstalk SolutionsStarlink + UniFi - Does it work??
  • Starlink works with your own router; theirs is optional. The host unplugged the Starlink Wi-Fi router, ran a 100-foot Cat5e cable from the power brick into a UniFi USG and got a DHCP address straight away. He says the same applies to a retail Netgear, a UDM Pro, EdgeRouters or pfSense. He used an on-site Cloud Key Gen 2 rather than a cloud-hosted controller in case the satellite link proved intermittent.
  • As a UniFi secondary WAN, Starlink failed over with no dropped pings. He created a new network of type WAN ("WAN2", IPv4 via DHCP, load balancing set to failover only rather than weighted) and assigned it to the USG's WAN2/LAN2 port. With firmware current as of 15 February 2021, he pulled the Xfinity cable and a persistent ping to 1.1.1.1 showed no interruption.
  • Starlink runs over CGNAT, which rules out port forwarding for now. The USG's WAN2 showed 100.68.134.85 while the public address appeared as a 143.x address. As far as the host knows, no port forwarding is possible today, perhaps until IPv6 arrives. He would be "very surprised" if VoIP worked well over it but left that test for a later video.
  • Speeds were good but latency was uneven. Fast.com showed 97 Mbps. Speedtest.net gave 83.46/28.59 Mbps at a 153 ms ping, then 120.79/14.06 Mbps at 26 ms, and 82.8/15.6 Mbps at 31 ms over a UniFi AC Mesh access point. Pings sat mostly at 20–40 ms with spikes to 117–136 ms. The host attributes the spikes to gaps in satellite coverage (shown on satellitemap.space) and expects them to shrink as more satellites launch.
  • Starlink's price is justified for rural users and business backup. At $99 a month, the host argues, it is not meant to compete with $59–69 cable. Its value is for people whose only option is roughly 3 Mbps DSL at $60–70 a month, and as about $1,200 a year of backup that is independent of terrestrial cable. He saw no slowdown in heavy rain, and the power brick drew 85 to almost 150 W.
Crosstalk SolutionsEngenius vs. Ubiquiti Bandwidth Showdown!
  • The EnGenius EWS850-AP edged out the U6 Lite overall, for far more money. The host's combined benchmark, an average of iperf3, OpenSpeedTest and sustained-throughput results, put the outdoor EWS850-AP (about $330) at 348 Mbps and the $99 Ubiquiti U6 Lite at 336 Mbps. He calls the two "about almost exactly the same." The nanoHD scored 300 Mbps, the EnGenius ECW230 214 Mbps and the UAP-AC-Pro 202 Mbps.
  • The priciest unit, the EnGenius ECW230, underperformed despite its specs. The $499 4x4 Wi-Fi 6 access point came fourth in iperf3 and OpenSpeedTest and last in sustained throughput, where the 4x4 Wi-Fi 5 nanoHD swapped into the same mount the same day ran about 2–2.5 times faster. He re-ran the test several times. He notes that Wi-Fi 6 is more about aggregate throughput in dense environments than about speed to any one client.
  • Which access point won depended on the test. The EWS850-AP led iperf3 at about 350 Mbps, which the host credits to higher-gain external antennas. The U6 Lite led OpenSpeedTest at about 450 Mbps. The nanoHD led sustained four-client downloads at over 300 Mbps. He calls the method "not entirely scientific": four low-end Wi-Fi 6 clients in fixed spots around his house, pulling from a NAS connected at 10 Gbps.
  • On price per megabit, the U6 Lite was the clear value. By the host's calculation it costs $0.29 per Mbps, ahead of the nanoHD ($0.60), the UAP-AC-Pro ($0.73), the EWS850-AP ($0.95) and the ECW230 ($2.33).
  • Crosstalk will stop deploying the UAP-AC-Pro. The host has installed hundreds of them, but at $147.99 it finished last overall. The nanoHD, another Wi-Fi 5 access point about $30 dearer, clearly outperformed it, so he is "sending it off into retirement."
Technology and FriendsJulie Lerman on Entity Framework Core 5 [TECHNOLOGYANDFRIENDS 648]
synopsis

Lerman argues that EF Core 5, released in November with .NET 5, is the release where the rewritten Entity Framework nearly matches EF6. She says it got there because the team brought old features back better rather than copying them.

How she became the expert. Lerman has worked for herself for over 30 years and now coaches teams and writes for Pluralsight and Code Magazine. She first saw the ORM unnamed at TechEd in 2006. It was Microsoft's third attempt, so others ignored it, and she says she was nearly the only one who knew it when Microsoft declared it the way to access data in .NET.

Versions and the rewrite. She counts eight versions. EF Core was rebuilt from scratch for open-source .NET Core and numbered from 1, skipping 4. EF6 still gets fixes for the millions of applications on it.

What EF Core 5 brings back. Many-to-many, left out of EF Core because the original was too limited, returns with more capability. Logging is now one LogTo call. A missing inheritance mapping arrives too, though she mixes up its two names. Giard guesses the shared-table idea comes from NoSQL, and she replies the concept is older.

Learning why, not just how. She tallies over 200 new features, including changing a context's connection after it is initialised, which she would not use herself. Giard suggests uses such as copying data to blob storage or per-customer databases. She looks in the linked GitHub issues for the reasons behind a feature, and points beginners to her updated Pluralsight course, Entity Framework Core Getting Started.

  • EF Core is a from-scratch rewrite, not a renamed EF6. Lerman counts eight versions: EF 1, EF 4 (numbered to match .NET 4), EF5 and EF6, then EF Core 1, 2, 3 and 5, with 4 skipped to align with .NET 5. EF6 is kept alive with small fixes and pull requests because millions of applications use it, and EF Core 5 shipped in November alongside .NET 5 and ASP.NET Core 5.
  • The team held back features until they could do them better. Lerman says easy many-to-many existed from the first Entity Framework through EF6, but EF Core left it out because the original had many limitations; it returns in EF Core 5 just as simple to use and with more capabilities. She says features were prioritised by how many people needed them, and EF Core 5 brings it "pretty close" to parity with EF6.
  • Logging no longer needs heavy setup. Earlier EF Core extended .NET Core's logging API but took "a lot, a lot" of non-obvious configuration. Lerman says EF Core 5 adds a single LogTo method on the context, such as to the console with filters, while the more elaborate route is still there.
  • The inheritance mapping some users badly needed has finally arrived. In Lerman's account of what EF Core 5 adds, the choice is between storing a derived class such as fish (from pet) in one shared table with many empty columns, or splitting common and derived data into separate tables. She swaps the names "table per type" and "table per hierarchy" as she explains, so the text does not settle which name goes with which layout.
  • Read the GitHub issue to learn why a feature exists. She counts over 200 new features in EF Core 5, among them changing a DbContext's connection or connection string after it is initialised, which her domain-driven "one context, one database" habit would never call for. To find a use for such features, she goes to the GitHub issues linked from the docs and looks for someone saying "I need this because", then turns to blogs. Her position: knowing why to use a feature matters as much as knowing how.
Crosstalk SolutionsStarlink Setup and Testing
  • Beta hardware cost $549 and arrived within a week. The host, in Oregon, paid $499 for the dish plus $50 shipping and received it four or five business days after his beta invitation. He says service is mostly limited to the upper latitudes of the US and Canada, with $99 pre-orders open elsewhere. He did not know the monthly fee at recording, having heard both about $50 and about $100.
  • Setup took under an hour, including filming. The cabling comes pre-wired with click-lock connectors and is configured through a phone app. The dish took six or seven minutes to find its satellites and re-aimed itself north-northeast. The host believes it draws around 90 W, too much for standard PoE. A $24 pole mount and a flat "volcano" roof mount are sold separately.
  • The dish needs clear sky; an obstruction crippled speeds. Starlink calls for about 100 degrees of clear sky. With the host's house in the field of view, the first tests gave about 9 Mbps down and 9 Mbps up. After he moved the dish roughly 50 feet toward the fence, it reached 78.3 Mbps down and 23.4 Mbps up at a 35 ms ping.
  • Wired and Wi-Fi speeds were the same at these rates. The router's aux port linked at 1 Gbps. Wired runs ranged from 40/14.4 Mbps at 90 ms to 76.8/16.6 Mbps at 20 ms. Average pings were 29 ms to 1.1.1.1, 70 ms to 4.2.2.2 and 20 ms to 8.8.8.8. An iPad over Wi-Fi got 87.9/15.4 Mbps, and 1080p YouTube felt like regular broadband to him.
GCastLive Streaming with Azure Media Services [GCast 107]
  • One live stream reaches many viewers and is archived at once. Giard describes Azure Media Services taking camera, screen or slide input and sending it to clients in near real time (a short delay depending on latency), broadcast to many devices worldwide, while saving the footage to Azure Storage so people can watch it later.
  • A live event needs a Media Services account and an RTMP input. In the Azure portal he creates a Media Services account with a new resource group, the East US region (near him, to cut upload latency, assuming his viewers are there too) and a new storage account, and ticks the box promising not to broadcast content he does not own the rights to; it takes about 30 seconds. On the account's live streaming blade he adds a live event, keeps the defaults with no encoding and RTMP input, starts it, and copies the input URL it gives him.
  • Local broadcasting software pushes the feed to that input URL. He uses the free version of Telestream's Wirecast, which he says is fine for experimenting but not commercial use because it watermarks the video and periodically announces "this is Wirecast". He adds a webcam layer (screen capture is another option, and inputs can be switched live), moves it from preview to live, pastes the input URL as the RTMP server in the output settings, and starts broadcasting; the portal preview shows the feed a few seconds behind, and refreshing the page cleared an error it threw.
  • Public viewing needs an output, streaming locator and streaming endpoint. He creates an output and a streaming locator with the defaults, starts the streaming endpoint, and pastes the streaming URL as the source of a video tag in a plain HTML page (the same sample from an earlier episode, without the track or captions), which then played the live feed.
  • Stop the live event and streaming when done to avoid compute charges. Giard warns that you are charged while the event runs, citing the cloud rule that "storage is cheap, compute is expensive"; once stopped, only the small charges for configuration and storage remain.
Scott HanselmanTransparent Glass Whiteboard in Microsoft Teams or Zoom with OBS for FREE!
  • A glass light board can be faked with free software. Hanselman credits the technique to a blog post by Rob Farley, which replaces a physical light board (writing on clear glass, then flipping the image) with OBS and a green-screen trick; he calls it the inverse of his own earlier method of punching a hole in PowerPoint slides to put himself inside them.
  • Key a drawing app's background out and layer it over the camera. In OBS he adds a video capture source for himself and a display capture of a second screen running Microsoft Whiteboard, whose background he sets to a loud lime green; he says the app does not matter (Paint or PowerPoint would do).
  • OBS's chroma key filter, set to a custom colour, does the work. He picks the whiteboard's green as the custom key colour, adjusts similarity, stretches the captured screen to crop out the toolbar, then draws with a Surface pen so the strokes appear to float in front of him.
  • Pen choice matters: rainbow and highlighter strokes look best. Some colours leave a visible haze after keying; he finds the highlighter the cleanest because its edges are not aliased. His broader point is that "you can punch a hole through anything" and place yourself anywhere in a scene.
GCastAudio Transcription and Captioning with Azure Media Services [GCast 106]
  • An Audio Transcription transform runs only the audio analysis. Giard uses it instead of the full video analyzer from the previous episode, which also spent time on face and object detection. He adds a new job on the uploaded asset with transform type Audio Transcription, turns off automatic language detection and specifies US English, names the output asset, picks the storage account and sets high priority; the job took about a minute.
  • The output asset is a set of analysis files, not video. Its container held emotions.json, insights.json, lid.json, metadata.json, transcript.ttml and transcript.vtt. Emotions came back empty, which Giard puts down to the clip being so short; lid.json reported English (US) at 100% confidence and would list percentages for other candidate languages; metadata.json describes the file itself.
  • The TTML and VTT transcripts carry timed, confidence-scored caption text. Both hold the same content in different formats, broken out by time range (the first sentence spanning 0 to 7 seconds) with a confidence level per segment. Giard notes both are standards usable on the web and calls them the most interesting of the outputs.
  • Captions need the transcript in the same container as the video. Giard points an HTML video tag's source at the streaming manifest from View Locator, uploads the VTT and TTML files into the container holding the adaptive streaming videos, and sets a track element's source to the VTT file using that container's URL. The player then showed captions; with several caption files a viewer could switch language or turn captions off.
Crosstalk SolutionsHow to Terminate Ethernet Cables
  • An adjustable rotary stripper removes the jacket more accurately than wire strippers. The host uses a Monoprice tool whose cut depth is set by a screw to suit the cable's thickness. He then snips the nylon string and, on Cat6 plenum, the plastic pair separator as close to the jacket as he can, taking particular care where a cable already run through a wall leaves little slack.
  • A dedicated untwist tool is the one purchase he most recommends. Its centre channel untwists each pair and its side channels pull the wires straight, which he found much quicker than doing it by hand and wishes he had bought years ago. Before inserting the wires into a connector, he lines them up and makes one straight cut across the ends.
  • Pass-through connectors with a matching crimper make male ends easier. He uses Platinum Tools' Cat6 pass-through connectors, which let the wires feed out the front, and the Platinum Tools crimper trims them as it seats them. The order he uses is white-orange, orange, white-green, blue, white-blue, green, white-brown, brown, and he re-checks it after insertion because the wires often shift.
  • Keystone jacks are his preferred female end for their versatility. He uses Cable Creation's CL0081 Cat6 keystones (a 20-pack), which have the B pinout printed on a sticker, and a 110 punch-down tool. Keep the blade's cutting side on the outside: he has severed wires by reversing it. If the trimmings don't come away, punch again. One jack fits 24-port patch panels, 1-, 2- or 4-port wall plates and surface-mount boxes.
  • Test every finished cable; the method suits any category. His Pocket Ethernet tester pairs with a phone app to show the wire map and a TDR length reading; his test cable read 3 ft, which he thinks is about the tester's minimum. He says that once the wires are exposed, Cat5e, Cat6, Cat7 and shielded or outdoor cable are terminated the same way.
GCastVideo Files and Azure Media Services [GCast 102]
  • A Media Services account bundles a resource group and storage account. From portal.azure.com Giard creates Media Services with a new resource group, an account name, East US as the location and a new storage account, which he prefers to an existing one to keep things together. He must check a box promising not to share anything he lacks rights to; creation took about 30 seconds.
  • Giard is remaking his early Media Services videos. He says he covered the service a couple of years earlier in the series, but the interface and the capabilities have changed a lot since.
  • Media enters the service as an asset backed by blob storage. On the Assets blade he uploads a local MP4 as an input asset, renames the suggested asset name and again affirms he owns the rights. The asset's details link to a blob container in the storage account; an asset maps to one container, which can hold one or more files, here just the uploaded MP4.
Crosstalk SolutionsDefinitive Guide to Hosted UniFi 2021
synopsis

The host builds a hosted UniFi controller for multiple sites from scratch, ending with UniFi 6.0.43 (current as of recording) running on an Ubuntu 20.04 cloud server. Its SSH accepts only keys, its firewall admits admin traffic only from known WAN addresses, and it serves a Let's Encrypt certificate that SSL Labs should rate A. The server. He uses Vultr (his referral link gives $100 of credit), noting that DigitalOcean differs only in VM creation. The $5-a-month tier is enough for a few sites and a couple dozen devices, and he advises paying $1 a month for auto backups in production. The hostname must be an FQDN on a domain you own, with a DNS A record pointing at the server, because Let's Encrypt depends on it.

Locking down SSH. He changes the root password first, since sudo still uses it after root login is disabled. He then creates a sudo user, generates a key pair and copies it to that user. In sshd_config he turns off root login and password authentication, keeping the root session open until the new login is proven. The private key is copied off the server, deleted from it and converted to .ppk with PuTTYgen. SSH then moves from port 22 to 2222, although he concedes that a high, rarely scanned port is better.

Firewall. In UFW, the SSH port, Cockpit's 9090 and the GUI's 8443 accept only authorised WAN IPs. STUN (3478/UDP), inform (8080) and 80/443 for Let's Encrypt are open to all. Ports 8880/8843 are needed only for a guest portal. Hooks that open 80/443 only during renewal are possible but out of scope. He warns that wrong rules lock you out once the firewall is enabled.

Housekeeping. After a full update and reboot, he sets the time zone and installs NTP. He adds an optional 4 GB swap file and the Cockpit monitoring GUI, plus haveged, which once sped UniFi's boot and which he keeps because it does no harm. A monthly cron job runs apt autoremove so /boot never fills.

Installing UniFi. OpenJDK 8 goes in first, then Ubiquiti's apt source and GPG key, then the unifi package. In the setup wizard, advanced setup allows a local account instead of Ubiquiti single sign-on, and device discovery finds nothing because a hosted controller has no LAN devices.

Certificate. Certbot with the Apache plugin issues the certificate and redirects HTTP to HTTPS. Developer Steve Jenkins' script, edited for the hostname, Ubuntu and LE mode, imports it into UniFi. A daily cron job re-imports the certificate whenever it renews.

  • A cheap cloud VPS is enough for a small hosted controller. The host installs UniFi controller 6.0.43 (current as of recording) on Ubuntu 20.04 at Vultr, whose $5-a-month tier he says suits a few sites with a couple dozen devices, or testing. He recommends paying $1 a month for auto backups in production. His Vultr referral link gives new users $100 of credit, and the same steps work on DigitalOcean apart from creating the VM.
  • Lock SSH to key-only login, no root, on a non-standard port. He changes the root password, which is still needed for sudo, and creates a sudo user with a copied key pair. He sets PermitRootLogin and PasswordAuthentication to no, keeping the root session open until the new login works. The private key is moved off the server, converted to .ppk in PuTTYgen, and SSH moved from 22 to 2222 (he says a high port such as 29999 is better).
  • Admin ports should only accept your own WAN IP addresses. With UFW, he allows the SSH port, 9090 (Cockpit) and 8443 (the UniFi GUI) only from authorised WAN IPs. He opens 3478/UDP (STUN), 8080 (inform), and 80 and 443 for Let's Encrypt to everyone, and 8880/8843 only if a guest portal is used. He warns that enabling the firewall with wrong rules locks you out.
  • Some housekeeping is optional and some prevents later failures. He sets the time zone and installs NTP, and adds a 4 GB swap file, which he calls optional and debated. He installs haveged, which once sped up UniFi's boot, though he is unsure it still matters. A monthly cron job runs apt autoremove (359 MB freed here) so /boot never fills, which he says causes problems.
  • UniFi needs a separate script to use the Let's Encrypt certificate. Certbot with the Apache plugin issues the certificate for the server's FQDN, which must have a DNS A record on a domain you own. Developer Steve Jenkins' import script, edited for the hostname, Debian/Ubuntu and LE mode, loads it into UniFi. A daily cron job re-runs it after each roughly 90-day renewal, and the host expects an A rating from SSL Labs.
GCastAnalyzing a Video with Azure Media Services [GCast 105]
  • Analysis is a job run with the Video and Audio Analyzer transform. Giard says analysis ranges from file properties to machine-learning detection of objects, faces, on-screen text and speech. Narrower transforms do only audio transcription or face detection; he picks the full analyzer for both video and audio with the language set to US English. The run took about 1 minute 14 seconds on a clip of about seven seconds, and he warns longer videos take longer.
  • The output is a set of data files, not a stream. The output asset's container held JSON files, a JPEG and zip files, which he downloads with the Azure Storage Explorer. The annotations file tags each time interval with confidence scores; it was 99% sure of a human face, a person, text, clothing, a man and a beard.
  • Moderation scores let a site screen uploaded videos. Each interval gets an adult score, a racy score and a review-recommended flag; Giard's understanding is that adult means pornography and racy means suggestive. He suggests setting your own rules, for example rejecting above 80%, sending 30–80% to a human reviewer and accepting below 30%.
  • Emotion and face files score faces and voice separately. The face emotion scores put joy highest at 69%, then sad and angry, while the vocal analysis read sad ("I looked happy, but I sounded sad"). faces.json gives each face's position, width and height, roll, pitch and yaw, and a 99.99% face confidence; the generated thumbnail was cropped to the face.
  • OCR and transcription ran with mixed results. OCR picked up a poster in the background but classed it as Chinese Traditional, which Giard thinks a language hint might have fixed. The TTML and VTT transcripts caught the one sentence he spoke.
GCastSharing a Video Online with Azure Media Services [GCast 104]
  • Sharing starts with a streaming locator on the encoded asset. On the adaptive-streaming output asset (four MP4s at different sizes plus metadata) Giard creates a new streaming URL. The streaming policy offers stream only, stream and download, or download only, with optional DRM; he chooses stream and download without DRM. The locator's expiration defaults to 100 years out and can be shortened, to three days for example.
  • A running streaming endpoint costs extra, so stop it afterwards. Giard starts the endpoint to serve the video and, at the end, stops it from the Streaming Endpoints tab. After that nobody can reach the video, but he is no longer paying for it.
  • View Locator lists direct download links for each file. The Downloads section has URLs for the JSON, the JPEG thumbnail and each MP4, whose names give their resolution; pasted into a browser tab, the JPEG renders and the MP4 plays.
  • The smooth streaming manifest URL gives an adaptive web player. Giard pastes the link ending in /manifest into the source element of an HTML video tag, from a template on his blog post of January 20, 2021 on adding an adaptive Azure Media Services video to a web page. The player auto-detected his wired connection and played a high resolution, let him pick a lower one, and its default controls can be restyled.
GCastEncode a Video with Azure Media Services [GCast 103]
  • Encoding runs as a job that executes a reusable transform. Giard describes the transform as the recipe, the steps to do a particular thing, and the job as the execution of it. A job is added from the uploaded asset's page; the first time there is only "create new" for the transform, but once created it can be reused for later jobs. Priority can be set to high, normal or low; he uses normal.
  • Giard picks the adaptive streaming preset to serve unknown viewers. The preset list covers AAC, adaptive streaming and various bit rates. He chooses adaptive streaming because it encodes the video in multiple formats, and he cannot know whether a viewer is on a phone or a computer, or on fast or slow internet.
  • Encoding time trades clip length against the number of formats. His very short clip went from queued to processing to finished in about a minute and a half, visible under transforms and jobs. He notes a longer video would take much longer, and asking for adaptive streaming adds work.
  • The job produces a separate output asset holding several renditions. The output asset sits in a different storage container from the input asset. It holds four MP4s whose file names show AAC audio and the resolution (1024x576, 320x180, 480x270 and so on), plus a thumbnail screenshot and metadata files (JSON, and ISM and ISMC manifests), which he says different clients use. He downloads them with Azure Storage Explorer; the renditions grow in size and sharpness from the grainy smallest to the sharp largest.
Technology and FriendsRichard Taylor on the Microsoft Revenue Recognition System [TECHNOLOGYANDFRIENDS 649]
  • Every Microsoft sale flows through one revenue recognition system. Taylor, about 10 months into a job at Microsoft, works on MS Sales, which handles direct and partner transactions, from Surface and Xbox hardware to online purchases. It has run for 20-plus years and has a 24-hour SLA to publish by midnight each day, and company budget and product-strategy decisions rest on its data. The $143 billion 2020 revenue figure is the host's, not Taylor's.
  • The migration to Azure is "changing the engine while flying". SQL Server has been the core; part of the processing moved to HDInsight on Azure about six months before Taylor joined, and reporting moved from on-prem hardware to Azure. The on-prem data warehouse is the last piece and is being moved now, in short downtime windows with DNS, connectivity and configuration changes. After that the plan is more PaaS, Synapse, and real-time streaming in place of the daily batch.
  • Azure infrastructure is built for each daily run and sized from history. Everything except the reporting platform is spun up for each daily delta run and torn down afterwards. The system sizes it from past volume for that day, day of week or time of month, because load depends on transaction count, not dollar size. Once a week a "restatement" reprocesses everything from the beginning of time, because business rules and revenue recognition rules change.
  • Cloud developers can no longer leave infrastructure to IT. Taylor's team of roughly 80 to 100 developers writes the business rules and also the code that builds the infrastructure daily and tears it down, so some of them have had to learn servers, which they struggle with. He has little accounting background, since others own the rules, and he finds the infrastructure side natural because he started out as a network engineer.
  • Cloud security is not harder, but on-prem assumptions no longer hold. Two servers in a data center might talk unencrypted because an attacker would have to get physically inside, but resources recreated daily on different underlying hardware cannot be trusted that way. So the team encrypts traffic and data at rest. He calls the cloud a "no-brainer" for most workloads, except where regulation rules it out.
Technology and FriendsKevin Pilch on gRPC [TECHNOLOGYANDFRIENDS 647]
  • gRPC is a contract-first remote procedure call system. Pilch, group engineering manager for .NET app frameworks, says messages and parameter types are described in a .proto file that defines the protobuf binary wire format, so a client and server in different stacks (.NET, C++, Go, Java, Rust, Node) interoperate by sharing that file. It came out of Google but the G officially stands for nothing; each release's notes name a new meaning. He likens it to WCF for long-time .NET developers.
  • Its advantage over JSON web APIs is efficiency and an explicit contract. Binary serialization compacts messages, and HTTP/2 adds binary headers and bidirectional streaming that HTTP 1.1 lacks; with REST, he says, the schema is usually extracted from code afterwards with Swagger tooling such as Swashbuckle, whereas gRPC starts from a contract shared across stacks.
  • Microsoft relies on standard open-source tooling for writing proto files. Visual Studio uses a TextMate grammar for coloring and indentation; the team's own work lets a project add a service reference to a proto file and generate the code. A server typically starts as an ASP.NET Core app with gRPC added as endpoints in startup, and he points to the docs at docs.microsoft.com/aspnet, much of it by James Newton-King of Newtonsoft.Json.
  • .NET now has the second-fastest gRPC implementation, he says. Pilch cites his team's benchmarking as of the .NET 5 release: just behind Rust and ahead of Go, C++ and Java.
  • gRPC always runs over HTTP, with a fallback for browsers. HTTP/2 is the default, but browsers expose no HTTP/2 APIs to JavaScript, so gRPC-Web downgrades it to run over HTTP 1.1. The host's question on whether HTTP/2 is still used between processes on the same machine gets no answer in the captions.
Technology and FriendsHeather Ackels on TechOlympics [TECHNOLOGYANDFRIENDS 646]
  • TechOlympics is a tech conference for high schoolers, run by high schoolers. Ackels, executive director of the Cincinnati nonprofit Inter Alliance, calls it the nation's largest such conference; she is its only adult employee, and 30 students handle everything from t-shirt design and procurement to the website and speaker recruiting. Normally about 500 students attend three days in person with an overnight hotel stay, for about 80 hours of content; this was its 11th year, she believes.
  • The 2021 edition spreads that content virtually across all of February. She says students have had enough of Teams and Zoom, so the event runs in themed weeks, each opened by one of four keynotes, across tracks in art tech, software, cyber, and data and AI, plus career preparation such as GitHub, LinkedIn and resume training. Hands-on workshops rise from about 10 to between 20 and 25, and a hosted Minecraft server and chess competition stand in for the student lounge.
  • Going virtual cut the price sharply, and sponsors cover the rest. It drops from the usual $200 to $40, or $10 a week, with generous scholarships on request, and the event is open beyond its usual 50 miles around CVG; a $5,000 Rotary grant paid for free registration for 125 city students. Sponsors include FIS (primary), Anthem Digital and Procter & Gamble, plus Microsoft prizes such as Surface Go raffles, and she says the money goes back to students: over $100 of materials each, including GE Aviation lockpicking kits and temporary Illustrator and Photoshop licences.
  • The programs are a direct pipeline into local tech jobs. Inter Alliance places 50 to 75 paid technology interns every summer, internship job descriptions go to TechOlympics students before anyone else, and over 50 business partners have virtual exhibitor booths. About four of this year's sessions are led by alumni, including a Duke student on AI and an advanced GitHub class.
  • Representation decides whether a student is interested or inspired. Ackels says having a presenter "who looks and sounds like you" makes that difference, so the group partners each fall on a women-in-technology conference that draws about 300 high school girls and has brought in a consultant to refresh its diversity and inclusion strategy. Her own route in: she was "voluntold" to mentor there from Kroger Technology after maternity leave, and eight years later runs it.
GCastAzure Resource Groups [GCast 101]
  • A resource group's region does not bind what goes in it. Giard says he is unsure how much the group's location matters, since resources in other regions can be placed in it; his demo group is in East US and he notes a web app could go in Central US. He typically puts a group near himself, his users or the resources it will use.
  • Resource groups gather an application's parts in one place. A web app's app service plan, and any SQL Server, Cosmos DB or functions it uses, logically belong in the same group, so opening the group shows "this is my application" at a glance.
  • Deleting the group removes everything in it at once. Giard uses this to clear multi-part demo apps rather than deleting resources one by one. Because it is destructive, the portal makes him type the group's name before the delete button is enabled.
  • Resources can move between groups and now between subscriptions. Moving some or all resources to another group can merge groups, or to a new one can effectively rename a group. Moving to another subscription "didn't used to be possible", he says, and matters when handing work to a customer or changing billing.
  • Export template generates an ARM template for the whole group. The template automates creating all the group's resources, and can be deployed with PowerShell or the CLI, with parameters changed for different names or locations. It can be added to a library or downloaded as separate files.
GCastCreating a Screencast [GCast 100]
  • A mid-range microphone is enough; avoid the laptop's built-in one. Giard uses a Microsoft headset with a boom mic and says about $50 buys good enough quality, with no need to spend hundreds. He turns the mic level up and makes sure Camtasia records from the headset, not the webcam mic.
  • Giard captures the screen in Camtasia, splitting long waits into clips. Camtasia Studio from TechSmith costs a couple hundred dollars, with a free trial he thinks lasts 30 days; he recommends trying it before buying. F10 stops recording; he records separate clips to skip a step that takes, say, five minutes, and notes Camtasia does not add later clips to the timeline automatically, so he drags them in, adding a transition such as page roll to signal time passing. He exports a best-quality WMV at 1080p with no watermark; episodes run about 7 to 25 minutes, and longer topics get split into two or more videos to stay consumable.
  • Intro and credits come from re-saving the last episode in Premiere Elements. Adobe Premiere Elements costs under $100. He opens the previous episode, saves it under the new name, deletes the old screencast, edits only the episode number, title and recording date in the intro and outro, drops in the new WMV, and raises clip audio gain by about 5 or 10 if it sounds quiet before exporting.
  • Recording date goes in the YouTube tags because software changes. He switches to the GCast channel's own account (each of his three shows has one), titles the upload "<title> [GCast NNN]", marks it not made for kids, and tags the recording date so viewers can judge whether a demo is still relevant; he sometimes re-records a demo years later. He usually publishes public, and sometimes schedules uploads days or a week apart when he records several in one day.
  • Giard replaced YouTube's auto-thumbnails with a standard PowerPoint title card. YouTube picks three frames pseudo-randomly, and he found them not indicative of the content. He duplicates a slide in a PowerPoint deck, changes the episode number and title, swaps in a different photo of himself (using the selection pane to reach the picture behind other elements), and saves just that slide as a PNG to upload as the thumbnail.
Scott HanselmanWhat happens when you type a URL in the web browser and press Enter? Computer Stuff #18
  • The interview question tests reasoning about layers, not trivia. Hanselman says that when he asks it he wants to see whether a candidate can puzzle out how it might work and design a system on the fly, and the right depth depends on the job (the back-end database for a database role, firewalls for a network engineer). His rule is to understand one layer deeper than you usually work, as he can change his oil and a tire without being a mechanic.
  • The first step is DNS turning the domain into an IP address. He describes DNS as the internet's yellow pages: global and distributed, so different servers (his home server, 1.1.1.1, Google's 8.8.8.8) return the same address, and results are cached, which is why developers say "it's always DNS" and flush it when an address changes. In an inserted correction he concedes that his opening ping example is not strictly a name lookup and that nslookup is the precise tool; whois shows hanselman.com, hosted by DNSimple, was bought in 1998.
  • TCP/IP connects and splits the data, hidden beneath the browser. The browser does a three-way SYN / SYN-ACK / ACK handshake on port 80 for HTTP or 443 for HTTPS, and IP chops the content into packets that may arrive out of order but are reassembled intact, like a delivery split into several boxes. He uses the OSI model to show that the application layer where browsers live sits on physical layers (wire, fiber, Wi-Fi) the user never has to think about, and notes that "ethernet" is the format while the cable is an RJ45.
  • Browser dev tools and curl expose the HTTP conversation. In dev tools the page itself arrived in just over 50 milliseconds, after which the browser parsed it and requested the images and JavaScript it referenced. With curl he shows the certificate exchange and the negotiation of HTTP/2 against 1.1, the GET of the root path, the user agent, and headers such as the en-US language preference and cookies, then renders his homepage in the text browser Lynx.
  • Status codes signal success, redirect, client fault or server fault. He gives the series as 100 informational, 200 success, 300 "go over there", 400 "your fault" and 500 "my fault", and shows his bare domain returning a 301 permanent redirect to the www address. Behind the HTML is either a static site (unchanging files) or a dynamic one like his blog, and a busy site such as Twitter sits behind a load balancer spreading requests across many servers, round robin or by load.
Technology and FriendsKevin Griffin on SignalR Real World Projects [TECHNOLOGYANDFRIENDS 645]
  • SignalR lets the server push changes instead of clients polling. Griffin describes it as a wrapper around WebSockets that notifies web pages, mobile, desktop or IoT clients when server state changes. He agrees with the host that it pays off most when data must be current but changes rarely, since most polls return nothing. Polling the database for deltas is the bottleneck he sees most often.
  • Replacing a one-second page reload cut server CPU from 100% to under 1%. The client was a nonprofit that aggregates data from many 911 and emergency agencies into dashboards used mainly in firehouses around Ohio, and by scanner enthusiasts. Its ASP.NET Web Forms update panel reloaded a page of at least 1 MB every second for about 600 users. Griffin rebuilt it on full-framework ASP.NET SignalR, sending only deltas: new, updated or resolved incidents. Of about 200 dashboard configurations, each client gets only the updates for the ones it is viewing.
  • Griffin says SignalR "can potentially save lives". A firefighter he works with told him of a crew that saw a cardiac-arrest call flash red on the new board and was already pulling out of the firehouse when the dispatcher radioed it. He puts the gap at roughly 20 to 30 seconds.
  • Its best uses are small notifications, not big problems. On other client projects Griffin has built a real chat box, site-wide alerts and an administrator-announcement flag tracked per user and synced across all of a user's open tabs. He also pushes progress and errors for import jobs that take more than about 10 to 15 seconds, sent only to the users who care. These replace jQuery timers that hit the server for nothing.
  • It is simple to set up and works with many kinds of clients. His demo takes under five minutes, plus TypeScript setup that is not required. Clients can be JavaScript, .NET console, WPF, Universal Windows, iOS or Android, with no server change for each type. Recording on 6 January 2021, he said his course at SignalRMastery.com would launch on 13 January and would walk through the 911 system's architecture.
GCastPowerPoint Animations [GCast 99]
  • Picking from the ribbon replaces an object's animation rather than adding one. PowerPoint's four categories are entrance (green in the animation pane), emphasis (yellow), exit (red) and motion paths. To stack several on one object Giard uses Add Animation, and reorders them by dragging in the animation pane; emphasis effects are grouped as basic, subtle, moderate and exciting.
  • Start settings chain animations onto a single click. Each animation defaults to "on click"; "with previous" and "after previous" make them run together or in sequence. Giard sets a fly-in, a wipe and a float-in to run after one another so one click plays the whole sequence.
  • Effect options and timing tune each animation. The options depend on the object: Giard sets a wipe to run from the left to match an arrow's direction and adds a half-second bounce at the end of a float-in. Timing sets a delay and a duration, here waiting half a second and taking two seconds.
  • Motion paths and text effects add movement and staged reveals. Motion paths include lines, arcs, turns, shapes and loops, with more such as a curvy star. Text can be revealed one line per click, or animated by word or by letter.
  • Giard's advice: add animation last, and sparingly. He builds the content first, then looks for places animation helps, such as revealing a flow chart in the direction of flow as he talks. Too much of it, he says, makes the audience stop listening and watch the slides.