Software

Computers Are Hard: Building Software With David Heinemeier Hansson (medium.com) 54

Wojtek Borowicz interviews David Heinemeier Hansson, the creator of the popular Ruby on Rails web development framework: Wojtek Borowicz: Software methodology is an industry of its own. There is Scrum, and Agile, and coaches, and books, and all of that. But you and your team at Basecamp don't follow these practices. Why?

DHH: First of all, our approach to software development is heavily inspired by the Agile Manifesto and the Agile values. It is not so much inspired by the Agile practices as they exist today. A lot of Agile software methodologies focus on areas of product development that are not where the hard bits lie. They are so much about the procedural structures. Software, in most cases, is inherently unpredictable, unknowable, and unshaped. It's almost like a gas. It can fit into all sorts of different openings from the same basic idea. The notion of trying to estimate how long a feature is going to take doesn't work because you don't know what you're building and because humans are terrible at estimating anything. The history of software development is one of late or cancelled projects. If you were to summarize the entire endeavor of software development, you'd say: 'The project ran late and it got canceled.' Planning work doesn't work, so to speak.

What we do at Basecamp we chose to label Shape Up, simply because that is where we find the hard work to be. We're trying to just accept the core constraint that it is impossible to accurately specify what software should do up front. You can only discover what software should do within constraints. But it's not like we follow the idea that it's done when it's done, either. That's an absolute abdication of product management thinking. What we say instead is: don't do estimates, do budgets. The core of Shape Up is about budgets. Not how long is something going to take but what is something worth. Because something could take a week or four months. What is it worth? [...]

Wojtek Borowicz: So the problem with those methodologies is they put too much focus on estimating, which is inherently impossible with software?

DHH: I'd go even further and say that estimation is bullshit. It's so imprecise as to be useless, even when you're dealing with fixed inputs. And you're not. No one is ever able to accurately describe what a piece of software should do before they see the piece of software. This idea that we can preemptively describe what something should do before we start working on it is bunk. Agile was sort of onto this idea that you need running software to get feedback but the modern implementations of Agile are not embracing the lesson they themselves taught.

Television

Netflix Is Creating a Problem By Canceling TV Shows Too Soon (insider.com) 170

An anonymous reader quotes a report from Insider: Netflix is killing its most interesting shows in their infancy and it could be the streaming giant's downfall. In the seven years that Netflix has produced original content, the world of TV streaming has dramatically changed. Now Netflix is getting left behind in the race it started. Many of its unique and ambitious shows have been canceled before they could reach their full potential. And Netflix keeps churning out more shows each year, without replicating the breakout success of 2016's "Stranger Things."

Statements from executives have described the cancellations as the result of a cost analysis that tells Netflix a longer-running show won't lead to new subscribers. Still, with syndicated shows such as "The Office" and "Friends" leaving its platform and a string of disappointing cancellations, including "Glow," Netflix has set itself up for a disaster when it comes to its reputation as a TV-watcher's must-have service. In 2020 alone, Netflix has canceled 18 original series. Of those, 14 had only one season. [...] TV lovers in these fandoms can only be burned so many times before they stop investing. Why should a Netflix subscriber spend 10 hours watching a new show if there's a decent chance they'll never see it end?

Microsoft

Spaces or Tabs? Microsoft Developers Reveal Their Preferences (msdn.com) 238

In a new video, Microsoft's principal cloud advocate and DevOps lead weighed in on that crucial and perennial developer question: which is better, indenting your code with spaces or with tabs? "This is kind of a loaded question... However, I am very opinionated on this. I happen to be a huge fan of tabs, for a couple of reasons.

Number one, your file size is going to be much smaller, because a tab is just one character. Okay, okay, granted this isn't a big deal any more, but I'm old as dirt, and I remember when hard drive space was at a premium.

But here's the real reason: you can customize your indentation width. And this is actually a bigger deal than it sounds like. By using tabs, you now give each individual the ability to see the indentation widths that they want, or even in some cases need. That makes it so much more accessible than spaces, right?

So because of that, for accessibility reasons, use tabs.

