Souk's Notes - Unofficial Summaries

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

Crosstalk SolutionsRingCentral Exposed: How They Rip Off Businesses
  • The host calls choosing RingCentral a bad business decision. He says up front that VoIP is Crosstalk's core business and RingCentral a direct competitor, so he stands to profit from the criticism. He rests the case on one client, a roughly 65-employee engineering firm that he calls "Mom and Pop Engineering" and that signed with RingCentral in 2020 while keeping its own Polycom phones.
  • The client's bill was far too high for its size. It paid over $2,200 a month in service alone, owning its phones, for 65 users, 92 DIDs and two meeting rooms. The two rooms cost $363 a month, while the host puts real Zoom Rooms at $499 per room per year, about $66 a month for two.
  • RingCentral would not let the shrunken client cut licences. The firm fell from 65 to 24 employees during COVID and used about 1,000 minutes a month, but its contract blocked downsizing. By the host's own Crosstalk Cloud PBX calculator, those minutes and 92 DIDs cost about $100 a month, or about $300 with two Zoom Rooms, before taxes of roughly 15–20%.
  • The host calls RingCentral's add-on fees padding. The bill carried about $256 a month in state, local, USF and E911 taxes, plus another $256 for a "compliance and administrative cost recovery fee". He reads RingCentral's own explanation of that fee (regulatory compliance, number management, data centres, patents) as costs that belong in the 52 unlimited licences. Even with taxes and fees removed, the bill stays above $1,750 a month, more than five times his alternative.
  • A surprise three-year term trapped the client after it switched. Crosstalk quoted about $1,350 up front for migration, configuration, training and 30 days of support, which the host puts at a two-month payback and savings of over $2,000 a month. RingCentral then said the contract ran three years, leaving more than $27,000 still owed. Crosstalk, which says it is month-to-month only, agreed to delay billing a year. The host's prescription is to own your phones and numbers and pay only for the minutes you use.
Polis PanditWhat Is Up with Vivek Ramaswamy?
  • This post includes paid content that is not available publicly. See the original source.
Mr. GlobalDefending Oliver Anthony
  • Oliver Anthony rejects the political figures claiming his song. After defending the singer over his song's second verse, he plays a clip of Anthony saying it aggravates him to see conservative news, musicians and politicians act like his allies to ride the song's attention. Anthony says the song is bigger than Joe Biden and was written about the people on the presidential debate stage where it was played.
Crosstalk SolutionsJake Tivy's OVERKILL 200Gbps Network at LTX2023 Whale LAN
  • A software firewall and MikroTik core handled the event's edge comfortably. Whale LAN at LTX 2023 had a 5 Gbps fiber connection, terminated on a 1U Supermicro server running OPNsense with a 4-port 10 Gb NIC. That server linked by 10 Gb DAC to a MikroTik CCR2216-1G-12XS-2XQ core with a 16-core CPU, a Marvell Prestera switch chip for layer-3 hardware offload, two 100 Gb QSFP28 ports and twelve 25 Gb SFP28 ports.
  • A huge local game cache kept internet use low. The LANcache server (dual 32-core AMD Genoa, 1.5 TB DDR5, six 15 TB Kioxia CM7 Gen 5 NVMe drives in an LVM stripe with XFS, 84 TB) hung off the core on two 100 Gb links aggregated to 200 Gbps. It was preloaded with 32 TB, about 25% of it Windows updates, and took on 1.5 TB more over the two days. Internet peaked at about 2.1 Gbps, which Jake Tivy attributes to speed tests and credits the cache for.
  • UniFi gear, Ubiquiti being the event sponsor, gave every seat multi-gigabit access. Two UniFi Switch Pro Aggregation units each got 100 Gb from the core over four aggregated 25 Gb links, the far one over mini-armored indoor single-mode plenum fiber from infinitecables.com. Each table had a dual 10 Gb aggregated Cat6 uplink to an Enterprise 48 PoE or XG 24 switch, so every attendee had at least 2.5 Gb and some tables had 10 Gb.
  • Tivy measured the cache well past 200 Gbps. He used the LANcache prefill tool's benchmark mode: locally it pulled 300–400 Gbps. Across the network, two Proxmox VMs, one per 100 Gb link because LACP will not spread a single client over both, reached 200 Gbps, and a third server took it to 300. He dropped ZFS after hitting a ceiling around 80 Gbps on what he calls a highly random workload.
  • Copper-to-SFP transceivers were the only trouble; next year runs fiber to tables. Tivy says the networking had essentially no problems, apart from inconsistent RJ45-to-SFP transceivers on longer Cat6 runs. He cites LANFest Colorado running the same unarmored fiber to its tables for five or six years. Because the LAN sat in front of the main loading door, a small team tore it down and loaded pallets in about two hours after the 6 pm close.
