as

Episode 511: Ant Wilson on Supabase (Postgres as a Service)

Ant Wilson of Supabase discusses building an open source alternative to Firebase with PostgreSQL. SE Radio host Jeremy Jung spoke with Wilson about how Supabase compares to Firebase, building an API layer with postgREST, authentication using GoTrue...




as

Episode 514: Vandana Verma on the Owasp Top 10

Vandana Verma, Security Leader at Snyk and vice-chairperson of the OWASP Global Board of directors, discusses the "OWASP top 10" with host Priyanka Raghavan. The discussion explores various subtopics such as the history behind OWASP, the OWASP top 10 security risks, example of common vulnerabilities and ends with information on top projects in OWASP and how can contribute to it.




as

Episode 519: Kumar Ramaiyer on Building a SaaS

Kumar Ramaiyer, CTO, Planning Business Unit at Workday, discusses the Infrastructure services needed for and the design of Building and lifecycle of supporting a SaaS application.




as

Episode 523: Jessi Ashdown and Uri Gilad on Data Governance

Jessi Ashdown and Uri Gilad, authors of the book "Data Governance: The Definitive Guide," discuss what data governance entails, why it's important, and how it can be implemented. Host Akshay Manchale speaks with them about why data governance...




as

Episode 528: Jonathan Shariat on Designing to Avoid Worst Case Outcomes

Jonathan Shariat, coauthor of the book Tragic Design, discusses harmful software design. SE Radio host Jeremy Jung speaks with Shariat about how poor design can kill in the medical industry, accidentally causing harm with features meant to bring joy...




as

Episode 531: Xe Iaso on Tailscale

Xe Iaso of Tailscale discusses how a VPN can be a useful tool when building software. SE Radio host Jeremy Jung spoke with Iaso about what VPNs are, onboarding, access control, authentication in the network vs individual services, peer-to-peer vs...




as

Episode 538: Roberto Di Cosmo on Archiving Public Software at Massive Scale

Roberto Di Cosmo, Computer Science professor at University Paris Diderot and founder of the Software Heritage initiative, discusses how to protect against sudden loss from the collapse of a "free" source code repository provider, how to protect...




as

Episode 540: Joe Nash on DevRel

Joe Nash of Twillio's TwilioQuest discusses the role of developer relations/advocate, which is a role at tech companies in-between developers, marketing, sales, and HR. Host Felienne speaks with Nash about the skills people need if they want to become...




as

Episode 547: Nicholas Manson on Identity Management for Cloud Applications

Nicholas Manson, a SaaS Architect with more than 2 decades of experience building cloud applications, speaks with host Kanchan Shringi about identity and access management requirements for cloud applications. They begin by examining what a digital...




as

SE Radio 553: Luca Casonato on Deno

Luca Casonato joins SE Radio's Jeremy Jung for a conversation about Deno and Deno Deploy. They start with a look at JavaScript runtimes and their relation to Google’s open source JavaScript and WebAssembly engine V8, and why Deno was created. They discuss the WinterCG W3C group for server-side JavaScript, why it's difficult to ship new features in Node, and the benefits of web standards. From there they consider the benefits of creating an all-inclusive toolset like Rust and Go rather than relying on separate solutions, Deno's node compatibility layer, use cases for WebAssembly, benefits and implementation of Deno Deploy, reasons to deploy on the edge, and what's coming next.




as

SE Radio 562: Bastian Gruber on Rust Web Development

Bastian Gruber, author of the book Rust Web Development, speaks with host Philip Winston about creating server-based web applications with Rust. They explore Rust language features, tooling, and web frameworks such as Warp and Tokio. From there, they examine the steps to build a simple web server and a RESTful API, as well as modules, logging and tracing, and other aspects of web development with Rust.




as

SE Radio 564: Paul Hammant on Trunk-Based Development

Paul Hammant, independent consultant, joins host Giovanni Asproni to speak about trunk-based development—a version control management practice in which developers merge small, frequent updates to a core “trunk” or main branch. The episode explores the technique in some detail, including its pros and cons and some examples from real projects, and offers suggestions on how to get started. The conversation touches on a set of related topics, including code reviews, feature flags, continuous integration, and testing.




as

