×
Programming

On Apple's Piss-Poor Documentation (caseyliss.com) 123

Casey Liss: For the last year or two, I've come to realize that the number one thing that makes it harder for me to do my job is documentation. Or, more specifically, the utter dearth of documentation that Apple provides for its platforms. As a developer, Apple provides us a series of tools -- APIs -- that allow us to make apps on iOS, iPadOS, macOS, and tvOS. In many cases, it's fairly straightforward to figure out how to use these APIs. There's only so many ways you can use a screwdriver, and similarly, in many cases there's only one obvious way to use an API. However, as users rightly demand more complicated and fancy apps, the APIs often need to get more fancy and complicated as well. Suddenly you look up and, instead of only using screwdrivers and hammers, you're using power tools and complicated saws, and everything is much more fiddly than it once was. With real tools, you'd expect to receive an owner's manual, which explains how to use the tool you've just purchased. A rough analogy exists for APIs, insofar as most platform vendors will provide documentation. This is basically the "owner's manual" for that API.

Apple's documentation has, for years, been pretty bad. Over the last couple years, it has gone from bad to awful to despicable to embarrassing. All too often, I go to research how to do something new, and use an API I'm not familiar with, only to be stymied by those three dreaded words:

No overview available.

This is Apple's way of saying "Fuck you, figure it out." No overview available is so bad that a popular Apple resource -- itself something that probably shouldn't have to exist -- used it as its namesake for a single-serving site to highlight how bad Apple's documentation is. The march of progress doesn't help, either. As my friend Adam Swinden pointed out to me on Twitter, as old APIs get deprecated, often times the new ones can't be bothered to include documentation. Check out the difference between this API and the one that replaces it. No overview available. Fuck you, figure it out.

Education

Microsoft: Make 11-Year-Olds 'Future Ready' With Minecraft Python Hour of Code 51

theodp writes: The upcoming "Hack the Classroom: STEM Edition," Microsoft explains, "is a [3-day] free virtual event series designed for K-12 educators, parents, and guardians. The sessions will feature resources and tutorials to help educators support students in learning future-ready skills. These lessons can be easily incorporated into classroom curriculum while preparing for this year's Hour of Code event -- a global effort to teach and demystify coding, during Computer Science Education Week, December 7-13."

Microsoft has boasted that the Hour of Code enabled it to reach tens of millions of schoolchildren each year with its drag-and-drop Minecraft-themed tutorials. New for middle and high schoolers this year is the Minecraft Python Hour of Code, which presumably taps into the just-released Python Content for Minecraft: Education Edition (sample Python 101 Lesson). The Hour of Code is run by Microsoft-funded Code.org, whose Board of Directors include Microsoft President Brad Smith.
Education

Should Retraining Programs for Laid-Off Retail Workers Include Computer Programming? 233

Appearing on ABC, former Chicago Mayor and Obama White House Chief of Staff Rahm Emanuel on Friday volunteered some suggestions for an economic recovery plan that America's next president could implement. "One of the things we've got to do to rebuild, mainly on infrastructure," he begins, before switching to additional ideas for also offering a more promising future to laid-off retail workers by trying to train them for better jobs. "There's going to be people like at JCPenney and other retail — those jobs aren't coming back. Give them the tools..."

One such possible job he offered as an example? Computer programming. "Six months, you're going to become a computer coder. We'll pay for it.... we need to give them a lifeline to what's the next chapter." He believes lots of people would be interested. Although before any of that, Rahm stressed, "The first part of the stimulus is creating a floor so the economy doesn't sink any more. You can't get an economy growing if states and companies are laying people off."

While computer programming was apparently meant as just one example of possible jobs training programs, this appears to have been twisted into claims that Rahm Emanuel believes millions of laid off retail workers should become computer programmers.