Polis PanditWe Need To Take "Rich Men North of Richmond" Seriously
  • This post includes paid content that is not available publicly. See the original source.
Crosstalk SolutionsRaspberry Pi UPS? Do you need this?
  • The SunFounder PiPower 2 is a cheap pass-through Pi UPS. It costs $25.99 and works with Raspberry Pi 3 and 4 boards, the Zero and Zero 2, and other single-board computers that run on 5 V 3 A power. It takes USB-C in and gives USB-C or micro-USB out from a 7.4 V 2000 mAh lithium-ion battery, which the host says runs a Pi for about three to four hours.
  • Its extras beat a DIY battery, but the host couldn't get graceful shutdown working. It has a power switch, charging and power LEDs, four battery-level LEDs at 25% each, and I/O pins for battery voltage, USB-power detection and a low-battery signal. He soldered the low-battery pin to a GPIO pin and tried both a config.txt line and a Python service, but neither left any log output, so he does not know whether either worked.
  • The host argues most people don't need one. His reasoning is that anything critical enough to need high uptime probably shouldn't run on a Pi, and enthusiasts can plug the Pi into a UPS they already own. He sees a use in portable setups such as boats and RVs (the main answer when he asked on Twitter), on unstable power, in protecting SD cards from hard power loss, and for Home Assistant, Pi-hole or VPN Pis without a larger UPS. At $26 he would buy rather than build one, and notes it was sold out at SunFounder at the time.
Crosstalk SolutionsITDRC Deployment Field Update - Bedrock Fire
  • The host deployed with ITDRC to bring Wi-Fi to a fire camp. The camp is the 36-acre Bedrock Fire base camp in Oregon, where first responders sleep, eat and shower between shifts. Gigabit fiber was run to the camp's IT tent a day or two after it opened, at what he calls a significant cost, and he calls having it at so remote a site a lifesaver.
  • Point-to-point links and Meraki APs spread that fiber across the site. From the IT tent, one point-to-point goes to a trailer with a LiteBeam AC on the receiving end and another goes to the dining tent, which has its own indoor access point. Two directional Cisco Meraki MR86 access points on the trailer cover the security gate and the sleeping field and showers. The host got about 30 Mbps on the free public Wi-Fi from the far side of the field.
Polis PanditTrump Indicted AGAIN, Democracy v. Republic, and Rand Paul's Coup In Niger
  • This post includes paid content that is not available publicly. See the original source.
Polis PanditOctogenarians In Politics, Credit Card Competition Act, Impeaching Biden, Alabama Defies the Law, and Why You Should Care About Shohei Ohtani
  • This post includes paid content that is not available publicly. See the original source.
