Build

Raspberry Pi Announces New Tool for Customized Software Images (raspberrypi.com) 10

"For developers and organisations that require a custom software image, a flexible and transparent build system is essential," according to an announcement Friday at Raspberry Pi.com.

"[T]o support these customers, we have created rpi-image-gen, a powerful new tool designed to put you in complete control of your Raspberry Pi images." If you're building an embedded system or an industrial controller, you'll need complete control over the software resident on the device, and home users may wish to build their own OS and have it pre-configured exactly the way they want... rpi-image-gen is an alternative to pi-gen, which is the tool we use to create and deploy the Raspberry Pi OS distribution. rpi-image-gen... offers a very granular level of control over file system construction and software image creation... [B]eing able to help reduce software build time, provide guaranteed ownership of support, and reuse standard methodologies to ensure authenticity of software were all of paramount importance, and among the reasons why we created a new home-grown build tool for Raspberry Pi devices...

There is a small number of examples in the tree which demonstrate different use cases of rpi-image-gen [including the lightweight image slim and webkiosk for booting into browser kiosk mode]. All create bootable disk images and serve to illustrate how one might use rpi-image-gen to create a bespoke image for a particular purpose. The number of examples will grow over time and we welcome suggestions for new ones... Visit the rpi-image-gen GitHub repository to get started. There, you'll find documentation and examples to guide you through creating custom Raspberry Pi images.

Some technical details from the announcement.
  • "Similar to pi-gen, rpi-image-gen leverages the power, reliability, and trust of installing a Debian Linux system for the device. However, unlike pi-gen, rpi-image-gen introduces some new concepts [profiles, image layouts, and config] which serve to dictate the build footprint and installation."
  • The tool also lets you exclude from your package "things that would otherwise be installed as part of the profile."
  • The tool's GitHub repository notes that it also allows you output your software bill of materials (SBOM) "to list the exact set of packages that were used to create the image." And it can even generate a list of CVEs identified from the SBOM to "give consumers of your image confidence that your image does not contain any known vulnerabilities."

NASA

Boeing's 'Starliner' Also Experienced an Issue on Its Return to Earth (orlandosentinel.com) 42

Friday the Orlando Sentinel covered NASA's 2024 mission-safety report from the Aerospace Safety Advisory Panel (formed in 1968). The report "commended the agency's handling of last year's beleaguered Boeing's Starliner mission [prioritizing astronaut safety], but revealed yet another issue found during the flight and questioned the agency's needs for the spacecraft in the future..." [The report] stated that it was unclear how a decision was made to waive a failure tolerance requirement on some of the thrusters without flight or qualification data to justify the decision. "These examples illustrate the panel's concern that, absent role clarity, risk management choices could unintentionally devolve to contractors, whose interests may not fully align with NASA's," the report warned...

It also revealed that in addition to the thruster and leak issues on the propulsion module driving the decision to fly home without astronauts, Starliner had a new issue as it made its way back to Earth. "Overall, Starliner performed well across all major systems in the undock, deorbit, and landing sequences; however, an additional mono propellant thruster failure was discovered in the crew module — distinct from the failures in the service module experienced during orbit," the report stated. "Had the crew been aboard, this would have significantly increased the risk during reentry, confirming the wisdom of the decision."

As far as Starliner's path to certification, the ASAP report said it would continue to monitor several unresolved issues with thrusters and seek information on how NASA and Boeing plan to get the spacecraft certified. "While the thruster issues have received considerable attention, the panel has previously noted other Starliner issues that require resolution prior to certification," it stated. That includes a battery redesign and work to strengthen the landing airbag apparatus. "Beyond these technical matters, schedule and budget pose substantial challenges to Starliner certification," the report added...

"Until the Starliner certification plan is well understood, it remains unclear as to whether a second provider will be available prior to the end of the ISS's operational life [in 2030]," the report stated.

The report "also suggested that NASA immediately adapt next-generation extravehicular mobility units, or EVUs," reports ExecutiveGov, "as current space suits astronauts use for operations outside the ISS are now beyond their design life."
Businesses

Spotify Files Complaint Against Apple With the European Commission Over 30% Tax and Restrictive Rules (spotify.com) 257

