×
Programming

92% of Programmers Are Using AI Tools, Says GitHub Developer Survey 67

An anonymous reader quotes a report from ZDNet: [A]ccording to a new GitHub programmer survey, "92% of US-based developers are already using AI coding tools both in and outside of work." GitHub partnered with Wakefield Research to survey 500 US-based enterprise developers. They found that 70% of programmers believe AI is providing significant benefits to their code. Specifically, developers said AI coding tools can help them meet existing performance standards with improved code quality, faster outputs, and fewer production-level incidents.

This is more than just people working on external open-source projects or just fooling around. Only 6% of developers said they solely use these tools outside of work. In other words, today, AI programming tools are part and parcel of modern business IT. Why has this happened so quickly? It's all about the programmers' bottom line. Developers say AI coding tools help them meet existing performance standards with improved code quality, faster outputs, and fewer production-level incidents. It's also all about simply producing more lines of code.
"Engineering leaders will need to ask whether measuring code volume is still the best way to measure productivity and output," added Inbal Shani, GitHub's chief product officer. "Ultimately, the way to innovate at scale is to empower developers by improving their productivity, increasing their satisfaction, and enabling them to do their best work -- every day."

According to the survey, "Developers want to upskill, design solutions, get feedback from end users, and be evaluated on their communication skills."

"In other words, generating code with AI is a means to an end, not an end to itself," writes ZDNet's Steven Vaughan-Nichols. "Developers believe they should be judged on how they handle those bugs and issues, which is more important to performance than just lines of code. [...] Yes, you can have ChatGPT write a program for you, but if you don't understand what you're doing in the first place or the code you're 'writing,' the code will still be garbage. So, don't think for a minute that just because you can use ChatGPT to write a Rust bubble-sort routine, it means you're a programmer now, You're not."
Programming

Google Home's Script Editor Is Now Live (theverge.com) 23

Google has launched its script editor tool, offering advanced automations for Google Home-powered smart homes. The Verge reports: Available starting Tuesday, June 13th, to those in the Google Home public preview, the script editor is part of Google's new home.google.com web interface, which also has live feeds for any Nest cams on your account. The script editor will be coming to the new Google Home app preview starting June 14th. There's no date for general availability.

Along with allowing for multiple starters and actions, the script editor adds more advanced conditions. For example, you can set an automation to run only if the TV is on and it's after 6PM but before midnight. The script editor automations are created in the new Google Home web interface, you can apply for the public preview here.

The script editor allows you to do everything you can in the Home app when setting up automations, plus "more than 100 new features and capabilities to fit your unique understanding of your home and what you want it to do," according to a blog post by Anish Kattukaran, director of product management at Google Home. This includes access to nearly 100 starters and actions, including Matter sensors -- something not currently possible in the Home app. For example, an Eve Motion sensor connected via Matter to Google Home can't currently be used as a starter for automations in the Home app but can be used as one in the script editor.
Google has some example automations that you can view here.
Databases

Will Submerging Computers Make Data Centers More Climate Friendly? (oregonlive.com) 138

20 miles west of Portland, engineers at an Intel lab are dunking expensive racks of servers "in a clear bath" made of motor oil-like petrochemicals, reports the Oregonian, where the servers "give off a greenish glow as they silently labor away on ordinary computing tasks." Intel's submerged computers operate just as they would on a dry server rack because they're not bathing in water, even though it looks just like it. They're soaking in a synthetic oil that doesn't conduct electricity. So the computers don't short out.

They thrive, in fact, because the fluid absorbs the heat from the hardworking computers much better than air does. It's the same reason a hot pan cools off a lot more quickly if you soak it in water than if you leave it on the stove.

As data centers grow increasingly powerful, the computers are generating so much heat that cooling them uses exorbitant amounts of energy. The cooling systems can use as much electricity as the computers themselves. So Intel and other big tech companies are designing liquid cooling systems that could use far less electricity, hoping to lower data centers' energy costs by as much as a third — and reducing the facilities' climate impact. It's a wholesale change in thinking for data centers, which already account for 2% of all the electricity consumption in the U.S... Skeptics caution that it may be difficult or prohibitively expensive to overhaul existing data centers to adapt to liquid cooling. Advocates of the shift, including Intel, say a transition is imperative to accommodate data centers' growing thirst for power. "It's really starting to come to a head as we're hitting the energy crisis and the need for climate action globally," said Jen Huffstetler, Intel's chief product sustainability officer...