Well, I guess that settles that, leaving no need for any further... Wait, there's more responses from other Microsoft developers on this page, including program manager Craig Lowen. At the end of a video titled WSL2: Code faster on the Windows Subsystem for Linux! he says: I prefer spaces to tabs, and that's because tabs don't actually have a denotation of how wide or short they have to be in indentations. That's totally done by your IDE, so if you open it up in a different IDE, it might have a different level of indentation. If you use spaces, you'll always have the same indentation level if you're using a fixed-width font.

But however, I still use the tab key, and I just make my editor insert spaces for me.

Python

Is Python Becoming More Popular Than Java? (techradar.com) 107

Python has reached "a new all-time high" on TIOBE's index of programming language popularity. TechRadar reports: Java's days as the world's second most popular programming language could be numbered according to Tiobe's latest programming language rankings which show Python is becoming increasingly popular among developers. The firm's Index for October 2020 shows that Java has been overtaken by C as the world's most popular programming language when compared to the same period last year. Python remains in third place but it's quickly closing the gap between it and Java. According to Tiobe CEO Paul Jensen, C and Java have held the top two spots consistently for the past two decades. However, the 25-year-old programming language Java is approaching its "all time low" in popularity as it has fallen by 4.32 percentage points when compared to where it stood in October of last year. Tiobe ranks programming languages in its popularity index based on the number of hits each language gets across 25 search engines.
RedMonk's rankings already show Python as more popular than Java — the first time since 2012 that Java isn't one of their top two most popular languages. And TIOBE's CEO says "Let's see what will happen the next few months."

Here's their October rankings for the top 10 most popular programming languages.
  • C
  • Java
  • Python
  • C++
  • C#
  • Visual Basic
  • JavaScript
  • PHP
  • R
  • SQL

And coming in at #11 is Perl.


Python

New Python 3.9 'Brings Significant Changes' To Language Features (infoworld.com) 74

This week's release of Python 3.9 "brings forward significant changes to both the features of the language and to how the language is developed," writes InfoWorld — starting with a new yearly release schedule and performance-boosting parser improvements: - Python makes it easy to manipulate common data types, and Python 3.9 extends this ease with new features for strings and dictionaries. For strings, there are new methods to remove prefixes and suffixes, operations that have long required a lot of manual work to pull off. [The methods are named .removeprefix() and .removesuffix() and their return value is the modified string]

- For dictionaries, there are now union operators, one to merge two dictionaries into a new dictionary and one to update the contents of one dictionary with another dictionary.

- Decorators let you wrap Python functions to alter their behaviors programmatically. Previously, decorators could only consist of the @ symbol, a name (e.g. func) or a dotted name (func.method) and optionally a single call (func.method(arg1, arg2)). With Python 3.9, decorators can now consist of any valid expression...provided it yields something that can function as a decorator...

- Two new features for type hinting and type annotations made their way into Python 3.9. In one, type hints for the contents of collections — e.g., lists and dictionaries — are now available in Python natively. This means you can for instance describe a list as list[int] — a list of integers — without needing the typing library to do it. The second addition to Python's typing mechanisms is flexible function and variable annotations. This allows the use of the Annotated type to describe a type using metadata that can be examined ahead of time (with linting tools) or at runtime...

- Python extension modules, written in C, may now use a new loading mechanism that makes them behave more like regular Python modules when imported.

Earth

The World's First Carbon Dioxide Removal Law Database 15

Today, researchers at Columbia University launched the world's first database of carbon dioxide removal laws, providing an annotated bibliography of legal materials related to carbon dioxide removal and carbon sequestration and use. It is publicly available at cdrlaw.org. Phys.Org reports: The site has 530 resources on legal issues related to carbon dioxide removal, including such techniques as: direct air capture; enhanced weathering; afforestation/reforestation; bioenergy with carbon capture and storage; biochar; ocean and coastal carbon dioxide removal; ocean iron fertilization; and soil carbon sequestration. The database also includes 239 legal resources on carbon capture and storage, utilization, and transportation. New resources are constantly being added.

