Souk's Notes - Unofficial Summaries
Scott HanselmanHow to make the ultimate Terminal Prompt on Windows 11 - This video is LONG and WORDY and DETAILED
synopsis
Hanselman rebuilds his own terminal setup, the one viewers asked about in an earlier video, on a fresh Surface Laptop Studio. He ends with Windows Terminal running PowerShell 7 and Ubuntu under a customized Oh My Posh prompt, with icons, predictive history and a few hotkeys. He deliberately leaves the mistakes in. His argument is that doing it slowly by hand teaches you how to fix it, which a script would not.
Setup. Only Visual Studio and VS Code are installed. He adds ZoomIt for on-screen annotation, sets Windows Terminal as the default terminal application so cmd opens inside it, and installs PowerShell 7.1.4 from the Store. He makes it the default profile and hides Windows PowerShell. wsl --install showed WSL already enabled, and Ubuntu came from the Store as Canonical's own package. A starting-directory setting failed to drop him in home, so he switched the profile's command line to wsl ~.
Fonts. He installs Cascadia Cove, the Nerd Fonts variant of Cascadia Code that carries icon glyphs. He leaves the prompt broken first to show the empty squares. VS Code's integrated terminal needed its own font setting, and it took an exact family name and a reload.
Oh My Posh. Installed with winget, it is an executable that prints the prompt, so the shell profile has to call it. His first try left the profile unchanged because the command he ran wrote a local config file. He admits he had not read the manual. He swaps in his own theme from his gists and explains its segments: path, git status, .NET version and an error-level heart. Then he moves the file to a stable folder after finding theme files duplicated across locations.
Profile. He adds Terminal-Icons, then pastes his long profile from a gist and comments out what he no longer needs. PSReadLine's list-view predictions failed until he installed the 2.2 beta with prerelease allowed. He adds z for jumping to visited folders, Ctrl+R history search, and a Ctrl+Shift+B handler that types dotnet build. The acrylic tab row turned out to be a Terminal Preview feature.
Left to the viewer. He sets an exercise: install Oh My Posh in Ubuntu's bash, reuse the same theme JSON, and get the same prompt on both sides. He says that is how his earlier video looked the same everywhere.
- Build the prompt by hand, mistakes included, to learn the pieces. Hanselman sets up a brand-new Surface Laptop Studio unedited and refuses to hand out a script, so that viewers see what breaks and how to fix it. He separates three layers: the shell, the prompt it prints, and the terminal that paints the text.
- Make Windows Terminal and PowerShell 7 the defaults first. He sets Windows Terminal as the default terminal application, so Win+R
cmdopens there instead of the old console host. He installs PowerShell 7.1.4 from the Store, makes it the default profile and hides Windows PowerShell. He then adds WSL and Ubuntu (about 500 MB, published by Canonical), and launches the Ubuntu profile withwsl ~after a starting-directory setting failed to land in home. - Prompt glyphs need a Nerd Font everywhere the prompt renders. Before he switches to Cascadia Cove from nerdfonts.com, the prompt shows empty squares. He sets the font in Terminal and separately in VS Code's integrated terminal, where the font name had to match exactly and the editor needed a reload before it took.
- Oh My Posh is just an executable that prints the prompt. He installs it with winget and adds an init line to the PowerShell profile. He admits his first attempt failed because he "didn't RTFM", and the command wrote a local config instead of editing the profile. His theme from his gists has segments for path, git, .NET (version 6 here) and a heart that turns red when the last command fails. He keeps the theme in a stable folder after finding the default themes in more than one place.
- Profile add-ons make PowerShell behave more like bash. He adds Terminal-Icons from the PowerShell Gallery, PSReadLine predictions,
zas a learning replacement forcd, Ctrl+R history search, and Ctrl+Shift+B to insertdotnet build. The list-view prediction style needed PSReadLine 2.2 beta 1 rather than 2.1, which he says goes in his notes. An acrylic tab row was then available only in Windows Terminal Preview.
Technology and FriendsGuy Royse on Probabilistic Data Structures [TECHNOLOGYANDFRIENDS 684]
- Probabilistic data structures trade accuracy for space and time. Royse, a developer advocate at Redis, says that besides the usual time/space trade-off you can accept a structure that "sometimes lies to you": his illustration is cutting space and time by three orders of magnitude in exchange for a wrong answer 2% of the time. He compares it to JPEG's lossy compression, and Giard adds that whether it is worth it depends on the cost of a wrong answer.
- A Bloom filter answers "no" or "probably" to membership. In Royse's example, a site with a billion users checks whether a username is taken without querying the users table; the filter guarantees no name collisions at the cost of some free names never being issued. He says Bloom filters also suit deduplication, the example in his talk "Understanding Probabilistic Data Structures with 112,092 UFO Sightings".
- HyperLogLog counts unique items in about 12 kilobytes. Royse says it can count trillions of unique things, is accurate at low counts and approximate at high ones, and would suit counting unique viewers of a video. He stresses he does not know how YouTube does it. HyperLogLog ships with open-source Redis by default, using a command he believes is
PFADD. - The RedisBloom module adds further probabilistic types and commands. He lists Bloom filters, Count-Min Sketch, Top-K, Heavy Keepers and cuckoo filters. Royse says Top-K ranks the most frequently submitted items fairly reliably even though its underlying counts are inaccurate, which is enough when only the rank matters.
Crosstalk Solutions17 - Trunking - FreePBX 101 v15
- POTS lines persist where SIP providers cannot port rural numbers. They connect through an FXO card or gateway; FXS ports are for analog phones and fax machines. A hunt group gives as many concurrent calls as lines, but outbound calls show the caller ID of whichever line they use. The host recommends that mission-critical sites such as schools and hospitals keep one or two POTS lines as backup.
- PRIs make migrating phone systems easy but cost $500–750 a month. A PRI carries 23 voice B channels and one D channel for data such as caller ID. The older T1 had 24 B channels and no caller ID; Europe uses E1s with 30 B and two D channels. PRIs are increasingly delivered over IP circuits, so a provider can often hand off SIP directly, and a fibre cut can take them down.
- SIP providers bill per minute, per channel, or for enterprise circuits. Metered providers (voip.ms, Twilio, ClearlyIP as an option) do not cap concurrent calls. Per-channel providers sell fixed concurrency, like Crosstalk's own Crosstalk SIP, which comes in five- and ten-channel packages with minutes. Enterprise SIP over a dedicated circuit (Level 3, Comcast, Charter) guarantees quality but costs about as much as a PRI. Trunks authenticate by username and password or by WAN IP.
- SIP trunking typically pays back a FreePBX system within a year. The host reports an average ROI of 8 to 12 months for customers moving to SIP. It deploys in minutes, offers the most flexible caller ID options and makes E911 easier. Its downsides are poor internet (wireless ISPs, very rural areas), exposure to outages and often poor provider setup documentation.
- Hybrid trunking lets each line type cover the others' gaps. The host's examples are SIP as primary with POTS as backup, and a PRI kept for domestic calls with SIP used for cheaper international calls. Where a main number cannot be ported, POTS can stay inbound-only while SIP carries all outbound calls under the main caller ID.
Technology and FriendsRichard Campbell on the Future of Space Travel [TECHNOLOGYANDFRIENDS 683]
synopsis
Campbell argues that commercial spaceflight, led by SpaceX's falling launch costs and the right government incentives, is maturing into something like the airline industry, and he is optimistic that regular people will eventually fly.
Why he talks about space. His Geek Out series grew out of a 2011 rant about the shuttle, which never flew weekly and was rebuilt between flights. With about 80 episodes, he says making them forced him to think the topics through.
The cost curve. Falcon 9 is around $1,900/kg to orbit, against almost $65,000/kg for the shuttle. Campbell credits station-supply contracts that paid per kilogram rather than cost-plus, and first-stage reuse.
The billionaires. He dismisses the suborbital flights as minutes-long. Blue Origin's New Glenn has stalled and ULA's Vulcan waits on its BE-4 engine. SpaceX, he says, is dominant because it alone has proven an orbital rocket. NASA's shuttle-derived Space Launch System may fly uncrewed around the Moon this year.
People in orbit. Soyuz seats cost about $80 million. A Crew Dragon flight is about $100 million, or $25 million a seat. Isaacman's charity flight, in orbit during the recording, marks real space tourism, and space hotels could follow.
Starship. Full reuse could cut costs below $200/kg, about a first-class airfare. That is his projection for a vehicle that had not yet reached orbit.
Private versus NASA. Campbell compares the station contracts to the air-mail contracts that built the airlines. He calls Apollo a military effort, too dangerous for commercial operators.
- Only SpaceX among the billionaire ventures has proven an orbital rocket. Campbell calls Virgin Galactic's and Blue Origin's New Shepard suborbital hops of a few minutes, past a Kármán line he puts at 100 or 60 km depending on who you ask; orbit means reaching about 17,500 mph, which is why the 20 m New Shepard is dwarfed by the 70 m Falcon 9. He says Blue Origin's orbital New Glenn shows only mock-ups and test articles, and that United Launch Alliance's replacement for Delta IV and Atlas V, Vulcan, is exposed because it depends on Blue Origin's BE-4 engine, which is behind schedule.
- Paying NASA's contracts per kilogram drove launch costs down. Campbell puts Falcon 9 at around $1,900 a kilogram to orbit, against almost $65,000 for the shuttle (development plus 135 flights), $15,000–20,000 for government-paid rockets and about $9,000 for Falcon 9 at its start. He credits the space station resupply contracts, paid per kilogram delivered rather than the usual cost-plus that discourages innovation, plus first-stage landing, which he says SpaceX has now done about a hundred times.
- Crew Dragon has opened orbital space tourism. After the shuttle retired in 2011 the US bought Soyuz seats at about $80 million each; Campbell says a crewed Falcon 9 flight is about $100 million, or $25 million a seat. At recording, the first dedicated tourist flight was in orbit: four people for a week at about 500 km under a dome replacing the docking port, financed by a billionaire commander alongside a $100 million donation to St. Jude, with seats for science communicator Sian Proctor, a St. Jude doctor and bone cancer survivor, and a raffle winner's friend. He sees falling costs leading toward multimillionaire customers and perhaps a space hotel.
- Starship's full reuse could cut cargo costs roughly tenfold. Campbell says a fully reusable vehicle, paying only for fuel and maintenance, would take cargo from about $2,000 to under $200 a kilogram, putting a seat to orbit near a first-class 777 fare. At recording it had not reached orbit; the planned test would boost back the Super Heavy and fly Starship from Texas around the globe to land in the ocean near Hawaii, and he credits SpaceX's public, fail-fast testing, with the next prototype ready within a day or two of a loss.
- Commercial space is repeating how the airline industry was built. Campbell compares NASA's commercial contracts to the government airmail contracts that matured aircraft into airliners. He argues Apollo skewed perceptions because it was essentially military: all but one of the astronauts who went to the Moon were military test pilots, and the program was wound down quickly as too dangerous, whereas 2020s technology can make spaceflight safe, reliable and reusable enough to become an industry; he says he is optimistic.
Crosstalk SolutionsProtect G4 Doorbell Pro - Reaction to This Awesome New (maybe) Product!
synopsis
The host reacts to a month-old video of a UniFi Protect G4 Doorbell Pro prototype and ends up arguing two things. The device looks worth upgrading to. The channel that showed it is, in his reading, a Ubiquiti-run marketing channel, and Ubiquiti's attempts at manufactured "organic" channels are failing.
The device. Watching Lone Wolf DIY's unboxing, the host notes a USB-C power input next to the usual doorbell wires, which the creator feeds from a PoE-to-USB-C adapter. He infers that the larger screen is the 1.3-inch touchscreen used on the UDM Pro and Gen 2 switches, which would explain the extra power. He also points to an apparent fingerprint reader, a second downward-facing camera for watching packages, an angle mount and push-in wire connectors. He calls the fingerprint reader and package camera the two main reasons to upgrade, and says he would replace his own G4 Doorbell, although running PoE to the door would be hard. He has no price, performance data or release date, and the creator could not adopt the unit in Protect.
The evidence of a plant. The host notices the creator presenting details he could only have been briefed on. The channel is about six months old, has fewer than 1,000 subscribers and about 25 videos, all on UniFi, with polished production from its first upload on March 19, 2021. Its about page says only "some vids may be sponsored". Ubiquiti posted, then edited, a comment saying its legal team had contacted the creator, yet three weeks later the video was still up. The host says Ubiquiti's early-access terms would force him to take such a video down. He calls himself 99.9% sure but not certain.
The earlier attempt. Networking Awesome, launched March 26, 2021 with "brought to you by ui.com", used the Reckless Comedy duo (1.06 million subscribers) on scripted, location shoots. Its 14 videos mostly drew under 1,000 views, its best 33,000. The host guesses it cost hundreds of thousands of dollars and argues that sending gear to established reviewers would be cheaper. The video carries a Private Internet Access sponsorship.
- The host believes the G4 Doorbell Pro "leak" is Ubiquiti marketing. He says he is 99.9% sure but cannot prove it. His evidence is that the Lone Wolf DIY channel's 25–26 videos are all about UniFi, its production has been polished since its first upload on March 19, 2021, and its about page says only "some vids may be sponsored". The creator also cites details, such as wiring that works with either polarity, without having opened the documentation.
- Ubiquiti's "legal team" comment did not get the video removed. Ubiquiti posted, then edited, a comment saying its legal team had contacted the creator. Three weeks later the video, with about 5,000 views, was still up. The host says Ubiquiti's early-access terms would make him take down any such video of his own, and he reacts only because the video is public.
- The fingerprint reader and package camera are the reasons to upgrade. The prototype has a USB-C power input beside the doorbell wires, shown fed by a PoE-to-USB-C adapter. The host infers that its screen is the 1.3-inch touchscreen from the UDM Pro and Gen 2 switches, and that this explains the extra power. It also has a downward-facing second camera and an angle mount. He criticizes its large exposed reset button as easy to trigger by accident.
- The host would replace his G4 Doorbell, knowing almost nothing else. He has no price, performance figures or release date, and the device is not yet in the Early Access store; the creator could not adopt it in Protect. He expects that running PoE to his doorbell would mean hiring someone.
- The host calls Ubiquiti's Networking Awesome channel an expensive flop. It launched March 26, 2021, says it is brought to you by ui.com, and used the Reckless Comedy duo (1.06 million subscribers). Its 14 videos mostly drew under 1,000 views, its best 33,000, and he guesses it cost hundreds of thousands of dollars. He argues Ubiquiti should send gear to reviewers such as himself, Tom Lawrence and Linus Tech Tips; the video carries a Private Internet Access sponsorship.
Scott HanselmanWindows 11 runs Graphical Linux Apps out of the box with WSLg
- One command sets up Linux on Windows 11. Hanselman shows
wsl --installinstalling Ubuntu, setting things up and rebooting, and the same command with a distro name fetching Debian as a tar file. Windows Terminal, which ships with Windows 11, auto-detects each new distro.wsl --list -vshowed him running Ubuntu 18.04, 20.04 and Debian side by side, all in a tiny utility VM that he says starts very fast. - Linux GUI apps install with apt and land in the Start menu. He installed the Git client Giggle with a single apt command, and Windows 11 added it to the Start menu. The window is painted by Linux and shown through a seamless remote-desktop connection. He also runs GIMP, Emacs and mpv, and stresses that sound works.
- Files and tools cross the Windows–Linux boundary in both directions. Linux apps see the Windows drives under /mnt, and Linux distros appear in Windows Explorer. Typing
code .in Linux installs the VS Code server and opens Windows VS Code connected to Ubuntu. Adotnet runsite on localhost:5000 opens with a click from the terminal. - His case is Windows plus Linux, not Linux instead. Asked "why not just run Linux", he answers with his own preferences: Windows runs his games, and he likes its UI, File Explorer and terminal. He points viewers to a team member's architecture article on WSLg (Wayland, Weston, RDP RAIL, and a separate Windows-maintained system distro).
Technology and FriendsSam Nasr on Cognitive Services [TECHNOLOGYANDFRIENDS 682]
- Cognitive Services put AI behind a plain web API call. Nasr, a developer since 1995, says Microsoft has "democratized" these services so developers need no machine learning expertise. He was drawn to them by a 2016 Microsoft conference video of a blind Microsoft developer using a phone app built on them to read menus and describe the people around him.
- Custom Vision detects objects you train it on. Nasr groups the services into four categories: decision, speech, vision and language. He separates computer vision (image and spatial analysis) from custom vision (image classification and object detection), which can learn objects outside Microsoft's pre-built domains. His example is an oil filter a customer holds up at a kiosk instead of naming the part.
- Chaining services turns an app into a voice conversation. Nasr's pattern runs speech-to-text, then LUIS, then a database query, then text-to-speech. LUIS, once trained, maps differently worded sentences ("I want to buy a car", "can you sell me a car") to one intent token, and separates buying from servicing. He also describes QnA Maker answering from an FAQ document, sentiment analysis that can catch sarcasm in social-media monitoring, and the decision category's Personalizer, Content Moderator and Anomaly Detector.
- Shapes beat numerals for reading rail cars in dust and heat. Nasr describes a customer site too dusty, dirty and hot for barcode scanners, where high-definition cameras identify cars on rails from a distance. They recognize custom-designed objects instead of painted numbers, whose curves would fill with dust and become unreadable. Another customer of his uses speech-to-text and text-to-speech to talk to an application.
- Latency is small, but setup spans two portals. Nasr says calls are asynchronous and typically fast, and pricing comes in tiers, including free testing. For LUIS and Custom Vision you create the resource in the Azure portal, then build the model at a separate site (luis.ai, customvision.ai) and link the two with the resource's keys.
GCastAzure Active Directory B2C Token Generation With No User Interaction [GCAST 116]
- The ROPC user flow gets a token with no user interaction. Giard says every other Azure AD B2C user-flow template requires the user to interact, while the resource owner password credentials (ROPC) template does not. He gives the use case as automated integration or end-to-end tests that call a secured back-end API, for example inside a DevOps pipeline. The episode assumes a B2C tenant already exists, from a previous video.
- The app registration needs token settings and two saved values. Under App registrations he creates a new registration with the default account type and a redirect URL of https://jwt.ms. On the Authentication blade he checks both "access tokens" and "ID tokens". From the Overview blade he copies the application (client) ID and, from the endpoints list, the "Azure AD B2C OAuth 2.0 token endpoint", which has a policy-name placeholder in brackets to fill in later.
- The identity-provider choice determines how local users sign in. B2C supports identity providers such as GitHub, Facebook and LinkedIn because they share common protocols such as OAuth, but he uses local accounts only. Local accounts can sign in by username, email or phone number, and the options enabled there set the sign-in methods offered when he creates a new local user, here with a username and an auto-generated password.
- A user flow is a policy that names the token endpoint. He creates an ROPC flow named B2C_1_GCAST and picks the claims the token should carry, such as display name, email, given name and surname. Giard says a token can carry facts about the user as well as validity, which an API can use for authorization, such as restricting access by region or city. The flow's name replaces the bracketed policy-name placeholder in the token endpoint URL.
- An HTTP POST of form data returns the access token. The body is sent as form data, not JSON or XML, with username, password, grant_type "password", scope of openid plus offline_access plus the client ID, client_id, and response_type "token". He says this can be done in code, curl or Postman, and demonstrates it with the Boomerang plug-in for Edge, also naming YARC for Chrome; the request returned a 200 with an access token.
Scott HanselmanTeach Little Hackers to Code Without a Computer with Brandon Tory - Hanselminutes #808
synopsis
Brandon Tory, a staff AI engineer at Google, formerly on Apple's first-party apps team, and a musician, argues that children as young as six can learn computing from paper workbooks. His case is that what they need first is the language and the systems underneath, plus the confidence that they can learn. Little Hackers, his Kickstarter project, is built on that view.
Multi-dream. Tory took the term from multithreading. Switching between engineering and music has a cost, and the way out is "multiple machines": trusted collaborators, which take time to cultivate. Code-switching as a Black engineer added overhead until his sister told him to be open about both identities, which he says is when his press and success began.
Closed boxes. Hanselman worries that iPads make kids consumers. Tory dislikes closed systems while crediting Jobs, and judges a fully open alternative unrealistic.
The book. Many six-year-olds have no computer, so Tory teaches computing as math is taught, on paper. The workbooks follow Forrest Mims's notebooks and ration screen time. QR codes launch browser-based AR with no app to download, because he says a download loses most users.
Root before flower. Tory favours starting low in the stack: hex editing, assembly, then C and C++. He says new technologies like the EVM echo the foundations, though the right starting point depends on the goal. To Hanselman's "computers are computers" he replies that humans design the interfaces.
Belonging and confidence. He says IRC's anonymity spared him questions of inclusion, and that tech is improving but statistically still short. His self-doubt came from music, never from technology. Children decide early whether they are smart, often when schools sort them, so he argues for telling them they are great.
- Context switching is the cost, so scale by trusting people. Tory, a staff AI engineer at Google, says his "multi-dream" idea came from the Intel manual's multithreading. Real throughput, though, comes from "multiple machines", meaning bringing in people you trust, and that requires setting aside time to build relationships. Hanselman adds that the "Beyoncé has the same hours" line forgets that she has a team. Tory says success came after his sister told him to "just be honest" with his tech and music circles about being both.
- Little Hackers teaches 6-to-8-year-olds computing on paper, not screens. Tory says the idea came when children at his son's basketball practice told him they had no computer, so he asked why coding should not be taught without one, the way math is. The workbooks are modelled on Forrest Mims's handwritten circuit books and tell parents how much screen time to allow. Browser-based AR, triggered by QR codes with no app download, makes characters walk off the page, built on AR.js and A-Frame with 3D models by his wife. His priority is vocabulary, so that words like CPU and RAM do not scare children later. Hanselman's plug says a Kickstarter would launch around September.
- Closed devices turn kids into consumers, both argue. Hanselman contrasts the Apple II, whose lid you could pop, with the black-box iPad. Tory grants that Steve Jobs's impact has been positive but dislikes the closed-system mentality. He sees starting over with open hardware as unrealistic given the capital incumbents have built up in device drivers and the like.
- Learn systems first, starting from the root. Tory's motto is "don't design the flower, design the root". He came up through hex editors, the C64 demo scene and assembly, and notes the Ethereum virtual machine's manual resembles Intel's x86 manual. He qualifies this by goal: assembly still matters for embedded work but may not be where an AI engineer starts. He has seen mathematicians join Google without programming experience and become effective in C++ within months. To Hanselman's "computers are computers" he adds that humans design the interfaces, and that is where the trouble comes.
- Inclusion in tech is improving but not yet equitable. Tory calls the community fairly inclusive to people who do their homework, but says statistics still show deficiencies under the visible diversity. IRC's anonymity let him be judged on skill, and only later did he notice he was "the only black guy here". He traces children's sense of being "not smart" to schools sorting them into talented groups, and his remedy is to tell kids they are great until they believe it.
GCastRegistering an Azure Account Subscription [GCast 115]
- Creating a B2C tenant can fail on an unregistered subscription. The error reads that the subscription is not registered to use namespace Microsoft.AzureActiveDirectory. Giard says he got it in both of his subscriptions and infers it is probably a common issue.
- Azure CLI commands in Cloud Shell register the provider.
He runs them in the portal's Cloud Shell (bash), which skips the
az logina local command prompt would need.az account listlists the accounts as JSON, which he redirects to a file and downloads when there are many;az account set --subscription <name>selects the one he wants;az provider register --namespace Microsoft.AzureActiveDirectorystarts the registration. - Registration is not instant, but its status can be checked.
He says it may take a couple of minutes, and
az provider show -n Microsoft.AzureActiveDirectoryshows the registration state, which in the demo read as registered. - After registering, the same B2C tenant creation goes through. Rerunning the create step for a new Azure Active Directory B2C resource no longer showed the error, and he contrasts the screen before and after the fix.
Crosstalk SolutionsExtreme Long Range Cordless - Engenius FreeStyl 2
- The FreeStyl 2 uses 900 MHz, not DECT or Wi-Fi. EnGenius rates it at about 25,000 sq ft or six floors through concrete, wood and drywall; the host suggests large buildings or construction sites, but notes the handsets are not rugged and need shelter from weather.
- It is an analog phone, so SIP needs an ATA. The base takes a POTS line on its "line" RJ11 jack (a "tel" jack passes through to an answering machine); to reach a VoIP PBX the host suggests an ATA such as the Grandstream HT802, about $50. The base lists at $349 MSRP and supports up to nine handsets.
- The handset battery ships with a plastic pin protector to remove. The host's handset kept powering off and falsely showing "charge complete" until he found and pulled it. Base and handset both use 5 V 1 A adapters that appear interchangeable.
- In the host's walk test, usable range was about 500 ft. On a call to his cell from a base at his house, audio held to about 720 ft with partial line of sight, began breaking up around 800 ft through houses, trees and a concrete wall, and a call still connected at about 1,400 ft under an underpass. He judges this well beyond the 25,000 sq ft rating.
- The host tested only range, not the other features. Intercom, broadcast, phone book and handset paging exist but went untested; his one complaint is that it is not SIP-enabled out of the box.
GCastCreating an Azure Active Directory B2C Tenant [GCast 114]
- A separate B2C tenant isolates security for external users. Giard describes Azure Active Directory B2C (business to consumers) as the tool for very large user populations from outside the organization, possibly signing in through providers other than your own Active Directory. His reasons for creating a separate tenant are: building for a customer whose subscription you can't access, keeping dev, QA, user-testing and production environments apart with their own users and policies, or having a sandbox. That last one is his own reason, because the B2C tenant his company set up for him is controlled by them.
- Creating a new tenant now links it automatically. In the Azure portal (portal.azure.com) he goes to create a resource, searches for B2C, and gets two options: create a new Azure AD B2C tenant, or link an existing one to the subscription. Giard says the link option is left over from when tenants had to be created and then linked separately. New tenants are now linked by default, so linking is needed only for an old tenant that was never linked.
- The create dialog asks for name, domain, region and resource group. Giard enters an organization name, an initial domain name, the United States as country, a subscription, a new resource group and East US as its location, then runs Review and create. He suggests placing the tenant near where your users are. Creation took about two minutes.
- An unregistered namespace error is fixed from the CLI. Giard says he first got "Subscription is not registered to use namespace Microsoft.AzureActiveDirectory". The fix, from a blog article he found by searching, is to open a CLI prompt, set your subscription and register the namespace before creating the tenant.
- You must switch directories before you can use the tenant. The new directory may not appear in Switch directory right away; Giard had to refresh the page before his tenant's onmicrosoft.com domain showed up. From inside it he opens Azure AD B2C, where users, policies and app registrations are set up, which he leaves for the next video.
Crosstalk Solutions16 - User Control Panel - FreePBX 101 v15
- Serve the UCP on its own port to hide the admin GUI. The UCP is reachable at the FQDN plus /ucp, or on a dedicated port; the host recommends disabling the insecure HTTP port 81 and enabling HTTPS on 4443 (secured by the Let's Encrypt certificate), so only 4443 need be opened through a corporate firewall.
- Users log in with their extension and user-management password. The login name defaults to the extension number; a new password takes effect only after Apply Config, and "submit and send email" mails the credentials to the user.
- Widgets and permissions set what each user can see and do. Dashboard widgets include call forwarding, call history, contacts, Do Not Disturb, device management (user button changes override the Endpoint Manager template), Find Me/Follow Me (external numbers end with #) and voicemail; sidebar widgets include a browser softphone. Seeing another extension's call history needs CDR access granted in User Management, then a logout and login.
- New UCP templates finally give users a default dashboard. Previously every user logged in to a blank screen unless an admin set each one up by hand; Sangoma's template creator builds a template from scratch or imports one from an existing user's dashboard.
- Assign the template through groups, not individual users. The host assigns it on the All Users group's UCP tab and shows a user who had never logged in receiving it on first login.
Technology and FriendsTudor Damian on Cybersecurity and Ethical Hacking [TECHNOLOGYANDFRIENDS 681]
- Ethical hacking is the attacker's knowledge put to protective use. Damian, a certified ethical hacker who says companies pay him to hack them, argues the ethical hacker needs more than the attacker does: how to get in, and also how to prevent and respond to it. The knowledge is a tool like a hammer, and the ethics lie in how it is used: telling the owner their door is open rather than walking in.
- Password attacks have shifted technique, not target. Damian says people reuse one password and make it pass complexity rules in predictable ways ("Bob", then "Bob1", then "Bob1!", then a 02 on the end). Many breaches came from credentials stolen from a weaker site and reused elsewhere, not from a hack of the system itself. He says breach statistics show 1–2% of users (one in 50) use 123456, which drives password spraying: one or two common passwords tried across every account, to stay under lockouts that trigger after three to five failures.
- The ethical hacker's job is education, technology fixes and penetration tests. Damian recommends multi-factor authentication and a password manager with a random password per site, and splits the advice between those running a site and its users. In a penetration test he attacks the way a black-hat hacker would, so the company finds the hole before automated tools left running overnight do, then either implements the fixes or teaches the client's team to.
- He chose the CEH because it sounds good and explains itself. Damian says the EC-Council exam ran about four hours, and the council runs background checks on candidates who score suspiciously high (a 97% from someone very young) to catch answer brain dumps. The certification renews every three years on proof of conference talks, attendance and articles, and a higher licensed pen tester level gives two weeks to attack an environment, followed by a report defended before licensed pen testers. He calls other certifications, such as CompTIA's, technically just as good and more often sought for compliance.
- The pandemic moved security risk onto remote workers and absent IT staff. Damian lists VPNs that could not take the whole workforce overnight, phishing themed on pandemic news, and attacks timed for when home-based IT staff are off hours and not watching. His argument is that people protect company data once they understand how security affects them personally, because what they know they cannot ignore at work or at home.
Crosstalk Solutions15 - Users and Groups - FreePBX 101 v15
- Assign permissions to groups, never to individual users. The host likens it to Active Directory: do all the work in groups, even single-member ones, because per-user permissions get too messy. Extensions don't need a user at all (a break-room phone); one is created from the extension's User Manager settings, by default with the extension number as username.
- Turn off "send email upon new user creation" before staging. Crosstalk often configures a PBX days or weeks ahead of cutover, and the default can email users their UCP credentials before they should see them.
- Group priority decides conflicts; ties go to the most permissive. A priority-1 group's rules override a priority-5 group's; at equal priority FreePBX applies the most permissive set.
- Groups can grant scoped admin GUI access. An admin can be limited to certain modules (a reports-only login) or an extension range (a per-building administrator on a campus). Other tabs gate Clearly Anywhere softphones, phone apps and VPN; the host suggests a softphone-users group so licences are granted by membership.
- The host disables FreePBX faxing on every install. He strongly recommends against faxing through FreePBX, and leaving it on raises periodic dashboard errors. UCP tabs grant access to other extensions' voicemail or call records (a manager, a CEO's assistant), and a user who can't do something is usually a permissions problem.
Crosstalk SolutionsUniFi Dream Router - First Impressions
- The host expects the Dream Router to make the original UDM obsolete. Reacting to Ubiquiti's announcement video (the device was not yet in early access), he sees it bridging the UDM and UDM Pro, and guesses 6–12 months from early access to general availability.
- Its upgrades are Wi-Fi 6, two PoE ports and a throughput display. The built-in 4x4 access point moves from Wi-Fi 5 to 6, which he thinks small homes will barely notice; the two ports appear to be standard PoE, not PoE+, enough for an extra access point or a couple of cameras.
- The 128 GB SSD is too small for real Protect use. He reckons it holds about five to seven days from a couple of cameras and suspects it is a sales tool to move buyers to a UNVR; he warns against the SD expansion slot because camera recording is write-heavy and SD cards wear out.
- "Connect" may be an IoT hub, the host speculates. The video shows a UniFi Connect app; citing online digging that found Sonos and Ecobee references, he guesses a Home Assistant-like controller, without inside knowledge.
- He rates it a good entry point that buyers will outgrow. It covers Network, some Protect and Access from one device, but he expects enthusiasts soon to add PoE switches and other UniFi gear.
Technology and FriendsEric Potter on Kusto Query Language [TECHNOLOGYANDFRIENDS 680]
- Kusto over Application Insights turns "the website is broken" into evidence. Potter, technical strategist at Aptera Software (recently acquired by CoreBTS), calls Kusto one of the biggest quality-of-life gains of his last three or four years as a developer. App Insights is cheap enough that his team logs heavily, and with a username he can query the pages a user hit in the two minutes before an exception, server response times and web-server memory load, often enough to reproduce the bug.
- Kusto queries traced one outage to a VPN change by Monday lunch. After a new release of a WPF desktop app, about five users reported errors. Potter filtered events to those users and found the exceptions were all on larger queries, App Insights' IP geolocation put them all in one tri-state area, and averaging query times showed them measurably slower, to the millisecond, than everyone else on the same database. The client's infrastructure team had done maintenance over the weekend on one office's VPN tunnel. The same data turned up affected users who had not emailed, and the team contacted them.
- Azure alerts built on Kusto kept a Black Friday site up. For a client expecting 10 to 30 times normal traffic, Potter's team set alerts on average page load time and web-app memory over windows such as 10 minutes. The alerts went to a 24/7 support team that could move the app to the next performance tier, and he says the site did not crash.
- Saved queries and dashboards answer product owners in real time. Potter saves queries of 15 lines or more for business events, such as how often something was cancelled, and pins charts to custom Azure portal dashboards. Because users on old versions of a desktop app were among the largest sources of errors, one dashboard showed the share of users on the latest version at each manufacturing facility, so the product owner knew which site to call when it sat at 50%.
- Potter prefers Kusto to SQL and works entirely in the portal. He finds the editor at portal.azure.com strong, with IntelliSense, tooltips and good error messages, and believes but cannot prove that it is the Monaco editor. He calls the Kusto docs on docs.microsoft.com first rate, with good examples from the start. Giard read in the project's readme that Kusto is open source and can query data beyond App Insights; Potter has used it only briefly with Azure Data Explorer.
Technology and FriendsCameron Presley on Mentoring [TECHNOLOGYANDFRIENDS 679]
- Teach engineering fundamentals on a kata before the real domain. Presley, a senior team lead at SolarWinds whose team is former interns hired as associate engineers, pairs new hires through the Mars Rover kata in a fresh repo: git init, automated tests, frequent commits with good messages, pull requests, and code reviews by other engineers treated as real work. They then go into the production code base already knowing about 80% of the tooling, so the focus can move to the domain, such as what a deadlock is in performance monitoring, and they have relationships with other engineers to call on.
- New engineers learn best where mistakes cannot break anything. Presley traces this to his own internship, in a shop without source control, where an accidental rm -rf took down the production web application on his third or fourth day. When one of his engineers struggled with CI, he had them put the kata under an Azure DevOps YAML pipeline, so they learned the fundamentals without touching the real build.
- The kata got interns contributing about three weeks in. Presley developed it in an earlier role making a large enterprise's developers more effective, where pairing with every engineer eight hours a day for three weeks did not scale. He says it went engineering-wide in summer 2019 and interns on a 10-week internship produced real production value about three weeks in, against five or six weeks before. He picked Mars Rover for being just complex enough and vague: he plays product owner with new requirements to see how an engineer thinks, and it is tied to no stack or paradigm.
- Student feedback shifted his approach from technology toward process. Presley says he first threw technology at the problem and committed straight to the main branch, then found mentees could not create pull requests, so he built PRs in. He now covers requirements, code review and deployment as well as coding. Giard adds his own decade-old blog post concluding that his job was solving business problems, not writing code, and Presley says his own bio leads with "problem solver" for the same reason.
- After the kata, stretch work with safeguards builds experts who teach. Presley gauges what each engineer is drawn to and assigns real work to match. One engineer moved the team's entire Azure DevOps pipeline from the GUI to YAML, with the old pipeline left in place so he could not fail, and ended up tired of pipelines; Presley counts that as expertise he can pass to the next cohort. He blogs on the approach at blog.thesoftwarementor.com.
Technology and FriendsMatt Groves on Couchbase 7 [TECHNOLOGYANDFRIENDS 678]
- Couchbase pairs a NoSQL document store with a full SQL language. Groves, who has worked at Couchbase for almost six years, describes it as a clustered JSON database that scales out horizontally, with memory-first caching built in, and a query language (N1QL) he says is full ANSI SQL with joins, MERGE and CTEs rather than a SQL look-alike. Version 7 had gone generally available "a few weeks back" after a public beta.
- The new release adds two levels of organization within a bucket. Groves says a collection is roughly a table without a predefined schema, and a scope, which holds collections, is roughly a SQL Server schema; scopes are aimed at microservices (a people service and a payroll service each with their own data) and multi-tenancy, with security and permissions definable at each level. Giard compares this to containers in Cosmos DB, which he thinks of as folders in a file system.
- Distributed ACID transactions arrive alongside relational-style query features. Groves says transactions are coordinated across potentially dozens or hundreds of machines, are available from the SDKs (.NET, Java and others), and can be written in N1QL as BEGIN/COMMIT/ROLLBACK. N1QL also gains user-defined functions and a cost-based optimizer, "cost" meaning compute resources, not money.
- He built an experimental SQL Server-to-Couchbase migration library. After moving from developer advocacy to product marketing management, Groves pitched a tool to ease relational users across, and his boss told him to build it; it is an open-source .NET library on NuGet, under his GitHub ID mgroves, with a console example using AdventureWorks. It maps SQL Server schemas to scopes and tables to collections, copies data, approximates indexes, recreates users, and does rudimentary denormalization, such as folding a shopping cart table and its items table into one document with an array.
- User issues, even complaints, drive the project's features. Groves says he has had no pull requests yet but welcomes issues; the pipelines and filters feature, which transforms data in flight to redact sensitive fields or limit it to, say, a year's worth, came from one such request.
Crosstalk Solutions14 - Softphones - FreePBX 101 v15
- Free softphones stop being worth it past about five to ten users. The host cites installing on mixed devices, handing out SIP server, username and password, and staff leaving with working credentials. He prefers Clearly Anywhere, which provisions by QR code, never shows users their SIP credentials, and is revoked by removing it from the extension.
- Clearly Anywhere licences cost $15 per user per year. Crosstalk sells them through its own store. A registration token activates the module; mobile and desktop are licensed separately, and his licence was mobile-only.
- API status "contact support" usually means port 2267 or the certificate. Clearly IP opens port 2267 in the FreePBX firewall itself, but Clearly Anywhere must be set to the Let's Encrypt certificate and HTTPS, and a corporate firewall must forward 2267. A first-time setup may need the connection URL (WAN IP on 2267) and PBX domain given to Clearly IP.
- Users enable it by scanning a QR code in the UCP. The admin enables the softphone on the extension, sets a UCP password and applies config; the user adds the softphone provisioning widget and scans it, and *43 runs an echo test.
- Any SIP softphone needs only server, username and password. For Zoiper (free, or about $49 one-time paid, the host thinks), he enters the FQDN, extension number as username and auth username, and the extension's secret.
Crosstalk Solutions13 - Manual Phone Setup - FreePBX 101 v15
- Any SIP device registers with three facts. For one-off devices that can't zero-touch provision (paging systems, video door phones, the host's Yealink T58A), you need the PBX IP or FQDN, the SIP username (the extension number) and the SIP password (the extension's "secret"), with server port 5060.
- Keep FreePBX's long default SIP password unless the device can't. The host has had to truncate it to 16 characters or fewer for some legacy equipment that otherwise would not register despite correct settings.
- Change the device's default web password first. Yealink's factory login is admin/admin; auto-provisioning sets this for you, manual setup does not.
- Registration alone leaves voicemail and BLF keys unset. He enables MWI with *97 (own mailbox; *98 is for another user's) and adds BLF keys that turn red when the watched extension is on a call and double as speed dials.
- The host urges auto-provisioning for any sizeable fleet. With manual setup, changing a BLF key means visiting every phone, whereas Clearly Devices or Endpoint Manager pushes a template change to all of them.
Crosstalk Solutions12 - UniFi Protect Alerts - UDM-Pro Complete Setup
- Tune Protect alerts down, because too many get ignored. The host's example is a camera seeing passing cars: constant push alerts train the owner to dismiss the one that matters, so enable alerts only on the cameras and events where they are useful.
- Custom schedules suit after-hours motion alerts. For a retail shop open 8 a.m. to 6 p.m., he schedules motion alerts only outside business hours; the schedule editor is clunky, with blocks clicked and deleted one at a time.
- Use separate alerts for different purposes. He builds an after-hours motion alert plus a 24/7 email-and-push alert for camera connect/disconnect, since a camera knocked offline in daytime needs immediate notice. Email goes to the inbox and push to the Protect app; smart detections were available on G4 cameras but not the G3 Flex.
Crosstalk Solutions11 - Users and Roles - UDM-Pro Complete Setup
- Protect roles limit a user to specific cameras. The host creates a "second floor cameras" role with view-only rights to two cameras, for cases such as a manager who should see only their own building on a multi-building campus.
- Users are created in UniFi OS, not in Protect. One user can then hold permissions across Protect, Network, Access and Talk; he makes a limited admin with local-only access (login via the UDM Pro's IP rather than a Ubiquiti cloud account) and sets the other applications to none.
- Remove the default view-only role, or the user sees everything. View-only stays selected when the custom role is added and grants all cameras; with it removed, the test user saw only Protect, only the two cameras, and no settings rights.
- The restricted view is consistent but misreports storage. Live views, detections and time-lapse showed only the two cameras, and the user could set their own alerts for them, but storage utilization showed those two filling 100% of a four-camera system.
Technology and FriendsSam Basu on NET MAUI [TECHNOLOGYANDFRIENDS 677]
- .NET MAUI is the next Xamarin.Forms, rebuilt to fix its pain points. Basu, a developer advocate at Progress Software, says Xamarin.Forms sits at its 5.0 release after about five years, and the team is using the restart to speed up the inner loop, ease deployment to devices, simplify code organization and reach more platforms. It was scheduled to ship with .NET 6 in November 2021; at recording it was at preview 7 (August), with an RC expected likely in October.
- Desktop support becomes first-class, built on existing platform bridges. Basu says MAUI starts with four platforms, iOS, Android, Mac and Windows, where Windows and Mac renderers for Xamarin.Forms had existed only as community efforts developers did not trust. Rather than reinvent the wheel, it uses Apple's Mac Catalyst to run UIKit apps on macOS and WinUI 3 as the native Windows UI stack.
- One project replaces a project per platform. Basu says fonts and images no longer need per-platform handling because the build system works that out, and one drop-down lists every simulator or device to deploy to; on Windows this requires Visual Studio 2022, while on a Mac the command-line tools work. The mobile workload still pulls in dependencies such as Xcode and the Android emulator, which cannot be avoided.
- Existing apps and controls get an upgrade path and compatibility mode. Basu says a .NET upgrade assistant, still being worked on, will move Xamarin.Forms apps over, handling changed namespaces, classes and project structure, and the team promises a painless migration; older Xamarin.Forms UI can run on MAUI in a compatibility mode, but less efficiently, so Progress is redoing its Xamarin.Forms suite for MAUI. He says Xamarin.iOS and Xamarin.Android continue as .NET for iOS and .NET for Android for single-platform C# developers, while MAUI's gain is a single shared UI stack.
- Controls are opened up as interfaces for other UI frameworks. Basu says the underlying architecture now exposes controls such as a button as an interface, so frameworks like Fabulous (F#) and Comet (Model-View-Update rather than MVVM) can render native controls on every platform through it. He points newcomers to the dotnet/maui GitHub repo as the "one place of truth".
Scott HanselmanOn Advice
- You are never obliged to take anyone's advice. The speaker says the source makes no difference, whether TikTok or a friend, and starts to ask why anyone would take advice from a random person; the 15-second clip cuts off mid-sentence before that point is finished.
Technology and FriendsCarl Franklin on Music and Programming [TECHNOLOGYANDFRIENDS 676]
- Music and software both demand holding a complex abstract model in mind. Franklin agrees with Giard that good developers are often musicians, but adds that you need not be a good musician to be a good developer. His explanation is that code and a piece of music both live in the mind as abstractions, an object being "a metaphor", which are then expressed outward as an application or a performance.
- Both crafts require zooming between the whole work and its technical detail. Franklin likens a developer tracing a feature from a button click down into "dirty details" to a pianist drilling scales and hard passages while still presenting a whole piece. He adds timing as a shared concern: an interface that shows something too fast fails to communicate, just as notes depend on the intervals between them.
- Practice builds muscle memory, and most learners quit before reaching it. Franklin says beginners think hard while playing and assume fluent players are geniuses, but practising and correcting mistakes eventually lets the fingers move by themselves, and that "feels like magic". Giard raises Malcolm Gladwell's 10,000 hours. Franklin urges developers to take up an instrument even with little time: borrow a guitar, learn one chord, and value the instant feedback.
- People move from music into software because software is a stable career. Franklin says that is why he did it himself. Five or six years earlier he steered a high-school intern away from the studio business, telling him studios were closing because cheap, good gear lets everyone, James Taylor included, record at home. He had him build a space-shooter game from a Unity 3D walkthrough in four hours, then gave him free tuition for a nine-week boot camp that Franklin got in exchange for its advertising on .NET Rocks. Franklin says the intern graduated, got a job running IT at a local company, and is "going gangbusters".
- Good recordings need every voice on its own isolated track. Franklin keeps instruments apart in his studio to avoid bleed, and says a single recorder on a table makes a podcast sound "like they're in a bathroom". He says .NET Rocks has recorded each participant separately since 2002, and now uses Zencastr, a paid web app built on the browser audio and video APIs. It records each person locally and gives the host in-sync MP3s, and optionally MP4s, when recording stops. He blames its earlier unreliability on browser implementations of those APIs, which he says improved over the last three or four years.
Crosstalk Solutions10 - UniFi Protect Live View and Timelapse - UDM-Pro Complete Setup 2021
- Default settings fill a terabyte surprisingly fast. The host's UDM Pro, with a 1 TB drive and four cameras (one 4K, three 1080p) on default settings, reached 100% storage at just under a week of recording, roughly a week per terabyte for four cameras; recording quality and frame rate move that up or down.
- Live views are what most users will actually watch, so design them deliberately. Custom views can be shared with other Protect users, shown full screen, or sent over HDMI to a TV through the UniFi Protect Viewport, which is how the host shows his cameras in his office. Several cameras can share one tile and cycle either on detected motion or on a timer of 6 to 60 seconds.
- Detections gives a filterable list of every event. Events are marked as motion, person, vehicle or doorbell press and can be filtered by type and by camera. Each clip can highlight where the motion was, change playback speed, take a snapshot or be downloaded.
- Timelapse lets you scrub history and export an exact clip. Dragging the timeline scrubs through footage, with blue dots marking motion events, and zooming the timeline gives finer control. The download tool stretches a selection over the precise span wanted (the host cut 2:35 to 2:38 pm for a mail-truck visit) and saves it as an MP4.
Crosstalk Solutions12 Sangoma Phone Provisioning + Endpoint Manager - FreePBX 101 v15
- Endpoint Manager is free only for Sangoma and Digium phones. Provisioning other brands such as Yealink, Snom, Polycom or Cisco needs the paid Endpoint Manager licence, $145, which the host points to in the Crosstalk Solutions store. The video also carries a sponsor segment for NextGenT, an online IT school.
- Force phones to provision over HTTPS before building anything. In System Admin port management the host leaves HTTP provisioning on port 84, turns on HTTPS provisioning on 1443 (the Sangoma default) and secure phone apps on 4443, then sets provisioning authentication to HTTPS only. Endpoint Manager's internal and external addresses can both be the same FQDN on a hosted PBX.
- Use the two firmware slots to stage firmware on test phones. Firmware from 1.35 to 1.66 was available for the S series; the host drags the latest into slot one, and suggests slot two for trying a new release on a few phones before rolling it out.
- Build one template per phone model, starting from a duplicate. Model-specific details such as the background image's pixel size are why; his S500 template also works for the newer S505. He blanks the cluttered default button set, sets BLF long-press to *80 for intercom, and notes that extension-mapping rows turn yellow after template changes until configs are rebuilt.
- Sangoma's free redirect portal makes factory-default phones find your server. At portal.sangoma.com the PBX is found by deployment ID and given its protocol, FQDN, provisioning credentials and port 1443, then the phone's MAC is pointed at that deployment. A factory reset (menu password "admin" before provisioning, 222222 after) produced a registered phone with updated firmware in about two minutes.
Crosstalk Solutions11 Crosstalk Phone Provisioning + Clearly Devices Module - FreePBX 101 v15
- Crosstalk phones are rebranded ClearlyIP phones and need ClearlyIP's module repository. The host, whose firm brands these phones, "highly suggests" them and cites a two-year warranty; the Crosstalk 270 is the ClearlyIP CIP270. FreePBX must be switched to ClearlyIP's repository for the Clearly Devices, Trunking and Anywhere modules to run without dashboard errors.
- Create a hot-desk default even if you never hot-desk. The host says new E911 rules require a logged-out phone to still be able to dial 911, so he assigns an unused extension, 9999, as the logged-out default.
- Use the FQDN everywhere rather than an IP address. If the server is restored from backup onto a different IP, only the DNS A record has to change and every phone follows. Provisioning runs on port 2580 and phone apps on 2579 over HTTPS with the Let's Encrypt certificate; the firewall did not add 2579 automatically, and on-premises PBXs behind a corporate firewall also need those TCP ports forwarded.
- Keep general settings and button layouts as few templates as possible. The settings template carries the phone admin password, 920383 by default (ClearlyIP's Appleton, Wisconsin area code and prefix), a dial timeout cut from four to two seconds, and BLF long-press set to *80 so holding a key intercoms that user. The model layout sets line keys, a voicemail app key and up to six expansion modules.
- ClearlyIP's free redirect server completes zero-touch provisioning. At devices.clearlyip.com a location holds the server's FQDN, protocol, port and credentials, and each phone's MAC is mapped to it with redirection enabled. After a factory reset the phone registered as extension 200 in about two minutes, which the host says lets phones be drop-shipped ready to plug in.
Crosstalk Solutions10 Zero Touch Provisioning - FreePBX 101 v15
- Zero-touch provisioning chains a vendor redirect server to your own PBX. A factory-default phone takes its IP, gateway and DNS, then asks its maker's redirect server where to get its configuration, giving its MAC address. The redirect server returns the PBX's WAN IP, FQDN or even a LAN IP, plus port and credentials; the PBX serves the config tied to that MAC, and the phone applies it, reboots, updates firmware if needed and registers.
- ClearlyIP and Sangoma redirect servers are free; Yealink's needs a reseller. Crosstalk phones (rebranded ClearlyIP units, which the firm sells) use devices.clearlyip.com and Sangoma uses portal.sangoma.com, both open to anyone who signs up. Yealink, the other brand Crosstalk recommends, uses dm.yealink.com, which requires access granted through a distributor or reseller.
- Redirect servers let phones be drop-shipped straight to customers. Because distributors can supply a phone's MAC address at purchase, the phone can be configured on the redirect server and PBX before it arrives, so the customer only plugs it in.
- Factory-defaulting a misbehaving phone is a quick fix. The host says a reset sends the phone through the whole provisioning process again, which solves a lot of phone problems at customer sites.
Technology and FriendsJoe Kunk on SQL+.NET [TECHNOLOGYANDFRIENDS 675]
- SQLPlus.net is an ORM that works with SQL rather than abstracting it. Kunk, an application architect in Lansing, Michigan, describes it as an alternative to Entity Framework, Dapper or ADO.NET: you annotate stored procedures with
--+comments, and a Visual Studio VSIX plug-in generates strongly typed services, input classes, output classes and validations. He calls this DBA-friendly, since a DBA can help debug plain SQL without knowing LINQ or Entity Framework; Giard adds that Entity Framework can hit a wall when you need to dig into slow SQL. - Annotations in the SQL drive generated validation and result handling. Kunk's examples include marking a parameter required, expecting a single row (it errors otherwise), and mapping a row count of zero to a "not found" enum in the output class. Built-in validations cover credit-card format (not the card itself, as Giard confirms), email, HTML, string lengths, passwords, postal codes and custom regexes, and a failed validation never reaches the database.
- Everything goes through stored procedures or file-based "concrete queries". Kunk says ad hoc queries are not available because the code is generated, but where getting a procedure past the DBA is hard, a concrete query stored as a file in the C# project is read the same way. For new databases the product supplies procedures that generate CRUD routines for every table, and generated classes are partial so they can be extended.
- Generation also produces enums, static data and multi-result outputs. Kunk lists enum lists generated from a query, static classes for rarely changing lists so the app skips database trips, multi-row, JSON and XML returns, MARS (multiple active result sets) into one output class, transactions, and a generated interface for handling transient connection errors, for example in mobile apps. Snippets for the annotations are available in SQL Server Management Studio.
- It is free except for corporate developers, who pay yearly. The fee is $99 per developer per year; Kunk says it follows Visual Studio Community Edition terms: free and full-featured for small companies, education, research and independent developers, with paid and free editions identical "at this time". He says it currently supports only SQL Server, .NET clients and, he believes, C# only; the vendor is in Pennsylvania and keeps sample code on GitHub.
Crosstalk Solutions09 - UniFi Protect Camera Setup - UDM-Pro Complete Setup 2021
- Leave image settings default unless the picture needs fixing. The host keeps lens distortion correction on and notes that changing HDR resets the stream. The IR options now include "filter only, no LEDs", which engages the IR cut filter for sites using an external illuminator; auto-rotate or manual flips handle upside-down mounts such as a G3 Flex.
- Mix recording modes to stretch limited storage. Cameras can record always, never, motion events only, or smart detections only; for a small retail shop he suggests motion-only inside and always-on for the front door and cash register. High frame rate mode gives more than 24 fps but disables 4K and HDR and lowers image quality.
- Require sustained motion before triggering, and pad each clip. His usual settings are two seconds of motion to trigger an event and five seconds recorded before and after, so birds and other brief movement are ignored. Motion and smart-detection zones confine detection to part of the frame, such as cutting out a tree swaying over a walkway.
- Privacy zones black out areas that must never be recorded. Unlike motion zones they remove that part of the image entirely; he advises checking local rules on recording, for example, a neighbour's yard. He also turns off status lights such as the G4 Pro's spinning blue LED so outdoor cameras are less conspicuous.
- RTSP streams feed third-party viewers and NVRs. High, medium or low streams each produce a URL, which he plays in VLC and uses for a Raspberry Pi quad-view display; his preferred overlay shows camera name and time but not the UniFi logo or bitrate. The video carries a sponsor segment for Private Internet Access VPN, which he calls his own VPN and partner.
Crosstalk Solutions08 - UniFi Protect Initial Setup - UDM-Pro Complete Setup 2021
- Protect shows updates but installs them from UniFi OS. At recording the host ran Protect 1.19.0 on UDM Pro version 1.10.0; the Protect settings page flags an available update, but it is applied from the UniFi OS settings.
- Smart detection of people and vehicles needs newer cameras. It works only on G4-generation cameras and later; once enabled in general settings, smart detections appear as separate clips marked with person or car icons, distinct from plain motion events.
- Without time-based deletion, Protect records until the disk fills. It then overwrites the oldest footage; the host suggests a time limit (his example is 60 days) where local rules restrict how long surveillance video may be kept. He leaves daily backups on but says to download the backup file periodically.
- Access points can bridge Bluetooth Protect devices not yet released. A linked-bridge setting lets U6 Lite and U6 LR access points discover and auto-adopt Bluetooth devices such as the UP Sense, then in early access; he says he has not tried it and is going only by the setting's description.
- Adopted cameras update their firmware automatically. Factory-default cameras on the network appear under add devices, and "find more devices" adds one on another VLAN; his G3 Flex, G4 Bullet, G4 Dome and G4 Pro all updated on adoption. He advises keeping live view at 720p and saving 4K for a 4K monitor, given the extra bandwidth. A sponsor segment for NextGenT runs mid-video.
Crosstalk SolutionsWe *ALMOST* Got Scammed! Here's the story..
synopsis
The host tells how Crosstalk Solutions placed a nearly $10,000 hardware order for a scammer posing as Clemson University and was saved only because the distributor caught the shipment before it left. His conclusion is that no single warning sign gave it away, so anyone can fall for it, and the defence is training the people who handle purchasing.
The long con. It began 23 days earlier with an inquiry from a "Mike N", director of procurement, at clemsonedu.school, asking for items Crosstalk does not sell and for net 30 terms, which schools buying summer phone installs routinely use. He then asked about the Yealink CAM50, collected a quote, added items and sent a purchase order for 104 phones and 18 cameras, billed to Clemson but shipped to Sayreville, New Jersey. Within two hours of receiving the net 30 application he returned it with a W-9, tax-exemption certificate and credit references, all plausible. Crosstalk approved it and ordered.
The catch. Next morning Andy, the Crosstalk salesperson, searched the contact's name and found Clemson's fraud alert about lookalike email addresses. The distributor intercepted the order, and Clemson confirmed the scheme was known.
The trail. The domain dated from 14 May 2021 behind Namecheap private registration; an abuse report went unanswered beyond receipt. The address belonged to a freight forwarder reshipping to Nigeria, with scam complaints on Yelp. The phone reached a generic Asterisk voicemail. The scammer, still engaged, confirmed a recipient and two-day shipping, but had not clicked the host's Grabify link as of recording.
The red flags. In hindsight: an out-of-the-blue large order, mismatched broken English, the non-.edu domain (the biggest miss), two-digit extensions, disclaimers pushing everything to email, and a distant ship-to. Calling the number first would have exposed it.
- A fake university buyer nearly walked off with a large hardware order. Over 23 days a "director of procurement" posing as Clemson University obtained net 30 terms and a purchase order for 104 phones and 18 Yealink CAM50 cameras, almost $10,000, shipped to Sayreville, New Jersey. Crosstalk placed the order; next morning Andy, its salesperson, found Clemson's fraud alert online, and the distributor stopped the shipment before it left the warehouse.
- Each red flag was easy to miss alone. The host lists them: an unsolicited large order for items Crosstalk does not sell, broken English that did not fit the name and location, and the domain clemsonedu.school rather than clemson.edu, which he calls the biggest clue. Others were two-digit phone extensions at a large university, email disclaimers steering everything to email, and a New Jersey ship-to against a South Carolina billing address.
- Convincing paperwork proved nothing about who sent it. Less than two hours after the request, the scammer returned a completed net 30 application, a W-9, a tax-exemption certificate and credit references that all looked legitimate. The host notes EIN and DUNS numbers are public and suspects the rest was found online or leaked in a breach; Clemson's procurement office confirmed the order was not theirs and that the scheme was known.
- Tracing the scammer reached only dead ends. The domain was registered on 14 May 2021 through Namecheap with private registration, and Namecheap acknowledged an abuse report without promising follow-up. The ship-to address belongs to a freight forwarder that reships to Nigeria, which the host declines to name, judging it most likely to be looking the other way; a Grabify tracking link he sent the scammer had not been clicked as of recording.
- Call the number and train the people who buy and pay. The listed number went straight to a generic Asterisk voicemail, which the host says would have been telling had they called before the order. He cites a figure of 70% or more of compromises and successful scams arriving by email, and urges briefing purchasing and accounting staff.
Technology and FriendsShahed Chowdhuri on Azure Arc [TECHNOLOGYANDFRIENDS 674]
- Azure Arc is a universal remote for hybrid and multi-cloud servers. Chowdhuri, who works at Microsoft, says it gives a "single pane of glass" over machines in data centers, under a desk, or in Google Cloud and AWS. He says the documentation currently covers Windows and Linux servers, SQL and PostgreSQL databases, and Kubernetes clusters in any environment.
- Machines are connected by running an agent script on them, not from the portal. Chowdhuri describes creating a resource group in the Azure portal, downloading a generated script and running it on, say, a Windows server in Google Cloud to enable the Arc agent. Authentication can be your own Azure CLI login or, more cleanly, a service principal, after which it is mostly "set it and forget it"; from Azure you can then monitor, push updates and extensions (including web server), scale databases and apply Azure Policy.
- It is aimed at infrastructure, not other clouds' platform services. Giard frames it as IaaS-focused, and Chowdhuri agrees that services such as Amazon S3 or Cognitive Services stay in their own cloud's portal. Extending his remote analogy, he says there is "really no point" in using Arc if you are not in a hybrid or multi-cloud situation.
- Pricing is left to the calculator; resources still bill where they run. Chowdhuri does not know Arc's own cost offhand and points to the pricing calculator; he says creating resource groups and metadata is free while logging and monitoring add cost. Giard's own calculator check showed $0 for one Kubernetes configuration and $132 a month for six cores over 200 hours with licence included, which both flag as an estimate as of recording.
- Start with the Jumpstart scenarios on Docs and GitHub. Chowdhuri points there for getting started and for feature additions, along with the Azure Architecture Center's hybrid multi-cloud Kubernetes designs. He notes Arc can be driven from the portal, the Azure CLI or the REST API, says Microsoft customers he will not name use it in production though he does not, and recommends Visual Studio Dev Essentials' Azure credits to non-Microsoft viewers.