Cooler computers can be packed more tightly together in data centers, since they don't need space for airflow. Computer manufacturers can pack chips together more tightly on the motherboard, enabling more computing power in the same space. And liquid cooling could significantly reduce data centers' environmental and economic costs. Conventional data centers' evaporative cooling systems require tremendous volumes of water and huge amounts of electricity...

Many other tech companies are backing immersion cooling, too. Google, Facebook and Microsoft are all helping fund immersion cooling research at Oregon State... [T]he timing may finally be right for data centers operators to make the shift away from air cooling to something far more efficient. Intel's Huffstetler said she expects to see liquid cooling become widespread in the next three to five years.

The article notes other challenges:
  • liquid adds more weight than some buildings' upper floors can support
  • Some metals degrade faster in liquid than they do in air.
  • And the engineers had to modify the servers by removing their fans — "because they serve no purpose while immersed."

Programming

Does the New 'Mojo' Programming Language Offer a Faster Superset of Python? (infoworld.com) 71

InfoWorld explores how the new Mojo program language "resembles Python, how it's different, and what it has to offer." The newly unveiled Mojo language is being promoted as the best of multiple worlds: the ease of use and clear syntax of Python, with the speed and memory safety of Rust. Those are bold claims, and since Mojo is still in the very early stages of development, it will be some time before users can see for themselves how the language lives up to them. But Mojo's originator — a company named Modular — has provided early access [through a limited-enrollment preview program] to an online playground: a Jupyter Notebook environment where users can run Mojo code and learn about the language's features and behavior...

Mojo can be described as a "superset" of Python. Programs written in Python are valid Mojo programs, although some Python behaviors haven't yet been implemented... It's also possible to use the actual Python runtime for working with existing Python modules, although there is a performance cost. When Mojo introduces new syntax, it's for system-level programming features, chiefly manual memory handling. In other words, you can write Python code (or something almost exactly like it) for casual use cases, then use Mojo for more advanced, performance-intensive programming scenarios... Mojo's other big difference from Python is that Mojo's not interpreted through a runtime, as Python is. Mojo is compiled ahead-of-time to machine-native code, using the LLVM toolchain. To that end, the best performance comes from using features specific to Mojo. Python features are likely to come at the cost of emulating Python's dynamic behaviors, which are inherently slow — or again, by just using the Python runtime.

Many of Mojo's native language features do one of two things. They're either entirely new features not found in Python at all, or expansions of a Python feature that make it more performant, although with less of Python's dynamism.

For example, Mojo has its own fn keyword which defines a function with explicitly-typed and immutable-by-default arguments, and its own struct keyword which is less like a Python class and more like its C/C++ and Rust counterpart "with fixed layouts determined at compile time but optimized for machine-native speed."

But "At a glance, the code closely resembles Python. Even the new Mojo-specific keywords integrate well with existing Python syntax, so you can run your eye down the code and get a general idea of what's happening." And then there's the speed... The notebook demos also give examples of how Mojo code can be accelerated via parallelism, vectorizing, and "tiling" (increasing cache locality for operations). One of the demos, a 128x128 matrix multiplication demo, yielded a claimed 17-times speedup over Python (using the Python runtime in the Mojo playground) by simply running as-is with no special modification. Mojo added 1866x speedup by adding type annotations, 8500x speedup by adding vectorized operations, and 15000x speedup by adding parallelization.
AI

Will Productivity Gains from AI-Generated Code Be Offset by the Need to Maintain and Review It? (zdnet.com) 95

ZDNet asks the million-dollar question. "Despite the potential for vast productivity gains from generative AI tools such as ChatGPT or GitHub Copilot, will technology professionals' jobs actually grow more complicated? " People can now pump out code on demand in an abundance of languages, from Java to Python, along with helpful recommendations. Already, 95% of developers in a recent survey from Sourcegraph report they use Copilot, ChatGPT, and other gen AI tools this way.