SE Radio 566: Ashley Peacock on Diagramming in Software Engineering

Ashley Peacock, author of the book Creating Software with Modern Diagramming Techniques, speaks with SE Radio host Akshay Manchale about diagrams in software engineering. They discuss the power of diagramming and some reasons we don’t fully use it as often as we should. Ashley contrasts historical use of UML diagrams versus modern diagrams, which don't have hard rules about representations. The episode examines different types of diagrams through an example application and how it could be built with modern tools such as Streamy to simplify the building, versioning, and maintenance of diagrams.




as

SE Radio 568: Simon Bennetts on OWASP Dynamic Application Security Testing Tool ZAP

Simon Bennetts, a distinguished engineer at Jit, discusses one of the flagship projects of OWASP: the Zed Attack Proxy (ZAP) open source security testing tool. As ZAP’s primary maintainer, Simon traces the tool's origins and shares some anecdotes with SE Radio host Priyanka Raghavan on why there was a need for it. They take a deep dive into ZAP’s features and its ability to integrate with CI/CD, as well as shift security left. Bennetts also considers what it takes to build a successful open source project before spending time on ZAP’s ability to script to provide richer results. Finally, the conversation ends with some questions on ZAP’s future in this AI-powered world of bots.




as

SE Radio 574: Chad Michel on Software as an Engineering Discipline

Chad Michel, Senior Software Architect at Don’t Panic Labs and co-author of Lean Software Systems Engineering for Developers, joins host Jeff Doolittle for a conversation about treating software development as an engineering discipline. They begin by discussing the need for engineering rigor in the software industry. Chad points out that many developers lack awareness of good engineering practice and are often unaware of resources such as the Software Engineering Body of Knowledge (SWEBOK). Among the many topics explored in this episode are design methodologies such as volatility-based decomposition and the work of David Parnas, as well as important topics such as quality, how to address complexity, designing for change, and the role of the chief engineer. This episode is sponsored by ClickSend. SE Radio listeners can get a $50 credit by following the link.




as

SE Radio 577: Casey Muratori on Clean Code, Horrible Performance?

Casey Muratori caused some strong reactions with a blog post and an associated video in which he went through an example from the “Clean Code” book by Robert Martin to demonstrate the negative impact that clean code practices can have on performance. In this episode, he joins SE Radio’s Giovanni Asproni to talk about the potential trade-offs between performance and the qualities that make for maintainable code, these qualities being the main focus of Clean Code. Brought to you by IEEE Computer Society and IEEE Software magazine.




as

SE Radio 580: Josh Doody on Mastering Business Communication for Software Engineers

Josh Doody, author of Mastering Business Email, speaks with host Brijesh Ammanath about how software engineers can master business communication. They begin with an exploration of various communication modes, including Slack, virtual meetings, emails, and presentations. Josh shares several strategies to improve communication skills and cross-cultural communication, but if there's one key take away from this episode, it might be: “use positive language for any medium of communication; be kind and use positive words.” Brought to you by IEEE Software magazine and IEEE Computer Society.




as

SE Radio 583: Lukas Fittl on Postgres Performance

Lukas Fittl of pganalyze discusses the performance of Postgres, one of the world’s most popular database systems. SE Radio host Philip Winston speaks with Fittl about database indexing, queries, maintenance, scaling, and stored procedures. They also discuss some features of pganalyze, such as the index and vacuum advisors.




as

SE Radio 589: Zac Hatfield-Dodds on Property-Based Testing in Python

Zac Hatfield-Dodds, the Assurance Team Lead at Anthropic, speaks with host Gregory M. Kapfhammer about property-based testing techniques and how to use them in an open-source tool called Hypothesis. They discuss how to define properties for a Python function and implement a test case in Hypothesis. They also explore some of the advanced features in Hypothesis that can automatically generate a test case and perform fuzzing campaigns.




as

SE Radio 592: Jaxon Repp on Distributed Data Infrastructure

Jaxon Repp of HarperDB speaks with Brijesh Ammanath about distributed data infrastructure, including what it is and why it's important. They discuss the key factors that make distributed data infrastructure attractive, as well as challenges to implementing it. The episode explores the architecture and design principles, the key security considerations, and the transition factors for distributed data Infrastructure. Brought to you by IEEE Computer Society and IEEE Software.