This site was created by the Sabin Center for Climate Change Law at Columbia Law School, in cooperation with the Carbon Management Research Initiative at the Center on Global Energy Policy at Columbia's School of International and Public Affairs. Generous financial support was provided by the ClimateWorks Foundation and the Earth Institute at Columbia University. The Sabin Center is also undertaking a series of white papers with in-depth examinations of the legal issues in particular carbon dioxide removal technologies. The first of these, "The Law of Enhanced Weathering for Carbon Dioxide Removal," by Romany M. Webb, has just been released.
Programming

Apple Made ProtonMail Add In-App Purchases, Even Though it Had Been Free For Years (theverge.com) 56

An anonymous reader shares a report: On Tuesday, Congress revealed whether it thinks Amazon, Apple, Facebook, and Google are sitting on monopolies. In some cases, the answer was yes. But also, one app developer revealed to Congress that it -- just like WordPress -- had been forced to monetize a largely free app. That developer testified that Apple had demanded in-app purchases (IAP), even though Apple had approved its app without them two years earlier -- and that when the dev dared send an email to customers notifying them of the change, Apple threatened to remove the app and blocked all updates. That developer was ProtonMail, makers of an encrypted email app, and CEO Andy Yen had some fiery words for Apple in an interview with The Verge this week. We've known for months that WordPress and Hey weren't alone in being strong-armed by the most valuable company in the world, ever since Stratechery's Ben Thompson reported that 21 different app developers quietly told him they'd been pushed to retroactively add IAP in the wake of those two controversies. But until now, we hadn't heard of many devs willing to publicly admit it. They were scared.