But auto-generating new code only addresses part of the problem in enterprises that already maintain unwieldy codebases, and require high levels of cohesion, accountability, and security.

For starters, security and quality assurance tasks associated with software jobs aren't going to go away anytime soon. "For programmers and software engineers, ChatGPT and other large language models help create code in almost any language," says Andy Thurai, analyst with Constellation Research, before talking about security concerns. "However, most of the code that is generated is security-vulnerable and might not pass enterprise-grade code. So, while AI can help accelerate coding, care should be taken to analyze the code, find vulnerabilities, and fix it, which would take away some of the productivity increase that AI vendors tout about."

Then there's code sprawl. An analogy to the rollout of generative AI in coding is the introduction of cloud computing, which seemed to simplify application acquisition when first rolled out, and now means a tangle of services to be managed. The relative ease of generating code via AI will contribute to an ever-expanding codebase — what the Sourcegraph survey authors refer to as "Big Code". A majority of the 500 developers in the survey are concerned about managing all this new code, along with code sprawl, and its contribution to technical debt. Even before generative AI, close to eight in 10 say their codebase grew five times over the last three years, and a similar number struggle with understanding existing code generated by others.

So, the productivity prospects for generative AI in programming are a mixed bag.

AI

Is Self-Healing Code the Future of Software Development? (stackoverflow.blog) 99

We already have automated processes that detect bugs, test solutions, and generate documentation, notes a new post on Stack Overflow's blog. But beyond that, several developers "have written in the past on the idea of self-healing code. Head over to Stack Overflow's CI/CD Collective and you'll find numerous examples of technologists putting this ideas into practice."

Their blog post argues that self-healing code "is the future of software development." When code fails, it often gives an error message. If your software is any good, that error message will say exactly what was wrong and point you in the direction of a fix. Previous self-healing code programs are clever automations that reduce errors, allow for graceful fallbacks, and manage alerts. Maybe you want to add a little disk space or delete some files when you get a warning that utilization is at 90% percent. Or hey, have you tried turning it off and then back on again?

Developers love automating solutions to their problems, and with the rise of generative AI, this concept is likely to be applied to both the creation, maintenance, and the improvement of code at an entirely new level... "People have talked about technical debt for a long time, and now we have a brand new credit card here that is going to allow us to accumulate technical debt in ways we were never able to do before," said Armando Solar-Lezama, a professor at the Massachusetts Institute of Technology's Computer Science & Artificial Intelligence Laboratory, in an interview with the Wall Street Journal. "I think there is a risk of accumulating lots of very shoddy code written by a machine," he said, adding that companies will have to rethink methodologies around how they can work in tandem with the new tools' capabilities to avoid that.

Despite the occasional "hallucination" of non-existent information, Stack Overflow's blog acknowledges that large-language models improve when asked to review their response, identify errors, or show its work.

And they point out the project manager in charge of generative models at Google "believes that some of the work of checking the code over for accuracy, security, and speed will eventually fall to AI." Google is already using this technology to help speed up the process of resolving code review comments. The authors of a recent paper on this approach write that, "As of today, code-change authors at Google address a substantial amount of reviewer comments by applying an ML-suggested edit. We expect that to reduce time spent on code reviews by hundreds of thousands of hours annually at Google scale. Unsolicited, very positive feedback highlights that the impact of ML-suggested code edits increases Googlers' productivity and allows them to focus on more creative and complex tasks...."

