×
Open Source

Linus Torvalds: 'I Do No Coding Any More' (youtube.com) 63

The Linux Foundation recently uploaded its video from the Open Source Summit and Embedded Linux Conference: Europe. And there was a poignant moment when Linus Torvalds did his traditional keynote conversation with Dirk Hohndel, VMware's vice president and chief open source officer.

Honndel had asked Linus — his hair now uncharacteristically long — what he spends his time on as a kernel maintainer. What's his workflow? "What do you do?"

Linus Torvalds: Um, I read email. [Hohndel laughs] I read email, I write email, I do no coding at all any more.

Most of the code I write, I actually write inside my mail reader. So somebody sends me a patch, or more commonly they send me a pull request or there's a discussion about the next pull request, and there's something I react to and say, 'No, this is fine, but...' And I send out pseudocode, or — I'm so used to sending out patches that I sometimes edit patches and send out the patch without having ever compiled it, ever tested it, because I literally wrote it in the mail reader, and saying 'I think this is how it should be done.' But this is what I do. I'm not a programmer any more.

I read a lot more email than I write, because what my job really is — in the end, my job is to say no. Somebody has to be able to say no to people. Because other developers know that if they do something bad, I will say no. They hopefully, in turn, are more careful. But in order to be able to say no, I have to know the background. Because otherwise I can't do my job. So I spend all my time, basically, reading email about what people are working on... It is an interesting job, but you do end up spending most of your time reading email.

On the developer side, what I hope people are doing is trying to make, not just good code, but these days we've been very good about having explanations for the code. So commit messages to me are almost as important as the code change itself. Sometimes the code change is so obvious that no message is really required, but that is very very rare. And so one of the things I hope developers are thinking about, the people who are actually writing code, is not just the code itself, but explaining why the code does something, and why some change was needed. Because that then in turn helps the managerial side of the equation, where if you can explain your code to me, I will trust the code...

A lot of open source in general is about communication. And part of it is the commit messages, part of it is just the email going back and forth. Communicating what you're trying to do or communicating why something doesn't work for you is really important.

Programming

JPMorgan Drops Terms 'Master,' 'Slave' From Internal Tech Code and Materials (reuters.com) 285

JPMorgan Chase is eliminating terms like "blacklist," "master" and "slave" from its internal technology materials and code as it seeks to address racism within the company, said two sources with knowledge of the move. Reuters reports: The terms had appeared in some of the bank's technology policies, standards and control procedures, as well in the programming code that runs some of its processes, one of the sources said. The phrases "master" and "slave" code or drive are used in some programming languages and computer hardware to describe one part of a device or process that controls another. "Blacklist" is used to describe items that are automatically denied, like a list of websites forbidden by a company's cybersecurity division. "Whitelist" means the opposite - a list of items automatically approved. While JPMorgan appears to be the first in the financial sector to remove most references to these racially problematic phrases, they're not the only company to do so. GitHub, Google, and Twitter are a few others who have made similar moves recently.
The Internet

MIT Removes Huge Dataset That Teaches AI Systems To Use Racist, Misogynistic Slurs (theregister.com) 62

An anonymous reader quotes a report from The Register MIT has taken offline its highly cited dataset that trained AI systems to potentially describe people using racist, misogynistic, and other problematic terms. The database was removed this week after The Register alerted the American super-college. MIT also urged researchers and developers to stop using the training library, and to delete any copies. "We sincerely apologize," a professor told us. The training set, built by the university, has been used to teach machine-learning models to automatically identify and list the people and objects depicted in still images. For example, if you show one of these systems a photo of a park, it might tell you about the children, adults, pets, picnic spreads, grass, and trees present in the snap. Thanks to MIT's cavalier approach when assembling its training set, though, these systems may also label women as whores or bitches, and Black and Asian people with derogatory language. The database also contained close-up pictures of female genitalia labeled with the C-word. Applications, websites, and other products relying on neural networks trained using MIT's dataset may therefore end up using these terms when analyzing photographs and camera footage.