GCastAzure Monitor Diagnostic Settings [GCast160]
  • Diagnostic settings route monitoring data beyond the default retention. Giard says Azure Monitor and Application Insights keep data for 90 days by default; a diagnostic setting sends incoming data elsewhere to archive or query it. It lives under Monitoring > Diagnostic settings on the Application Insights resource, reached via "Add diagnostic setting".
  • Several settings can apply different rules to different data. Each setting is named and picks its own categories, either all logs or chosen ones, plus all metrics; Giard thinks the limit is five. The category list depends on the service — his app service showed availability results and browser timings — and some services break metrics out more finely.
  • Event hubs and partner tools take data for outside processing. Streaming to an event hub lets something else pick entries up and run a more complex workflow, and a registered third-party solution such as Splunk can receive the diagnostics. He did not demo either, having neither set up.
  • A Log Analytics workspace makes the data queryable with KQL. The workspace must exist beforehand; Giard says workspaces store data in Azure Data Explorer (ADX).
  • Archiving to a storage account keeps data past 90 days. The storage account must be set up in advance, and the data moves into blob storage. His example contrasts two settings: one category set archived and sent to a workspace, another sent only to the workspace.
Crosstalk SolutionsPasskeys are HERE and they're SECURE! Learn this today...
  • Passkeys are FIDO2 security repackaged for ordinary consumers. The host explains them as the consumer version of the FIDO2 and WebAuthn standards (originally "discoverable WebAuthn FIDO credentials", renamed by Apple). The device holds a private key and the site holds only the public key. Instead of a YubiKey, the vault becomes the Apple iCloud Keychain or the Google/Android ecosystem, unlocked with Face ID or Touch ID.
  • Even the weakest passkey beats the strongest TOTP or SMS setup. The host's reasoning: there is nothing to phish, and a server breach leaks only public keys, because the challenge is answered locally on the device. He contrasts this with the LastPass breach, where stolen vaults protected by weak master passwords can be brute-forced, bypassing two-factor entirely. He cites an estimate that weak passwords cause 81% of hacking-related breaches.
  • Synced passkeys trade some security for sharing; hardware-bound ones don't. Apple lets users share passkeys by AirDrop, and iOS 17 adds family groups for sharing passwords and passkeys. The host concedes this makes synced passkeys less secure than hardware-bound keys like YubiKeys, but still more secure than any other method in common use.
  • Adoption is still early, in consumer and enterprise use alike. In his Best Buy demo (iPhone, iPad, and a PC via QR code), you still need a password to sign up, and it can't be removed once a passkey exists. Google Workspace opened a passkey beta the month before recording. Enterprise questions (personal devices, credential sharing, compliance) remain unresolved, so he suggests firms use hardware-bound FIDO2 keys meanwhile. passkeys.directory, run by 1Password, lists which sites support them.
  • The host keeps YubiKeys for sensitive accounts, synced passkeys elsewhere. He puts financial, email, password-manager and work accounts on hardware-bound YubiKeys, and lower-stakes logins (Best Buy, eBay, Adobe) on synced passkeys. Yubico sponsored the video and gave a $5 discount code, and the host says he has used YubiKeys for over three years. For those who distrust Apple and Google, 1Password, Bitwarden and Dashlane have announced passkey-manager support.
GCastBuilding and Editing an Azure Application Insights Dashboard [GCast 159]
  • Application Insights creates a default dashboard with each application. It opens from the Application Dashboard button on the resource; Giard says it may be all you need, or you can edit it or create a new one with Create, choosing a template close to what you want (Azure Inventory is his example) and naming it.
  • Edit mode lets you add, move, resize and delete tiles. Edit opens a tile gallery; the default dashboard has 11 tiles. He drags a clock tile on (options: time zone, 12- or 24-hour), drags tiles around, resizes through each tile's ellipsis menu (the clock offers only 1x1 or 2x1), refreshes stale tiles, and deletes with the trash can shown on hover. He suggests smaller tiles to fit more on screen, or bigger ones for vision-impaired users.
  • A markdown tile can tell viewers how to read the dashboard. The markdown can be typed in or pulled from a URL; his suggested use is instructions on what matters most and what to look for. Save takes a new name, Preview shows what a user will see, and Add tiles reopens a closed gallery. Giard calls dashboards a great way to give users a quick view of an application's health.