as

SE Radio 599: Jason C. McDonald on Quantified Tasks

Jason C. McDonald, author of the book Dead Simple Python, speaks with host Samuel Taggart about leveraging quantified tasks to improve estimation, particularly across projects. They discuss the origin of the concept and its relationship with story points, and Jason offers examples to show how quantified tasks can capture nuances in software tasks that are often lost with story points. He also points to the ability to compare them across projects as a major advantage of quantified tasks. Among other topics, they consider also how to use quantified tasks to analyze the stability of a codebase. Brought to you by IEEE Computer Society and IEEE Software magazine.




as

SE Radio 602: Nicolas Carlo on Improving Legacy Code

Nicolas Carlo talks with host Sam Taggart about Nicolas’s recent book, Legacy Code First Aid Kit. They start by defining legacy code and the general issues that developers face when dealing with it. Nicolas describes some of the tools in his book and provides examples of where he has found them useful. The episode also touches briefly on the role of AI and some other tools Nicolas has discovered since writing the book. This episode sponsored by WorkOS.




as

SE Radio 604: Karl Wiegers and Candase Hokanson on Software Requirements Essentials

Karl Wiegers, Principal Consultant with Process Impact and author of 14 books, and Candase Hokanson, Business Architect and PMI-Agile Certified Practitioner at ArgonDigital, speak with SE Radio host Gavin Henry about software requirements essentials. They explore five different parts of requirements engineering and how you can apply them to any ongoing project. Wiegers and Hokanson describe why requirements constantly change, how you can test that you're meeting them, and why the tools you have at hand are suitable to start straight away. They discuss the need for requirements in every software project and provide recommendations on how to gather, analyze, validate, and manage those requirements. Candase and Karl offer in-depth perspectives on a range of topics, including how to elicit requirements, speak with users, get to the source of the business or user goal, and create requirement sets, models, prototypes, and baselines. Finally, they look at specifications you can use, and how to validate, test, and verify them. Brought to you by IEEE Computer Society and IEEE Software magazine.




as

SE Radio 605: Yingjun Wu on Streaming Databases

Yingjun Wu, founder of RisingWave Labs and previously a software engineer at Amazon Web Services and researcher at IBM Almaden Research Center, speaks with SE Radio host Brijesh Ammanath about streaming databases. After considering the benefits and unique challenges, they delve into the architecture and design patterns of streaming databases, as well as the evolution and security considerations. Yingjun also talks about the future of streaming databases, including the potential impact that Amazon S3 Express One Zone will have on the streaming landscape, and how the unified batch and streaming might evolve in the database world. Brought to you by IEEE Computer Society and IEEE Software magazine.




as

SE Radio 618: Andreas Møller on No-Code Platforms

Andreas Møller, founder of Toddle, a no-code tool for building scalable performant web applications, speaks with SE Radio's Brijesh Ammanath about no-code platforms. They discuss the role of developers in a no-code ecosystem and explore scalability and performance considerations, as well as enterprise adoption of no-code tools. Andreas also expands on why he built Toddle.dev and its unique features. Brought to you by IEEE Computer Society and IEEE Software.




as

SE Radio 621: Xe Iaso on Fly.io

Xe Iaso of Fly.io discusses their hosting platform with host Jeremy Jung. They cover building globally distributed applications with Anycast, using Wireguard to encrypt inter-service communication, writing custom code to handle load balancing and scaling with fly-proxy, why serving EU customers has unique requirements, letting users use docker images without the docker runtime by converting them to firecracker and cloud hypervisor microVMs, the differences between regular VMs and microVMs, challenges of acquiring and serving GPUs to customers. when to use Kubernetes, and dealing with abuse on the platform. Brought to you by IEEE Computer Society and IEEE Software magazine.




as

SE Radio 624: Marcelo Trylesinski on FastAPI

Marcelo Trylesinski, a senior software engineer at Pydantic and a maintainer of open-source Python tools including Starlette and Uvicorn, joins host Gregory M. Kapfhammer to talk about FastAPI. Their conversation focuses on the design and implementation of FastAPI and how programmers can use it to create web-based APIs. They also explore how to create and deploy a FastAPI implemented in the Python programming language. Brought to you by IEEE Computer Society and IEEE Software magazine.




