HackerNews Digest

May 24, 2026

Microsoft open-sources "the earliest DOS source code discovered to date"

Microsoft has open‑sourced the earliest DOS source code discovered, predating the MS‑DOS brand. The release contains the complete source for the 86‑DOS 1.00 kernel (originally QDOS, written by Tim Paterson for Seattle Computer Products), several development snapshots of the PC‑DOS 1.00 kernel, and source for utilities such as CHKDSK. Historically, Microsoft licensed 86‑DOS to supply an operating system for the IBM PC 5150, hired Paterson to continue its development, and later acquired full rights. Microsoft then licensed the OS to IBM as PC‑DOS while marketing the same code as MS‑DOS, which became dominant through the 1980s‑1990s on IBM PC clones. The newly released code provides a rare view into the initial implementation of the operating system that underpinned early personal computers.
Read full article →
The comments express appreciation for Microsoft’s release of historic BASIC and DOS source code, noting its significance for preserving early computing history and acknowledging the effort required to transcribe the material from paper. There is optimism that similar releases could eventually include early Windows versions, alongside curiosity about potential security research. Several remarks convey nostalgia for the era of hand‑written, highly optimized software and critique contemporary reliance on layers of libraries and virtualization, while some view the release as valuable yet belated.
Read all comments →

Scammers are abusing an internal Microsoft account to send spam links

Scammers have exploited a loophole that lets them send spam emails from Microsoft’s internal address [email protected], which is normally used for legitimate account alerts such as two‑factor authentication codes. By creating new Microsoft accounts that appear as genuine customers, the attackers can dispatch messages with subject lines mimicking official notifications (e.g., fraud alerts or private messages) and embed links to malicious sites. The Spamhaus Project reported seeing this abuse for several months and warned that automated notification systems should not permit such customization; they have notified Microsoft. Microsoft confirmed an ongoing investigation, stating it is strengthening detection, blocking mechanisms, and removing violating accounts. Similar abuse of corporate email accounts has been observed with other firms (e.g., Betterment, Namecheap), indicating a broader issue beyond Microsoft.
Read full article →
The comments express concern over the difficulty of verifying legitimate domains, noting that large companies such as Microsoft, Booking, PayPal, and even the FBI have had their domains abused for phishing despite extensive domain portfolios. Contributors highlight the lack of publicly available, comprehensive lists of authorized sending domains, which hampers users’ ability to spot fraudulent messages. There is also uncertainty about how email providers treat spam originating from authentic corporate domains, questioning whether penalties affect only the compromised domain or extend to the broader corporate namespace.
Read all comments →

Wake up! 16b

“wake up! 16b” is a 16‑byte real‑mode DOS demo presented at Outline Demoparty (May 2026). The program sets video mode 0 via INT 10h, points DS to the VGA text buffer (0xB800), and enters an infinite loop that loads a byte (LOD SB), subtracts 57 from SI (moving –56 bytes per iteration), XORs the loaded value with the memory cell at the new SI, outputs AL to port 61h (PC speaker), and jumps back. This loop simultaneously writes a Sierpinski‑triangle pattern into video memory and streams the same bitstream to the speaker, producing a self‑similar bytebeat. The algorithm relies on XOR as carry‑free addition, generating the binomial sequence 2·C(k+p, p‑1) mod 256; the least‑significant toggling bit follows elementary cellular automaton rule 60, yielding the fractal geometry. The –56‑byte step maps to a 10‑column visual shear on an 80‑column screen and creates an octave‑lower audio due to the 8 192‑step wrap in the 64 KB segment. The demo exploits the BIOS‑cleared video memory pattern (0x20 0x07) and hardware quirks for its sound and visual output without any explicit memory initialization.
Read full article →
The comments express strong admiration for the remarkably compact binary, highlighting its technical elegance and artistic quality. Readers note the impressive reduction in size, referencing expectations of larger demos and even mistaking it for a 16‑byte implementation, and emphasize how the achievement reignites enthusiasm for programming and low‑level craftsmanship. The consensus celebrates the work as a standout example of minimalism, with many expressing a desire to replicate or explore it on additional architectures, and overall sentiment is overwhelmingly positive.
Read all comments →

Time to talk about my writerdeck

