Skip to main content

Young Americans Face Job Market Disconnect as Parents Offer Outdated Career Advice

2 days 5 hours ago
Nearly half of young Americans feel unprepared for future jobs as AI reshapes the workforce faster than career guidance can adapt, according to a new study from the Schultz Family Foundation and HarrisX. The survey of thousands of workers aged 16-24, along with parents, counselors and employers, revealed differences between generations about job availability and requirements. While 71% of employers say sufficient opportunities exist, only 43% of young people agree. Parents rely on outdated personal experiences when advising children, with 79% drawing from their own career paths despite 66% believing their children should pursue different directions. Employers require at least one year of experience for 77% of entry-level positions while offering internships for just 38% of roles.

Read more of this story at Slashdot.

msmash

How Rust’s Debut in the Linux Kernel is Shoring Up System Stability

2 days 5 hours ago
by George Whittaker

When Rust first made its way into the Linux kernel in late 2022 (mainline inclusion began with version 6.1), it didn’t merely introduce a new programming language, it marked a profound shift in how we ensure operating system resilience. This article dives into why that matters, how it’s being implemented, and what it could mean for Linux’s long-term robustness.

Tackling the C Legacy: A Fragility Problem

For over three decades, the Linux kernel has been maintained in C, a language that offers both raw control and notorious pitfalls. Manual memory juggling in C leads to high-risk bugs: buffer overflows, phantom pointers, heap corruption, and race conditions. In fact, memory safety issues account for around two-thirds of all kernel vulnerabilities.

Enter Rust: a systems language designed to eliminate whole classes of these errors through strict compile-time checks, without sacrificing low-level efficiency.

Rust’s Safety Toolkit: What Sets It Apart

Rust’s most powerful features for kernel reliability include:

  • Ownership semantics & the borrow checker These enforce rules about who owns a piece of memory at compile-time, no dangling pointers, no double frees.

  • No runtime garbage collector All abstractions compile down to efficient machine code, ensuring performance remains rock-solid.

  • Race elimination for free Rust-language concurrency prevents data races statically, eliminating a whole breed of timing-related bugs.

Combined, these attributes strip away entire categories of vulnerabilities that plague C-based code.

A New Layer: The Rust-for-Linux Framework

The groundwork for Rust modules in Linux was laid with kernel 6.1, and by version 6.8, the first experimental Rust drivers, covering areas like network PHYs and panic QR logging, were accepted. These drivers coexist with traditional C components, forming a hybrid architecture where Rust is used for new drivers while C remains the backbone.

Crucially, this integration includes:

  • A Rust bindings crate to interface safely with C internals.

  • A kernel crate that wraps core kernel structures and APIs for Rust consumption.

This layering enables gradual Rust adoption, developed drivers, not wholesale rewrites.

Early Results: Fewer Bugs, More Confidence

Evidence is already showing promise:

  • Memory safety vulnerabilities drop out as code gets written in Rust, tackling roughly two-thirds of past CVEs.

  • Kernel maintainers are noticeably more comfortable merging Rust patches, citing the added rigor from the borrow checker.

Go to Full Article
George Whittaker