as

SE Radio 629: Emily Bache on Katas and the Importance of Practice

Emily Bache, founder of the Samman Technical Coaching Society and author of several books about technical agile coaching, talks with SE Radio host Sam Taggart about katas and the importance of practice. They discuss how practicing in a safe environment helps developers to learn new skills and build new habits. They also talk about how Samman coaching combines this sort of deliberate practice with applying the lessons learned in practice to the production code base. They also touch briefly on the advantages of working in an ensemble fashion.

Brought to you by IEEE Computer Society and IEEE Software magazine.




as

SE Radio 631: Abhay Paroha on Cloud Migration for Oil and Gas Operations

Abhay Paroha, an engineering leader with more than 15 years' experience in leading product dev teams, joins SE Radio's Kanchan Shringi to talk about cloud migration for oil and gas production operations. They discuss Abhay's experiences in building a cloud foundation layer that includes a canonical data model for storing bi-temporal data. They further delve into his teams' learnings from using Kubernetes for microservices, the transition from Java to Scala, and use of Akka streaming, along with tips for ensuring reliable operations.

Brought to you by IEEE Computer Society and IEEE Software magazine.




as

SE Radio 634: Jim Bugwadia on Kubernetes Policy as Code

Jim Bugwadia, CEO of Nirmata and a committer to the Kyverno projects, joins host Robert Blumen for a discussion of policy-as-code and the open source Kyverno project. The discussion covers the nature of policies; policies and security; policies and compliance to standards; security scans that generate reports compared to tools that allow or deny operations at run time; Kyverno as a kubernetes service; the Kyverno helm charts; the components of Kyverno; bootstrapping a kubernetes cluster with Kyverno; installing policies; implementing policies; customizing policies; packaging and installing policies; kubernetes dynamic admission controllers; the Kyverno admission controller; securing Kyverno itself; observability of Kyverno; types of reports and messages available to cluster users.

This episode is sponsored by QA Wolf.




as

SE Radio 636: Sriram Panyam on SaaS Control Planes

Sriram Panyam, CTO at DagKnows, discusses SaaS Control Planes with SE Radio host Brijesh Ammanath. The discussion starts off with the basics, examining what control planes are and why they're important. Sriram then discusses reasons for building a control plane and the challenges in designing one. They explore design and architectural considerations when building a SaaS control plane, as well as the key differences between a control plane and a data plane.

This episode is sponsored by QA Wolf.




as

A direct solution to the crystallography phase problem

-- Delivered by Feed43 service




as

Thrustmaster eSwap Pro Controller Review

Today we test at OCinside.de the top controller from the extensive gamepad collection of Thrustmaster. In comparison we are testing the original controllers from Microsoft Xbox One, Xbox 360, Sony PlayStation 4 and PlayStation 3. What makes this Thrustmaster eSwap Pro game controller different from thousands of other products on the market and wher... [PCSTATS]




as

TerraMaster TD2 Thunderbolt 3 2-bay DAS Review

TerraMaster�s TD2 Thunderbolt 3 is a 2-bay DAS (Direct-Attached Storage) drive aimed at professional users and, as the name suggests comes with a pair of Thunderbolt 3 interfaces. TerraMaster�s TD2 Thunderbolt 3 looks just like a 2-bay NAS with the obvious exception that the TD2 comes with a very useful carrying handle. The enclosure is built from ... [PCSTATS]




as

AMD CPUs for the past 9 years are vulnerable to data leak attacks

"It's not just Intel chips that are vulnerable to hard-to-fix security flaws. Researchers at the Graz University of Technology have detailed a pair of side channel attacks under the "Take A Way" name that can leak data from AMD processors dating back to 2011, whether it's an old Athlon 64 X2, a Ryzen 7 or a Threadripper. Both exploit the "way predi... [PCSTATS]




as

AMD Computing Roadmap 2020 by Mark Papermaster

At AMD Financial Analyst Day 2020, Mark Papermaster unveiled the AMD computing roadmap for 2020 and beyond. Check it out!... [PCSTATS]



  • Computer / SFF PCs