- Converted a 6‑year‑old System76 Galago Pro laptop into a “writerdeck” by installing Debian Trixie in text‑mode, skipping desktop packages and full‑disk encryption, and creating a sudo user (no root password). - Replaced the default network stack with **network‑manager** and used the curses UI **nm‑tui** for Wi‑Fi/WAN configuration. - Installed **neovim** (instead of nano/vim) and **kmscon** from the Trixie backports repository to provide a scalable, font‑adjustable console on boot. - Added **tmux** for terminal multiplexing; configured **acpi** for battery percentage and **light** for backlight control via tmux keybindings; set status bar position, color, and battery readout in `~/.tmux.conf`. - Set up **vim‑wiki** (`vim‑vimwiki` package) with a custom colorscheme and line‑break handling in `~/.config/nvim/init.vim`. - Deployed **Syncthing** to sync the writerdeck’s vimwiki directory with a remote server, exposing the web GUI on all interfaces due to lack of a browser. - Enabled auto‑login by editing the `[email protected]` unit and added a conditional launch in `~/.bashrc` to start tmux with `vim -c VimwikiIndex` on the primary tty. - After a week of use, the system provides a distraction‑free, keyboard‑centric environment for writing, with optional extensions such as spell‑checking.
Read full article →
Comments express general admiration for a distraction‑free, console‑centric writing environment while questioning the necessity of its extensive customization. Many cite the appeal of minimalism, dedicated hardware, and focused habits, suggesting alternatives such as simple tty consoles, lightweight editors, or minimal Linux distributions. Critics note the irony of overengineering a simple task and warn that elaborate setups can become maintenance burdens or mere dopamine hits. Requests for e‑ink displays, better aesthetics, and ergonomic tools appear alongside broader reflections on personal versus collective solutions to modern distractions.
Read all comments →

Green card seekers must leave U.S. to apply, Trump administration says

None
Read full article →
The comments converge on strong disapproval of the new rule that forces green‑card applicants to leave the United States for consular processing, describing it as illogical, punitive and disruptive to families, employment and the broader talent pipeline. Many highlight the practical burdens of long overseas waits, high legal costs and the risk of separating spouses and children, while noting that the prior adjustment‑of‑status practice was a functional norm. A smaller segment views the change as a legitimate return to statutory intent or a means to curb abuse, but the dominant consensus characterizes the policy as harmful, poorly conceived and reflective of an increasingly restrictive immigration climate.
Read all comments →

On The <dl> (2021)

The article explains the HTML 
(description list) element and its related tags 
(term) and 
(detail) as the semantic way to markup name‑value pairs. A
groups one or more
/
pairs; a single
may have multiple
s for multiple values. For styling, the spec permits wrapping each
and its associated
s in a
. Compared with nested
s,
provides machine‑readable semantics that enable assistive technologies—e.g., screen readers—to announce the number of pairs, navigation progress, and allow users to skip the whole block. The article illustrates usage in typical UI patterns (product specs, contact cards, infoboxes) and a complex example: a Dungeons & Dragons monster statblock, where several
s represent armor class, ability scores, proficiencies, traits, and actions. The key takeaway is that description lists succinctly encode name‑value data, improving accessibility and enabling future tooling, with full details available in the MDN documentation and HTML specifications.
Read full article →
Comments discuss the
element’s semantics, accessibility, and historical usage, noting that while it offers a meaningful way to represent term‑value groups and can improve screen‑reader support, many find it cumbersome to style and limited for complex layouts. Users point out technical issues such as appropriate ARIA roles and nesting rules, cite examples from early web and IBM documentation, and compare it to tables and div‑based alternatives. Overall sentiment acknowledges both the usefulness of
for certain content and the practical frustrations it presents.
Read all comments →

My two-part desk setup (2025)

The author reoriented a desk that had long faced a wall to face the room, placing their back against the wall to improve spatial awareness and safety. They replaced a single tech‑focused surface with a 200 × 75 cm USM Haller desk divided into a digital side and an analog side. The digital side, positioned by the windows, holds a Mac, Studio Display, split keyboard, and minimal accessories for writing, coding, and calls; items must be used regularly to remain there. The analog side accommodates non‑screen activities such as journaling, sketching, small DIY projects, LEGO building with children, and other material that can stay out without cluttering the digital workspace. This bifurcated layout creates a clear mental boundary, allowing the user to shift contexts simply by moving the chair. After nine‑to‑ten months, the arrangement is reported as more open, comfortable, and supportive of both work and creative or family activities.
Read full article →
The comments display a mixed reaction to the featured workstation. Many find the visual presentation attractive and inspiring, noting the appeal of a spacious, well‑organized layout and the concept of separating analog and digital tasks. At the same time, several commenters question its practicality, citing limited space, excessive ornamentation, and potential status‑signalling. Concerns also arise about ergonomics, desk orientation, acoustic effects, and the feasibility of replicating such a setup without a large room or custom furniture. Overall, admiration is tempered by doubts about everyday usability.
Read all comments →

