ca

Episode 513: Gil Hoffer on Applying DevOps Practices to Managing Business Applications

Gill Hoffer, co-founder and CTO at Salto, talks with SE Radio host Kanchan Shringi about a new persona -- the Business Engineer -- created by the rise of SaaS and adoption of best-of-breed business applications for back office systems. They examine...




ca

Episode 526: Brian Campbell on Proof of Possession Defenses

Brian Campbell, Distinguished Engineer at Ping Identity discusses cryptographic defences against stolen tokens for the OAUTH2 protocol with host Priyanka Raghavan. The discussion explores various subtopics such as the history of Proof of possession...




ca

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...




ca

Episode 529: Jeff Perry on Career Management for Software Engineers

Jeff Perry, career coach with experience in multiple engineering and technology fields discusses how software engineers can be intentional and proactive in evaluating and pursuing career options, with host Kanchan Shringi.




ca

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...




ca

Episode 537: Adam Warski on Scala and Tapir

Adam Warski, the co-founder and CTO of SoftwareMill, discusses Scala programming and the Tapir library. Scala is a general-purpose JVM language, and Tapir is a back-end library used to describe HTTP API endpoints as immutable Scala values. Host Philip Winston speaks with Warski about the implications of Scala being a JVM language, the Scala type system, the Scala community's view of functional vs. object-oriented programming, and the transition of the ecosystem from Scala 2 to Scala 3. The Tapir discussion explores why Tapir is a library and not a framework, how server interpreters work in Tapir, how interceptors work, and what observability features are included with Tapir.




ca

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...




ca

Episode 542: Brendan Callum on Contract-Driven APIs

Brendan Callum, engineering manager for the Pinterest developer platform team, discusses the "spec first" approach to API development and how it's different from "API first." Brendan speaks with host Kanchan Shringi about the challenges and advantages...




ca

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...




ca

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.




ca

SE Radio 565: Luca Galante on Platform Engineering

Luca Galante, head of product at Humanitec, joins host Jeff Doolittle for a conversation about platform engineering. They begin by defining platform engineering and its relationship to, and distinction from, DevOps. Tracing platform engineering's history, Luca describes how internal developer platforms are fundamental, and then explores the goals of addressing complexity and reducing the cognitive load on developers by creating golden paths.




ca

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.




ca

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.




ca

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.




ca

SE Radio 597: Coral Calero Muñoz and Félix García on Green Software

Coral Calero Muñoz and Felix Garcia, professors at the University of Castilla-La Mancha, speak with host Giovanni Asproni about green and sustainable software—an approach to software development aimed at creating software systems that consume less energy and produce less CO2 during their entire lifetimes with minimal impact on their functionality and other qualities. The episode starts by describing why green software matters, particularly in the context of global warming, and introducing the key concepts. Continues discussing the current status of the field, in both academia and industry, and finishes with hints and tips that can be readily applied by development teams to make their systems greener. Brought to you by IEEE Computer Society and IEEE Software magazine.




ca

SE Radio 600: William Morgan on Kubernetes Sidecars and Service Mesh

William Morgan, founder of the Linkerd service mesh and CEO of Bouyant, joins SE Radio’s Robert Blumen for a discussion of sidecars, service mesh, and a forthcoming enhancement to kubernetes to support sidecars natively. The conversation explores the origin of sidecars, sidecars and service mesh, and migrating service mesh to kubernetes. They take a deep dive into some aspects of running service mesh on kubernetes, the difficulties in running a sidecar container in a pod, and Kubernetes Enhancement Proposal (KEP) 753, which is intended to provide better native support for sidecar containers. William also gives some thoughts on the continuing relevance of service mesh.




ca

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.




ca

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.




ca

SE Radio 610: Phillip Carter on Observability for Large Language Models