as

ASUS ROG Zenith II Extreme Alpha (TRX40) Motherboard Review

The rewards for offering a high-performance flagship motherboard on the TRX40 platform are clear. Vendors are all competing at price points well above �600 which culminates in motherboard options filled to the brim with the features that almost anybody could wish for. ASUS� ROG Zenith II Extreme was no exception to that point. However, ASUS has tak... [PCSTATS]




as

SilverStone SETA A1 Case Review

"The current state of PC case design seems to be comprised of a few design and function features that can be found on just about any modern case. This includes tempered glass side panels, support for vertical video card orientation, and multiple fan and radiator installation options. These features are often mixed and matched, and depending on thei... [PCSTATS]




as

Cooler Master MM711 Review

Today we have tested a different kind of gaming mouse on OCinside.de. The Cooler Master MasterMouse MM711 is based on a lightweight honeycomb grid design, adjustable LED lighting and extensive programming options.... [PCSTATS]




as

ASRock X570 Phantom Gaming-ITX/TB3 Motherboard Review

"When it comes to mini-ITX AMD X570 motherboards there are only a handful to choose from. Today we are checking out ASRock�s offering which comes in the form of the X570 Phantom Gaming-ITX/TB3. We first saw the Phantom Gaming Series from ASRock with their Z390 Phantom Gaming X and we are hoping to see the same quality in the X570 Phantom Gaming-ITX... [PCSTATS]




as

Gamerstorm Macube 310P Mid-Tower Chassis Review

"Gamerstorm's Macube 310P mid-tower computer case offers great value for money with just a few issues here and there."... [PCSTATS]




as

Raspberry Pi Enthusiast Creates Coronavirus Live Global Tracker Display

There are so many things that can be done with a little spare time and a Raspberry Pi that it boggles the mind; the little developer board can be made to do just about anything builders can dream up. One of the most recent projects we've seen using the Pi turned up on Reddit from a person called jul-bruegger who combined the Raspberry Pi Zero... [PCSTATS]




as

RIOTORO Aviator Classic Gaming Headset Review

Riotoro just released their very first 7.1 virtual surround sound gaming headset called the Aviator Classic and today it�s up to us to put it to the test. ... [PCSTATS]




as

WordPress Uses RSS as Blog Export Format

If you export your WordPress blog, it is delivered to you as an RSS feed that holds all of the blog's entries, pages and comments. WordPress makes use of five namespaces and calls the format WordPress eXtended RSS (WXR). I'm working on a Java application that converts a WXR file into a set of static HTML pages.




as

Every Mastodon User Has an RSS Feed

The distributed social network Mastodon has grown to 12.8 million user accounts, supporting itself through user donations and a lot of effort by the volunteers running servers. There's no CEO changing the network at whim, no ads and no algorithms that manipulate what you see to increase engagement. Just a scroll of posts by the people you follow pulled from all over the world.

Every Mastodon account has an RSS feed that can be found by going to the user's Mastodon page and adding ".rss" to the URL of that page. For example, the RSS feed for Bonaventure Software is at this address:

https://mastodon.online/@bonaventuresoft.rss

The feeds are valid RSS and use the Media-RSS and Webfeeds namespaces.

The Media-RSS content element contains the photo, audio or video included in the Mastodon post, if one is present:

<media:content url="https://files.mastodon.online/media_attachments/files/109/326/769/636/254/303/original/552ebb9fd3f30171.png" type="image/png" fileSize="49052" medium="image">
  <media:rating scheme="urn:simple">nonadult</media:rating>
  <media:description type="plain">Eli Lilly & Co stock performance graph over the last month, showing lower valuations than the one caused by the bogus announcement of free insulin.</media:description>
</media:content>

The Webfeeds icon element holds the URL of the user's avatar:

<webfeeds:icon>https://files.mastodon.online/accounts/avatars/109/298/336/948/075/673/original/e76dfce4df4bef76.gif</webfeeds:icon>

One potential improvement to the feed would be to add a link element from the Atom namespace to identify the URL of the RSS feed, as in this example:

<atom:link href="https://mastodon.online/@bonaventuresoft.rss" rel="self" type="application/rss+xml" />