And they're still scared, says Yen. Even though Apple changed its rules on September 11th to exempt "free apps acting as a stand-alone companion to a paid web based tool" from the IAP requirement -- Apple explicitly said email apps are exempt -- ProtonMail still hasn't removed its own in-app purchases because it fears retaliation from Apple, he says. He claims other developers feel the same way: "There's a lot of fear in the space right now; people are completely petrified to say anything." [...] "For the first two years we were in the App Store, that was fine, no issues there," he says. (They'd launched on iOS in 2016.) "But a common practice we see ... as you start getting significant uptake in uploads and downloads, they start looking at your situation more carefully, and then as any good Mafia extortion goes, they come to shake you down for some money."

Google

Google Gets Mixed Reception in High Court Clash With Oracle (bloomberg.com) 74

Alphabet's Google got a mixed reception at the U.S. Supreme Court as it sought to overturn a ruling that could force the company to pay billions of dollars for improperly using Oracle's copyrighted code in the Android operating system. From a report: Holding a low-tech telephone session in one of the biggest software fights in American history, the justices on Wednesday questioned Google's contention that it had no way to replicate the code without forcing millions of software developers to learn a new programming language. Justice Neil Gorsuch told Google's lawyer that Apple and other companies have "come up with phones that work just fine without engaging in this kind of copying." But Gorsuch also raised the possibility of returning the case to a federal appeals court for another look at Google's contention that it engaged in legitimate "fair use" of Oracle's Java programming language. Oracle says it's entitled to at least $8.8 billion in damages. A jury found that Google's code copying was a legitimate fair use, but a federal appeals court reversed that finding.
Programming

51% of Developers Say They're Managing 100 Times More Code Than a Decade Ago (arstechnica.com) 99

An anonymous reader quotes Ars Technica: Sourcegraph, a company specializing in universal code search, polled more than 500 North American software developers to identify issues in code complexity and management. Its general findings are probably no surprise to most Ars readers — software has gotten bigger, more complex, and much more important in the past ten years — but the sheer scope can be surprising... When asked how the size of the codebase across their entire company, measured in megabytes and the number of repositories, has changed in the past decade, over half (51%) of software development stakeholders reported they have more than 100 times the volume of code they had 10 years ago. And a staggering 18% say they have 500 times more code.
Ars also reports another surprising finding: 91% of the surveyed developers said their non-technology company "functions more like a technology company than it did ten years ago.

"This won't surprise anyone who has noticed firms like Walmart Labs sponsoring open source technology conferences and delivering presentations."
NASA

Microsoft and NASA Create a Space-Themed Site Teaching Python Programming (techrepublic.com) 24

"To teach the next generation of computer scientists the basics of Python programming, Microsoft recently announced a partnership with NASA to create a series of lessons based on space exploration efforts," reports TechRepublic: Overall, the project includes three different NASA-inspired lessons... The Introduction to Python for Space Exploration lesson will provide students with "an introduction to the types of space exploration problems that Python and data science can influence." Made up of eight units in total, this module also details the upcoming Artemis lunar exploration mission.

In another learning path, students will learn to design an AI model capable of classifying different types of space rocks depicted in random photos, according to Microsoft. However, the company recommends a "basic understanding of Python for Data Science" as a prerequisite for this particular lesson. The last of the three learning paths serves as an introduction to machine learning and demonstrates ways these technologies can help assist with space exploration operations.

Students are presented real-world NASA challenges, particularly rocket launch delays, and learn how the agency can leverage machine learning to resolve the issues... Microsoft also announced partnerships with Wonder Woman 1984 and Smithsonian Learning Labs to curate five additional programming lessons for students.

Java

The World's Largest Concentrations of Java Programmers are in Asia and Germany (jetbrains.com) 34

"To celebrate Java's 25th anniversary this year and the latest release of Java 15, JetBrains has compiled data from multiple sources to look at what the current state of the language," reports SD Times: The largest concentration of Java developers is in Asia, where 2.5 million developers use it as their primary language. JetBrains believes this may be due to the fact that it is common to hire offshore developers in countries like China and India to build Android apps. "We might have expected the USA to have a high percentage of Java users, but it also makes a lot of sense that they don't. There is a big technology stack to choose from and often a lot of the tech companies are at the forefront of that stack, so it could be that developers there don't need the power or stability of Java and are using languages that allow them to build and test quickly," JetBrains wrote in a post.
The post on JetBrains notes that the six countries with the highest percentage of developers using Java as their primary language are: China, South Korea, India, Germany, Spain, and Brazil: The reasons Java is most likely so popular in the first 6 countries include the free use of Java, governmental support, and open-source... Germany is also very high which could be attributed to Java being the most popular language in Germany for software engineers as it is used to build highly scalable applications for a multitude of industries. Most enterprise services rely on Java to power the applications that enable the day-to-day running of businesses, such as payroll, inventory management, reporting, and so on. Germany also has a big financial sector that uses Java heavily for their homegrown tech, such as trading bots, retail banking systems, and other applications that the finance industry requires in order to remain competitive...

According to the State of the Developer Ecosystem Survey 2020, more than a third of professional developers use Java as a primary language and Java remains the second primary language among professional developers after JavaScript. Expert analysis: It is not surprising to see JavaScript and Java taking the leading positions as they are kind of paired together; developers who work with Java often write their frontend and any quick scripts in JavaScript. Python is probably third place due to the spread of machine learning. In general, we expect the web to be a big part of the developer ecosystem and so JavaScript, HTML and CSS, and PHP will always have solid standing. SQL is also always going to be around as there isn't much that doesn't require databases in some capacity. C++ is also kind of a solid language in that it is used for a lot of embedded applications, so it won't be disappearing off the charts any time soon. C# though seems to be losing ground, and I guess if Java is high then C# will be low, as they are both very similar in terms of capabilities.

As to why I think Java is so high in the sphere of professional development — it's similar to what was mentioned about Germany. Most enterprise business services rely on Java to make them tick along. It's not just the IT sector either — almost every company, be it in distribution, manufacturing, or banking, has IT services as part of their infrastructure, and these services, such as payroll or inventory management, are generally built with Java in the backend. So Java is used a lot by professional developers who work for these companies.

Programming

Swift System is Now Open Source and Supports Linux (swift.org) 21

Michael Ilseman, an engineer on the Swift Standard Library team at Apple, writes: In June, Apple introduced Swift System, a new library for Apple platforms that provides idiomatic interfaces to system calls and low-level currency types. Today, I'm excited to announce that we're open-sourcing System and adding Linux support! Our vision is for System to eventually act as the single home for low-level system interfaces for all supported Swift platforms.
Programming

Google Expands its Flutter Development Kit To Windows Apps (venturebeat.com) 41

Google has announced that Flutter, its open source UI development kit for building cross-platform software from the same codebase, is finally available for Windows apps in alpha. From a report:For the world's leading desktop operating system with some 1 billion installations of Windows 10 alone, this has been a long time coming. Flutter's alpha incarnation was initially launched at Google's I/O developer conference back in 2017, before arriving in beta less than a year later. In its original guise, Flutter was designed for Android and iOS app development, but it has since expanded to cover the web, MacOS, and Linux, which are currently available in various alpha or beta iterations. Developers have had to consider unique platform-specific factors when designing for the desktop or mobile phones, such as different screen sizes and how people interact with their devices. On smartphones, people typically use touch and swipe-based gestures, while keyboards and mice are commonly used on PCs and laptops. This means Flutter has had to expand its support to cover the additional inputs.
Businesses

Tim Cook on Antitrust Investigations: 'There is No Monopoly Here' (imore.com) 151

In an interview, Apple CEO Tim Cook said that big companies deserve scrutiny and that he has no issue with Apple being investigated for antitrust issues stating. But at Apple, he said, "there is no monopoly here." From a report: In an interview, Cook stated that he had "no issue" with Apple's being put under investigation, but fervently stated that he believed that once lawmakers heard Apple's story, they would see that the company did not have a monopoly. "I think that big companies deserve scrutiny. And I think that's not only fair but important for the system that we have in America. And so I have no issue at all in Apple being put underneath the microscope and people looking and probing. My hope is that as people heard our story and as they continue to hear our story that it will become as apparent to them as it is to us that we have no monopoly. There is no monopoly here," he said.
China

Trump Says ByteDance Can't Keep Control of TikTok in Oracle Deal (bloomberg.com) 93

President Donald Trump said he might rescind his tentative blessing for a deal between Oracle and ByteDance to create a new U.S.-based TikTok service, casting doubt on the agreement as Chinese state media signaled reluctance in Beijing. From a report: Speaking in an interview on Fox News on Monday, Trump said he wouldn't approve the deal if the Chinese company retains control of TikTok. However, he also indicated that he expected Chinese influence to be diluted by a future public offering of the new company. "They will have nothing to do with it, and if they do, we just won't make the deal," Trump said, referring to ByteDance, which owns TikTok. "It's going to be controlled, totally controlled by Oracle, and I guess they're going public and they're buying out the rest of it -- they're buying out a lot, and if we find that they don't have total control then we're not going to approve the deal." Shortly after Trump's comments, Hu Xijin, editor-in-chief of the China state-affiliated Global Times, tweeted that Beijing would likely reject the deal "because the agreement would endanger China's national security, interests and dignity."
Java

Oracle's Plan to Keep Java Developers from Leaving for Rust and Kotlin (zdnet.com) 90

ZDNet reports: Oracle has released version 15 of Java, the language created 25 years ago by James Gosling at Sun Microsystems, which Oracle snapped up in 2009 for about $7.4bn to gain what it said was the "most important software Oracle has ever acquired". Java 15, or Oracle Java Development Kit (JDK) 15, brings the Edwards-Curve digital signature algorithm, hidden classes, and former preview features that have been finalized, including text blocks, and the Z Garbage Collector, while the sealed-classes feature arrives and pattern matching and records emerge as a second preview...

In July, Java fell out of RedMonk's top two positions for the first time since 2012 and now resides behind JavaScript and Python in terms of popularity. Tiobe in September ranked Java in second position, behind C and ahead of Python.... But Java is still hugely popular and widely used in the enterprise, according to Oracle, which notes it is used by over 69% of full-time developers worldwide... It counts Arm, Amazon, IBM, Intel, NTT Data, Red Hat, SAP and Tencent among its list of notable contributors to JDK 15. Oracle also gave a special mention to Microsoft and cloud system monitoring service DataDog for fixes...

As part of Java's 25th anniversary, Oracle commissioned analyst firm Omdia to assess its six-month release strategy for Java and whether it would be enough to keep millions of Java developers away from memory-safe alternatives such as Kotlin, the language Google has endorsed for Android development, and Rust, a system programming language that was created at Mozilla. "In Omdia's opinion, the work Oracle began a few years ago in moving to a six-month update cycle and introducing a new level of modularity, puts the vendor in good stead with its constituency of approximately 12 million developers," Oracle said in its report on Omdia's analysis.

"However, Oracle and the Java programming language need an ongoing series of innovative, must-have, and 'delightful' features that make the language even more user friendly and cloud capable. These will keep existing Java developers happy while steering potential Java developers away from newer languages like Rust and Kotlin."

IOS

Developers Frustrated at Apple for Just One Day's Notice To Submit Apps Ahead of iOS 14 Release Today (mashable.com) 31

While developers have had access to beta versions of the software updates since June, many were caught off guard by Apple's much shorter notice of the final releases. By comparison, Apple started accepting apps built for iOS 13 on September 10 last year, over one week before the software update was released on September 19. From a story yesterday: "I think a lot of developers won't be sleeping tonight or will instead just give up and opt to release [their app] when they want to, instead of alongside the new OS," said iOS developer Shihab Mehboob in a message. "Apple has seemingly out of the blue decided to surprise developers with no real warning or care." [...] "Without advance warning like this, nothing is ready," a developer at High Caffeine Content, Steve Troughton-Smith, told me. "Developers aren't ready, the App Store is't ready, and everybody is rushing to react instead of having the chance to finish their apps properly." Steve ran through the normal iOS release process with me. Apple usually gives third-party app developers a heads up of about a week before the official public release of a new iOS. The company puts out a "Golden Master" copy of the new iOS and Xcode developer tool before the latest operating system is officially released to the public. This gives iPhone app developers the time they need to make sure the apps they've been building for the beta releases of the new iOS actually work on the final version. Sometimes there are critical bugs that are only revealed or could only be fixed at this point in the process.

The extra time can also be used to add new features for any new devices announced at the Apple Event. Apple's approval process for apps also takes some time, so developers have that week to make sure they submit in time to guarantee their work will be in the App Store for the iOS release. "Gone are the hopes of being on the store by the time users install the new iOS 14 and are looking for new apps. Gone is the chance to get some last-minute fixes into your existing apps to make sure they don't stop working outright by the time users get to upgrade their OS," explained Steve. "There are some developers who have spent all summer working on something new, using the latest technologies, hoping to be there on day one and participate in the excitement (and press coverage) of the new iOS," he continued. "For many of them, they'll be incredibly upset to have it end like this instead of a triumphant launch, and it can dramatically decrease the amount of coverage or sales they receive."

Oracle

TikTok Picks Oracle Over Microsoft In Trump-forced Sales Bid (www.cbc.ca) 137

Dave Knott quotes the CBC: The owner of TikTok has chosen Oracle over Microsoft as its preferred suitor to buy the popular video-sharing app, according to a source familiar with the deal.

Microsoft announced Sunday that its bid to buy TikTok was rejected, removing a leading suitor for the Chinese-owned app a week before President Donald Trump promises to follow through with a plan to ban it in the U.S.

The Trump administration has threatened to ban TikTok by mid-September and ordered ByteDance to sell its U.S. business, claiming national-security risks due to its Chinese ownership. The U.S. government worries about user data being funnelled to Chinese authorities.

Programming

Did You Know Today Is 'The Day of the Programmer'? (wikipedia.org) 62

Long-time Slashdot reader destinyland shares Wikipedia's entry reminding us that this year's "Day of the Programmer" falls on September 13: The Day of the Programmer is an international professional day that is celebrated on the 256th (hexadecimal 100th, or the 2**8th) day of each year (September 13 during common years and on September 12 in leap years). It is officially recognized in Russia.

The number 256 (2**8) was chosen because it is the number of distinct values that can be represented with a byte, a value well known to programmers...

In China, the programmer's day is October 24, which has been established for many years. The date was chosen because it can also be written as 1024, which is equal to 210. It is also consistent regardless of leap years.

The original submission suggests we celebrate with "this delightful acoustic version of Code Monkey, which songwriter Jonathan Coulton describes as "how it feels to write software for a living."

But did any Slashdot readers even know today was The Day of the Programmer?

Slashdot Top Deals