Spotify today filed a complaint with EU antitrust regulators against Apple, saying the iPhone maker unfairly limits rivals to its own Apple Music streaming service. Spotify CEO Daniel Ek writes in a blog post: In recent years, Apple has introduced rules to the App Store that purposely limit choice and stifle innovation at the expense of the user experience -- essentially acting as both a player and referee to deliberately disadvantage other app developers. After trying unsuccessfully to resolve the issues directly with Apple, we're now requesting that the EC take action to ensure fair competition. Apple operates a platform that, for over a billion people around the world, is the gateway to the internet. Apple is both the owner of the iOS platform and the App Store -- and a competitor to services like Spotify. In theory, this is fine. But in Apple's case, they continue to give themselves an unfair advantage at every turn.

To illustrate what I mean, let me share a few examples. Apple requires that Spotify and other digital services pay a 30% tax on purchases made through Apple's payment system, including upgrading from our Free to our Premium service. If we pay this tax, it would force us to artificially inflate the price of our Premium membership well above the price of Apple Music. And to keep our price competitive for our customers, that isn't something we can do. As an alternative, if we choose not to use Apple's payment system, forgoing the charge, Apple then applies a series of technical and experience-limiting restrictions on Spotify.

For example, they limit our communication with our customers -- including our outreach beyond the app. In some cases, we aren't even allowed to send emails to our customers who use Apple. Apple also routinely blocks our experience-enhancing upgrades. Over time, this has included locking Spotify and other competitors out of Apple services such as Siri, HomePod, and Apple Watch. We aren't seeking special treatment. We simply want the same treatment as numerous other apps on the App Store, like Uber or Deliveroo, who aren't subject to the Apple tax and therefore don't have the same restrictions.

Education

Ask Slashdot: How Would You Teach 'Best Practices' For Programmers? 220

An anonymous reader writes: I've been asked to put together a half-day workshop whose title is "Thinking Like a Programmer." The idea behind this is that within my institution (a university), we have a vast number of self-taught programmers who have never been taught "best practices" or anything about software engineering. This workshop's intention is to address this lack of formal training.

The question is, what should be covered in this workshop? If you have an idea -- that also has an example of best practice -- please share!

It's really two questions -- what "thinking like a programmer" topics should be covered, but also what examples should be used to illustrate best practices for the material. So leave your best thoughts in the comments.

How would you teach best practices for programmers?
Operating Systems

Eben Upton Explains Why Raspberry Pi Isn't Vulnerable To Spectre Or Meltdown (raspberrypi.org) 116

Raspberry Pi founder and CEO Eben Upton says the Raspberry Pi isn't susceptible to the "Spectre" or "Meltdown" vulnerabilities because of the particular ARM cores they use. "Spectre allows an attacker to bypass software checks to read data from arbitrary locations in the current address space; Meltdown allows an attacker to read data from arbitrary locations in the operating system kernel's address space (which should normally be inaccessible to user programs)," Upton writes. He goes on to provide a "primer on some concepts in modern processor design" and "illustrate these concepts using simple programs in Python syntax..."

In conclusion: "Modern processors go to great lengths to preserve the abstraction that they are in-order scalar machines that access memory directly, while in fact using a host of techniques including caching, instruction reordering, and speculation to deliver much higher performance than a simple processor could hope to achieve," writes Upton. "Meltdown and Spectre are examples of what happens when we reason about security in the context of that abstraction, and then encounter minor discrepancies between the abstraction and reality. The lack of speculation in the ARM1176, Cortex-A7, and Cortex-A53 cores used in Raspberry Pi render us immune to attacks of the sort."
Programming

Revisiting Why Johnny Can't Code: Have We "Made the Print Too Small"? 270

theodp writes: In What is Computer Science?, the kickoff video for Facebook's new TechPrep diversity initiative, FB product manager Adriel Frederick explains how he was hooked-on-coding after seeing the magic of a BASIC PRINT statement. His simple BASIC example is a nice contrast to the more complicated JavaScript and Ruby examples that were chosen to illustrate Mark Zuckerberg's what-is-coding video for schoolkids. In How to Teach Your Baby to Read, the authors explain, "It is safe to say that in particular very young children can read, provided that, in the beginning, you make the print very big." So, is introducing coding to schoolkids with modern programming languages instead of something like BASIC (2006) or even (gasp!) spreadsheets (2002) the coding equivalent of "making the print too small" for a child to see and understand?
Book Reviews

Book Review: Mobile HTML5 37