Long-time Slashdot reader theodp does point out that Emanuel has held a long-standing faith in the potential of computer science education. ("Before leaving office, Emanuel worked to make Computer Science a high school graduation requirement beginning with the Class of 2020, although the Chicago Public Schools waived the requirement this year, citing the pandemic.") But is that also one possible solution for older generations who didn't receive computer science training in high school?

What do Slashdot's readers think? Leave your own thoughts in the comments. Should the retraining programs offered to laid-off retail workers include computer programming?
Java

Python Overtakes Java To Become The Second-Most Popular Programming Language (techrepublic.com) 103

For the first time in the history of TIOBE's index, Java has slipped out of the top two, leaving Python to occupy the spot behind reigning champion, C. TechRepublic reports: October's TIOBE index had C at No. 1 and Java at No. 2, and historically those two languages have simply traded spaces while the rest of the competition battled it out for the privilege to fall in behind the two perennial leaders. With Python finally overtaking Java in popularity, the future could be one in which everything comes up Python. "In the past, most programming activities were performed by software engineers. But programming skills are needed everywhere nowadays and there is a lack of good software developers," TIOBE CEO Paul Jansen said. "As a consequence, we need something simple that can be handled by non-software engineers, something easy to learn with fast edit cycles and smooth deployment. Python meets all these needs."

Jansen said that he believes this is the case despite claims from others that Python's popularity is due to booms in data mining, AI, numerical computing, and other initiatives that commonly use Python's extensive data processing capabilities. As TechRepublic's R. Dallon Adams wrote in his piece on the October index, Python has been giving Java a run for its money for some time. October saw Python at No. 3 with the largest year-over-year growth percentage in the top 50 languages. Java, still at second place in October, had the largest negative year-over-year growth rate in the top 50 during the same period.
R, Perl, and Go are also all boasting positive growth. "R is in 9th place, the same it occupied last month," reports TechRepublic. "R has experienced explosive growth in 2020, which has led TIOBE to consider it a contender for programming language of the year."
Programming

Should Computer Programming Classes Focus on Projects Instead of 'Logic Puzzles'? (acm.org) 108

Long-time Slashdot reader theodp writes: Writing in the November Communications of the ACM, MIT's Mitchel Resnick and Natalie Rusk explain that the educational use of coding in schools is at a crossroads. The good news? "School systems and policymakers are embracing the idea that coding can and should be for everyone."

The bad news? "In many places, coding is being introduced in ways that undermine its potential and promise. If we do not think carefully about the educational strategies and pedagogies for introducing coding, there is a major risk of disappointment and backlash." To address this, Resnick and Rusk argue, the design of technologies, activities, curriculum, communities, and spaces to support coding and learning should be guided by the "Four Ps" of Creative Learning: Projects, Passion, Peers, and Play:

"To us, it seems natural to introduce coding to young people in a project-oriented way, so that they learn to express themselves creatively as they learn to code. But many introductions to coding take a very different approach, presenting students with a series of logic puzzles in which they need to program animated characters to move from one location to another. When students successfully solve one puzzle, they can move on to the next. Students undoubtedly learn some useful computational concepts while working on these puzzles. But learning to code by solving logic puzzles is somewhat like learning to write by solving crossword puzzles. That's not the way to become truly fluent. Just as students develop fluency with language by writing their own stories (not just playing word games), students develop fluency with coding by creating projects (not just solving puzzles)."

Putting the Four Ps into practice, the authors concede, is easier said than done. "From our observations of Scratch activities around the world over the past decade, we have seen the value of Projects, Passion, Peers, and Play in supporting the development of computational fluency. But we have also seen that it is not easy to put these four principles into practice within the realities of today's standards-based, assessment-driven classrooms."

Programming

After 3-Year Hiatus, 'Pyston' Runtime Returns to Make Python Code Faster (infoworld.com) 27

"Development of Pyston, a variant of the Python runtime that uses just-in-time compilation to speed up the execution of Python programs, is back on again," reports InfoWorld — after a hiatus that began in 2017: Picking up where Dropbox left off, a new development team has released Pyston 2.0. Pyston provides what is ultimately intended to be a drop-in replacement for the standard Python runtime, CPython. It's compatible with Python 3.8, so programs that runs with that version of Python should run as-is on Pyston...