Phillip Carter, Principal Product Manager at Honeycomb and open source software developer, talks with host Giovanni Asproni about observability for large language models (LLMs). The episode explores similarities and differences for observability with LLMs versus more conventional systems. Key topics include: how observability helps in testing parts of LLMs that aren't amenable to automated unit or integration testing; using observability to develop and refine the functionality provided by the LLM (observability-driven development); using observability to debug LLMs; and the importance of incremental development and delivery for LLMs and how observability facilitates both. Phillip also offers suggestions on how to get started with implementing observability for LLMs, as well as an overview of some of the technology's current limitations. This episode is sponsored by WorkOS.




ca

SE Radio 623: Michael J. Freedman on TimescaleDB

Michael J. Freedman, the Robert E. Kahn Professor in the Computer Science Department at Princeton University, as well as the co-founder and CTO of Timescale, spoke with SE Radio host Gavin Henry about TimescaleDB. They revisit what time series data means in 2024, the history of TimescaleDB, how it integrates with PostgreSQL, and they take the listeners through a complete setup. Freedman discusses the types of data well-suited for a timeseries database, the types of sectors that have these requirements, why PostgreSQL is the best, Pg callbacks, Pg hooks, C programming, Rust, their open source contributions and projects, data volumes, column-data, indexes, backups, why it is common to have one table for your timeseries data, when not to use timescaledb, IoT data formats, Pg indexes, how Pg works without timescaledb, sharding, and how to manage your upgrades if not using Timescale Cloud. Brought to you by IEEE Computer Society and IEEE Software magazine.




ca

SE Radio 635: Stevie Caldwell on Zero-Trust Architecture

Stevie Caldwell, Senior Engineering Technical Lead at Fairwinds, joins host Priyanka Raghavan to discuss zero-trust network reference architecture. The episode begins with high-level definitions of zero-trust architecture, zero-trust reference architecture, and the pillars of Zero Trust. Stevie describes four open-source implementations of the Zero Trust Reference Architecture: Emissary Ingress, Cert Manager, LinkerD, and the Policy Engine Polaris. Each component is explored to help clarify their roles in the Zero Trust journey. The episode concludes with a look at the future direction of Zero Trust Network Architecture.

This episode is sponsored by QA Wolf.




ca

SE Radio 640: Jonathan Horvath on Physical Security

Jonathan Horvath of Z-bit discusses physical access control systems (PACS) with host Jeremy Jung. They start with an overview of PACS components and discuss the proprietary nature of the industry, the slow pace of migration to open standards, and why Windows is commonly used. Jonathan describes the security implications of moving from isolated networks to the cloud, as well as credential vulnerabilities, encryption using symmetric keys versus asymmetric keys, and the risks related to cloning credentials. They also consider several standards, including moving from Wiegand to the Open Supervised Device Protocol (OSDP), as well as the Public Key Open Credential (PKOC) standard, and the open source OSDP implementation that Jonathan authored.

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




ca

SE Radio 641: Catherine Nelson on Machine Learning in Data Science

Catherine Nelson, author of the new O’Reilly book, Software Engineering for Data Scientists, discusses the collaboration between data scientists and software engineers -- an increasingly common pairing on machine learning and AI projects. Host Philip Winston speaks with Nelson about the role of a data scientist, the difference between running experiments in notebooks and building an automated pipeline for production, machine learning vs. AI, the typical pipeline steps for machine learning, and the role of software engineering in data science. Brought to you by IEEE Computer Society and IEEE Software magazine.




ca

AMD 5nm Zen 4 EPYC CPUs And Radeon Instinct GPUs To Power El Capitan Supercomput

AMD just announced today a design win in conjunction with the Lawrence Livermore National Laboratory (LLNL) and Hewlett-Packard Enterprise (HPE), win which it will be providing the hardware powering the El Capitan exascale-class supercomputer. What caught our eye about this announcement was not the compute performance -- which will be enormous ... [PCSTATS]




ca

CalDigit USB-C Pro Dock Review

Is the USB-C Pro Dock from CalDigit the best bang for your buck? Join us as we investigate in our review."... [PCSTATS]