Michael Ross (599789) writes "Web designers and developers nowadays are familiar with the critical decision they face each time before building an application intended for mobile devices: whether to target a particular device operating system (e.g., iOS) and create the app using the language dictated by the OS (e.g., Objective-C), or try to build an operating system-agnostic app that runs on any device equipped with a modern web browser (primarily using HTML5, CSS3, and JavaScript), or try to do a combination of both (using a library such as PhoneGap). The second option offers many advantages, and is the approach explored in the book Mobile HTML5, authored by Estelle Weyl, an experienced front-end developer." Keep reading for the rest of Michael's review.
Education

Zuckerberg Shows Kindergartners Ruby Instead of JavaScript 144

theodp writes "If one was introducing coding to 10 million K-12 kids over 5 days, one might settle on a programming language for examples more than a few weeks before D-Day. But the final tutorials for the Hour of Code aren't due now until the day they're to be taught, so Code.org was able to switch the example Facebook CEO Mark Zuckerberg uses to illustrate Repeat Loops from JavaScript to what looks like Ruby (earlier /. discussion of the JavaScript example), which will no doubt make things clearer for the kindergarten set working on the accompanying Angry Birds tutorial. Khan Academy, on the other hand, is sticking with JavaScript for its Hour of Code tutorial aimed at middle-schoolers, which culminates in a project showing the kids how they can draw a circular plate by invoking an ellipse function with equal major and minor axes. By the way, as Bret Victor might point out, the 2013 Khan Academy lesson looks a lot like circa-1973 PLATO!"
Businesses

Nobel Winners Illustrate Israel's "Brain Drain" 214

barlevg writes "Two of the three scientists sharing this year's Nobel Prize in Chemistry have Israeli citizenship, with Dr. Arieh Warshel having been born and educated in Israel, yet both are based at universities in the United States. These two scientists are perhaps the highest profile examples of a growing problem in the so-called "start-up nation," which is known for its high-tech tech companies and scientific innovation, and yet which loses more researchers to emigration than any other western nation. The problem? Large salary gaps between US and Israeli institutions. As Daniel Hershkowitz, president of Bar-Ilan University put it, 'I don't see Israel being able to compete with what they offer in the United States.'"
Businesses

Nathan Myhrvold Answers Your Questions, Live Q&A Today At 12 P.M. Pacific 54

Last week you had a chance to ask co-founder and CEO of Intellectual Ventures, Nathan Myhrvold, questions before his live Q&A. Below you'll find his answers to a few of the highest rated. Make sure you come back today from 12-12:30pm PDT (3-3:30pm ET, 19:00-19:30 GMT) to ask him whatever you like in real time. We'll have a new story for your questions at that time.
Image

Book Review: Hadoop Beginner's Guide Screenshot-sm 57

First time accepted submitter sagecreek writes "Hadoop is an open-source, Java-based framework for large-scale data processing. Typically, it runs on big clusters of computers working together to crunch large chunks of data. You also can run Hadoop in "single-cluster mode" on a Linux machine, Windows PC or Mac, to learn the technology or do testing and debugging. The Hadoop framework, however, is not quickly mastered. Apache's Hadoop wiki cautions: "If you do not know about classpaths, how to compile and debug Java code, step back from Hadoop and learn a bit more about Java before proceeding." But if you are reasonably comfortable with Java, the well-written Hadoop Beginner's Guide by Garry Turkington can help you start mastering this rising star in the Big Data constellation." Read below for the rest of Si's review.
Image

Book Review: Sams Teach Yourself Node.js In 24 Hours Screenshot-sm 112

Michael Ross writes "Since its introduction in 1994, JavaScript has largely been utilized within web browsers, which limited JavaScript programmers to client-side development. Yet with the recent introduction of Node.js, those programmers can leverage their skills and experience for server-side efforts. Node.js is an event-based framework for creating network applications — particularly those for the Web. Anyone interested in learning this relatively new technology can begin with one of numerous resources, including Sams Teach Yourself Node.js in 24 Hours." Keep reading for the rest of Michael's review.
Image

Book Review: Think Like a Programmer Screenshot-sm 98

MassDosage writes "After nearly 15 years or of writing code professionally it was refreshing to take a figurative step back and read a book aimed at people getting started with computer programming. As the title suggests, Think Like A Programmer tries to get to the core of the special way that good programmers think and how, when faced with large and complex problems, they successfully churn out software to solve these challenges in elegant and creative ways. The author has taught computer science for about as long as I've been programming and this shows in his writing. He has clearly seen a lot of different people progress from newbie programmers to craftsmen (and craftswomen) and has managed to distill a lot of what makes this possible in what is a clear, well-written and insightful book." Read below for the rest of Mass Dosage's review.
Books