That might not happen anytime soon. Mastodon is a frenetic open source project with 61 open issues and suggestions involving RSS.




as

Atom Feed Format Was Born 20 Years Ago

This month marks the 20th anniversary of the effort that became the Atom feed format. It all began on June 16, 2003, with a blog post from Apache Software Foundation contributor Sam Ruby asking for feedback about what constitutes a well-formed blog entry.

The development of RSS 2.0 had been an unplanned hopscotch from a small group at Netscape to a smaller one at UserLand Software, but Atom was a barn raising. Hundreds of software developers, web publishers and technologists gathered for a discussion in the abstract that led to a concrete effort to build a well-specified syndication format and associated publishing API that could become Internet standards. Work was done on a project wiki that grew to over 1,500 pages. Everything was up for a vote, including a plebiscite on choosing a name that ballooned into a four-month-long bike shed discussion in which Pie, Echo, Wingnut, Feedcast, Phaistos and several dozen alternatives finally, mercifully, miraculously lost out to Atom.

The road map of the Atom wiki lists the people, companies and projects that jumped at the chance to create a new format for feeds. XML specification co-author Tim Bray wrote:

The time to write it all down and standardize it is not when you're first struggling to invent the technology. We now have aggregators and publishing systems and search engines and you-name-it, and I think the community collectively understands pretty well what you need, what you don't need, and what a good syntax looks like.

So, now's the time.

As someone whose only contribution to the project was voting on names, I think I was too quick to rule out Phaistos, a suggestion inspired by a clay disc produced by movable type before 1600 B.C. Comments on the wiki page proposing that monicker offer a sample of the name wars:

MikeBlumenthal: Does one of the great mysteries of antiquity, a document which, after almost 100 years of trying, is still a mystery not only as to its meaning but even as to its purpose, and which stands as a paragon of impenetrability, really fit as a name for an interoperability format?

Jayseae: Actually, the current state of RSS is pretty much a mystery -- why should this project be any different? I like the association with publishing -- though I'm not sure the pronunciation really flows. Perhaps it could be shortened somehow?

AsbjornUlsberg: Sorry, but I don't like it. We could just as gladly give the project any other Greek-sounding name, like Papadopolous.

Arising from all the chaos and debate, the Atom format became a beautifully specified IETF standard in 2005 edited by Mark Nottingham and Robert Sayre that's used today in millions of feeds. It is the most popular syndication format that's never argued about.

Everybody got that out of their system on the wiki.




as

Has the RSS Advisory Board Followed the Roadmap?

There has been recent discussion about the roadmap that was added to the RSS 2.0 specification in August 2002 announcing that there would be no new additions to RSS, freezing its set of elements and attributes forever and ever amen. The roadmap stated, "We anticipate possible 2.0.2 or 2.0.3 versions, etc. only for the purpose of clarifying the specification, not for adding new features to the format."

The RSS Advisory Board was formed 20 years ago to publish the specification and "make minor changes to the spec per the roadmap," as stated in the launch announcement on July 18, 2003.

If you're wondering whether the board has followed the roadmap, this timeline of RSS elements answers that question. There are 44 elements in RSS. This table shows when each element was introduced, the group that added it, and the version in which it first appeared.

There were 33 elements added to RSS by Netscape in 1999 and 11 by UserLand from 2000 to 2002. No elements have been added by the RSS Advisory Board.