My I3-Emacs Integration

The i3 window manager intercepts all key events by calling `xcb_grab_key()` on the root window with `owner_events = 0`, causing i3 to capture keys before any client receives them. In `src/bindings.c` each binding’s keycode and modifier mask are passed to `xcb_grab_key(conn, 0, root, mods, keycode, XCB_GRAB_MODE_ASYNC, XCB_GRAB_MODE_ASYNC)`. When an XCB event arrives, `handle_event()` in `src/handlers.c` dispatches `XCB_KEY_PRESS`/`XCB_KEY_RELEASE` to `handle_key_press()` (src/key_press.c). This function extracts the keycode, timestamp, and state, looks up the corresponding `Binding` via `get_binding_from_xcb_event()`, and, if found, executes its command with `run_binding()`. The original `xcb_key_press_event_t` is available, allowing a potential re‑emit via `xcb_send_event()`. However, because i3 globally grabs keys, re‑emitting does not restore focus to the original window; addressing this focus loss would require additional changes beyond simple event forwarding.
Read full article →
The discussion reflects a positive reception toward recent Hacker News stories featuring personal technical projects, such as Emacs–i3 integration, custom desk setups, and niche hobbyist creations. Participants express enthusiasm for these hands‑on, geek‑oriented demonstrations, emphasizing that while AI topics are appreciated, they do not dominate interest. There is a shared focus on practical window‑management solutions, exemplified by the adoption of an Emacs window‑manager bridge that leverages distinct keybindings for integrated control.
Read all comments →

Schlitz Is Gone, but First It's Getting One Last Hurrah

Schlitz, the historic Milwaukee brewery founded in 1858, has been discontinued by its parent Pabst Brewing Co. due to rising storage and shipping costs. Pabst’s brand‑strategy head Zac Nadile confirmed the hiatus, noting the brand remains part of the company’s heritage. Wisconsin Brewing Co. in Verona will produce a final batch on May 23, 2026, as a tribute organized by brewmaster Kirby Nelson, who sourced mid‑20th‑century brewing logs (primarily 1948) to recreate the “golden era” recipe. The formulation uses six‑row malted barley, 25 % yellow corn grits, and hops identified from 1930s records—German Hallertau Mittelfrüh and Washington Cluster. The limited release is scheduled for June 27, with pre‑orders opening May 23 on Wisconsin Brewing’s website. Historically, Schlitz became the world’s best‑selling beer after Prohibition (1934), suffered a reputation decline in the 1970s after cost‑cutting formula changes, was sold to Stroh in 1982, and later to Pabst (1999) before its 2026 discontinuation.
Read full article →
The comment outlines Schlitz’s discontinuation in the 1970s, its cost‑cutting changes, the 2008 revival with a new formula, and a recent attempt to recreate a “last batch” using another distinct recipe, suggesting a pattern of repeated rebrandings. It also queries whether the brand appears in the television series featuring Laverne and Shirley, indicating interest in both the beer’s corporate history and its pop‑culture references.
Read all comments →

Judson's Last Ride

The author recounts the final school day of his 18‑year‑old son, Judson, who has profound autism. He describes Judson’s early development, a diagnosis in 2009 that revealed costly therapies, and the family’s reliance on Ohio’s autism voucher program to enroll him in private and later public schools with intensive aide support. Over the years Judson participated in activities such as swimming, Miracle League baseball, choir, and Special Olympics, while teachers and aides helped him achieve IEP goals, including potty training and basic speech. The narrative emphasizes the pivotal role of dedicated staff, peers, and community resources in providing structure and independence, notably the school bus rides that signified typical daily routines. As Judson graduates, the family prepares to transition him to a group home, confronting uncertainties about his future well‑being. The piece serves as a tribute to the educators, aides, and supporters who shaped Judson’s life and as a reflection on parental hopes, anxieties, and gratitude.
Read full article →
The comment expresses appreciation for sharing personal narratives online and conveys gratitude toward the subject’s family, caretakers, and teachers for their selfless support of a severely disabled individual. It reflects a positive view of the story’s impact while acknowledging evolving language around autism, noting that past terminology is now outdated. Overall, the tone is thankful and respectful toward those providing care and fostering understanding.
Read all comments →