Technology and FriendsJ. Tower on Migrating Legacy ASP.NET Applications [TECHNOLOGYANDFRIENDS 764]
  • Migrate legacy ASP.NET web apps to ASP.NET Core gradually, not all at once. Tower, an owner of the consultancy Trailhead Technology Partners, says locking a team away until a big project is rewritten is a waterfall approach and less successful; web projects need the most manual work because the two frameworks differ in configuration, dependency injection, startup and a pipeline the old one ties heavily to IIS. He frames the approach as the Strangler Fig pattern, after a vine that grows around a tree until it displaces it.
  • Retarget shared class libraries to .NET Standard so both apps use them. Tower says .NET Standard gets little attention now that Microsoft talks about "one .NET", but it lets a single copy of a library run under both .NET Framework and modern .NET during the migration. Newtonsoft.Json (JSON.NET) is compiled against it, so legacy serialization code can keep using it even though ASP.NET Core defaults to the built-in System serializer.
  • Put the reverse proxy inside the modern app itself. Rather than a separate hardware or virtual proxy in front of the legacy and modern apps, Tower prefers two pieces: the modern app is exposed to the internet and decides whether to handle each request or forward it to the legacy app. YARP ("Yet Another Reverse Proxy") is a NuGet library, and Microsoft's .NET Upgrade Assistant extension for Visual Studio creates a new modern project with YARP already installed and configured.
  • YARP is driven by configuration, with an API for unusual cases. Tower says per-environment settings in appsettings.json can cover routing, multiple servers and load balancing, and YARP supports the HTTP versions ASP.NET Core does (up to "version 3, I think") including WebSockets. Asked by Giard about encryption, DoS throttling and caching, he agrees these are not built in and says an off-the-shelf product like Cloudflare or a firewall would suit them better than writing them on YARP.
  • A Microsoft adapter library covers code broken by System.Web's removal. Tower says System.Web was dropped from ASP.NET Core because it was tied to IIS, breaking code that uses request, response, session state, authentication or HttpContext; a .NET Standard NuGet library he calls the "system.web extensions" forwards the most commonly used, though not all, of those APIs to the right framework. He says it can also share session state and the legacy app's authentication between the two apps, and points to a YARP team video series on Microsoft's YouTube channel from around May or June 2023.
Polis PanditAre You Complicit In Cobalt Mining? Plus Trump's Fascist Second Term Plans, DeSantis and Nazism, and Goodbye Credit Card Points
  • This post includes paid content that is not available publicly. See the original source.
GCastAzure Application Insights Alerts [GCast 158]
  • An alert is a signal, a condition and an action. The signal is a measurement such as a function's average CPU or a page's response time; the condition is a threshold such as CPU above 80%, or relative to what is typical; the action notifies someone or hands off to a workflow such as a Logic App. Alerts sit under Monitoring > Alerts on the Application Insights resource, alongside action groups and alert processing rules, which Giard describes as exceptions to or post-processing of rules.
  • Signals come from metrics or from editable log queries. Log search signals run a KQL query that can be modified, such as Page Views Trend; Giard instead picks the Server Response Time metric.
  • Conditions can be static thresholds or machine-learned dynamic ones. Static: he sets average server response time greater than 1,000 ms (one second), with average, maximum or minimum as the aggregation. Dynamic replaces the number with High, Medium or Low, which Azure sets from historical data to flag anomalies. Dimensions such as result code can narrow the condition, and an evaluation frequency (every minute, every five minutes) plus a look-back period complete it; each evaluation has a cost.
  • Action groups are defined once and reused across alert rules. Built-in groups exist, but Giard prefers creating his own: resource group, all regions or one region, a unique name and a display name. Notifications can be email, SMS (country code and number), mobile push or voice call, several at once depending on severity, as plain text or a well-known JSON schema. Actions go beyond notifying: an event hub, Logic App, webhook or Azure function. Tags only help with grouping and reporting.
  • Severity should match the alert, and action groups can be tested. Giard suggests a response time over one second is probably a warning rather than critical. Testing his action group delivered an email within seconds with a link to the Azure portal, a sample of what a triggered alert sends.