ElementDate AddedPublisherVersion
channel03/1999NetscapeRSS 0.90
channel-description03/1999NetscapeRSS 0.90
channel-link03/1999NetscapeRSS 0.90
channel-title03/1999NetscapeRSS 0.90
channel-image03/1999NetscapeRSS 0.90
channel-image-link03/1999NetscapeRSS 0.90
channel-image-title03/1999NetscapeRSS 0.90
channel-image-url03/1999NetscapeRSS 0.90
channel-textInput03/1999NetscapeRSS 0.90
channel-textInput-description03/1999NetscapeRSS 0.90
channel-textInput-link03/1999NetscapeRSS 0.90
channel-textInput-name03/1999NetscapeRSS 0.90
channel-textInput-title03/1999NetscapeRSS 0.90
channel-item03/1999NetscapeRSS 0.90
channel-item-link03/1999NetscapeRSS 0.90
channel-item-title03/1999NetscapeRSS 0.90
rss07/1999NetscapeRSS 0.91
channel-copyright07/1999NetscapeRSS 0.91
channel-docs07/1999NetscapeRSS 0.91
channel-image-description07/1999NetscapeRSS 0.91
channel-image-height07/1999NetscapeRSS 0.91
channel-image-width07/1999NetscapeRSS 0.91
channel-language07/1999NetscapeRSS 0.91
channel-lastBuildDate07/1999NetscapeRSS 0.91
channel-managingEditor07/1999NetscapeRSS 0.91
channel-pubDate07/1999NetscapeRSS 0.91
channel-rating07/1999NetscapeRSS 0.91
channel-skipDays07/1999NetscapeRSS 0.91
channel-skipDays-day07/1999NetscapeRSS 0.91
channel-skipHours07/1999NetscapeRSS 0.91
channel-skipHours-hour07/1999NetscapeRSS 0.91
channel-webMaster07/1999NetscapeRSS 0.91
channel-item-description07/1999NetscapeRSS 0.91
channel-cloud12/2000UserLandRSS 0.92
channel-item-category12/2000UserLandRSS 0.92
channel-item-enclosure12/2000UserLandRSS 0.92
channel-item-source12/2000UserLandRSS 0.92
channel-category08/2002UserLandRSS 2.0
channel-generator08/2002UserLandRSS 2.0
channel-ttl08/2002UserLandRSS 2.0
channel-item-author08/2002UserLandRSS 2.0
channel-item-comments08/2002UserLandRSS 2.0
channel-item-guid08/2002UserLandRSS 2.0
channel-item-pubdate08/2002UserLandRSS 2.0

A few judgment calls had to be made compiling this list. The image and textInput elements were originally placed under the top-level element of the feed, but that is counted as their introduction even though they later moved inside channel. The rss element wasn't in the first version of RSS created by Netscape. Instead the top-level element was rdf:RDF until it was changed by Netscape to rss four months later.




as

Downloading 50,000 Podcast Feeds to Analyze Their RSS

The software developer Niko Abeler has crawled 51,165 podcast feeds to study what RSS elements they contain. His comprehensive Podcast Feed Standard report looks at the usage of core RSS elements and namespace elements from Apple iTunes, Atom, Content, Podcast 2.0 and Simple Chapters. He writes:

In the world of podcasting, there is a great deal of freedom when it comes to the format and content of a podcast. Creators are free to choose their own audio format and feed content, giving them the flexibility to create something truly unique. However, when it comes to distributing a podcast, certain standards must be followed in order to be added to an aggregator such as Apple Podcasts. Additionally, the podcasting community has come to agree upon certain conventions that can be used to add additional features to a podcast, such as chapters, enhanced audio, and more. These conventions allow for a more immersive and engaging listening experience for the audience.

This website is dedicated to providing guidance and information on the conventions and standards used in podcasting.

There's a lot of interesting data in the RSS 2.0 report, which finds that these are the six least popular elements in an RSS feed's channel:

Element Usage
docs 8.3%
cloud 0.0%
rating 0.0%
skipDays 0.0%
skipHours 0.0%
textInput 0.0%

Over 99 percent of feeds contain the optional channel element language and the optional item elements enclosure, guid, pubDate and title. Only 0.2% of feeds contain a source element in an item.

The iTunes namespace report shows a lot of variation in support. The required element itunes:explicit is only present in 18 percent of feeds and four optional elements have less than 20 percent: itunes:new-feed-url, itunes:block, itunes:complete and itunes:title. One namespace in the report, Podcast 2.0, has been proposed by Podcastindex "to provide a solution for problems which previously have been solved by multiple competing standards" and is still under development.

The report also analyzes the audio files enclosed in the podcast feeds to determine their format, bitrate, channel and loudness. The report finds that 95.6 percent use MP3 and 4.4 percent AAC/M4A. People who like an alternative open source format will be oggravated that its sliver of the pie graph is so small it can't be seen.

If Abeler isn't tired of crunching numbers, one thing that would be useful for the RSS Advisory Board to learn is how many of the feeds contain more than one enclosure element within a single item.