Recently, we've seen some intriguing experiments that apply this review capability to code you're trying to deploy. Say a code push triggers an alert on a build failure in your CI pipeline. A plugin triggers a GitHub action that automatically send the code to a sandbox where an AI can review the code and the error, then commit a fix. That new code is run through the pipeline again, and if it passes the test, is moved to deploy... Right now his work happens in the CI/CD pipeline, but [Calvin Hoenes, the plugin's creator] dreams of a world where these kind of agents can help fix errors that arise from code that's already live in the world. "What's very fascinating is when you actually have in production code running and producing an error, could it heal itself on the fly?" asks Hoenes...

For now, says Hoenes, we need humans in the loop. Will there come a time when computer programs are expected to autonomously heal themselves as they are crafted and grown? "I mean, if you have great test coverage, right, if you have a hundred percent test coverage, you have a very clean, clean codebase, I can see that happening. For the medium, foreseeable future, we probably better off with the humans in the loop."

Last month Stack Overflow themselves tried an AI experiment that helped users to craft a good title for their question.
Intel

Intel Open Sources New 'One Mono' Font for Programmers (github.com) 51

Intel has announced Intel One Mono, a new font catering to "the needs of developers" with an "expressive" monospace for clarity and legibility" It's easier to read, and available for free, with an open-source font license.

Identifying the typographically underserved low-vision developer audience, Frere-Jones Type designed the Intel One Mono typeface in partnership with the Intel Brand Team and VMLY&R, for maximum legibility to address developers' fatigue and eyestrain and reduce coding errors. A panel of low-vision and legally blind developers provided feedback at each stage of design.

The Linux blog OMG! Ubuntu calls the new font "pretty decent," adding that "Between IBM Plex Mono, Hack, Fira Code, and JetBrains Mono I think we Linux users are spoilt for choice when it comes to open-source monospace fonts that look good and work great.

"Still, there's always room for more, right...?" Better yet, it's not only free to download and use but free to edit, and free to redistribute... Overall, I think Intel One Mono looks great, especially in a text editor (GUI or CLI). There's a noticeable upper and lower margin to the font that in dense text situations allows text to breathe, but in some terminal tools, like Neofetch, the gaps can seem a bit too happy.
The Intel One Mono repository on GitHub includes instructions for activating the font in VSCode and Sublime Text, and lists some extra features accessible in some applications and via CSS:
  • There is an option for a raised colon, either applied contextually between numbers or activated generally.
  • Superior/superscript and inferior/subscript figures are included via their Unicode codepoints, or you can produce them from the default figures via the sups (Superscript), subs (Subscript), and si (Scientific Inferior) features.
  • Fraction numerals are similarly available via the numr (Numerator) and dnom (Denominator) features. A set of premade fractions is also available in the fonts.

Programming

Google's Bard AI Can Now Write and Execute Code To Answer a Question 19

In a blog post on Wednesday, Google said Bard is getting better at logic and reasoning. "Google says that now when you ask Bard a 'computational' task like math or string manipulation, instead of showing the output of the language model, that language model will instead write a program, execute that program, and then show the output of that program to the user as an answer," reports Ars Technica. From the report: Google's blog post provides the example input of "Reverse the word 'Lollipop' for me." ChatGPT flubs this question and provides the incorrect answer "pillopoL," because language models see the world in chunks of words, or "tokens," and they just aren't good at this. It gets the output correct as "popilloL," but more interesting is that it also includes the python code it wrote to answer the question. That's neat for programming-minded people to see under the hood, but wow, is that probably the scariest output ever for regular people. It's also not particularly relevant. Imagine if Gmail showed you a block of code when you just asked it to fetch email. It's weird. Just do the job you were asked to do, Bard.

Google likens an AI model writing a program to humans doing long division in that it's a different mode of thinking [...]. Google says this "writing code on the fly" method will also be used for questions like: "What are the prime factors of 15683615?" and "Calculate the growth rate of my savings." The company says, "So far, we've seen this method improve the accuracy of Bard's responses to computation-based word and math problems in our internal challenge datasets by approximately 30%." As usual, Google warns Bard "might not get it right" due to interpreting your question wrong or just, like all of us, writing code that doesn't work the first time. Bard is coding up answers on the fly right now if you want to give it a shot at bard.google.com.
Businesses

Apollo, Popular Reddit App, To Shut Down June 30 Following API Price Surge 59

Popular Reddit app Apollo, which recently warned that social firm's API price hike would cost the developer $20 million a year for access, announced today that it's shutting shop: In order to avoid incurring charges I will delete Apollo's API token on the evening of June 30th PST. Until that point, Apollo should continue to operate as it has, but after that date attempts to connect to the Reddit API will fail. I will put up an explainer in the app prior to that which will go live at that date. I will also provide a tool to export any local data you have in Apollo, such as filters or favorites. In short, the Apollo app developer said, "Reddit's recent decisions and actions have unfortunately made it impossible for Apollo to continue."
AI

AI System Devises First Optimizations To Sorting Code In Over a Decade (arstechnica.com) 67

An anonymous reader quotes a report from Ars Technica: Anyone who has taken a basic computer science class has undoubtedly spent time devising a sorting algorithm -- code that will take an unordered list of items and put them in ascending or descending order. It's an interesting challenge because there are so many ways of doing it and because people have spent a lot of time figuring out how to do this sorting as efficiently as possible. Sorting is so basic that algorithms are built into most standard libraries for programming languages. And, in the case of the C++ library used with the LLVM compiler, the code hasn't been touched in over a decade.

But Google's DeepMind AI group has now developed a reinforcement learning tool that can develop extremely optimized algorithms without first being trained on human code examples. The trick was to set it up to treat programming as a game. [...] The AlphaDev system developed x86 assembly algorithms that treated the latency of the code as a score and tried to minimize that score while ensuring that the code ran to completion without errors. Through reinforcement learning, AlphaDev gradually develops the ability to write tight, highly efficient code. [...]

Since AlphaDev did produce more efficient code, the team wanted to get these incorporated back into the LLVM standard C++ library. The problem here is that the code was in assembly rather than C++. So, they had to work backward and figure out the C++ code that would produce the same assembly. Once that was done, the code was incorporated into the LLVM toolchain -- the first time some of the code had been modified in over a decade. As a result, the researchers estimate that AlphaDev's code is now executed trillions of times a day.
The research has been published in the journal Nature.
Social Networks

Reddit Will Exempt Accessibility-Focused Apps From Its Unpopular API Pricing Changes (theverge.com) 38

Reddit is creating an exemption to its unpopular new API pricing terms for makers of accessibility apps, which could come as a big relief for some developers worried about how to afford the potentially expensive fees and the users that rely on the apps to browse Reddit. From a report: As long as those apps are noncommercial and "address accessibility needs," they won't have to pay to access Reddit's data. "We've connected with select developers of non-commercial apps that address accessibility needs and offered them exemptions from our large-scale pricing terms," Reddit spokesperson Tim Rathschmidt says in a statement to The Verge.

The Reddit community has been in an uproar over the API pricing changes that might saddle developers with exorbitant charges and force them to shut down. Apollo developer Christian Selig, for example, says he'll be on the hook for about $20 million per year based on the updated pricing. Three days ago, moderators on the r/Blind subreddit posted an extensive message protesting the pricing changes, which could be hugely detrimental to apps for screen reader users like RedditForBlind and Luna For Reddit.

Apple

Apple Makes Developer Betas Free To Download and Install (9to5mac.com) 8

Apple has made the Apple Developer Program available for anyone with an Apple ID. Previously, the company limited developer betas to developers who have a paid account that costs $99 per year. MacRumors reports: "OS beta releases" is now listed as an available resource even for those who are not members of the Apple Developer Program. This change means that anyone with an Apple ID can download and install the iOS 17, iPadOS 17, and macOS Sonoma betas without waiting for the public betas to launch.

Of course, it is not a good idea to install these betas on a main device as there can be notable bugs and issues with early software. More information can be found on Apple's membership page.

Social Networks

Reddit on New Pricing Plan: Company 'Needs To Be Fairly Paid' (bloomberg.com) 145

A number of Reddit forums plan to go dark for two days later this month to protest the company's decision to increase prices for third-party app developers. From a report: One developer, who makes a Reddit app called Apollo, said that under the new pricing policy he would have to pay Reddit $20 million a year to continue running the app as-is. Reddit's move comes after Twitter announced in February that the company would no longer support free access to its application programming interface, or API. Twitter instead now offers pricing tiers based on usage. Reddit spokesman Tim Rathschmidt said the company is trying to clear up confusion about the change on the platform, and stressed that Reddit spends millions on hosting. "Reddit needs to be fairly paid to continue supporting high-usage third-party apps," Rathschmidt said. "Our pricing is based on usage levels that we measure to be comparable to our own costs." The company said it is committed to supporting a developer ecosystem. In a post on its platform, Reddit laid out some of its pricing plans for businesses and said the changes would begin July 1.
Programming

NYT: It's the End of Computer Programming As We Know It (nytimes.com) 224

Long-time Slashdot theodp writes: Writing for the masses in It's the End of Computer Programming as We Know It. (And I Feel Fine.), NY Times opinion columnist Farhad Manjoo explains that while A.I. might not spell the end of programming ("the world will still need people with advanced coding skills"), it could mark the beginning of a new kind of programming — "one that doesn't require us to learn code but instead transforms human-language instructions into software."

"Wasn't coding supposed to be one of the can't-miss careers of the digital age?," Manjoo asks. "In the decades since I puttered around with my [ZX] Spectrum, computer programming grew from a nerdy hobby into a vocational near-imperative, the one skill to acquire to survive technological dislocation, no matter how absurd or callous-sounding the advice. Joe Biden told coal miners: Learn to code! Twitter trolls told laid-off journalists: Learn to code! Tim Cook told French kids: Apprenez à programmer! Programming might still be a worthwhile skill to learn, if only as an intellectual exercise, but it would have been silly to think of it as an endeavor insulated from the very automation it was enabling. Over much of the history of computing, coding has been on a path toward increasing simplicity."

In closing, Manjoo notes that A.I. has alleviated one of his worries (one shared by President Obama). "I've tried to introduce my two kids to programming the way my dad did for me, but both found it a snooze. Their disinterest in coding has been one of my disappointments as a father, not to mention a source of anxiety that they could be out of step with the future. (I live in Silicon Valley, where kids seem to learn to code before they learn to read.) But now I'm a bit less worried. By the time they're looking for careers, coding might be as antiquated as my first PC."

Btw, there are lots of comments — 700+ and counting — on Manjoo's column from programming types and others on whether reports of programming's death are greatly exaggerated.

Education

CS50, the World's Most Popular Online Programming Class, Turns to AI for Help (msn.com) 22

"The world's most popular online learning course, Harvard University's CS50, is getting a ChatGPT-era makeover," reports Bloomberg: CS50, an introductory course in computer science attended by hundreds of students on-campus and over 40,000 online, plans to use artificial intelligence to grade assignments, teach coding and personalize learning tips, according to its Professor David J. Malan... Even with more than 100 real-life teaching assistants, he said it had become difficult to fully engage with the growing number of students logging in from different time zones and with varying levels of knowledge and experience. "Providing support tailored to students' specific questions has been a challenge at scale, with so many more students online than teachers," said Mr Malan, 46.

His team is now fine-tuning an AI system to mark students' work, and testing a virtual teaching assistant to evaluate and provide feedback on students' programming. The virtual teaching assistant asks rhetorical questions and offers suggestions to help students learn, rather than simply catching errors and fixing coding bugs, he said. Longer term, he expects this to give human teaching assistants more time for in-person or Zoom-based office hours...

Mr Malan said CS50's use of AI could highlight its benefits for education, particularly in improving the quality and access of online learning — an industry that Grand View Research forecasts to grow to $348 billion by 2030, nearly tripling from 2022. "Potentially, AI is just hugely enabling in education," he said.

Programming

Stanford Golf Phenom Rose Zhang Turns Pro, Vows To 'Never Code Again' 75

theodp writes: Golf reports that amateur golf legend Rose Zhang will compete for the first time as a professional when she tees off in the first round of the Mizuho Americas Open Thursday. Golf news is rarely fodder for Slashdot discussion, but when the 20-year-old Stanford student (who plans to complete her degree after a leave of absence) was asked by Golf to identify her toughest class, she threw CS under the bus.

"CS 106A," Zhang replied, referring to a computer science course. "Currently and still trying to grind in that class. It's been a little unfortunate for me. I'm not a CS major. Will never code again after this class." Back in April, Zhang expressed some doubts about being able to juggle the demands of an already-renowned golf career and CS 106A. "I'll be super, super busy," Zhang said in an interview. "I'm planning on taking CS 106A. I don't know if it's a smart decision but it's kind of an essential intro CS class into Stanford so I'm going to try to navigate that, balance that out."

The Stanford Daily reports that CS 106A: Programming Methodology is an introductory programming course taken by 1,600+ students from all academic disciplines each year (2015 Slashdot post on CS 106A's growing pains). According to the syllabus, CS 106A "uses the Python programming language" and there's "no prior programming experience required," although the schedule indicates a lot of ground is covered for someone new to coding (the same could be said of Harvard's famed CS50).

Lest some take Zhang to task for the sin of stating programming is hard, consider that Stanford's CS 106A website suggests the same, reporting that the median score on the midterm exam was only 68%, despite a plethora of review materials and sessions. CS 106A students were offered the chance to submit formal 'regrade requests' to try to improve their midterm scores and can also vie for "a Jamba Juice gift card and 100% on the final exam" by entering a Python programming contest -- one prize will be awarded for "Aesthetic merit", another for "Algorithmic sophistication" (a number of runners-up will be awarded "a grade boost similar to getting a + on one of their assignments").
Games

Tears of the Kingdom's Bridge Physics Have Game Developers Wowed 80

Nicole Carpenter, reporting for Polygon: There's a bridge to cross the lava pit in The Legend of Zelda: Tears of the Kingdom's Marakuguc Shrine, but it's broken. More than half of the bridge is piled on top of itself on one side of the pit, with one clipped-off segment on the other. The bridge is the obvious choice for crossing the lava, but how to fix it? A clip showing one potential solution went viral on Twitter shortly after Tears of the Kingdom's release: The player uses Link's Ultrahand ability to unfurl the stacked bridge by attaching it to a wheeled platform in the lava. When the wheeled platform -- now attached to the edge of the bridge -- activates and moves forward, it pulls the bridge taut, splashing lava as it goes, until the suspension bridge is actually suspended and can be crossed.

But it wasn't the solution itself that resonated with players; instead, the clip had game developers' jaws on the ground, in awe of how Nintendo's team wrangled the game's physics system to do that. To players, it's simply a bridge, but to game developers, it's a miracle. "The most complicated part of game development is when different systems and features start touching each other," said Shayna Moon, a technical producer who's worked on games like the 2018 God of War reboot and its sequel, God of War: Ragnarok, to Polygon. "It's really impressive. The amount of dynamic objects is why there are so many different kinds of solutions to this puzzle in particular. There are so many ways this could break."

Moon pointed toward the individual segments of the bridge that operate independently. Then there's the lava, the cart, and the fact you can use Link's Ultrahand ability to tie any of these things together -- even the bridge back onto itself. [...] Tears of the Kingdom was seemingly built on top of Breath of the Wild, reportedly with a large portion of the same team working on it. "There is a problem within the games industry where we don't value institutional knowledge," Moon said. "Companies will prioritize bringing someone from outside rather than keeping their junior or mid-level developers and training them up. We are shooting ourselves in the foot by not valuing that institutional knowledge. You can really see it in Tears of the Kingdom. It's an advancement of what made Breath of the Wild special."
AI

AI Means Everyone Can Now Be a Programmer, Nvidia Chief Says (reuters.com) 170

Artificial intelligence means everyone can now be a computer programmer as all they need to do is speak to the computer, Nvidia CEO Jensen Huang said on Monday, hailing the end of the "digital divide." From a report: Speaking to thousands of people at the Computex forum in Taipei, Huang, who was born in southern Taiwan before his family emigrated to the United States when he was a child, said AI was leading a computing revolution. "There's no question we're in a new computing era," he said in a speech, occasionally dropping in words of Mandarin or Taiwanese to the delight of the crowd. "Every single computing era you could do different things that weren't possible before, and artificial intelligence certainly qualifies," Huang added. "The programming barrier is incredibly low. We have closed the digital divide. Everyone is a programmer now -- you just have to say something to the computer," he said. "The rate of progress, because it's so easy to use, is the reason why it's growing so fast. This is going to touch literally every single industry."
Python

PyPi is Reducing Stored IP Address Data (theregister.com) 10

The PyPi registry of open source Python packages "began evaluating ways to reduce the amount of identifying information that it stores," reports the Register, "even before the U.S. Justice Department came asking for data on suspect users."

But now, "the Python community package registry wants developers to understand that it's working to minimize the user data that it stores." The goal is not to be unable to respond to lawful requests for information; rather it's to store only the minimum amount of data necessary so as not to expose users to unnecessary privacy intrusion. Coincidentally, data minimization may prevent organizations from becoming a preferred source of on-demand surveillance: having excessive amounts of information about users invites legal demands, which staff then have to handle...

Mike Fiedler, a member of the PyPI admin team, said in a statement on Friday that the organization's effort to improve user privacy and security dates back to 2020. Since the receipt of the subpoenas in March and April, that effort has been reinvigorated.

Much of the concern focuses on IP address data, which gets stored in conjunction with web log access; user events such as logins; project events including uploads; events associated with recently introduced organizations; and administrative PyPI journal entries. According to Fiedler, PyPI was able to stop storing IP data for journal entries — an append-only transaction log — because these were only exposed to administrators... To obscure IP addresses, PyPI is salting them — adding an arbitrary value — and then hashing them — running the data through a one-way scrambling function that creates a value called a hash. This provides a way to store a reference to potentially identifying data without actually storing raw data... PyPI has been using its CDN provider Fastly to pass along a salted hash of the IP address for requests via a custom header, along with broad GeoIP data (the country and city where the user is located), and is using that instead of the raw IP address. In April, the registry adopted code changes for hashing and salting IP addresses for requests that PyPI handles directly in Warehouse, the web application that implements the official Python package index.

And over the past few days, it has been replacing IP addresses in the PyPI user interface with geolocation data. PyPI still relies on IP address information to identify abuse — the creation of malicious packages, harassments, and so on — but Fiedler says even that is being looked at. "We're thinking about how to manage that without storing IP data, but we're not there yet," he said. Fiedler says the PyPI team will be weighing whether it can remove IP data from event history records after a period of time and whether the service can handle all its requests via CDN.

Python

Python 3.12 Brings New Features and Fixes (infoworld.com) 30

"The Python programming language releases new versions yearly, with a feature-locked beta release in the first half of the year and the final release toward the end of the year," writes InfoWorld.

So now Python 3.12 beta 1 has just been released, and InfoWorld compiled a list of its most significant new features. Some highlights: - The widely used Linux profiler tool perf works with Python, but only returns information about what's happening at the C level in the Python runtime. Information about actual Python program functions doesn't show up. Python 3.12 enables an opt-in mode to allow perf to harvest details about Python programs...

- Programs can run as much as an order of magnitude slower when run through a debugger or profiler. PEP 669 provides hooks for code object events that profilers and debuggers can attach to, such as the start or end of a function. A callback function could be registered by a tool to fire whenever such an event is triggered. There will still be a performance hit for profiling or debugging, but it'll be greatly reduced...

- Comprehensions, a syntax that lets you quickly construct lists, dictionaries, and sets, are now constructed "inline" rather than by way of temporary objects. The speedup for this has been clocked at around 11% for a real-world case and up to twice as fast for a micro-benchmark.

- Python's type-hinting syntax, added in Python 3.5, allows linting tools to catch a wide variety of errors ahead of time. With each new version, typing in Python gains features to cover a broader and more granular range of use cases... The type parameter syntax provides a cleaner way to specify types in a generic class, function, or type alias...

- Every object in Python has a reference count that tracks how many times other objects refer to it, including built-in objects like None. PEP 683 allows objects to be treated as "immortal," so that they never have their reference count changed. Making objects immortal has other powerful implications for Python in the long run. It makes it easier to implement multicore scaling, and to implement other optimizations (like avoiding copy-on-write) that would have been hard to implement before.

- With earlier versions of Python, the base size of an object was 208 bytes. Objects have been refactored multiple times over the last few versions of Python to make them smaller, which doesn't just allow more objects to live in memory but helps with cache locality. As of Python 3.12, the base size of an object is now 96 bytes — less than half of what it used to be.

Slashdot Top Deals