GCastUsing the Application Insights .NET SDK [GCast 157]
  • The SDK gives control that automatic service logging lacks. Configured Azure services log to Application Insights on their own, but Microsoft's SDKs let code decide what, when and what type of information gets logged. Giard lists SDKs for .NET, .NET Core, Java, Python, JavaScript and Node, and demonstrates .NET Core in an ASP.NET Core MVC app.
  • Setup needs the resource's instrumentation key and connection string. Both are copied from the Application Insights resource; the key is contained in the connection string. He runs dotnet add package Microsoft.Extensions.Logging.ApplicationInsights, adds an ApplicationInsights section with the instrumentation key to app settings, and has the builder in the program file (which replaced startup.cs) add Application Insights with the connection string.
  • The injected ILogger then writes to Application Insights. Without the setup, dependency injection supplies the default logger, which writes only to the console. His demo page calls LogInformation, LogWarning, LogError and LogCritical, and each message appears in the traces table with a severity level.
  • Logging is near real time, and works before deployment. Giard says queuing keeps the service scalable under heavy load, so entries arrive with a delay rather than instantly. Because the app knows where the resource is in Azure, it logs while running locally.
  • Don't hard-code the connection string. Giard flags his own demo as bad practice: it belongs in something like a key vault and should never be checked into source control.
Technology and FriendsPeter Laudati on What the Hack [TECHNOLOGYANDFRIENDS 763]
  • Tell learners what to build, not how to build it. Laudati, a Microsoft cloud solution architect on Giard's team, co-created the format with colleague Gino Filicetti in April 2017 for a three-day ARM-template workshop with a shared customer in Austin; a list of tasks with experts in the room avoided authoring a 20-page, 100-step lab whose screenshots go stale.
  • Small teams with a coach who answers questions with questions. Laudati says attendees work in groups of three to five, where rarely everyone is stuck at once, and a coach lets them spin their wheels "on purpose for a little bit" before offering a leading question rather than the answer.
  • The format scaled from one rushed internal event to a catalog. For Microsoft's July 2017 Las Vegas conference, managers asked for a hack for about 500 people with roughly three weeks' notice; four parallel hacks drew about 300 people despite a 7:30 am Friday slot, and Tony Surma, now chief architect in the partner org, named it What The Hack. Laudati says 60 hacks are published, with 65 to 70 expected in a couple of months; Kubernetes remains the most requested, Synapse and infrastructure-as-code (ARM, Bicep, Terraform, Ansible) and DevOps are popular, and two AI hacks were due around end of July or August.
  • Inconsistent early content led to guides, templates and a volunteer team. Early hacks arrived as PDFs, Word documents or Markdown, and users complained about uneven quality, so the founders wrote an author's guide and a hosting guide. After Filicetti left Microsoft, Laudati formed a "V team" (volunteer, he says, not virtual) of five or six curators, and member Jordan Bean built a GitHub Action that scaffolds a new hack's Markdown files with the author's guide rules inline.
  • The website shows student guides; the coach guides sit in the repo. Authors must now write a coach's guide listing common blockers (such as Cosmos DB costs if left running) so a new coach can stay "two steps ahead" after three days' preparation. Laudati promotes the GitHub Pages site at aka.ms/WTH rather than the repo so students do not find the answers, and says the content is open source and can be run outside Microsoft, though he often does not know where it is used; most contributions come from inside Microsoft, with some partners co-authoring hacks on their Azure solutions.