ca

Corsair Scimitar RGB Elite Optical Mouse Review

The Corsair Scimitar RGB Elite is a mouse that offers plenty of buttons, turns heads with its MMO and MOBA gaming performance, and excellent build quality.... [PCSTATS]




ca

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]




ca

Where to Find the RSS Specification

The RSS Advisory Board has published the RSS 2.0 Specification for 20 years, releasing 10 revisions over that time. The current version of the specification can always be found at this URL:

https://www.rssboard.org/rss-specification

The revisions have mostly been minor, aside from one clarification that namespaces can be used to extend RSS by adding elements and attributes, not just elements.

The best way to learn how to implement RSS as a software developer is to read the RSS Best Practices Profile created by the board. It includes all the rules of the specification along with our recommendations for how to handle issues that have arisen among implementers.

For example, the enclosure section describes how to deal with the biggest ambiguity in RSS: Can an item contain more than one enclosure?

The RSS specification is available under a Creative Commons Attribution/Share Alike license, so it can be republished on websites and software related to RSS and syndication under those terms.




ca

Tara Calishain Explains: What is RSS?

The exodus of users away from Twitter and Reddit has led many of those information refugees to discover the joy of subscribing to feeds in a reader. RSS and Atom feeds are an enormous open decentralized network that can never be ruined under new ownership -- because there's no owner.

Tara Calishain of ResearchBuzz has written a 4,000-word introduction to RSS for people who are new to the world of feeds:

I could not do ResearchBuzz without RSS feeds. They're invaluable. And I think if you learn more about them, you'll appreciate why I consider RSS the most underrated tech on the Internet. That's what this article is about: I'm going to explain what RSS feeds are, show you how to find them, go over some of the RSS feed readers available, and, finally, list several tools and resources you might find useful on your journey.

... I follow over a thousand RSS feeds which deliver information to me throughout the day. Do you think I could visit a thousand websites a day to check for new information? Even if I tried to visit a thousand a week that would be over 142 websites a day. Assuming it took me two minutes to visit a site and check for new content, I would spend over 4.5 hours a day just visiting websites.

Do you see why I'm so grateful for RSS?

Calishain, who was blogging before Netscape created RSS in 1999, covers a lot more than the basics, showing how to find hidden feeds on websites, check a bunch of feeds for freshness and create keyword-based feeds to search sites like Google News, Hacker News and WordPress. Even experienced readers of readers will learn new things, and there's a collection of nine handy RSS Gizmos she has developed.

On that subject, Calishain just began programming a year ago:

In spring 2022 I decided to find out if I could really learn JavaScript after being diagnosed as autistic. (I'm a high school dropout and didn't think I could learn something like programming.)

I CAN! And I LOVE IT!

Welcome to the not-so-secret society of programmers, Tara! Please slow down a little. You're making the rest of us look bad.




ca

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.













ca

Political Violence Is Not Violence Against Politicians

Indigenous communities have long resisted the false narratives of imperialist nations and are experts at countering the political violence of white supremacy.




ca

What Kamala Harris’ Candidacy Means

The Vice President becomes the presumptive Democratic presidential nominee in a game-changing political moment.





ca

The Contentious Role of Third-Party Candidates

In a high-stakes election, left-leaning third party candidates are receiving Republican support, and may be wooing disaffected progressive voters. Former Green Party vice presidential candidate Rosa Clemente shares her take on this year’s race.




ca

Can Massive Election Turnout Save Democracy?

An extremely tight race for the presidency is sparking a last-minute, Black-led GOTV effort aimed at Black voters in swing states.






ca

Ending “Death by Incarceration”

A Pennsylvania man is challenging mandatory life without parole sentencing for felony murders in a case that has national implications.




ca

Dr. Ibram X Kendi’s Progress 2025 Vision for Education

In the face of Project 2025’s dystopian vision for education, Ibram X Kendi lays out a progressive alternative for public education in the U.S.