The problematic training library in question is 80 Million Tiny Images, which was created in 2008 to help produce advanced object-detection techniques. It is, essentially, a huge collection of photos with labels describing what's in the pics, all of which can be fed into neural networks to teach them to associate patterns in photos with the descriptive labels. So when a trained neural network is shown a bike, it can accurately predict a bike is present in the snap. It's called Tiny Images because the pictures in library are small enough for computer-vision algorithms in the late-2000s and early-2010s to digest. Today, the Tiny Images dataset is used to benchmark computer-vision algorithms along with the better-known ImageNet training collection. Unlike ImageNet, though, no one, until now, has scrutinized Tiny Images for problematic content.

Firefox

Firefox 78: Protections Dashboard, New Developer Features, and the End of the Line For Older MacOS Versions (theregister.com) 51

williamyf shares a report from The Register: Mozilla has released Firefox 78 with a new Protections Dashboard and a bunch of updates for web developers. This is also the last supported version of Firefox for macOS El Capitan (10.11) and earlier. Firefox is on a "rapid release plan," which means a new version every four to five weeks. This means that major new features should not be expected every time. That said, Firefox 78 is also an extended support release (ESR), which means users who stick with ESR get updates from this and the previous 10 releases. The main new user-facing feature in Firefox 78 is the Protections Dashboard, a screen which shows trackers and scripts blocked, a link to the settings, a link to Firefox Monitor for checking your email address against known data breaches, and a button for password management.

Developers get a bunch of new features. The Accessibility inspector is out of beta -- this is a tab in the developer tools that will check a page for accessibility issues when enabled. Source maps are a JavaScript feature that map minified code back to the original code to make debugging easier. Firefox has a Map option that lets you use source maps in the debugger, and this now works with logpoints, a type of breakpoint that writes a message to the console rather than pausing execution, so that you see the original variable names. Mozilla has also worked on debugging JavaScript promises, so you can see more detail when exceptions are thrown.