One of the goals of the project was to remain as close as possible to the original implementation of CPython, since many third-party projects make assumptions about CPython behavior. Thus Pyston 2.0 began with the existing CPython codebase and added features from Pyston 1.0 that worked well, such as caching attributes and JITting. Pyston's JIT no longer uses LLVM, but DynASM to emit assembly directly...

[U]nlike the original Pyston incarnation, the new version is closed-source for the time being, as its new stewards determine their business model.

Intel

Hackers Can Now Reverse Engineer Intel Updates Or Write Their Own Custom Firmware (arstechnica.com) 21

An anonymous reader quotes a report from Ars Technica: Researchers have extracted the secret key that encrypts updates to an assortment of Intel CPUs, a feat that could have wide-ranging consequences for the way the chips are used and, possibly, the way they're secured. The key makes it possible to decrypt the microcode updates Intel provides to fix security vulnerabilities and other types of bugs. Having a decrypted copy of an update may allow hackers to reverse engineer it and learn precisely how to exploit the hole it's patching. The key may also allow parties other than Intel -- say a malicious hacker or a hobbyist -- to update chips with their own microcode, although that customized version wouldn't survive a reboot.

"At the moment, it is quite difficult to assess the security impact," independent researcher Maxim Goryachy said in a direct message. "But in any case, this is the first time in the history of Intel processors when you can execute your microcode inside and analyze the updates." Goryachy and two other researchers -- Dmitry Sklyarov and Mark Ermolov, both with security firm Positive Technologies -- worked jointly on the project. The key can be extracted for any chip -- be it a Celeron, Pentium, or Atom -- that's based on Intel's Goldmont architecture.
In a statement, Intel officials wrote: "The issue described does not represent security exposure to customers, and we do not rely on obfuscation of information behind red unlock as a security measure. In addition to the INTEL-SA-00086 mitigation, OEMs following Intel's manufacturing guidance have mitigated the OEM specific unlock capabilities required for this research. The private key used to authenticate microcode does not reside in the silicon, and an attacker cannot load an unauthenticated patch on a remote system."
Youtube

RIAA's YouTube-DL Takedown Ticks Off Developers and GitHub's CEO (torrentfreak.com) 58

An RIAA takedown request, which removed the YouTube-DL repository from GitHub, has ticked off developers and GitHub's CEO. Numerous people responded by copying and republishing the contested code, including in some quite clever ways. Meanwhile, GitHub's CEO is "annoyed" as well, offering help to get the repo reinstated. TorrentFreak reports: Soon after the RIAA notice took YouTube-DL offline many developers spoke out in protest. They believe that the music industry group went too far and started to republish copies of the code everywhere. Over the past several days, we have seen hundreds of new forks and copies appear online. These were also posted to GitHub, where YouTube-DL forks remain easy to find and continue to be uploaded. The code was also posted in some places one wouldn't expect. For example, there's still a copy in GitHub's DMCA notice repository, which some people find quite amusing. And the list of pull requests can be quite entertaining in themselves.

One of the most creative responses we've seen was posted to Twitter by @GalacticFurball who encoded YouTube-DL into images that can be easily shared, encouraging others to share these as well. "I would also suggest that you save and repost the images, as one single source kind of defeats the point. Maybe start a hashtag trend or something. Make songs, and poetry. Get that data out there." This triggered even more creativity, with people finding alternative means to share the code online, all to counter the RIAA's takedown request.

Meanwhile, GitHub's CEO Nat Friedman wasn't sitting still either. While the Microsoft-owned developer platform had to respond to the takedown notice, Friedman himself actively reached out to YouTube-DL's developers to help them get their project reinstated. The CEO joined YouTube-DL's IRC channel hoping to connect with the owner of the repository so he can help to get it unsuspended. "GitHub exists to help developers. We never want to interfere with their work. We want to help the youtube-dl maintainers defeat the DMCA claim so that we can restore the repo," Friedman told TorrentFreak, explaining his actions. GitHub's CEO suggested that YouTube-DL won't be reinstated in its original form. But, the software may be able to return without the rolling cipher circumvention code and the examples of how to download copyrighted material.