Book Review: How Google Tests Software 44

MassDosage writes "Having developed software for nearly fifteen years, I remember the dark days before testing was all the rage and the large number of bugs that had to be arduously found and fixed manually. The next step was nervously releasing the code without the safety net of a test bed and having no idea if one had introduced regressions or new bugs. When I first came across unit testing I ardently embraced it and am a huge fan of testing of various forms — from automated to smoke tests to performance and load tests to end user and exploratory testing. So it was with much enthusiasm that I picked up How Google Tests Software — written by some of the big names in testing at Google. I was hoping it would give me fresh insights into testing software at "Google Scale" as promised on the back cover, hopefully coupled with some innovative new techniques and tips. While partially succeeding on these fronts, the book as a whole didn't quite live up to my expectations and feels like a missed opportunity." Read below for the rest of MassDosage's review.
Image

Book Review: Scalability Rules Screenshot-sm 54

eldavojohn writes "As a web developer in the 'Agile' era, I find myself making (or recognizing) more and more important decisions being made in developing for the web. Scalability Rules cemented and codified a lot of things I had suspected or picked up from blogs but failed to give much more thought to and had difficulty defending as a member of a team. A simple example is that I knew state is bad if unneeded but I couldn't quite define why. Scalability Rules provided this confidence as each of the fifty rules is broken down in a chapter that is divided into what, when, how, why and key takeaways. A strength of the book is that these rules cover all aspects of web development; but that became a double edged sword as I struggled through some rules meant for managers or technical operators." Read below for the rest of eldavojohn's review.
Image

Book Review: Software Build Systems Screenshot-sm 29

MassDosage writes "Software Build Systems by Peter Smith is a well written, albeit rather lengthy book that covers the intricacies of systems used to build software. It tries to do this in a technology-neutral manner where possible but covers existing tools like Ant, Make and Scons as a means of illustrating the various concepts covered instead of just focusing on theory. The real world examples illustrate building Java, C/C++, C# and Python software and cover scaling up from small builds with tens of source files up to massive builds with tens of thousands. All of the technologies used are introduced in some depth which newcomers should find useful but experienced build developers may want to skim over." Read below for the rest of MassDosage's review.
Image

Book Review: Amazon SimpleDB Developer Guide Screenshot-sm 38

KuanH writes "Amazon SimpleDB Developer Guide is billed as a complete guide to using Amazon's SimpleDB database API. It's most detailed for PHP. It's helpful for Python. But the Java code and explanations aren't up to the standard of the others. It includes a primer on using Amazon S3 with SimpleDB: files stored on S3, file metadata stored in SimpleDB — again, less good for Java. It also covers tuning to reduce usage costs, caching using memcached, and ways to batch-update and make serial or parallel requests to SimpleDB. However, it's missing some information that beginners might need, and it's perhaps not quite advanced enough for the more experienced. Downloadable example code is available only for PHP." Keep reading for the rest of Kuan's review.
Image

Foundation Drupal 7 Screenshot-sm 98

Michael J. Ross writes "Of all the better-known content management systems, Drupal is oftentimes criticized for having the steepest learning curve. Yet that would only be a valid charge as a result of Drupal's great power and flexibility — particularly in the hands of a knowledgeable Drupal developer. But how can the interested programmer begin gaining those skills, as quickly as possible? One approach is to read and work through the examples of an introductory book, such as Foundation Drupal 7, written by Robert J. Townsend (except for a chapter contributed by Stephanie Pakrul)." Read on for the rest of Michael's review.
Image

Drupal 7 Module Development Screenshot-sm 31

Michael J. Ross writes "While it is possible to create a simple website using a base installation of Drupal, the real power of this content management system is achieved through the use of modules, which can be thought of as add-ons that extend the capabilities of Drupal in specific ways — oftentimes in conjunction with other modules. These modules are developed and contributed by PHP programmers who understand how to use one or more of the Drupal application programming interfaces (APIs) to access information stored in a Drupal database, such as content, user profiles, and theme settings. These APIs have changed with Drupal version 7, and thus Drupal coders could benefit from a book that explains how to create Drupal 7 contrib modules." Read on for the rest of Michael's review.

Slashdot Top Deals