SShortSingh.
Back to feed

Apple's 'container machine' gives Mac developers a persistent Linux environment

0
·2 views

Apple has introduced a feature called 'container machine' as part of its open-source container tool for Apple Silicon Macs, offering developers a persistent Linux environment rather than a single-process container. Unlike standard containers, it boots a full init system such as systemd, allowing long-running services and a more traditional Linux machine experience. The tool mounts the user's macOS home directory directly into the Linux environment, meaning repositories, dotfiles, and configurations are instantly accessible on both sides without any file copying. Developers can create multiple machines based on different Linux distributions — such as Alpine, Ubuntu, or Debian — all sharing the same home directory, simplifying cross-distro testing. The feature requires an Apple Silicon Mac with a recent version of macOS and is installed as a standalone tool, separate from Docker.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Ownership in software development means solving problems end-to-end, not just shipping code

A senior developer argues that true ownership in tech goes far beyond writing code and opening a pull request. The article outlines a seven-step framework — from understanding the real problem and designing solutions before coding, to verifying in production, communicating, and following up. The author reflects on years of closing tasks without actually resolving underlying issues, realizing that only 30% of the work is code. A key distinction is drawn between a problem (e.g., an 8-second search query) and a solution (e.g., migrating databases), urging developers to explore all options before building. Mastering this end-to-end responsibility is described as the real path to becoming a senior developer, rather than simply accumulating years of experience.

0
ProgrammingDEV Community ·

How ICD-10 Codes Are Converted Into Medicare Advantage RAF Scores

In Medicare Advantage risk adjustment, ICD-10-CM diagnosis codes do not carry individual risk scores — they must first be mapped to Hierarchical Condition Categories (HCCs) before a Risk Adjustment Factor (RAF) score can be calculated. The process involves applying a hierarchy rule that retains only the most severe HCC within a disease family, preventing double-counting of related conditions. The final RAF score combines a demographic factor, coefficients for each surviving HCC, and interaction terms for specific disease combinations. Critically, CMS updates the HCC maps and coefficients annually, meaning the same set of diagnosis codes can produce different scores depending on which model version — such as V24 or V28 — is applied. Implementers are advised to always validate their crosswalk tables against the current CMS Rate Announcement to avoid scoring errors.

0
ProgrammingDEV Community ·

Developer adds tests to PowerShell VM script after spotting one-character logic risk

A developer maintaining a PowerShell script that automates Fedora and other Linux VM builds in VirtualBox discovered a subtle fragility in its state-checking function. The function uses VBoxManage to detect when a VM has powered off, relying on a wildcard filter to isolate the VMState field from the machine-readable output. A single equals sign in the pattern 'VMState=*' prevents it from accidentally matching VMStateChangeTime, a similarly named field that appears in the same output. Had the filter been written as 'VMState*', the function could have returned a timestamp instead of a state value, silently stalling the install loop for up to 90 minutes. No bug was found, but the developer wrote six unit tests to formally document and protect the assumption going forward.

0
ProgrammingDEV Community ·

Developer shares practical lessons for building reliable CI/CD pipelines

A software developer on DEV Community detailed their journey from unreliable, ad-hoc build scripts to structured, dependable CI/CD pipelines. Early attempts using shell scripts and cron jobs frequently failed silently, with missing environment variables and broken artifacts going undetected despite green status checks. The turning point came when the developer began treating pipelines as state machines, guided by three core principles: idempotency, fast and loud failure, and environment parity with production. Using GitHub Actions and GitLab CI as examples, they highlighted common pitfalls such as missing dependency caching, unspecified Node versions, and tests running after failed builds. The article provides before-and-after pipeline configurations for a Node.js service, demonstrating how small structural changes can significantly improve reliability and developer confidence.