Programming

The No-Code Generation is Arriving (techcrunch.com) 154

An anonymous reader shares a column: In the distant past, there was a proverbial "digital divide" that bifurcated workers into those who knew how to use computers and those who didn't. Young Gen Xers and their later millennial companions grew up with Power Macs and Wintel boxes, and that experience made them native users on how to make these technologies do productive work. Older generations were going to be wiped out by younger workers who were more adaptable to the needs of the modern digital economy, upending our routine notion that professional experience equals value. Of course, that was just a narrative. Facility with using computers was determined by the ability to turn it on and log in, a bar so low that it can be shocking to the modern reader to think that a "divide" existed at all. Software engineering, computer science and statistics remained quite unpopular compared to other academic programs, even in universities, let alone in primary through secondary schools. Most Gen Xers and millennials never learned to code, or frankly, even to make a pivot table or calculate basic statistical averages.

There's a sociological change underway though, and it's going to make the first divide look quaint in hindsight. Over the past two or so years, we have seen the rise of a whole class of software that has been broadly (and quite inaccurately) dubbed "no-code platforms." These tools are designed to make it much easier for users to harness the power of computing in their daily work. That could be everything from calculating the most successful digital ad campaigns given some sort of objective function, or perhaps integrating a computer vision library into a workflow that calculates the number of people entering or exiting a building. The success and notoriety of these tools comes from the feeling that they grant superpowers to their users. Projects that once took a team of engineers some hours to build can now be stitched together in a couple of clicks through a user interface. That's why young startups like Retool can raise at nearly a $1 billion valuation and Airtable at $2.6 billion, while others like Bildr, Shogun, Bubble, Stacker and dozens more are getting traction among users.

Programming

Can We Replace YAML With an Easier Markup Language? (chrisshort.net) 161

On his personal blog, Red Hat's Chris Short (also a CNCF Cloud Native Ambassador) told his readers that "We kinda went down a rabbit hole the other day when I suggested folks check out yq. ("The aim of the project is to be the jq or sed of yaml files.")

"First, there's nothing wrong with this project. I like it, I find the tool useful, and that's that. But the great debate started over our lord and savior, YAML."

And then he shares what he learned from a bad experience reading the YAML spec in 2012: It was not an RFC, which I am fond of reading, but something about the YAML spec made me sad and frustrated. Syntax really mattered. Whitespace really mattered... It is human-readable because you see the human-readable words in the scalars and structures, but there was something off-putting about YAML. It was a markup language claiming not to be a markup language. I held the firm belief that markup languages are supposed to make things simpler for humans, not harder (XML is the antithesis of markup languages, in my opinion)...

Close to ten years later, I see YAML in the same somewhat offputting light... I hope that a drop in replacement is possible. The fact that we need tools like yq does show that there is some work to be done when it comes to wrangling the YAML beast at scale... Incrementally, YAML is better than XML but, it sucks compared to something like HTML or Markdown (which I can teach to execs and children alike)...

Yes, balancing machine and human readability is hard. The compromises suck, but, at some point, there's enough compute to run a process to take in something 100% human-readable and make it 100% machine-readable... There will always be complexity and a need to understand the tool you're using. But, YAML gives us an example that there can and should be better things.

In a comment on the original submission, Slashdot reader BAReFO0t writes "Binary markup or GTFO." UTF8 is already binary. Hell, ASCII is already binary numbers, not directly readable, but mapped to vector drawings or bitmap images ... that again are rendered to pixel values, that are then turning on blinkenlights or ink blots or noises that a human can actually recognize directly.