A big feature for debugging web applications when running on mobile is the ability to connect an Android phone with USB, and navigate and refresh mobile web pages from the desktop. Patience is required though, since this will only work with a forthcoming new version of Firefox for Android. Mozilla has been working on a new Regular Expression (RegExp) evaluator and this is included in SpiderMonkey (Mozilla's JavaScript engine) in Firefox 78. This brings the evaluator up to date with the requirements of ECMAScript 2018.

PlayStation (Games)

New Hack Runs Homebrew Code From DVD-R On Unmodified PlayStation 2 (arstechnica.com) 18

An anonymous reader quotes a report from Ars Technica: Nearly 20 years after its initial release, a hacker has found a way to run homebrew software on an unmodified PlayStation 2 using nothing but a carefully burned DVD-ROM. Previous efforts to hack the PS2 relied on internal modifications, external hardware (like pre-hacked memory cards and hard drives), or errors found only on very specific models of the system. The newly discovered FreeDVDBoot differs from this previous work by exploiting an error in the console's DVD video player to create a fully software-based method for running arbitrary code on the system.

Security researcher CTurt laid out the FreeDVDBoot discovery and method in detail in a blog post this weekend. By decrypting and analyzing the code used for the PS2's DVD player, CTurt found a function that expects a 16-bit string from a properly formatted DVD but will actually easily accept over 1.5 megabytes from a malicious source. Sending carefully formatted data to that function causes a buffer overflow that in turn triggers another badly written function to tell the system to jump to an area of memory with arbitrary, attacker-written code. That code can then tell the system to load an ELF file written to a burned DVD-R in the system. Building on previous PS2 homebrew efforts like uLaunchELF, it's relatively simple to use that DVD-R to load homebrew software or even full copies of otherwise copy-protected PS2 games. The exploit is currently limited to very specific versions of the PS2's DVD player firmware (as of press time, firmwares 3.10 and 3.11, when set to "English") found in later editions of the console and won't work in earlier systems. But CTurt writes that he's "confident that all other versions also contain these same trivial IFO parsing buffer overflows" and can be exploited with broadly similar methods. The possibility of similar hacks through the Blu-ray player on the PS3 and PS4 (or the CD player on the PS1) are also being examined by the community.

Oracle

Oracle Celebrates 'The 25 Greatest Java Apps Ever Written' (oracle.com) 121

Oracle's Java magazine is celebrating the 25th anniversary of the programming language with a list of the 25 greatest Java apps ever written: From space exploration to genomics, from reverse compilers to robotic controllers, Java is at the heart of today's world. Here are a few of the countless Java apps that stand out from the crowd.

The story of Java began in 1991, at a time when Sun Microsystems sought to extend their lead in the computer workstation market into the burgeoning personal electronics market. Little did anyone know that the programming language Sun was about to create would democratize computing, inspire a worldwide community, and become the platform for an enduring software development ecosystem of languages, runtime platforms, SDKs, open source projects, and lots and lots of tools. After a few years of secret development led by James Gosling, Sun released the landmark "write once, run anywhere" Java platform in 1995, refocusing it beyond its original design for interactive television to applications for the burgeoning World Wide Web. By the turn of the century, Java was animating everything from smartcards to space vehicles.

Today, millions of developers program in Java. Although Java continues to evolve at an ever-faster pace, on the occasion of the platform's 25th anniversary, Java Magazine decided to take a look back at how Java molded our planet. What follows is a list of the 25 most ingenious and influential Java apps ever written, from Wikipedia Search to the US National Security Agency's Ghidra. The scope of these applications runs the gamut: space exploration, video games, machine learning, genomics, automotive, cybersecurity, and more.

The list includes Eclipse, Minecraft, the Maestro Mars Rover controller, and "VisibleTesla," the open source app created by an automobile enthusiast to monitor and control his Tesla Model S.
Java

Jakarta EE 9 Specification Release 'Marks the Final Transition Away From javax Namespace' (adtmag.com) 13

An anonymous reader quotes ADTmag: The Eclipse Foundation this week announced Jakarta EE 9 Milestone 1, the final version of the enterprise Java specification before the first Release Candidate (RC). The Jakarta EE 9 release marks the final transition away from the javax.* namespace (which Oracle refused to give up) to Eclipse's jakarta.*. This release updates all the APIs to use jakarta.* in package names. In fact, Mike Milinkovich, executive director of the Eclipse Foundation, says that transition is really what this release is all about.

"The main purpose...is to provide a release that is very similar to Java EE 8," Milinkovich told ADTmag, "with everything converted to the jakarta.* namespace. We're providing a stable technical conversion platform, so all the tools and frameworks in the ecosystem that are using, say, javax.servlet, can make the change with confidence." Giving the ecosystem solid footing for the transition from the Java EE coffee cup to the Jakarta EE sailboat is the Foundation's way of setting the stage for rapid innovation, Milinkovich said, once the transition is largely complete.

"These technologies have been around for an awfully long time," he added, "and we had to provide folks with a stable platform for the conversion. At the same time, thanks to a contribution from IBM, we have the Eclipse Transformer Project, which is going to provide runtime enablement. If someone has an application they don't want to recompile, and that application is using the javax.* namespace, they will be able to run it on top of a Jakarta-compatible app server. That's going to provide binary compatibility for apps, going forward..."

Education

How Should High Schools Teach Computer Science? (acm.org) 151

A high school computer science teacher claims there's an "unacknowledged failure" of America's computer science (CS) classes at the high school and junior high school level. "Visit classrooms and you'll find students working with robotic sensors, writing games and animations in Scratch, interfacing with Arduino microcontrollers, constructing websites, and building apps with MIT App Inventor...

"Look underneath the celebratory and self-congratulatory remarks, however, and you'll find that, although contemporary secondary education is quite good at generating initial student interest, it has had much less success at sustaining that engagement beyond a few weeks or months, and has frankly been ineffectual in terms of (a) measurable learning for the majority of students; (b) boosting the number of students who take a second CS course, either in high school or college; and (c) adequately preparing students for CS college study."

Long-time Slashdot reader theodp writes: In " A New Pedagogy to Address the Unacknowledged Failure of American Secondary CS Education ," high school computer science teacher Scott Portnoff argues that a big part of the problem is the survey nature of today's most popular high school CS course offerings — Exploring Computer Science (ECS) and AP Computer Science Principles (AP CSP) — both of whose foundational premise is that programming is just one of many CS topics. "Up until a decade ago," Portnoff explains, "introductory high school computer science classes were synonymous with programming instruction, period. No longer."

This new status quo in secondary CS education, Portnoff argues, resulted from baseless speculation that programming was what made Java-based AP CS A inaccessible, opposed to, say, an uninspiring or pedagogically ineffective version of that particular curriculum, or a poorly prepared instructor. It's quite a departure from the 2011 CSTA K-12 Computer Science Standards, which made the case for the centrality of programming in CS education ("Pedagogically, computer programming has the same relation to studying computer science as playing an instrument does to studying music or painting does to studying art. In each case, even a small amount of hands-on experience adds immensely to life-long appreciation and understanding").

This teacher believes that programming languages are acquired rather than learned, just like any other human language — and concludes the solution is multi-year courses focused on one programming language until proficiency is fully acquired.

For this reason, for the last seven years he's also been making his students memorize small programs, and then type them out perfectly, arguing that "the brain subconsciously constructs an internal mental representation of the syntax rules implicitly by induction from the patterns in the data."
Businesses

AWS Launches 'Amazon Honeycode', a No-Code App Building Service (zdnet.com) 43

"Amazon Web Services on Wednesday launched Amazon Honeycode, a fully-managed service that enables companies to build mobile and web applications without any programming," reports ZDNet: Customers can use the service to build apps that leverage an AWS-built database, such as a simple task-tracking application or a more complex project management app to manage multiple workflows. "Customers have told us that the need for custom applications far outstrips the capacity of developers to create them," AWS VP Larry Augustin said in a statement.

Low-code and no-code tools have been growing in popularity in recent years, enabling people with little or no coding experience to be able to build the applications they need. Other major cloud companies like Salesforce offer low-code app builders. With IT teams stretched thin during the COVID-19 pandemic, low-code tools can prove particularly useful.

Customers "can get started by selecting a pre-built template, where the data model, business logic, and applications are pre-defined and ready-to-use..." Amazon explains in a press release. "Or, they can import data into a blank workbook, use the familiar spreadsheet interface to define the data model, and design the application screens with objects like lists, buttons, and input fields.

"Builders can also add automations to their applications to drive notifications, reminders, approvals, and other actions based on conditions. Once the application is built, customers simply click a button to share it with team members."
Programming

After 19 Years, Python May Finally Get a Pattern Matching Syntax (infoworld.com) 76

"A proposal under consideration by Python's development team would finally bring pattern matching statements to the language," reports InfoWorld: The creators of the Python language are mulling a new proposal, PEP 622, that would finally bring a pattern matching statement syntax to Python. The new pattern matching statements would give Python programmers more expressive ways of handling structured data, without having to resort to workarounds...

While Python has lacked a native syntax for pattern matching, it has been possible to emulate it with if/elif/else chains or a dictionary lookup. PEP 622 proposes a method for matching an expression against a number of kinds of patterns using a match/case syntax:

match something:

case 0 | 1 | 2:
print("Small number")

case [] | [_]:
print("A short sequence")

case str() | bytes():
print("Something string-like")

case _:
print("Something else")


Supported pattern match types include literals, names, constant values, sequences, a mapping (basically, the presence of a key-value pair in the expression), a class, a mixture of the above, or any of those plus conditional expressions. Any matches that are ambiguous or impossible to resolve will throw an exception at runtime... If an object implements the __match__ method, it can be used to test if it matches a given class pattern and return an appropriate response.

One of the authors of the new PEP was Python creator Guido van Rossum, according to the article -- and he'd drafted an earlier pattern matching proposal back in 2006 that was rejected (following the rejection of an earlier proposal in 2001).

The article also notes that many aspects of this PEP were inspired by the way pattern matching works in Rust and Scala.
Medicine

CA Governor Newsom Announces COVID-19 Modeling Website, Open-Source Tools For 'Citizen Scientists' (cbslocal.com) 89

Long-time Slashdot reader PCM2 shares a report from CBS News: Gov. Gavin Newsom on Thursday announced a new COVID-19 modeling website as well as new open-source tools designed to help California residents understand the data informing local health departments and empower what he called "citizen scientists." The governor introduced the new coronavirus modeling website [...] as a way for residents to see the raw data that is driving the decisions of state and county officials with full transparency.

The new website features three sections: a "Nowcast" section that provides the most current information on how fast COVID-19 is spreading in the state and by county; a "Forecasts" section that provides short-term COVID-19 forecasts in the state and by county; and a "Scenarios" section that projects the possible long-term impacts under different scenarios and responses to COVID-19, again for the whole state and by county.
"We want to open up our site to 'netizen-tists' ... of citizen-scientists, people that are out there doing coding every single day," said Newsom. "We want to give them access through an open-source platform to all of the available data that we have, that I have, that our health professionals have, in a way that we don't believe has been done before anywhere in the United States. This is a deep dive for transparency and openness. This is a new resource that we are making available today."
The Almighty Buck

Hey Email App Open To All After Apple 'Definitively' Approves It (engadget.com) 30

Basecamp's Hey email app is now open to everyone after Apple "definitively approved" it for the App Store. No invite code is required for users to sign up. Engadget reports: Basecamp CTO and co-founder David Heinemeier Hansson tweeted the news today. Hey will not include any in-app purchases (IAP), so Apple will not get its standard 30 percent commission. At first, Apple objected to the fact that users would download the app from the App Store but have to sign up via the web. Apple's policies require that developers use IAP to unlock paid features or functionality in an app. Hey managed to skirt around those rules by offering a free trial option.

Hey is now open to everyone, and it does not require an invite code. The app promises a more organized approach to email, for $99 per year. But perhaps more importantly, Hey is an example of how developers can avoid paying Apple 30 percent of IAP and subscription fees. "Hopefully this paves an illuminated path for approval for other multi-platform SAAS applications as well. There are still a litany of antitrust questions to answer, but things legitimately got a little better. New policies, new precedence. Apple took a great step forward," Hansson tweeted.

Programming

Michael Hawley, Programmer, Professor and Pianist, Dies at 58 (nytimes.com) 17

Michael Hawley, a computer programmer, professor, musician, speechwriter and impresario who helped lay the intellectual groundwork for what is now called the Internet of Things, died on Wednesday at his home in Cambridge, Mass. He was 58. From a report: The cause was colon cancer, said his father, George Hawley. Mr. Hawley began his career as a video game programmer at Lucasfilm, the company created by the "Star Wars" director George Lucas. He spent his last 15 years curating the Entertainment Gathering, or EG, a conference dedicated to new ideas. In between, he worked at NeXT, the influential computer company founded by Steve Jobs after he left Apple in the mid-1980s, and spent nine years as a professor at the Massachusetts Institute of Technology Media Lab, a seminal effort to push science and technology into art and other disciplines. He was known as a scholar whose ideas, skills and friendships spanned an unusually wide range of fields, from mountain climbing to watchmaking. Mr. Hawley lived with both Mr. Jobs and the artificial intelligence pioneer Marvin Minsky, published the world's largest book, won first prize in an international competition of amateur pianists, played alongside the cellist Yo-Yo Ma at the wedding of the celebrity scientist Bill Nye, joined one of the first scientific expeditions to Mount Everest, and wrote commencement speeches for both Mr. Jobs and the Google co-founder Larry Page.

Two of Mr. Hawley's Media Lab projects -- Things That Think and Toys of Tomorrow -- anticipated the Internet of Things movement, which aims to weave digital technology into everything from cars to televisions to home lighting systems. Led by companies like Amazon, Google, Intel and Microsoft, the movement is now a $248 billion market, according to the market research firm Statista. Mr. Hawley developed "a pattern of ideas that emerged long before the Internet of Things," Nicholas Negroponte, founder of the Media Lab, said in an email. "I would call that pattern not artificial intelligence, but intelligence in the artificial," he wrote. Mark Seiden, an independent computer security consultant who met Mr. Hawley in the early 1980s when they were both working at IRCAM, a music lab in Paris, and eventually hired him at Lucasfilm, compared Mr. Hawley's exploits to those of George Plimpton, the writer whose participatory kind of journalism had him masquerading as a boxer, a professional football player, a circus performer and a stand-up comedian.

Perl

Perl 7 Announced As Evolving Perl 5 With Modern Defaults (phoronix.com) 86

Taking place this week is the virtual Perl + Raku "Conference in the Cloud" as a result of the COVID-19 pandemic causing the event to go virtual. A big announcement out of it is Perl 7. From a report: Perl 7 basically amounts to Perl 5 with more modern defaults and foregoing some of the extensive backward compatibility support found with Perl 5. News of Perl 7 comes a few days after the release of Perl 5.32. Perl 7 succeeds Perl 5 due to the Perl 6 initiative previously for what is now known as the Raku programming language. So to avoid confusion, similar to the PHP 6 debacle, Perl 7 is the next version. For the most part though Perl 7 is close to Perl 5.32 with changed defaults and is more forward looking with less commitment to backward compatibility support.
Businesses

Apple's Major Leap Is Unification and More Lock-In, Not Big New Features (bloomberg.com) 152

Apple's Worldwide Developers Conference this week didn't bring any particularly revolutionary new feature, but it did something perhaps more important for Apple's long-term strategy. The latest updates will unify the company's devices and give customers more reasons to stay within its product ecosystem. From a report: From an average user's standpoint, the updates to iOS and iPadOS were underwhelming and minor, aside from widgets (which Android has had for years). Siri's interface changes were impressive, but there wasn't much discussion of a needed under-the-hood revamp, and the Watch update was incremental, other than sleep tracking. The company didn't let these products languish, but Apple's engineers essentially did just enough. The really impressive achievements came in getting the products to work together, plus sweeping improvements to the Mac.

The biggest news of the conference was that Apple-made chips will replace those from Intel in Mac computers. Besides higher speeds and longer battery life, the change customers will notice first is that Mac computers will work more like an iPhone or an iPad, and will have the ability to run the same apps on the new macOS Big Sur operating system. Soon, someone will be able to buy an iPhone app and run it across Apple's major platforms: the Mac, the iPhone, the iPad, and in some cases a variant of it on the Apple Watch and Apple TV. The company also moved toward increased unification by bringing over glance-able information (widgets) from the Apple Watch to its larger devices, and by more deeply integrating its smart home features across products. For example, a HomePod speaker can now be a doorbell and an Apple TV can be a door camera viewer. All of this may drive existing customers to buy additional Apple products, knowing that they'll work together seamlessly. The strategy could boost Apple's sales in the long-term and, just as importantly, make it more difficult for a user to leave behind a device, which could blow a hole in their network of Apple products.

Databases

Appeals Court Says California's IMDb-Targeting 'Ageism' Law Is Unconstitutional (techdirt.com) 140

The state of California has lost again in its attempt to punish IMDb for ageism perpetrated by movie studios who seem to refuse to cast actresses above a certain age in choice roles. Techdirt reports: The law passed by the California legislature does one thing: prevents IMDb (and other sites, theoretically) from publishing facts about actors: namely, their ages. This stupid law was ushered into existence by none other than the Screen Actors Guild, capitalizing on a (failed) lawsuit brought against the website by an actress who claimed the publication of her real age cost her millions in Hollywood paychecks. These beneficiaries of the First Amendment decided there was just too much First Amendment in California. To protect actors from studio execs, SAG decided to go after a third-party site respected for its collection of factual information about movies, actors, and everything else film-related.

The federal court handling IMDb's lawsuit against the state made quick work of the state's arguments in favor of very selective censorship. In only six pages, the court destroyed the rationale offered by the government's finest legal minds. [...] Even if the law had somehow survived a First Amendment challenge, it still wouldn't have prevented studios from engaging in discriminatory hiring practices. If this was really the state's concerns, it would have stepped up its regulation of the entertainment industry, rather than a single site that was unsuccessfully sued by an actress, who speculated IMDb's publication of her age was the reason she wasn't landing the roles she wanted.

IOS

Apple Will Let You Emulate Old Apps, Run iOS Apps on ARM Macs (techcrunch.com) 213

At the WWDC 2020 keynote today, Apple announced that the company is going to switch from Intel chips to Apple's own silicon, based on ARM architecture. They also announced that iPad and iPhone apps will be able to run natively on ARM-powered Macs. TechCrunch reports: First, you'll be able to compile your app to run both on Intel-based Macs and ARM-based Macs. You can ship those apps with both executables using a new format called Universal 2. If you've been using a Mac for a while, you know that Apple used the same process when it switched from PowerPC CPUs to Intel CPUs -- one app, two executables. As for unoptimized software, you'll still be able to run those apps. But its performances won't be as good as what you'd get from a native ARM-ready app. Apple is going to ship Rosetta 2, an emulation layer that lets you run old apps on new Macs.

When you install an old app, your Mac will examine the app and try to optimize it for your ARM processor. This way, there will be some level of optimization even before you open the app. But what if it's a web browser or a complicated app with just-in-time code? Rosetta 2 can also translate instructions from x86 to ARM on the fly, while you're running the app. And if you're a developer working on code that is going to run on servers, Apple is also working on a set of virtualization tools. You'll be able to run Linux and Docker on an ARM Mac.

As a bonus, users will also be able to access a much larger library of apps. "Mac users can for the first time run iOS and iPadOS apps on the Mac," Apple CEO Tim Cook said. While the company didn't share a lot of details, Apple isn't talking about Catalyst, its own framework that makes it easier to port iOS apps to macOS. You should be able to download and run apps even if the developer never optimized those apps for macOS.

Businesses

Apple Approves Hey Email App, But the Fight's Not Over (theverge.com) 14

After rejecting an update last week, Apple has approved a new version of the subscription email app Hey. From a report: The approval, which came last week, ahead of today's Apple Worldwide Developer Conference, is meant to lower the temperature after Apple's initial app rejection drew widespread condemnation from lawmakers and other developers. But the approval is also only temporary in spirit, meant to give Hey developer Basecamp time to develop a version of the app more in line with Apple's policies -- and Basecamp's approach to that challenge is very aggressive, as a letter posted to its website today details.
Programming

David Heinemeier Hansson Explains What It Takes to Write Great Code (evrone.com) 66

The "bespoke development" site Evrone.com (an IT outsourcing company) interviewed Ruby on Rails creator David Heinemeier Hansson (who is also co-founder and CTO of Basecamp -- and a racecar driver) shortly before he spoke at RubyRussia, Evrone's annual Moscow programming conference.

And they asked him an interesting question. As a man who's seen lots of Ruby code, "what makes code good or shitty? Anything that is obvious for you at first glance?" David Heinemeier Hansson: If the code is poorly written, usually it smells before you even examine the logic. Indentation is off, styles are mixed, care is simply not shown. Beyond that, learning how to write great code, is a life long pursuit. As I said in my RailsConf 2014 keynote, we're not software engineers, we're software writers. "Writing" is a much more suitable metaphor for what we do most of the time than "engineering" is. Writing is about clarity and presenting information in a clear-to-follow manner so that anybody can understand it.

There's no list of principles and practices that somebody can be taught and then they will automatically produce clear writing every time. If you want to be a good writer, it's not enough just to memorize the dictionary. Just knowing the words available to you, knowing the patterns of development is not going to make you a good developer. You have to develop an eye. You have to decide that the most important thing for your system is clarity. When you do decide that, you can start developing an eye.

The only way to become a good programmer, where, by definition, I define good programmers as somebody who writes software with clarity, is to read a lot of software and write a lot of software.

In 2016, David Heinemeier Hansson answered questions from Slashdot readers.
Programming

Has the Time Finally Come for Generics in Golang? (thenewstack.io) 60

An anonymous reader quotes technology columnist Mike Melanson: The debate around adding generics to the Go programming language has been going on for years now, often with much resistance, but it's starting to look like one proposal finally has some backing and general acceptance from the greater Go community — much to the surprise of some involved.

Introduced this week in a blog post looking at the next step for generics, penned by Golang team members Ian Lance Taylor and Robert Griesemer, the first update in nearly a year on the topic explains that the generics design draft previously submitted for feedback has been refined, resulting in an updated design draft... For the time being, the team has introduced an experimentation tool that "permits people to type check and run code written using the version of generics described in the design draft" by translating generic code into ordinary Go code. It is meant to give users a feel of how the proposed design would, if accepted work, and they note that it will be implemented differently if so.

As for the proposal itself, it offers several levels of detail, from an abstract, to a high-level overview, to the full level of detail you might expect from such a document. As with everything Go, the design is intended to be fully backward compatible with Go 1, and the authors note that "as the term generic is widely used in the Go community, we will use it below as a shorthand to mean a function or type that takes type parameters.

"Don't confuse the term generic as used in this design with the same term in other languages like C++, C#, Java, or Rust; they have similarities but are not the same."

The article also notes that Go's package repository is now open source.

Slashdot Top Deals