GCastConfiguring Azure Monitoring for App Services, Functions, and VMs [GCast 156]
  • Web app creation turns Application Insights on by default. It is on its own tab of the creation wizard and can be toggled off; Giard thinks it needs at least the standard app service tier, which is likely why it shows disabled, though he has also seen a bug when clicking tabs out of order that a refresh fixes. You can create a new resource there (name, region, workspace) or select an existing one, whose region (East US in the demo) is then fixed.
  • Point related services at the same Application Insights resource. That is Giard's preference so everything goes to one place. A function app's Monitoring tab likewise defaults to yes with a new resource, and he swaps in the existing one.
  • A VM's Monitoring tab offers boot diagnostics, alerts and guest diagnostics. Boot diagnostics, enabled by default, log why a machine failed to boot. The alerts checkbox sets up rules such as CPU over 80%, emailing (by default) or pushing to a mobile app, with a name and severity so recipients know how fast to respond. Guest diagnostics store operating-system information in a storage account. Validation reported a failure on review that Giard calls a false negative.
GCastOverview of Azure Monitor and Application Insights [GCast 155]
  • Monitoring exists to detect abnormal behaviour and improve the system. Working from a Microsoft documentation graphic, Giard says responses can be reactive (fix a failure) or proactive (low disk space, unusually high CPU), and only measurement gives a precise definition of the normal range and of which parts perform, underperform, or go unused.
  • SLAs, notification and retention should shape the monitoring plan. You cannot capture everything, and capture costs money; promised responsiveness and uptime (99.9% against 99.999%) set how thorough to be. Decide who is notified, how and when — a weekly report for minor issues, a middle-of-the-night call for critical ones — and whether logs stay queryable, move to cold storage or are deleted, weighing cost against any legal retention requirement.
  • Metrics flag that a problem occurred; logs explain why. A metric is a single number at a point in time (memory in use, page response time, CPU); a log is information persisted over time to query later, often used to find a cause that preceded the issue.
  • A trace ties together all the spans of one request. A span records one piece of workflow (a button click, a database call, an API method); a trace groups the spans of a single request, so two identical clicks are separate traces. He says this matters because an error can surface downstream of its root cause, such as a parameter passed wrongly upstream.
  • Azure Monitor unifies all monitoring for consistent access. Infrastructure, PaaS and SaaS services and custom code all feed it, so reports, visualizations, alerts and Logic App integration work the same way; it offers KQL log queries and metrics selected by resource scope. Creating an Application Insights resource takes a resource group, name, region and a new or existing Log Analytics workspace, with tags that only aid reporting. Giard recommends pointing related services (database, web app, function, APIs) at one resource.
Technology and FriendsAshley Janelle on User Experience [TECHNOLOGYANDFRIENDS 762]
  • UX is how something works; UI is how it looks. Janelle, a UX and UI designer at Amazon working on the internal tool sellers use to enter SKU and storage information, says the skills are not interchangeable: visual design moved easily into UI, but UX adds the psychology of why people use things, research plans and reports, and strategic mapping of navigation. She says UX skills make for a better UI designer, for example knowing two adjacent buttons should not share a colour because the eye clicks before reading.
  • Good UX rests on being user-centred, accessible and usable. Janelle says designers must remove themselves even when they use the product, which is hard to learn; accessibility gets too little attention, citing grandparents who had the internet "forced onto them" for doctor's appointments. Usability is checked by testing designs with various people and iterating before money is spent building, and she says UX applies beyond digital products, to restaurants or concerts.
  • Usually design one product simple enough for everyone. Asked by Giard how to serve different audiences, Janelle says a doctor's office will not build separate apps, so a broad user pool demands more testing and knowledge of users; toggleable features such as dark mode, haptics, or Apple's pared-down home screen are the exceptions that serve specific groups.
  • A bootcamp filters the material that self-teaching leaves to you. Janelle took a roughly 10-week General Assembly bootcamp to add UX skills to her visual design background because it gave set dates, a portfolio and help with networking and landing roles; she says the self-taught route through articles, videos and $9–$20 courses takes longer.
  • A portfolio needs to be good enough, not perfect. Preparing hers for a role at Caterpillar, where she worked five years, before joining Amazon about a year and a half ago, Janelle was overwhelmed by the long case studies, since working designers rarely document projects as they go. A UX designer friend told her it only has to demonstrate skills and problem-solving with a sound format; Giard extends this to almost everything: "if nobody sees it, it's worthless."