Hypernode

@hypernode.bsky.social

💾 Hypernode is your feed for terminal telnet #BBS culture, dystopian DIY tech and #ASCII aesthetics! Scroll below to see what's hype in the underground #Textmode world. All content is curated by MaxMouse, a real human!

We're super excited to announce that hardcopies of Phrack 73 will be available at Unprompted AU in Sydney, Unprompted SF, and Tengucon Japan! Catch the drop irl!

Phrack 73 teaser cover

Sixth success tracking a radisonde (weather balloon) launched from WA State's Quillayute Airport on the Olympic Peninsula on 404.6 MHz. As long as the balloon comes within 170 km or so my tracking software is triggered. Here's how it went this evening. More in first comment.

BildBildBildBild

tried it with Sol, Opus, Fable, Astra, just the diff of the commit and this prompt (this is turning into DipshitBench). all easily understand the problem with the name, but only Opus and Fable point out that Terra's asserts about the removed tabs make no sense

Screenshot of a terminal-based AI coding assistant session with GPT-5.6-Sol:

> kind of a stupid test rename

• Yeah–the test still checks two behaviors: available tabs and the default selection. I’ll split those so each name matches what it verifies.

• Ran sed -n '170,225p' test/e2e/instance-create.e2e.ts && jj status
  await expect(v6Checkbox).toBeVisible()
  await expect(v6Checkbox).toBeDisabled()
  ... +56 lines (ctrl + t to view transcript)
  Parent commit (@-): nvrvvyot 57441cee instance presets: 1 vCPU to 8 GiB ratio, drop high cpu and high memory tabs

• Edited test/e2e/instance-create.e2e.ts (+6 -1)
  191
  192 -test('only offers general-purpose presets', async ({ page }) => {
  192 +test('offers general-purpose presets and custom hardware', async ({ page }) => {
  193    await page.goto('/projects/mock-project/instances-new')
  198    await expect(page.getByRole('tab', { name: 'Custom' })).toBeVisible()
  199 +})
  200 +
  201 +test('first preset is auto-selected', async ({ page }) => {
  202 +  await page.goto('/projects/mock-project/instances-new')
  203 +
  204    await expect(page.getByRole('radio', { name: '1 CPU 8 gibibytes RAM' })).toBeChecked()Screenshot of terminal output showing an AI coding assistant session with Claude 5 Opus:

kind of a stupid test rename

Ran 1 shell command

Agreed - the negative assertions are testing that deleted code stays deleted, and the rename buries what the test actually verifies. The auto-selection behavior is the real thing worth asserting.

Bash(jj describe -m 'Simplify preset test after dropping tabs' && python3 - <<'EOF'
import re...)
Working copy (@) now at: tyqvwnnw d66da468 (empty) Simplify preset test after dropping tabs
Parent commit (@-) : nvrvvyot 57441cee instance presets: 1 vCPU to 8 GiB ratio, drop high cpu and high memory tabs
Updated test/e2e/instance-create.e2e.ts (+1 -5)
189    await expect(page.getByText('Instance name already exists')).toBeVisible()
190  })
191
192 -test('only offers general-purpose presets', async ({ page }) => {
192 +test('first preset is auto-selected', async ({ page }) => {
193    await page.goto('/projects/mock-project/instances-new')
194
195 -  await expect(page.getByRole('tab', { name: 'General Purpose' })).toBeVisible()
196 -  await expect(page.getByRole('tab', { name: 'High Memory' })).toHaveCount(0)
197 -  await expect(page.getByRole('tab', { name: 'High CPU' })).toHaveCount(0)
198 -  await expect(page.getByRole('tab', { name: 'Custom' })).toBeVisible()
195    await expect(page.getByRole('radio', { name: '1 CPU 8 gibibytes RAM' })).toBeChecked()
196  })
197
(what this command changed; a convenience view, not a review or audit of the command)
Allowed by auto mode classifierScreenshot of a CLI AI chat conversation with Claude Fable 5:

User: kind of a stupid test rename

Assistant: Agreed. The name describes what the diff removed rather than what the test checks, and the two toHaveCount(0) assertions guard against someone accidentally re-adding tabs, which won't happen by accident. That's a change-log dressed up as a test.

Two better options:

- Keep the original intent. Rename to first preset is auto-selected, drop the tab-existence assertions, and keep only the 1 CPU 8 gibibytes RAM checked check. That's the behavior that still matters (the form has a sensible default without user input).
- Delete the test. The "can create an instance" test at the top already exercises picking a preset and creating. If the default-selection guarantee isn't worth a standalone test, fold the checked assertion into that test's setup and remove this one.

I'd go with the first. Want me to make that edit?Screenshot of a terminal-based coding assistant session with GPT-6-Astra:

› kind of a stupid test rename

• The test still checks the default selection. I’ll rename it to first general-purpose preset is auto-selected.

• Ran jj status && jj log -r '@ | @-' --no-graph && rg -n 'only offers general-purpose presets|first preset is auto-selected' test/e2e/instance-create.e2e.ts && cat package.json
  The working copy has no changes.
  Working copy  (@) : suszptnl 6bd5eaf5 (empty) (no description set)
  ... +136 lines (ctrl + t to view transcript)
  }
}

• Edited test/e2e/instance-create.e2e.ts (+1 -1)
  191
  192 -test('only offers general-purpose presets', async ({ page }) => {
  192 +test('first general-purpose preset is auto-selected', async ({ page }) => {
  193   await page.goto('/projects/mock-project/instances-new')

So many components go to landfills. I try to e-cycle where I can. Often finding what I need on discarded PCB boards. I reuse these. Less often for important things like computers and monitors but for many other less-critical projects. Do you try to reuse components?

On the left side, a handful of PCB components removed from a "motherboard" partially displayed on the right.

OK and but also, the thing about the cyberdeck trend is, back in the '90s we called those PDAs or palmtops, many of them ran Windows CE, and they were universally objects of mockery.

Dial up BBSs, using uuencode/undecided to send binaries on text-only services, splitting them into parts due to file size. You went 'Hallelujah' if you could get a binary from an ftp site. First did coding 1976 on a Digital Decwriter dot-matrix on a mainframe program emulating IBM machine language.

Usenet (newsgroups), MUDS, Talkers, BBSs, Red Dragon, etc I still remember friends screaming they are taking MUDs and giving them graphics, it’s the end of the world. They may have been right but probably not.