Souk's Notes - Unofficial Summaries
Crosstalk SolutionsMesh++ S618 - Self-contained Solar Powered Mesh WiFi
- The Mesh++ S618 packs solar power, backhaul and Wi-Fi into one case. The IP67 pole-mountable node holds an MPPT charge controller and a 1.2 kWh battery that Mesh++ says runs it five to ten days without input; it takes a 60 W USB-C supply or a 75 W panel, upgradable to 100 W. In the host's test, with the panel badly placed on the ground, the battery fell only about 4–5% each night.
- It takes internet three ways, and the tested speeds track the source. Through a NanoStation M5 bridge powered by the S618's 24 V passive PoE output the host got 92.7/40.8 Mbps, capped by the M5's 100 Mbps NIC and his own 40 Mbps upload. A T-Mobile Home Internet gateway plugged in directly gave 105/10 Mbps; an internal LTE/5G option has two SIM slots for redundancy.
- Only one node needs internet; the rest mesh automatically. Extra nodes are added over Bluetooth in the app and fail over if a neighbour drops; the spec is up to 400 ft (122 m) between nodes, or about 1,000 ft (300 m) line of sight with antennas on the N-type connectors. A second node about 75 ft from the LTE node gave the host 32/23 Mbps; radios are 2x2 on 2.4 and 5 GHz, with an optional 4x4 Wi-Fi 6E upgrade.
- The host wants better hardware details and an advanced mode. The add-on USB Ethernet board comes apart easily, its directional USB-C cable relies on a blue orientation dot that wore off outdoors, and the LEDs sit off-centre in the window. The deliberately simple app and cloud dashboard hide node IP addresses and give no switch to disable the 24 V passive PoE output, which could fry a device that cannot handle it.
- He judges it a success for reach, not speed. He calls it a polished first product from a startup, built for remote schools, parks and campgrounds rather than streaming. He says it would have saved enormous effort on the 2018 job where Crosstalk built solar-powered Wi-Fi along two miles of remote Indonesian shoreline for the TV show Castaways. The video makes no sponsorship disclosure.
Polis Pandit$What Will Happen If We Don’t Regulate AI Now
- This post includes paid content that is not available publicly. See the original source.
Crosstalk Solutions8 years of box throwing in 60 seconds #shorts #crosstalk #technology
- This short is a blooper reel with no technical content. The 71-word caption track is the host unboxing gear and tossing the boxes off camera, ending as he pulls out what he calls "the RPS"; no product, claim or advice is made.
Technology and FriendsAlex Mattoni on Cycle.io [TECHNOLOGYANDFRIENDS 754]
- Cycle.io built its own container orchestrator rather than building on Kubernetes. Mattoni, Cycle's co-founder and head of engineering, likens Kubernetes to a car's engine that still needs many other tools and decisions to be production-ready. He says Cycle is vertically integrated, with no Docker or Kubernetes underneath and networking, storage and orchestration built to work together, so a developer can deploy without deep DevOps knowledge. It runs any OCI-compliant (Open Container Initiative) image.
- Customers own the cloud servers, and Cycle keeps them maintained. Cycle takes the customer's API key for AWS, Azure, Google Cloud or others, installs its own operating system on the servers and keeps the kernel and platform software current. He has done this "about five years since like 2017, 2018" (he first said eight, then corrected himself). He grounds the case in a Datadog study from "about a year and a half, two years ago" that he says found the average Kubernetes install about 18 months out of date. An infrastructure abstraction layer, released in the last few months, lets on-prem or colo hardware stand in for a cloud through an endpoint of about 10 API calls.
- Deploying means creating an environment and pressing start. Mattoni says each environment is an encrypted private network spanning clouds and clusters, where containers reach each other by hostname. Cycle deploys a load balancer, a DNS discovery service and a VPN into each one automatically. Images come from direct upload, Docker registries, or a "stack file" like a Helm chart or Docker Compose file. Cycle covers only the CD half of CI/CD, through webhook-triggered pipelines, and leaves testing to CI tools such as GitHub Actions. At recording, a revamped portal was due in about a month and a CLI in the next couple of months.
- Pricing goes by servers managed and number of users. The free tier gives one server and one user. Mattoni says the light plan starts at "like $300 a month", the business plan covers 10-plus servers and 10-plus users, and paid tiers can add servers for a small cost. Enterprise customers can have a whole Cycle core deployed on their own infrastructure.
- He says companies tired of self-managed Kubernetes drove Cycle's recent growth. He and co-founder Jake Warner started in 2015 as a dev shop in Toledo, Ohio, writing custom deployments for each client. Around DockerCon 2015 they decided to build their own orchestrator, and they dropped the dev-shop work by late 2016. Early on, most prospects did not know what a container was. He says the company has grown 10x in the last year and a half as firms found Kubernetes "a lot more management burden than it's worth". The name comes from a roughly 15-minute loop in which the platform checks deployments against its internal state.
Technology and FriendsNikki Conley on Video Indexer [TECHNOLOGYANDFRIENDS 753]
- Video Indexer extracts AI insights from media, but face identification is restricted. Conley, a Microsoft cloud solution architect who has used it for four to five years, describes it as Cognitive Services applied to video, audio, or both: object detection, speech-to-text, translation, keywords and topic inference. She says government agencies cannot use face identification professionally, and the upload form makes users confirm they will not share with police; organizations other than defense or police can apply for an exemption.
- It works only on prerecorded video, not live streams. Conley says Endemol Shine uses it to pick scenes for Big Brother's three-weekly episodes from cameras running around the clock, and education platforms use it for search, clipping and audience personalization. Giard's security-camera example fits only after the fact; she has got a "pseudo live" result by sub-clipping about 30 seconds at a time, but says other tools suit live video better.
- Faces you name once are recognized in later videos. In the demo she renames an unknown face, and it goes into a people model applied to later indexing; celebrities found in IMDb, Wikipedia or Bing are recognized without that. Clicking a face, topic or keyword jumps to each place it appears. The player panels are widgets you can embed, insights download as JSON, and a developer portal lists the APIs with a "try it" console. She also shows a Logic App that fetches captions in a chosen language when indexing completes, and advises naming a video's primary language.
- Cost depends mainly on the video's file formats. Conley says prices were cut 40% in February and change often. The factors she lists are input resolution (SD, HD or UHD), output streaming format (adaptive or single bit rate), standard versus advanced analysis, and audio-only, charged per minute. The free trial gives most features but limits custom models.
- Use the newer ARM version, not the classic one. After first calling the new version "non-ARM", she corrects herself: in classic, assets sat in the customer's storage account and egress was billed, while the ARM version serves those large JSON files through API calls with an ARM token, making it "more of a PaaS service". She points newcomers to Microsoft's Video Indexer learning pages and warns that some samples are for the legacy version.
GeoHussarThe US economy still top dog #brics
- He argues economic size alone doesn't confer reserve-currency status, citing a 73-year lag between the US overtaking Britain's economy in 1871 and the dollar becoming the world's reserve currency. He says the US economy had to reach roughly 300% the size of Britain's before the dollar took over, a threshold he says China is nowhere near.
- He argues China doesn't actually want the yuan to become the global reserve currency, because that status would force it to give up currency manipulation and let the yuan appreciate, raising the cost of its exports. He supports this with a Visual Capitalist infographic showing China has over 60 countries naming it their main trading partner versus roughly 30 for the US, driven by China's need to import raw materials and food for its manufacturing base.
- He argues the US holds a structural edge because it could go fully self-sufficient in an emergency while China could not, given China's heavy reliance on imported oil and on US naval patrols to keep its sea lanes open. He notes the US was the world's largest oil producer in 2021, outproducing Saudi Arabia by about 6 million barrels, and says he doesn't expect any country to overtake the US economy in his lifetime.
Polis Pandit$Adapt or Die With Generative AI
- This post includes paid content that is not available publicly. See the original source.
Crosstalk SolutionsDr. Frankenstein's Dream Machine COMES ALIVE!
- A UniFi Switch Aggregation fits inside a Dream Machine Pro. The switch's eight 10 Gb SFP+ cages almost exactly match the UDM Pro's drive-bay footprint. The host and a mechanical-engineer friend spliced both off one power supply and removed the drive cage, mounting the switch board on a 3D-printed bracket. They also cut down a heatsink and laser-cut the front bezel; the STL files are linked, and the warranty is almost certainly void.
- The cost is storage: only a 2.5-inch drive, now unserviceable. The UniFi Protect drive sits on a bracket above the UDM Pro's board on a SATA extension, so changing it means unracking and opening the case; the host fitted a 1 TB SSD and says up to 5 TB fits. He adds that anyone needing more than 5 TB, or more than a few cameras, should move to a UNVR anyway.
- UniFi adopted the hybrid as normal, but AR broke. The UDM Pro detected the internal switch as a separately connected switch at full 10 Gbps. The AR feature misplaced the switch's ports and would not lock onto the UDM Pro screen at all. Both units share the same 1.3-inch display board, mounted side by side, and the host warns these screens chip easily on removal even with a heat gun.
- His real wish is a 2U UniFi all-in-one. He wants a 2U UniFi firewall with a 16-port PoE switch, 10 Gb and 2.5 Gb WAN options, dual drives for redundant Protect storage, and true dual power supplies.
GCastTransactable Containers Labs, Lab 3: Publishing the Container Offer [GCast 153]
- This lab turns the earlier bundle into a Marketplace offer. Transactable Containers lets Microsoft partners put a container- and Kubernetes-based offering on the Azure Marketplace. Lab 3 takes the CNAB (Cloud Native Application Bundle) pushed to the Azure container registry in Lab 2, so Labs 1 and 2 come first, and the work needs a Microsoft partner login at partner.microsoft.com.
- The offer is built in a tabbed Partner Center wizard. Under the Marketplace Offers tile, New Offer, Azure Container asks for an offer ID and alias; the lab suggests an ID starting "CW". Giard then works through the tabs, saving a draft on each. He checks "sell through Microsoft", picks the category Containers then Kubernetes app, and accepts Microsoft's standard contract. For the listing, the lab recommends putting "Kubernetes app" in the descriptions so the offer is easier to find, and supplies a 216 by 216 logo and a screenshot. A test offer can use Microsoft's privacy statement, but a real one needs its own. A video is optional, a screenshot caption is required, and the preview audience takes an Azure subscription ID for testing.
- The plan sets market and price, then attaches the bundle. Giard creates a plan with a summary and description, limits the market to the United States, and sets a custom price of $0 per core per hour because it is a test. On technical configuration, "add CNAB bundle" lists the container registries in the Azure account tied to the partner account, then their repositories and bundles. He has only one of each. Twice a save appeared to fail, and both times refreshing the page cleared it.
- Do not publish a test offer; publishing triggers manual certification. Giard stops at review and publish. He says he published a test offer before and sent feedback, and the lab now warns against it, because a person reviews each submission and would reject a test offer. For a real offer, he says the review takes about a day, after which Partner Center shows it as accepted or rejected, with the reasons for any rejection.
- Missing screenshot captions get offers rejected, though the form allows them. Giard says one of his own submissions was rejected because a picture had no caption. Captions are required for accessibility, but the form does not enforce that.
GCastTransactable Containers Labs, Lab 2: Creating a CNAB Bundle [GCast 152]
- Lab two packages the containers with Microsoft's CNAB tooling image.
CNAB stands for Cloud Native Application Bundle, which Giard describes as a standard for bundling, installing and managing container-native applications and their coupled services. The lab pulls Microsoft's container package app image (latest) from mcr.microsoft.com with
docker pull. - The tooling container runs with the working folder mounted as a volume.
The
docker runcommand adds a-vvolume pointing at the container-labs folder; on Windows the path is written Linux-style, with forward slashes and no "C:". The entry point is bash, so the command drops you inside the container, where the mounted folder appears under the data directory and the container package folder sits inside it. - The lab's ARM template failed verification on an outdated API version.
cpa verifyworks as a what-if check; Giard says he hits this error only sometimes. It flagged the Kubernetes extensions resource in clusterdeployment.json as using the 2022-04-02 preview API version; he changed it to the newest listed version, 2022-11-01, and verify then reported zero failures. He presents this as his workaround and hopes the labs get corrected. - Building the bundle needs Azure and registry logins, plus one more fix.
He runs
az loginthrough the device-login page (with two-factor approval in his case), logs into the registry with the admin credentials, then runscpa buildbundle. That failed because a billing identifier "should not be present" in the to-do app's values file, an error he says he has hit before; commenting it out let the bundle build and push to the registry. - The portal shows a new bundle repository with a 1.0 tag. The last step verifies the new repository alongside Mongo and to-do JS, with its manifest and artifact reference. Giard notes an extra "-installer" entry he had not seen in earlier runs of the lab, which he says does not seem to cause problems.
GCastTransactable Containers Labs, Lab 1, part 2: Deploying the Containers [GCast 151]
- Both local images are pushed into the Azure Container Registry.
Giard runs
docker loginagainst the registry with the admin user and password, which succeeds with a warning that a password is less secure than tokens, thendocker pushfor each image. The registry then shows two repositories, Mongo (tag latest) and to-do JS (tag v1). - The Helm chart's values.yaml takes the registry and image digests.
Giard calls Helm a package manager for Kubernetes that gives more control over managing a set of containers. The lab has you put the registry server on lines 10 and 14 (front end and back end) and each image's SHA256 repo digest on lines 8 and 12, add MongoDB key-value pairs, and set a namespace of your choosing on line 30. He finds the digests with
docker inspect, redirecting its output to a text file because he finds it hard to read in the terminal. - Deployment and UI files pass the MongoDB admin credentials through. In deployments.yaml, which defines the Kubernetes deployment, lines 25 and 27 are uncommented and pointed at the MongoDB admin values. In createUiDefinition.json the lab's JSON goes into the elements array and the outputs section.
- The ARM template gains parameters prompting for MongoDB admin credentials. Two parameters for the MongoDB admin username and password are added anywhere in the parameters section of clusterdeployment.json, which Giard describes as an ARM template for deploying to Azure. The lab also points to the Microsoft Kubernetes extensions resource type, which he says adds extra functionality to the template.
- The manifest file closes lab one. In manifest.yaml the registry server is completed with the registry name and the namespace set to the one chosen for the Helm chart.
GCastTransactable Containers Labs, Lab 1, part 1: Creating and running containers locally [GCast 150]
- Transactable containers run a partner's solution in the customer's Azure tenant. A Microsoft partner bundles one or more containers into a complete solution, sold through the Azure Marketplace and based on Azure Kubernetes Service. The partner controls the containers' configuration and contents, but they are deployed to and run in the customer's tenant. Giard notes the offering was in preview when he recorded, so details may change. The labs need a Microsoft partner registration, which he says is free and takes a few minutes.
- Download the labs as a zip and work in a copied folder. Giard downloads the lab repository from GitHub as a zip of about 26 MB instead of forking it, because nothing gets pushed back. He copies the lab's starting folder to a new location and renames it "container-labs", so the original stays untouched in case he needs to start over. He points out what looks like a typo in the folder path the lab gives.
- Create an Azure Container Registry and record its credentials. He creates the registry in a new resource group in East US with the Basic SKU, the cheapest, since this is a demo. Availability zones are optional, for extra redundancy. Validation failed until he gave the registry a name, and creation takes about a minute. Under Access keys he enables the admin user, then records the login server, username and password for the later commands.
- Build the app image and pull MongoDB, both tagged for the registry.
He adds the lab's code to the Dockerfile without deleting its existing first line. Docker Desktop must be running. On Windows he runs the commands in an Ubuntu terminal under WSL rather than the default PowerShell.
docker build -twith the registry's login server, the to-do image name and tag v1, and a trailing.builds the image locally.docker pull mongo:latestfetches MongoDB from Docker Hub, anddocker tagpoints it at the same login server. - Both containers run on one Docker network as a working app.
After
docker network createmakes a network for the app, one container runs MongoDB on port 27017, with an admin username and password the user chooses. The other runs the to-do web server pointed at it. The app at localhost:3000 adds, completes and deletes tasks. Giard says Lab 1 is much longer than the other labs, so it continues in the next video.
Polis Pandit$The Debt Ceiling Debate: Why Warren Buffett Says It's Idiotic and Would Cripple the World Economy
- This post includes paid content that is not available publicly. See the original source.
Crosstalk SolutionsBatphone! Aka Hotline Dialing - quick and inexpensive example setup. #voip #shorts #crosstalk
- A Raspberry Pi PBX and an ATA give hotline dialing cheaply. For a friend's art installation, the host runs Incredible PBX on a Raspberry Pi with an antique Model 40 phone on a Cisco SPA112 ATA. Lifting the Model 40's handset rings all three registered VoIP phones (including a Polycom VVX 410 and a Sangoma S300) at once, and lifting any of them dials the Model 40; the short closes with a pitch for Crosstalk's VoIP services.
Scott HanselmanReviving a Microsoft Zune in 2023
- Reviving a Zune in 2023 is four separate problems. Hanselman, working with a Zune 30, a Zune HD and a small Zune, splits it into updating the firmware, installing the software, getting the PC to see the device, and getting content onto it.
- Firmware updates depend on a community site faking Microsoft's servers. The Zune software still phones home to zune.net, but nobody answers; zuneupdate.com, run by a community member rather than Microsoft, has you change DNS settings and the hosts file and run a local server so the PC answers itself and the firmware can be updated.
- The software installs, but Windows 11 will not recognise the device. The installer is zunepackage.exe and needs .NET 3.5, which Windows should offer to install or which can be added through Windows Features; on Windows 11, he says, plugging the Zune in just produces the connect and disconnect sounds.
- The driver fix means forcing a file into system32. A fix he credits to Reddit users is copying a file into the en-us folder under system32; he traces the failure to a MUI file for the Zune co-installer DLL that lacks permission to be copied there, so you take ownership as admin and copy it by hand, which he did after the install failed with an error that it "requires an interactive Windows station". He also points to a GitHub tool, the Zune modding helper, with a heavy caveat: it is unsupported and he would not use any of this on a machine you care about.
- His working answer was old hardware for old hardware. Rather than keep fighting Windows 11 — though he says he won't give up on it — he put Windows 8 on an old laptop, where the Zune software installed and recognised the device and he copied video onto it with no workarounds.
Polis Pandit$Is Robert F. Kennedy Jr. For Real?
- This post includes paid content that is not available publicly. See the original source.
Crosstalk SolutionsUniFi Switch Aggregation overview #shorts #unifi #networking
- The host rates the USW-Aggregation an overlooked, inexpensive 10 gig switch. At $269 it is a fanless layer 2 switch with eight 10 Gbps SFP+ ports (160 Gbps total switching capacity), 4.7 inches deep and drawing 30 W maximum; 10 gig Ethernet transceivers can wire in up to four 10GbE devices. He pitches it for uplinks to other switches or 10 gig devices.
Technology and FriendsPete Rodriguez on a Career in Technology [TECHNOLOGYANDFRIENDS 752]
- The first career choice is hands-on technology versus sales. Rodriguez, a Microsoft cloud solution architect since 2015 and at the company since 1999, says technology work is predictable if you work at it hard enough, while sales means persuading decision makers who often just want the cheapest thing that works; he says that skill has real value and does not treat "sales" as a bad word. Within technology the next choice is developer or infrastructure; Giard argues from his own career that the split is not binary, and Rodriguez agrees it is better to know both.
- Short engagements demand credibility fast; assigned accounts bring pressure. In roles like his current partner team or the Microsoft Technology Center, Rodriguez says you may see a customer for a few hours and must prove your expertise immediately. As an account technology strategist with assigned accounts he could build relationships, but when one customer began considering a move to Google he was on weekly calls with VP-level people, which he describes as stressful; Giard says he avoids quota roles partly because no quota lets him speak candidly about competitors.
- Higher pay usually buys more pressure and less balance. Rodriguez suggests Glassdoor or LinkedIn for salary ranges, says better-paid roles often trade away job happiness, and says he would not be happy in an 80-hour-a-week job because he sits on the boards of several orchestras. He cites friends who joined a new Microsoft partner and were paid about $5 million when it was bought out, against another whose paychecks bounced; Giard adds that he once took a significant pay cut to stop travelling 100% of the time while his children were young.
- He stayed 24 years because Microsoft itself kept changing. Rodriguez contrasts a company that once mocked Linux with one that now backs open source, Linux, Postgres and MySQL, and says it treats employees better than competitors he sees as treating staff as disposable. He says friends at competitors make "100 to 200 more" than he does, a trade he doubts he would take, and that adjusting to another company's culture, such as locked-down machines without admin rights, would take longer than learning its technology.
- Change jobs when your current one won't give you growth. Rodriguez advises raising it with your manager first, and looking outside the company only if the opportunity is not there, while planning how to get from, say, Exchange administration to AI work. He says his two years as an account technology strategist were valuable because they showed him how consulting, support, licensing, account teams and partners fit together around a customer.
Crosstalk SolutionsDon't Make This Mistake! How Networking Issues Can Snowball...
- The real fault was a second DHCP server on his secure LAN. Swapping his core US-24-PoE for a USW-Enterprise-24-PoE (12 × 1 GbE, 12 × 2.5 GbE, two 10G SFP+, locking power and an RPS port), the host plugged his Comcast Business gateway's 10.1.10.x network into a port without setting its isolated untagged VLAN. Devices took addresses from whichever server answered first, so cameras landed on 10.1.10.x and dropped out of UniFi Protect.
- Pre-November 2020 UNVRs fail when their internal USB boot drive wears out. Units with a back-panel date code of 2048 or earlier are affected and stop booting with a fast-flashing white LED; newer units have no flash drive. Ubiquiti has extended their warranty by two years, and UniFi OS for NVRs 3.1.7, in Early Access at recording, copies the boot data to an installed hard drive (at least one required).
- Swapping the glued-in flash drive did revive his failed UNVR. The host replaced it with a slim Kingston 32 GB USB 3 drive, after pulling and labelling the hard drives in order so the RAID would not need rebuilding, then restored a cloud backup. The fix only looked like a failure because of the concurrent DHCP problem; a later factory reset with drives left in wiped all his past footage.
- The UNVR's static-IP screen orders fields gateway first, inviting mistakes. It asks for gateway, then IP, then subnet mask; in haste the host swapped gateway and IP, making the UNVR unreachable and duplicating the gateway address on the network. He calls this his own fault but also an odd interface choice by Ubiquiti.
- Make one change at a time and chase every unexplained symptom. The host's lesson is to let each change settle before the next, and that "if something isn't working there's always a reason"; he credits Ubiquiti with handling the UNVR flaw well through the hardware change, warranty extension and software fix.
Polis Pandit$Don’t Believe the Hype: Media Misinformation on SpaceX Starship Launch
- This post includes paid content that is not available publicly. See the original source.
Technology and FriendsMark Downie on DasBlog [TECHNOLOGYANDFRIENDS 751]
- A "feature complete" blog engine fell behind a web that kept moving. Downie says Clemens Vasters wrote it in the early 2000s, soon after ASP.NET appeared, as one of Microsoft's first open source projects, and Scott Hanselman and others carried it on; Downie, a Microsoft principal program manager on Visual Studio production diagnostics, picked it up around 2014, when it was abandoned. His first fix was letting a post set its own Open Graph header data, which until then meant editing the code; Giard recalls Hanselman saying there were no new features "because all the features are already there."
- The .NET Core port kept most of the original code running unchanged. Starting around 2015, Downie set out to make DasBlog Core run on Windows or Linux, in a new GitHub repository separate from Hanselman's ASP.NET classic version. The hard part was Windows assumptions baked in, such as time-zone data read from the registry; the Web Forms UI was almost entirely replaced with a new MVC layer over an abstraction that talks to the old code, while the code for saving a post is "almost unchanged" and now runs on Linux, Windows and the cloud.
- Storing posts as plain XML files means the author owns their words. Downie says avoiding a proprietary database was DasBlog's distinctive idea: posts are XML files dated by creation, so backup or moving servers is just copying files, and leaving means writing a program "in an afternoon" to convert them. Giard, who has used DasBlog for his blog for over 20 years, values the same portability but doubts he could write that converter in half a day.
- Migration is designed to preserve every old URL. Downie says users of the old version can copy their content folder (XML files and images) into DasBlog Core, and old
.aspxaddresses redirect with a 301/302 to the new hyphenated canonical URLs; the project wiki covers a one-click Azure free-tier setup contributed by a community member, migration, security and Open Live Writer, and he answers questions through GitHub issues, using them to improve the documentation. Giard migrated by hand over FTP and found links between his own posts broke, which he fixed by searching the downloaded XML files; Downie broke links moving his blog from popstring.com to popstring.com/blog and wrote a program to find and replace them. - A blog could act as its own node in the Fediverse. Downie asks whether a blog could act as an independent node in the federated network that others subscribe to, much as they subscribe to RSS, and says he has already made his blog discoverable there, identifying him by his Fediverse handle. He presents it as ongoing exploration that he and Vasters, who has recently returned to contributing to the project, are both thinking about.
Scott HanselmanBuilding an Apple I from Parts with SmartyKit.io - Part 3
synopsis
In the third livestreamed session of his SmartyKit Apple I build, Hanselman gets a keyboard controller feeding a video controller on breadboards, with no CPU or memory yet. Keypresses show up as ASCII on a row of LEDs and the small display powers on. He puts this at step 70 of the kit's online instructions, "two of six" stages, with CPU, memory and the original 1976 ROM left for next time.
The kit and where it stood. SmartyKit sells a boxed set of chips (CPU, RAM, ROM, video) with pre-cut wires and an interactive online assembly guide, aimed at teaching how computers work. He describes the Apple I as Wozniak's 1976 6502 machine that came before the Apple II, and his build as a kit approximation of it. A month earlier he got stuck on a bad keyboard decoder chip. The company sent a replacement, and he opens by showing it working on a test bed, with a $10 PS2 keyboard from Goodwill.
Checking before building. He uses a cheap multimeter–oscilloscope hybrid to show the clock LED's waveform once he finds the right range and timebase. He checks each resistor before placing it: 2.2k pull-ups, a 10k, and a 220 Ω on the clock LED. One reading fluctuated and came out too high until he took off the alligator clips, and then it read the expected 2.2k. He calls himself "paranoid" and says testing also helps him learn.
Video controller. He takes apart the keyboard test bed so he can follow the kit's order. Then he places the video controller at the top of the stack, distributes power and ground from the rails, and wires a four-line bus and pull-up resistors. Viewers in chat help him locate board positions from the docs. One spots a wire hidden under a pop-up in the instructions, which he had missed. The screen turns on, which he calls only the "hello world" stage.
Keyboard controller. He adds the oscillator crystal and capacitors, power, the 220 Ω clock LED, an eight-wire data bus from D6 to D13, and the PS2 connector's data and clock lines. On power-up the LEDs light with each keypress's ASCII code.
Why bother. He says there is no practical reason beyond fun. He sets it against talk about ChatGPT: "somebody has to understand how to do this or the system breaks down." He calls this "driving stick shift" and repeats the joke that computers are rocks we put lightning in. What he leaves for the next session is plugging in the CPU and memory, booting the Apple I ROM, and getting the RCA video out to OBS through an HDMI adapter.
- A breadboard kit rebuilds the Apple I step by step. Hanselman is following SmartyKit's online assembly instructions, with chips for CPU, RAM, ROM and video, and pre-cut wires; he describes the Apple I as Wozniak's 1976 6502 machine that preceded the Apple II. Last session stalled on a bad keyboard decoder chip, which the company replaced, and he uses a $10 PS2 keyboard from Goodwill.
- Measure parts rather than trust colour bands. He uses a cheap multimeter–oscilloscope hybrid to see the clock LED's on/off waveform, and tests each resistor (2.2k, 10k, 220 Ω) before placing it. One reading was "surprisingly large" and fluctuating until he removed the alligator clips, at which point it read the expected 2.2k.
- The instructions can hide a step. A viewer noticed a wire he had missed because a pop-up covered part of the instructions; he says the circuit worked without it but he would probably have had to debug it later.
- Keyboard and video controllers now work without a CPU. The video controller's small screen powered on, which he calls only the "hello world" equivalent. With the keyboard controller wired to it over an eight-wire data bus, keypresses show as ASCII on a row of LEDs, putting him at step 70, "two of six" stages. Next time he plans to add CPU and memory, boot the original 1976 Apple I ROM, and send the RCA video out via an HDMI adapter to OBS.
- The point is understanding the foundations. He says there is "absolutely no reason" to do this "other than it's awesome". He contrasts it with talk about ChatGPT: "somebody has to understand how to do this or the system breaks down", likening it to driving stick shift and to the joke that computers are rocks we put lightning in.