Souk's Notes - Unofficial Summaries
Technology and FriendsEpisode 582: Jeremy Likness on Blazor
- Blazor runs C# and .NET in the browser through WebAssembly. Likness traces the path from ASM.js, a JavaScript subset targeted by the LLVM toolchain for C and C++ (for example, XOR-ing with zero to signal an integer), to WebAssembly, a bytecode for a stack-based sandbox with no DOM access. A team compiled Mono to WebAssembly in 2017, but that was a black box; Blazor adds the services for a full app and reuses the Razor templating engine in the browser ("Browser, Razor, Blazor"), so Razor class libraries can be shared with server-side MVC apps.
- Server-side Blazor is production-ready; the WebAssembly version is not. Client-side Blazor was still in preview, with optimization and debugging work outstanding, and Likness says the team was targeting May 2020 for it. As a stopgap, server-side Blazor renders pages on the server and pushes fragments over SignalR to a thin client, and switching between the two is a flag. It comes with .NET Core 3.0; the WebAssembly preview needs Visual Studio 2019 with preview workloads enabled, and blazor.net has instructions.
- The choice between server and client is a set of trade-offs. Likness says only the client-side version can run offline as a progressive web app. Server-side suits code with .NET Framework dependencies that cannot move to .NET Core, and code you do not want in users' hands, because the client-side version downloads your DLLs, whose IL can be decompiled; he calls obfuscation "a speed bump", not security. Where workloads should scale is the third factor; the example of keeping database-heavy calls on the server was Giard's.
- Silverlight and WPF shops can carry their view models over to Blazor. Likness says many customers he talks to still run WPF or Silverlight clients and want a modern stack that also reaches Linux, Mac and phones. Code that followed MVVM can port its view models, but XAML UIs have to be rewritten as Razor, and apps with logic embedded in the UI are much harder.
- WCF RIA Services users have several replacement options. .NET Core does not support WCF out of the box, so Likness lists a community WCF client project, gRPC with contract-based discovery, and OData, which he finds most intriguing. With an OData server, a Blazor client can share the same classes and validations and write LINQ filters that become API calls, so filtering happens on the server and only the needed records come back.
GCastGCast 64: Noise Reduction with Audacity
- No room is quiet enough, so camera-mic audio needs noise reduction. Giard needs it when his handheld microphones fail and he falls back to the camera's built-in mic, which picks up fluorescent-light hum, fans and voices through walls. He uses Audacity because it is free, open source and cross-platform (download from audacityteam.org); in his words, "I'm kind of cheap".
- Noise reduction is two passes: profile the silence, then apply. He selects about four seconds where both speakers kept quiet, runs Effect > Noise Reduction > Get Noise Profile so Audacity knows what counts as background noise, then selects everything (Ctrl+A) and runs Noise Reduction again, clicking OK with the default settings. On his interview clip the voices stayed the same and the hum was greatly reduced.
- Check the result, because reduction also changes the voices. Giard warns the effect alters the voices it brings forward slightly; the settings can be tweaked, and leaving in a little background noise may be preferable to keep the voices as they were.
- Export to use the audio elsewhere; save the project to keep editing. Edits live only in the Audacity project until File > Export writes a file; he exported a WAV from an imported MP3 and skipped the artist and title prompts, which he says matter more for music. File > Save Project stores an AUP file with supporting folders and files so the work can be reopened later.
Technology and FriendsEpisode 581: Laurent Bugnion on the Ignite Tour
- Microsoft is taking Ignite's content on a worldwide tour. Bugnion says the Ignite Tour visits 30 cities, starting the week after Ignite (first week of November, Orlando), with Paris first, and runs until June: two-day events with about 100 sessions of 45 minutes, in places including Tokyo, São Paulo, Johannesburg and many US and European cities. He will do 15 stops, which is manageable because he lives in Zurich, and says Ignite itself is pushing to make about 30% of its audience developers.
- Sessions are grouped into learning paths that each tell a story. A path is five sessions, about a day's worth, that tell one story but can be dipped into. Bugnion's covers modernizing an application in the cloud: moving an on-premises web app and its data to Azure, containerizing it with Kubernetes, monitoring with Azure Monitor and Application Insights, and extending it with serverless and Logic Apps. His informal polls suggest about 30–40% of attendees mostly follow a path, and Ignite sessions are recorded for Channel 9.
- The sessions are packaged so that anyone can deliver them. Everything is open source on GitHub: session scripts, slides, deployment templates that stand up about 30 Azure resources with one click (he spent about three weeks on his), Camtasia demo recordings that a presenter can fall back on without good internet, and a train-the-trainer video. Microsoft staff, MVPs, regional directors and trainers will deliver on the tour, anyone may use the material afterwards, and the team commits to updating it as Azure changes at least until June.
- The first tour's results led Microsoft to repeat it. Bugnion says last year's edition drew something like 50,000 attendees worldwide, from about 1,500 at smaller stops such as Mexico and São Paulo up to 6,000 in one venue on one day in Amsterdam. He says Microsoft's metrics showed good Azure adoption after the tour, especially free trials. His team also runs side events, and he asks user group organizers in tour cities to get in touch.
- Live human translation still has value over machine translation. Bugnion says some stops, such as São Paulo, have human interpreters whom Microsoft trains in technical vocabulary; places like Japan get local speakers; and everywhere has AI-powered live translation in the app, a few seconds behind. He tells of briefing an interpreter in Rome while showing Microsoft's automatic translation, which she said had led her to steer her daughter away from the job, but holds that humans still win on accuracy and nuance. The advice to brief the interpreter beforehand is Giard's, which he credits to Josh Holmes.
Crosstalk SolutionsUVC-G4-PRO
- The G4 Pro is UniFi Protect's top camera, priced accordingly. The UVC-G4-Pro lists at $449 MSRP (about $1 less on Amazon) for 4K 3840x2160 H.264 at a maximum 24 fps, a 3x optical zoom, a 108-degree field of view with some fisheye at the edges, IP67 rating, a gigabit port powered by 802.3af/at PoE, and a -20 to 50°C operating range. It offers only 720p and 4K settings, and the host wishes it had 1080p.
- Mount order matters, and the host got it wrong on camera. The cable goes through the wall mount, then the cable gland (circular side toward the lens, needed for the IP67 seal), then the swivel. Aim the camera before tightening the wall mount, because tightening is what locks the position, and fit the optional pole mount before that, not after.
- Only optical zoom made a face recognizable at 50 feet. Against a 1080p G3 bullet (about $139, outdoors for over a year), set to 30 fps at 6,000 bitrate against the G4 Pro's 24 fps at 16,000, the G3's digital zoom on a figure 22 paces away was blurry. The G4 Pro's digital zoom was better but still not identifying; 3x optical plus digital zoom gave a clear face. The host calls the comparison unfair.
- The G4 Pro's night vision far outclasses the G3's. In pitch dark the G3 showed only that someone was there, while the G4 Pro lit the scene well, with each camera tested alone so the IR would not interfere. Jumping straight to full 3x optical zoom at night went blurry and did not recover; zooming more slowly worked, giving a rough view of a face at 50 feet.
- The host rates night vision and microphone highest, 4K least. He calls the camera awesome but thinks 1080p is enough for security and leaves value for money to viewers. He has not tested the G4 Pro with UniFi Video, only UniFi Protect, and assumes but cannot confirm that it works there.
Technology and FriendsEpisode 580: Jason Bock on .NET Core 3
- Clients increasingly deploy .NET to Linux, especially in the cloud. Bock says this is what his consulting firm sees and that cross-platform reach is a main selling point of .NET Core, along with phones and now the web through Blazor. .NET Core 3 had been released at .NET Conf a week or two before the recording.
- WinForms and WPF apps can now target the .NET Core runtime. Bock says this does not make them cross-platform, since they still run only on Windows, but they get a faster runtime with fewer memory allocations. Because .NET Framework 4.8 will be the last Framework version and he cites Microsoft telemetry putting WinForms among the most-opened Visual Studio project types, he sees this as extending the life of large legacy apps rather than reviving the technology. Giard frames it as reassurance for companies that would otherwise face a rewrite.
- .NET now embraces Google's gRPC rather than inventing its own. Bock compares it to WCF or remoting: you define messages and services in a protocol-buffers text file, and generators produce server and client code. Generators exist for other languages, so a .NET service could be called from Java, Ruby, Python or Go, and the format is built to be fast on the wire. He takes it as a sign of Microsoft's openness to adopting what people already like.
- Blazor server-side ships now; the client-side version follows next spring. In server-side Blazor, which ships with .NET Core 3, rendering happens on the server, and a SignalR channel that is set up automatically routes events back and forth. Bock expects the WebAssembly client-side version around April or May, saying the programming model will be the same and code will not change. On the client, a Mono runtime file (mono.wasm) downloads first and then your assemblies, and .NET Standard assemblies can be shared between server and client.
- .NET Core 3 can publish a single-file executable. Bock says it bundles the .NET Core runtime into one bigger EXE that runs whether or not the SDK is installed. The first run unpacks itself and is slower, and later runs seem to him a little quicker. He sees it easing deployment of WinForms and WPF apps (compared with ClickOnce) and of console apps for Linux or Mac.
Crosstalk Solutions2.4GHz PTMP Through Trees
- A 2.4 GHz point-to-multipoint access point costs about $350. The host used a Ubiquiti Rocket AC Prism 2.4 GHz (R2AC-Prism: gigabit port, separate management radio, GPS sync, unused here) at $192 on Amazon, with the AirMax 2x2 10 dBi omni antenna (AMO-2G10) at about $150. He says the 10 dBi omni suits a few miles; past about 10 miles use the 13 dBi omni (roughly 30% larger) or, better, sector antennas on multiple Prisms.
- At 200 feet through forest, 2.4 GHz performed very well. A NanoStation M2 client saw a -48 dBm signal (chains about -53 and -54 dBm), a 300/300 Mbps link rate and 95% airMAX quality. A fast.com internet test gave 70 Mbps and an iperf LAN test, run because viewers asked for one after his earlier video, gave 61 Mbps.
- At about a quarter mile, the link failed completely. Shooting through houses and forest down a residential street, the NanoStation connected not at all, and the scan showed many neighbouring 2.4 GHz networks; he cannot say whether distance and obstacles or interference was the cause. A second spot, a logging road about a quarter mile away through trees, also got no signal.
- Line of sight matters most; height would likely have helped. The host frames 2.4 GHz as the middle ground: faster than 900 MHz, which got through the same forest in his earlier video, but worse at penetrating obstacles than 900 MHz. He did not test from the roof but expects 30 feet of height to clear the 6–10 foot brush that blocks ground-level links, and calls the test unscientific.
Technology and FriendsEpisode 579: Laurent Ellerbach on Diversity and Inclusion Workshop
- LEGO Serious Play uses bricks as metaphors to express ideas. In Ellerbach's description, each person builds an answer to a question in silence, then explains it while everyone else listens actively, and the group then finds what is common. Any brick can stand for any idea, so one person's TV is another's sofa. He says six bricks of the same colour can be combined 915 billion ways, a figure Giard repeats back as "billion with a B".
- Ellerbach argues that building draws out more than talking does. He says the hands are connected to about 80% of the brain's neurons against perhaps 5% for the mouth, and that building uses both hemispheres, one to make the model stand and one to make it look good. In his account the unconscious mind takes over while you build and expresses more than you consciously intended, and he says MRI-based neuroscience has shown this.
- His diversity and inclusion workshop turns hard questions into builds. Ellerbach, an engineer at Microsoft who is a certified facilitator, built the three-hour workshop because Microsoft wanted something more immersive and experiential than a discussion. A question like "what does respect mean for you?" draws a more considered answer when built than when written on a sticky note, and the answers differ widely from person to person. The method was created by LEGO with faculty from Switzerland in 1996 and released openly, with certification offered by consulting firms, but the questions and their flow, which build gradually from easy questions, are his own.
- The rules protect the unconscious, unhurried thinking the method depends on. Participants stay positive and do not judge anyone, since the builds are personal. They must not supply a word to someone searching for one, because the brain lazily keeps whatever it is given. They give each other time to process, keep phones and PCs away except for photos, and build in silence, so that attention is not pulled to what is happening around them.
- Ellerbach scales the workshop by training other facilitators, not publishing it. Demand after the first sessions led him to train facilitators and share the material openly with them, unpaid, asking only that changes be discussed with him; for now it is available only inside Microsoft, though he offers to train outsiders. He will not post the content publicly because he wants facilitators trained first. His next session was in London with 80 participants and several facilitators.
Technology and FriendsEpisode 578: Raj Krishnan on Azure Data Explorer
- Azure Data Explorer productizes the engine behind Microsoft's own monitoring services. Krishnan, who works for Microsoft, says ADX (formerly called Kusto) underlies Log Analytics, Application Insights, Time Series Insights and a security threat analysis service, which are abstractions over it; customers could previously use only those abstractions and can now bring their own use cases. Giard adds that long internal use means Microsoft has already found and fixed many of its bugs.
- It is built for near-real-time queries over high-volume ingested data. Krishnan describes a proprietary in-memory, columnar store, sharded across compute and automatically indexing everything ingested, aimed at questions about the last 5–10 minutes rather than live streaming (which he leaves to tools like Stream Analytics). He claims queries over 200 billion records in about 1.3–1.4 seconds and petabytes a day ingested.
- Because it is in memory, keep only active data there. Krishnan says ADX is not for "10 years of data" as in a SQL data warehouse: hold what you are querying now and move older data out to blob storage or a data lake, since cost scales with the data held and the compute needed for complex queries. The cluster is created and sized from the Azure portal by memory and query compute.
- Raw data goes in untransformed, but you define the schema. The three native ingestion paths offered in the portal are Event Hub, IoT Hub and blob storage, configured by connection strings; other sources such as SQL Server have no direct connector and go through Azure Data Factory's ADX connector into blob storage first. Data is queried with KQL (Kusto Query Language), SQL-like but not SQL, in the portal or the downloadable Kusto Explorer client, and Power BI can connect by direct query for real-time dashboards.
- A customer's 14–15-hour SSIS batch job prompted a non-telemetry use. Krishnan says the customer's forecasting data from multiple sources took 14–15 hours to process in SSIS before ending as Excel files, and with more mergers and acquisitions they feared one day's run would overlap the next. His approach was to drop transformations, load reasonably denormalized data straight into ADX and query it there.
Scott HanselmanCustomize the Windows Terminal with WSL2, Cascadia Code, Powerline, Nerd Fonts, Oh My Posh and more!
- Cascadia Code is a programmer's font worth switching to. Hanselman describes it as a new open-source monospaced font Microsoft "just released yesterday" under the SIL Open Font License, on GitHub; he shows its distinct 1/l and 0/o shapes and its ligatures, which merge sequences such as hyphens, arrows and "www" into single glyphs. He sets it as the font face in the Windows Terminal's profiles.json.
- Oh My Posh plus posh-git gives PowerShell a git-aware prompt. His recipe is three
Install-Modulecalls (posh-git, Oh My Posh and a specific version of PSReadLine), scoped to the current user so no administrator rights are needed, then importing the modules and setting a theme ("Paradox") at the bottom of$PROFILE. He notes Oh My Posh is a couple of years old and only occasionally updated but says it "works amazingly", and shows branch names and tab-completion ofgit checkout. - Cascadia Code's first release lacks Powerline glyphs, so the prompt renders wrong. Users have already asked for Powerline symbols on the font's GitHub repository. Rather than clone the Nerd Fonts repository ("three or four gigs"), he installs FontForge with apt-get in Ubuntu 18.04 under WSL and runs the Nerd Fonts font-patcher script with
-c(complete) against the font on the mounted C drive; the patched file grows from about 200K to almost a megabyte. - Reference the patched font by its internal name, not file name. After installing the "Cascadia Code Nerd Font Complete" file from Explorer, he points the PowerShell Core profile at the font name shown when the file is opened, removing a space before it renders correctly.
- Prebuilt Nerd Fonts avoid the patching entirely. He says anyone who does not want to do the work can download any of the many developer fonts already patched on the Nerd Fonts site, though Cascadia Code was "not there yet" at recording.
Scott HanselmanDeveloping on Windows with WSL2 (Subsystem for Linux), VS Code, Docker, and the Terminal
- Windows 10 is now a compelling place for Linux development. Hanselman, who says he prefers the Windows interface and found Cygwin unsatisfying, now uses Windows full time and moves between containers, Linux and Windows. His prerequisites at recording were a Windows 10 Insiders Fast build, WSL version 2 with the "Windows Subsystem for Linux" and "Virtual Machine Platform" features turned on (via the Features dialog or the PowerShell command shown on a distro's Store page), the Docker tech preview, VS Code's remote extensions and the Windows Terminal.
- WSL2 runs real Linux in a tiny, fast virtual machine. He shows it using about 500 MB of RAM in Task Manager and starting in two to four seconds cold and under a second hot, with full access to Windows drives under
/mnt/c.wsl --listandwsl -dswitch between his three installed distributions, including Ubuntu (free from the Store), Debian and a paid WSL-specific distribution with an X server that he recommends. - The Windows Terminal is a new console, not a new shell. He stresses the difference: cmd, PowerShell and Ubuntu have all been hosted by the old conhost, and the open-source Terminal, then in preview at "version 0.3 or 0.4", replaces that console with tabs, dropdowns and profiles defined in an editable JSON file.
- VS Code remote blurs the line between Windows and Linux. Typing
codein Ubuntu opens VS Code on Windows connected to WSL, with part of VS Code running as a server inside Linux (visible in htop). He builds a Node app in the Linux file system, browses those files in Explorer through a Plan 9 network server, hits a breakpoint while debugging, and reaches it atlocalhost:8000from Edge's Chromium-based Canary build because localhost is forwarded into WSL with no setup. - Docker's tech preview works from both Ubuntu and Windows. After starting Docker for Windows, he runs
docker imagesanddocker run hello-worldin Ubuntu and sees the same images from the Windows side; he notes everything shown is free to download.
Crosstalk Solutions6 Mile Rural PTP Link
- Rooftop radios cannot see each other across the rolling hills. A viewer's family business wanted to share Spectrum Business internet from its Berlin, Ohio site with its DSL-only Winesburg site 6.03 miles (just under 10 km) away. In Ubiquiti's airLink planner, airFiber 5X HD radios at about 40 feet (12 m) on each roof hit many obstructions, and dropping to 900 MHz Rocket M900s did not clear them either.
- The link only clears with towers around 100 feet tall. At 30 m (about 100 ft) on both sides the simulated 5 GHz airFiber link showed 100% signal and an estimated 240 Mbps. Because it is only a simulation, the host would build to 120 feet (36 m) for margin, and expects little interference in so rural an area.
- The towers cost far more than the DSL they would replace. Used self-supporting towers listed at $4,500 (110 ft) and $6,000 (120 ft); with delivery, crane, footings and a climber to mount and aim the radios, the host estimates a bare minimum of $10,000 per side. Against DSL he guesses at $200–300 a month, he recommends staying on DSL.
- A relay through an existing hilltop tower is the other option. If a tower in between, such as a cell tower, has line of sight to both sites, the business could rent space and dogleg the link over the hill. The host found no such tower on the map and had no information about one.
Crosstalk SolutionsUSW-Flex
- The USW-Flex is a small, PoE-powered, UniFi-managed distribution switch. It is a five-port layer 2 switch with one PoE-in and four PoE-out ports, retailing at $99 USD, with no separate power supply. In UniFi it is fully VLAN-capable, offers per-port PoE off/on, and appears as model "USF 5P"; firmware was 4.0.54 on controller 5.10.26 as of the recording.
- Its "weatherproof" claim looks thin from the bottom. The host found no IP rating, and the large opening at the bottom would let water, bugs and spiders in, though rain from above would not get in. Mounting is flexible: a wall/pole bracket, rubber feet, a magnetic mount, and a split cover so cables are run before closing it.
- Output power depends entirely on the PoE standard feeding it. The quick start guide gives a total budget of 8 W on 802.3af, 20 W on 802.3at, and 46 W on 802.3bt or a 54 V 1.1 A injector. On a US-8-60W (af only) the host's Yealink phone kept rebooting once a NanoHD was added; on a US-24-250W (at) both ran.
- Even 802.3at could not carry a G4 Pro alongside two devices. With the phone and NanoHD attached, the G4 Pro camera blinked without linking and the NanoHD dropped; alone, the G4 Pro powered up. The host suspects 802.3bt, which Ubiquiti's sales page pairs with the USW-Pro-48-PoE, USW-Pro-24-PoE and USW-Industrial, would do better, but had no bt switch to test.
- It answers requests for an 802.3af version of the Nano Switch. The host frames it as a UniFi-controlled counterpart to Ubiquiti's 24 V passive Nano Switch, which has no configuration interface. He sees it suiting installs like his own solar setup with several 802.3af devices; it will not supply 24 V passive.
Technology and FriendsEpisode 577: Lorena Mesa on the Python Software Foundation
synopsis
Mesa, a data engineer at GitHub, PyLadies Chicago organizer and third-term director of the Python Software Foundation, describes the PSF as a maturing nonprofit whose job is the Python community rather than the language, and ends on governance: she holds that the PSF board and the core developers' steering committee are two sides of one practice of organizing a global community.
What the PSF is. A US 501(c)(3) that holds the Python trademark, runs PyCon US, maintains PyPI and funds grants. Mesa stresses that directors need not be core developers. The 13-member board is publicly elected; terms moved from one year to three, about a third elected each year, to keep knowledge on the board. She was just made vice chair elect, after serving as communications chair.
Money and grants. PyCon US profits pay staff, then infrastructure, then a global grants program covering things like Django Girls workshops and developer-sprint travel. A new education committee has made its first call for proposals.
Reach beyond the US. Mesa has run PSF Q&As abroad, including in Spanish at PyCon Colombia 2018, and points to visa barriers for travel to the US. Anyone using the PyCon name must contact the PSF and have a code of conduct; the PSF's own is being overhauled with an external consultant.
Services to projects. Legal counsel answers basic questions, the PSF is taking ownership of Requests from Kenneth Reitz, and fiscal sponsorship spares projects from forming their own nonprofit. Voting needs membership above the basic level, earned for example by giving money or about five volunteer hours.
Governance. Mesa cites the steering committee formed after Guido van Rossum stepped down, a translations work group she co-founded, and Brett Cannon's line "I came for the language, but I stayed for the community".
- The PSF stewards Python's community, not the language itself. Mesa, a GitHub data engineer and PSF director, describes the foundation as a US 501(c)(3) that holds the Python trademark, runs PyCon US, manages PyPI's infrastructure and runs a grants program; she is not a core developer, and the language is the core developers' business.
- Three-year board terms were adopted to retain knowledge. Mesa says the 13-member, publicly elected board moved from one-year terms to three-year terms with about a third up each year, so it can work on longer-term efforts; beyond attending meetings, directors choose their own committees and work groups (education, finance, code of conduct, trademark, translations).
- PyCon US profits pay for staff, infrastructure and global grants. Grants can run from a few hundred dollars for a local Django Girls workshop to travel for a developer sprint, and a new education committee has issued its first call for education-focused grant proposals.
- Any PyCon must meet PSF standards, chiefly having a code of conduct. The PSF owns the PyCon name, but Mesa says the only requirement is to have a code of conduct, while the PSF overhauls its own with an external consultant to make it more enforceable; she ties this to outreach beyond the US, from a Spanish-language Q&A at PyCon Colombia 2018 to the first PyCon Africa in Accra, chaired by a director based in Zimbabwe.
- The PSF can take over key projects or fiscally sponsor them. Mesa says Kenneth Reitz wanted to stop owning the Requests library and the PSF is moving it under its own GitHub, and that projects can shelter under the PSF's 501(c)(3) instead of forming their own; legal counsel answers basic usage questions, and staff have helped with the Python 2 to 3 move ahead of Python 2 support ending at the end of the year.
Crosstalk SolutionsYealink CP920
- The Yealink CP920 is the host's go-to small-room conference phone. Crosstalk sells it, at $315 (or $300 for buyers who mention the video), and the host says it costs much less than Polycom conference phones such as the IP 6000. He reports selling "a ton" of them for years without a return or a customer complaint.
- It covers rooms of about 20 feet and installs without network cabling. Its microphones pick up voice through 360 degrees to 6 metres (about 20 feet). It runs on PoE through a 10/100 port or on a 12 V DC adapter, and has built-in Wi-Fi for rooms with floor power but no network drop. It also has Bluetooth, a 3.1-inch touchscreen, touch-sensitive mute keys, five-way local conferencing and USB call recording to a thumb drive.
- Registering it to FreePBX takes one screen, not Endpoint Manager. Log in with the default admin/admin and change it. Under Account, set Line Active to enabled (it ships disabled), enter the FreePBX extension's name, user and SIP password, and give the PBX's IP address or FQDN as the host. If the room has a voicemail box, set the voicemail number under Advanced to *97.
- The CP960 is for large rooms needing spread-out microphones. It has the same form factor but an Android colour display, for $490. For $580 it comes with two docked wireless microphones, which the CP920 cannot take. The host considers the CP920 adequate for most of the SMB and small-enterprise rooms Crosstalk sells into.
Crosstalk SolutionsRacetrack Wireless Install
- A pieced-together mesh network had outgrown the speedway's needs. Aaron Zufall of Zufall Communications had built it in his spare time for security cameras at the Pennsylvania Motor Speedway near Pittsburgh. He says its Wi-Fi was spotty away from the APs, and the track wanted grandstand Wi-Fi so fans could follow online live timing without cellular data. Cambium Networks sponsored all the equipment for the replacement.
- One elevated ePMP 3000L feeds four sites from a single fibre line. The track's only internet, a FiOS 150/150 Mbps fibre line, lands in one building, where the AP sits on a 10-foot mast. Force 300-16 subscriber modules link the ticket booth, press box, pit scoring booth and pit concession stand. A Cambium engineer measured 129 Mbps down and 133 up at about −51 dBm RSSI on a barely line-of-sight 40 MHz channel.
- Sector APs light the stands while guest bandwidth is capped. Four cnPilot e501S outdoor sector APs (90° beam, IP67, up to 256 clients) cover the main and side grandstands, and e410 indoor APs serve the concession and pit areas, all as one network. Guest traffic is throttled to 5/2 Mbps per client and 50/20 Mbps for the whole guest network.
- The sector APs reached far beyond the stands. On the far side of the track, about a fifth of a mile from the APs, the host's iPhone tested at 40 Mbps down and 20 up, and the Cambium engineer saw 2–3 bars at about 1,000 feet.
- The track's Wi-Fi contest stress test peaked at 138 clients. The Cambium dashboard showed most clients on 2.4 GHz (105, against 26 on 5 GHz) and a peak of about 74 Mbps throughput. The Cambium engineer reports frame utilization stayed below 30% all evening.
Technology and FriendsEpisode 576: Dan Rey on Microsoft Surface
- Every Surface device supports touch and stylus input. Rey, a Microsoft Surface specialist selling to healthcare and life sciences, says this sets the six or seven Surface-branded devices apart from other OEM lines he knows of, across desktop, tablet and hybrid forms.
- The Surface Book detaches mechanically because its base holds hardware. The base carries a second battery and a GPU, so holding the release button for about two to two and a half seconds checks that no software is using that GPU; Rey assumes Adobe video tools or games would block detaching until closed.
- Surface comes in separate consumer and business versions. Rey's Surface Pro 6 from the Microsoft store shipped with Windows 10 Home, while business versions ship with Windows 10 Pro and may differ in specs and warranty.
- Rey says Surface firmware is supported longer than rival OEMs'. He says other manufacturers update hardware settings for one to maybe three years, while Surface devices three, four or five years old still get firmware updates; he also pitches Surface as a showcase for Microsoft 365, with sign-in through a cloud identity.
- The Surface Hub is built for real-time meeting-room collaboration. Rey says agile teams among his healthcare and life sciences customers use it as a touch-first digital whiteboard whose boards save to the signed-in user, and the Whiteboard app is now also on the web, iOS and Windows 10, so he can join the same board from an Android phone.
GCastGCast 63: Sentiment Analysis JavaScript Demo
- The demo page flags text above 0.5 as positive. A web page with a text area and an Analyze button sends the text to the sentiment endpoint of a service created in West US. If the returned score is above 0.5 it shows "That is a positive thing to say" and a thumbs-up image; at 0.5 or below it shows the negative message and a scowling image. "Life is Beautiful" scored 0.99 and "Life is Terrible" about 5%. "So-so" and "medium fair" phrasings still came out fairly positive.
- Giard likes jQuery for its elegant web service calls. The script reads the textarea with jQuery and posts to the endpoint. It sends the subscription key in the header (hidden in the video),
application/jsonas the content type, and a documents array. That array holds one document with the language given explicitly, an ID for later reference, and the user's text. - The response handler checks errors before reading the first score. It displays any errors and stops. Otherwise it confirms at least one document came back and reads only the first, since the code handles one document at a time. It formats the score to two decimal places with
toFixed(2)and toggles the two hidden images' display. With no documents it shows "nothing to analyze", and there is general error handling besides. - The code is in Giard's GitHub cognitive services demos repo. It is the sentiment analysis demo in the Cognitive Services demos repository at github.com/davidgiard. The repository includes notes on setup, including getting your own key.
GCastGCast 62: Sentiment Analysis Cognitive Service
- Sentiment analysis scores text from negative to positive. The service is part of the Text Analytics API, under Language at microsoft.com/cognitive. It returns a score between 0 and 1 for each document: the closer to 1, the more positive. On the documentation page's demo, a sentence about a wonderful Seattle trip scored 0.8372 (about 84%), and one about rain spoiling the trip scored 0.0364 (about 4%). The page's demo also showed the language and key phrases.
- One POST, with a region-specific endpoint and two headers. The URL is the endpoint for the region where the resource was created (East US here), plus
/text/analytics/v2.0/sentiment. An optionalshowStatstrue/false query parameter returns extra statistics. TheOcp-Apim-Subscription-Keyheader takes either of the resource's two keys; Giard says there are two in case one gets compromised.Content-Typeisapplication/jsonortext/json, and their schemas differ slightly. - The status codes tell you what failed. 200 is OK. A 400 means something like a wrong key, a wrong URL or malformed JSON. A 500 means something went wrong, and the response carries information about why. The documentation also has sample code in curl, C#, Java, Ruby and Python (2.7 and 3.2 shown), with the endpoint, key and body left to fill in.
- The browser console scores several documents in one call. Giard ran the console's default body of three documents, in English, French and Spanish. It returned 200 OK in about 0.15 seconds with no errors, scoring them 98%, 84% and 33%, with character counts included. He guesses the Spanish one says something negative.
Crosstalk SolutionsBackyard PTMP
- A wireless link design starts from a marked-up map. A viewer asked whether two Ubiquiti M5 radios would carry a new Xfinity line from the main house to a shop 60 yards away and a camper 70 yards away, the two 25 yards apart. The host first asked for a Google Maps markup of the sites. He then ignored the trees on it on the viewer's word that he had clear line of sight.
- An M5 point-to-multipoint setup would work, and is probably overkill. The design has a NanoStation M5 on the house in point-to-multipoint mode and a NanoStation Loco M5 at each remote site, each behind an ETH-SP-G2 surge protector, feeding a UAP-AC-Lite. The camper's surge protector probably cannot be grounded, and the host says it can be left out. The Amazon parts total $455.53, including $77 for the NanoStation and $124.96 for a Loco two-pack.
- An AC upgrade adds throughput the job does not need. It uses the same layout with a LiteAP AC (LAP-120, $81.37) at the house, NanoBeam AC Gen2 stations ($92.42 each) and UAP-AC-Pro access points ($134.26 each). Neither total includes the UniFi controller the access points need. The host links all the parts on Amazon and asks viewers to buy through his links.
Crosstalk SolutionsTeslaUSB - Automatic Dashcam Backups with Raspberry Pi
synopsis
The host turns a Raspberry Pi Zero W into a USB drive that sits in the Tesla, recording dashcam and Sentry Mode footage and serving music. When the car reaches home Wi-Fi, footage copies automatically to a Windows share and new music syncs back. He ends with the Pi velcroed in the storage compartment and the car's recording icon showing.
Hardware. He uses marcone's pre-built image of the TeslaUSB project, which began as cimryan's manual build. The parts are a cased CanaKit Pi Zero ($24.99), a 64 GB SanDisk Ultra card ($12.49) and a short right-angle micro-USB cable. He picks the Zero for its size and low battery draw, and skips a USB add-on board that would stick out.
Windows preparation. The Pi's config file holds credentials in plain text, so he creates a local Windows user limited to two read/write shares. The footage share is named "TeslaCam" because viewer programs expect that name.
Imaging and configuration. He formats the card, deletes a leftover 16 MB unallocated partition, and writes the version 1.3 image with Win32 Disk Imager. He warns twice that choosing the wrong drive destroys its contents. He then edits the sample config with the share server and credentials, Wi-Fi details, time zone and an 80% cam-size split, and saves a backup copy. He skips the option to keep the car awake through Tesla's API: opening the app, or running climate for hours, gives long offloads time to finish.
First boot and troubleshooting. Setup runs for 5–10 minutes. He follows it over SSH (default password "raspberry") through marker files and a log. His install stalled twice, and rerunning /etc/rc.local as root resumed it. The result was a 45 GB cam disk and a 12 GB music disk.
In the car. The inner micro-USB port carries data. The Pi appears as a drive after about 30 seconds, with a double-blinking LED.
- A Raspberry Pi Zero W replaces the Tesla's dashcam USB stick. Running the open-source TeslaUSB project, it stores dashcam and Sentry Mode footage plus a music library. On reaching home Wi-Fi it offloads footage to a Windows share and pulls new music from another, so nothing has to be carried indoors. The host credits cimryan's original manual build and marcone's pre-built image, which he uses.
- A cased Pi Zero draws little power and stays protected. The host's parts are a CanaKit Pi Zero kit with case and heatsink ($24.99), a SanDisk Ultra 64 GB card ($12.49) and a 6-inch right-angle Cable Matters micro-USB cable, velcroed in the storage compartment. He skips the full-size USB add-on board because it sticks out and can be knocked. His Amazon links are affiliate links.
- Give the Pi its own Windows account. The config file stores the share password and Wi-Fi key in plain text, so the host creates a local "Tesla" user that can reach only the two shares, with read/write access. He names the footage share exactly "TeslaCam", because footage-viewer programs look for that name by default.
- Write the card carefully, then set the storage split and keep-awake. The host flashes version 1.3 (the 2019-06-15 image) with Win32 Disk Imager, warning that it and SD Card Formatter will wipe whatever drive is selected. In the renamed config file, setting cam size to 80% gave him about 45 GB of footage and 12 GB of music. Instead of the car-API keep-awake option, he turns on climate in the Tesla app, which he says keeps the car awake for hours.
- Restart the setup script if first boot stalls. Setup takes about 5–10 minutes. SSH to pi@teslausb.local was hit-and-miss for the host, so he used the IP from his DHCP leases. If the log sits 10–15 minutes on one line, rerun /etc/rc.local as root; his install needed two restarts. In the car, use the inner micro-USB port, which he says alone carries data, and look for the dashcam icon.
GCastGCast 61: Text Recognition C# Demo
- The demo reads its endpoint and key from app config. The code is the RecognizeText demo at github.com/davidgiard/cognitivesvcsdemos. Before running it you create a Cognitive Service in Azure. Then you add an app config file with an appSettings section holding two keys, the computer vision key and the vision endpoint, filled with your own service's values. You also need a picture of text on disk; Giard uses a Robert Frost poem.
- The first call posts the image bytes asynchronously with HttpClient. The code posts to the endpoint plus
/vision/v2.0/recognizeText?mode=printed, so it assumes printed rather than handwritten text. It adds the key header and turns the file into a byte array using boilerplate Giard says he found online. It setsapplication/octet-streamand callsPostAsyncwithawait, so the form stays responsive but the code after it waits for the reply. After checking for a 2xx success (he thinks 202), it reads theOperation-Locationheader, takes the first value because headers can be arrays, and stores the URL in a private variable. - The second call is a plain GET, deserialized with Newtonsoft.Json.
GetAsyncsends the stored URL with the key header and no body, which Giard notes GETs do not support anyway. The response string is deserialized into a strongly typed results class. It holds a status string and a recognition result containing an array of lines, each with text, an eight-integer bounding box and an array of words, each with its own box and text. - Large images need polling; a small one returns almost instantly. The demo poem took a fraction of a second to process. Giard says large images take longer, and you may want a loop that pings the second URL periodically. The demo just shows the status and then loops through the lines, one per line.
Scott HanselmanLogitech Brio vs Sony A6000 with Elgato Camlink 4k - No Contest
- A ring lamp improves webcam lighting, but doesn't fix it. With window light on one side, Hanselman's Logitech Brio left him washed out. The ring lamp's adjustable colour and brightness made it "a lot better" but still a little overexposed, and he notes his three monitors also act as light sources.
- A used mirrorless camera makes a cheap, much better webcam. He feeds a Sony A6000 over HDMI into an Elgato Cam Link 4K. He says the camera, once about $1,000, cost about $300 on Craigslist, and the Cam Link is about $100. A 1080p version of the Cam Link exists, and he only gets 1080p out of the Sony anyway.
- Hanselman says the Brio is not even competitive with it. He likens the gap to "shooting a bullet and throwing it" and says the setup looks like "a streaming blu-ray" on Skype, Teams, Zoom and Google Hangouts. He recommends it to remote workers, citing his own almost 13 years of working from home.
Technology and FriendsEpisode 575: Kevin Gates on Cloud Architecture
- Choose a cloud migration strategy per tier, not for the whole app. Gates, a Microsoft cloud solution architect, draws a sample app with a web tier, a Java and .NET API monolith, a SQL database that also does backups and file serving, and back-end logging and reporting; he proposes microservices for the API, lift-and-shift into platform-as-a-service for the database, and serverless for the back-end work.
- Split the monolith by domain and align teams to each domain. Gates uses domain-driven design (cart, sales, inventory, printing) so each team can ship independently, then packages each service as a container image in megabytes rather than a VM's gigabytes; Azure Kubernetes Service can raise one busy service, such as inventory, from four replicas to five or ten without scaling the rest.
- The database and file share can move with almost no code change. Gates lays out SQL Server in a VM (IaaS), Azure SQL Database (PaaS, with automatic backups and transparent data encryption) and SQL Managed Instance in between; moving to Azure SQL needs mainly a new connection string, and Azure Files over SMB 3.0 served a partner whose app hard-coded UNC paths, whereas Blob storage would need REST client changes.
- Cross-cutting and event-driven work maps to native services and serverless. Application Insights in Azure Monitor combines platform metrics with custom ones such as orders fulfilled and can trigger scripts, webhooks or Azure DevOps items on alerts; a receipt job can become an event chain that queries a new order, writes a file to Blob storage and emails the customer a link.
- A stateful web tier must move its state out before scaling. With session state on one server, a second instance would show an empty shopping cart, so Gates moves state to Azure's Redis cache service and hosts the site on App Service; he says migration can be phased, often database first, with logic kept close to its data.
Technology and FriendsEpisode 574: Mercedes Bernard on Dev Together
- Dev Together teaches new developers the skills nobody explicitly teaches. Bernard, a senior software engineer and engineering manager at Tandem, runs the volunteer Chicago community, not incorporated as a nonprofit, to connect early-career developers with experienced mentors for code review, Git and source control, pair programming and job-hunting.
- Mentors review code in advance, then pair through the feedback. Bernard calls the design "high value, low commitment": mentees say what they want feedback on, mentors spend about an hour reviewing beforehand, and the event on the second Tuesday of each month runs only 6 to 7:30, with mentors matched month to month rather than assigned long-term.
- The idea came from gaps seen in apprenticeship applications. Reviewing code samples for Tandem's apprenticeship, Bernard saw a gap between bootcamp, self-taught or college code and industry code, and Tandem could not hire all hundred applicants; the community, then a year and almost two months old, draws about half repeat and half new attendees and has added lightning-talk nights and workshops on React state, unit testing with Heroku deployment, and Git.
- Bernard reports benefits on both sides of the mentoring. One mentor with almost 30 years' experience told her pairing on a for loop versus a while loop restored his empathy for new hires, another now coaches early-career developers at work, and mentees tell her about interviews, offers and freelance clients; a Madison, Wisconsin organizer started a chapter under the same name and branding.
- Bernard argues gatekeeping computer-science topics aren't vital to the job. Her talk "Fun and Friendly CS" explains topics like big O notation and linked lists with accessible metaphors to tell developers without that education they are still real coders; Giard adds that he first heard of big O in a job interview and never met it in a project.
GCastGCast 60: Text Recognition Cognitive Service with Binary Images
- Postman can send an image file, which the browser tool cannot. The in-browser test tool from the previous episode only accepts a URL to an image online. Giard uses Postman, which lets you set the URL, HTTP verb, headers and body of a request, to send a picture of text from disk to the Recognize Text API without writing code.
- The first call is a POST of the raw image bytes.
The URL is the service's endpoint, copied from the portal, followed by the
documented Recognize Text path with
mode=printedin the query string (the documentation gives handwritten or printed as the options). Content-Type isapplication/octet-streamfor binary data, rather thanapplication/json. TheOcp-Apim-Subscription-Keyheader carries either one of the service's keys, and Giard stresses that the header name must have no spaces. In Postman the body is set to binary and a file chosen from disk. - The POST returns no text, only a job URL.
The body comes back empty. The
Operation-Locationresponse header holds a URL of the form endpoint plus/vision/v2.0/textOperations/plus a GUID. It matches the documented Get Recognize Text Operation Result call, and it identifies the job just started. - A GET to that URL returns the job's status and the text. It needs only the same subscription-key header. Giard notes the status may still show the job in process, or an error, rather than succeeded. On success the result is an array of lines, each with its text and an array of words.
- Every line and word comes with a bounding box. A bounding box is an array of eight integers: the x, y coordinates of the four corners of the rectangle around that line or word. Giard says this lets you locate a word in the original image to highlight it, blank it out or replace it.
GCastGCast 59: Cognitive Services Text Recognition service
- The newer Text Recognition service beats the older OCR service. Giard says the Recognize Text operation in the Cognitive Services Computer Vision API is slightly more complicated to use than Optical Character Recognition, but its results tend to be better. It turns a picture of text into the text itself.
- Recognizing text takes two calls: one starts a job, one collects it. A POST to the endpoint plus
/vision/v2.0/recognizeText?mode=sends the image, either as a URL pointing to it online or as the binary image.modeis eitherprintedorhandwritten. The call returns a 202 and a URL carrying an operation ID. A GET to thattextOperations/<operation ID>URL returns the job's status (complete, in process, or error) and, once it has succeeded, the text. Giard says the split is what lets the service handle large text-recognition jobs. - A Cognitive Services resource gives you an endpoint and key. He creates the resource in the Azure portal, East US and the cheapest pricing tier, which takes about 30 seconds. The Overview page gives the base endpoint for all Cognitive Services. The key has to go in the
Ocp-Apim-Subscription-Keyheader of every call, and he says to keep it safe. TheContent-Typeheader says whether the image goes as binary data or as JSON pointing to a URL. - The results give lines and words, each with a bounding box. Testing both calls in the documentation's in-browser console on a poem he found online, he got a 202 from the POST and a 200 with status "succeeded" from the GET. The response holds an array of lines, each with its text, a bounding box of eight numbers (the XY coordinates of four corners) and an array of words carrying their own boxes. Giard says the boxes let you highlight, block out or replace a line or a single word in the image.
Crosstalk SolutionsRaspberry Pi 4 Heat Testing
- Heat sinks only delay the Raspberry Pi 4's thermal throttling. The Pi 4's Broadcom quad-core 1.5 GHz CPU throttles at 80°C; under
stress -c 8with all four cores at 100%, the heat-sinked board showed the throttle icon after roughly two and a half minutes (2:10 on a stopwatch started about 30 seconds late). The host measured 40–50°C on the outside of the CPU heat sink during the test. - The Pimoroni Fan SHIM kept the CPU from ever throttling. With the fan alone and no heat sinks, the same full-load stress test ran for 8 minutes 50 seconds without reaching 80°C. The fan cycled on at 65°C and off around 58–60°C. The host allows that some workloads might still push it to throttling, and says he will replace the heat sinks on both his Pi 4s with it.
- Set the fan to run as a service with hysteresis. Pimoroni's installer script takes an on-temperature and a hysteresis value, which the host set to 65°C and 5°C. The buffer keeps the fan from flapping at the threshold; it stays on until the CPU drops to 60°C. The SHIM costs $10 from Pimoroni, and the host paid about $27 for two plus a case, shipping included.
- CPU temperature takes more work to read than GPU temperature. GPU temperature comes straight from
vcgencmd measure_temp. CPU temperature is in/sys/class/thermal/thermal_zone0/tempas a five-digit figure that has to be divided by 1,000. The host wraps both in a short script credited to Vivek Gite of cyberciti.biz and runs it underwatchto refresh every 2 seconds.
Technology and FriendsEpisode 573: Ruth Yakubu on Machine Learning tools in Azure
- Azure Machine Learning Service replaces Microsoft's earlier ML tools. Yakubu, a Microsoft cloud advocate who works with startups, says it consolidates the drag-and-drop Machine Learning Studio (which she says let university beginners get going in 20 minutes) and the Azure Workbench into a suite for beginners and seasoned data scientists. Work starts in the Azure portal with an experiment, and the coding is done in Jupyter Notebooks that can be generated from the workbench, with Python frameworks such as Keras brought in.
- Storing every model's history supports teamwork, debugging and auditing. Yakubu argues a model in production is never a done deal, since new data may force refinement, so the service keeps the history of models; teammates can compare whose model worked and why, down to data cleansing and the parameters fed in. Deployed models come in formats such as ONNX and can be consumed from any language able to open them, Java included.
- MLOps brings DevOps pipelines and source control to notebooks. Giard raises getting Jupyter Notebook code into source control as a standing difficulty; Yakubu says the service has pipelines through Azure DevOps for building, testing and deploying models, with a history of every change.
- AutoML automates the trial-and-error of choosing an algorithm. Yakubu says a training run can take eight hours and still give poor results; with AutoML the user loads data, sets key parameters and the problem type (such as classification), and the service tries different algorithms and reports the best one along with the factors that actually drive the outcome. Giard adds his own view that cleaning data and choosing a model are where data scientists spend most of their time.
- Form Recognizer turns paper forms into structured data. Yakubu describes this service, introduced this year, as extracting what people write on forms such as doctor's-office paperwork into a digitized structure for a database, replacing manual re-entry; she says she is flying to Tampa for a project using it.
GCastGCast 58: Creating and Deploying Azure Resources with ARM Templates
- The portal will write the ARM template for you. Giard says the easiest route is to walk through Create a Resource as usual, here a virtual machine (East US, no redundancy, Ubuntu Server, defaults otherwise), then click "Download a template for automation" at Review and Create instead of Create. This produces the ARM template, a parameters file and sample scripts for PowerShell, the Azure CLI and others.
- The template describes the resources, and the parameters file supplies values. The template JSON says what to create, its properties and location, and the dependencies that make resources get created in the right order. Values such as location are passed in as parameters. The generated parameters file left the password blank, so Giard fills it in before deploying.
- The PowerShell script needs only a subscription and a resource group. Giard runs deploy.ps1 with the subscription name and an existing empty resource group. If no template or parameters file is named, the script falls back to default file names, and either can be overridden on the command line. It prompts for sign-in. He deliberately leaves the login out of the script for security reasons.
- One run deployed the VM and all its supporting resources. After about two minutes the resource group held the virtual machine plus its virtual network, storage account and disks. Giard says the script can become part of continuous integration and deployment, or be handed to others to run with their own parameter files.
Crosstalk SolutionsRaspbery Pi 4 Overview
- The Pi 4 is not a real desktop replacement. It is being marketed as one, and the new Broadcom quad-core 1.5 GHz CPU gives three to four times the Pi 3's processing power (per benchmarks the host cites from MagPi). In his testing it handled web, email and dual monitors, but stuttered on full-screen 1080p YouTube and is unusable for gaming. He doubts its claimed 4K output (two displays at 4Kp30 or one at 4Kp60) would give a good experience.
- Buy the largest-memory model; the premium is small. The 1 GB board is still about $35, with 2 GB costing $10 more and 4 GB $20 more. The host would almost always recommend the 4 GB, especially for anyone using the Pi as a desktop.
- Ethernet now runs at full gigabit, and USB 3.0 arrives. The Pi 3's gigabit NIC shared the USB 2.0 bus, which capped it at 300 Mbps; the host confirmed full gigabit throughput on the Pi 4. The two USB 3.0 ports make a mini NAS possible, and USB 3 boot is rumoured. Moving the NIC and USB ports breaks compatibility with older cases, though the host found the PoE HAT still works.
- USB-C power fails with some third-party adapters. Others report that many USB-C chargers won't power the board, including Apple MacBook chargers. The official power supply and a Nintendo Switch charger both worked for the host, and he expects the Raspberry Pi Foundation to fix this in a later revision.
- More power means more heat and higher draw. The Pi 4 throttles its CPU at 80°C, and the host reproduced this under stress testing: heat sinks only delayed it, while a Pimoroni Fan SHIM did better. Idle power draw is about 35% higher than the Pi 3 Model B+, so he suggests older models for battery or solar projects.
Crosstalk SolutionsSimple PTP Wireless Bridge
- A line-of-sight wireless bridge can replace a second internet connection. For a client job, the host extends a flat /24 LAN (192.168.10.0) to a building about a third of a mile (half a kilometre) away. The link uses two Ubiquiti NanoBeam AC Gen2 radios, roughly $99 MSRP each, which his firm sells below MSRP. His case is that dropping the second site's connection saves its monthly charges. In airLink, at about 30 ft mounting height, 25 dBm and 40 MHz, the path planned as a clear signal.
- Add a grounded Ethernet surge protector despite the radio's built-in protection. At each end the host puts a Ubiquiti ETH-SP Gen2 between the radio and the switch. The radio's own surge protection doesn't stop a lightning surge carried down the copper from reaching the switch inside.
- The NanoBeam's second port can power a camera. The radio takes 24 V passive PoE in on one port, from the bundled injector or a switch that supplies 24 V passive. It can pass PoE out on the second port, so a 24 V passive camera can share a pole-mounted radio.
- Initial setup no longer needs a laptop on the default subnet. Previously the radio had to be reached at its default 192.168.1.20; now its management Wi-Fi radio lets the UNMS phone app find it and set a static IP; the bridge ends were 192.168.10.8 and .9. After that the host configures it in the web GUI: station point-to-point locked to the AP's SSID, with a WPA2 key and an optional backup SSID. He also enables NTP, which UNMS needs, and adds the radio to UNMS for remote monitoring.
- Bench throughput fell short of what the host hopes for. With both radios in the same room at maximum output power, the link connected at 200–250 Mbps. The host hopes for about 300 Mbps in the field, and may lower the output power because full power may be too loud for the distance.
Network Chuck$Hey members!!!
- This post includes paid content that is not available publicly. See the original source.