So why not extend it to structure, instead of just letters (... and colors ... and sound pressures... EBML's core [Extensible Binary Meta Language] is the logical choice.

If all editors always display it as, say XML, just like they all convert numbers into text-shaped blinkenlights too, people will soon call it "plain, human readable" too...

Java

Java Geeks Discuss 'The War for the Browser' and the State of Java Modularization (frequal.com) 67

Self-described "Java geek" nfrankel writes: At the beginning of 2019, I wrote about the state of Java modularization. I took a sample of widespread libraries, and for each of them, I checked whether:

- It supports the module system i.e. it provides an automatic module name in the manifest

- It's a full-fledged module i.e. it provides a module-info

The results were interesting. 14 out of those 29 libraries supported the module system, while 2 were modules in their own right.

Nearly 2 years later, and with Java 16 looming around the corner, it's time to update the report. I kept the same libraries and added Hazelcast and Hazelcast Jet. I've checked the latest version...

Three full years after that release, 10 out of 31 libraries still don't provide a module-compatible JAR. Granted, 3 of them didn't release a new version in the meantime. That's still 7 libraries that didn't add a simple line of text in their MANIFEST.MF

Meanwhile, long-time Slashdot reader AirHog argues that "Java is in a war for the browser. Can it regain the place it once held in its heyday?" All major browsers have disabled support for Java (and indeed most non-JavaScript technologies). Web-based front-ends are usually coded in JavaScript or some wrapper designed to make it less problematic (like TypeScript). Yes, you can still make websites using Java technology. There are plenty of 'official' technologies like JSP and JSF. Unfortunately, these technologies are entirely server-side. You can generate the page using Java libraries and business logic, but once it is sent to the browser it is static and lifeless... Java client-side innovation has all but stopped, at least via the official channels....

How can Java increase its relevance? How can Java win back client-side developers? How can Java prevent other technologies from leveraging front-end dominance to win the back-end, like Java once did to other technologies?

To win the war, Java needs a strong client-side option. One that lets developers make modern web applications using Java code. One that leverages web technologies. One that supports components. One that builds quickly. One that produces fast-downloading, high performance, 100-Lighthouse-scoring apps. One that plays nicely with other JVM languages. What does Java need?

Spoiler: The article concludes that "What Java needs Is TeaVM... an ahead-of-time transpiler that compiles Java classes to JavaScript."
Python

Does Python Need to Change? (zdnet.com) 233

The Python programming language "is a big hit for machine learning," read a headline this week at ZDNet, adding "But now it needs to change."

Python is the top language according to IEEE Spectrum's electrical engineering audience, yet you can't run Python in a browser and you can't easily run it on a smartphone. Plus no one builds games in Python these days. To build browser applications, developers tend to go for JavaScript, Microsoft's type-safety take on it, TypeScript, Google-made Go, or even old but trusty PHP. On mobile, why would application developers use Python when there's Java, Java-compatible Kotlin, Apple's Swift, or Google's Dart? Python doesn't even support compilation to the WebAssembly runtime, a web application standard supported by Mozilla, Microsoft, Google, Apple, Intel, Fastly, RedHat and others.

These are just some of the limitations raised by Armin Ronacher, a developer with a long history in Python who 10 years ago created the popular Flask Python microframework to solve problems he had when writing web applications in Python. Austria-based Ronacher is the director of engineering at US startup Sentry — an open-source project and tech company used by engineering and product teams at GitHub, Atlassian, Reddit and others to monitor user app crashes due to glitches on the frontend, backend or in the mobile app itself... Despite Python's success as a language, Ronacher reckons it's at risk of losing its appeal as a general-purpose programming language and being relegated to a specific domain, such as Wolfram's Mathematica, which has also found a niche in data science and machine learning...

Peter Wang, co-founder and CEO of Anaconda, maker of the popular Anaconda Python distribution for data science, cringes at Python's limitations for building desktop and mobile applications. "It's an embarrassing admission, but it's incredibly awkward to use Python to build and distribute any applications that have actual graphical user interfaces," he tells ZDNet. "On desktops, Python is never the first-class language of the operating system, and it must resort to third-party frameworks like Qt or wxPython." Packaging and redistribution of Python desktop applications are also really difficult, he says.

AI

Activists Turn Facial Recognition Tools Against the Police (nytimes.com) 78

An anonymous reader quotes a report from The New York Times: In early September, the City Council in Portland, Ore., met virtually to consider sweeping legislation outlawing the use of facial recognition technology. The bills would not only bar the police from using it to unmask protesters and individuals captured in surveillance imagery; they would also prevent companies and a variety of other organizations from using the software to identify an unknown person. During the time for public comments, a local man, Christopher Howell, said he had concerns about a blanket ban. He gave a surprising reason. "I am involved with developing facial recognition to in fact use on Portland police officers, since they are not identifying themselves to the public," Mr. Howell said. Over the summer, with the city seized by demonstrations against police violence, leaders of the department had told uniformed officers that they could tape over their name. Mr. Howell wanted to know: Would his use of facial recognition technology become illegal?

Portland's mayor, Ted Wheeler, told Mr. Howell that his project was "a little creepy," but a lawyer for the city clarified that the bills would not apply to individuals. The Council then passed the legislation in a unanimous vote. Mr. Howell was offended by Mr. Wheeler's characterization of his project but relieved he could keep working on it. "There's a lot of excessive force here in Portland," he said in a phone interview. "Knowing who the officers are seems like a baseline." Mr. Howell, 42, is a lifelong protester and self-taught coder; in graduate school, he started working with neural net technology, an artificial intelligence that learns to make decisions from data it is fed, such as images. He said that the police had tear-gassed him during a midday protest in June, and that he had begun researching how to build a facial recognition product that could defeat officers' attempts to shield their identity. Mr. Howell is not alone in his pursuit. Law enforcement has used facial recognition to identify criminals, using photos from government databases or, through a company called Clearview AI, from the public internet. But now activists around the world are turning the process around and developing tools that can unmask law enforcement in cases of misconduct.
The report also mentions a few other projects around the world that are using facial recognition tools against the police.

An online exhibit called "Capture," was created by artist Paolo Cirio and includes photos of 4,000 faces of French police officers. It's currently down because France's interior minister threatened legal action against Mr. Cirio but he hopes to republish them.

Andrew Maximov, a technologist from Belarus, uploaded a video to YouTube that demonstrated how facial recognition technology could be used to digitally strip away masks from police officers.

The report also notes that older attempts to identify police officers have relied on crowdsourcing. For example, news service ProPublica asks readers to identify officers in a series of videos of police violence. There's also the OpenOversight, a "public searchable database of law enforcement officers" that asks people to upload photos of uniformed officers and match them to the officers' names or badge numbers.
Programming

Kite Expands Its AI Code Completions From 2 To 13 Programming Languages (venturebeat.com) 19

An anonymous reader writes: Kite, which suggests code snippets for developers in real time, today added support for 11 more programming languages, bringing its total to 13. In addition to Python and JavaScript, Kite's AI-powered code completions now support TypeScript, Java, HTML, CSS, Go, C, C#, C++, Objective C, Kotlin, and Scala. (The team chose the 11 languages by triangulating the StackOverflow developer survey, Redmonk's language rankings, and its own developer submissions.) AI that helps developers is growing in popularity, with startups like DeepCode offering AI-powered code reviews and tech giants like Microsoft trying to apply AI to the entire application developer cycle. Kite stands out from the pack with 350,000 monthly developers using its AI developer tool. Kite debuted privately in April 2016 before publicly launching a cloud-powered developer sidekick in March 2017. The company raised $17 million in January 2019 and ditched the cloud to run its free offering locally. In May, Kite added JavaScript support, launched a Pro plan with advanced line-of-code completions for Python, and updated its engine to use deep learning, a type of machine learning.
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.

Slashdot Top Deals