nc

Episode 109: eBay’s Architecture Principles with Randy Shoup

In this episode we discuss with Randy Shoup, Distinguished Architect at eBay, about architectural pinciples and patterns used for building the highly scalable eBay infrastructure. The discussion is structured into four main ideas: partition everything, use asynchrony everywhere, automate everything, and design the system keeping in mind that everything fails at some point in a large distributed system.




nc

Episode 125: Performance Engineering with Chris Grindstaff

In this episode Martin talks with Chris Grindstaff about the fundamentals of performance engineering. The episode discusses when and how to work on performance of client- and server-side systems, what you should take into account during development to avoid performance issues, typical situations that cause performance problems, and some common pitfalls when analysing performance.




nc

Episode 149: Difference between Software Engineering and Computer Science with Chuck Connell

Michael discusses with his guest Chuck Connell the differences between software engineering and computer science. What makes software engineering so unpredictable, with so few formal results? And how can we advance the field of software engineering without these results?




nc

Episode 189: Eric Lubow on Polyglot Persistence

Recording Venue: Skype Guest: Eric Lubow Eric Lubow and Robert discuss polyglot persistence, a term used to describe systems that incorporate multiple specialized persistent stores rather than a single general-purpose database.  Eric provides insights into the forces driving this trend:  including diverse data usage patterns, low latency, and increasing volumes of data.  The emergence of […]




nc

Episode 192: Open Source Development: Perspectives From Management Science

Recording Venue: Swiss Federal Institute of Technology, Zürich Guest: Georg von Krogh Open source development has had a major impact on both private and public development and use of software. This is an interview with one of the key researchers on open source development, Professor Georg von Krogh of the Swiss Federal Institute of Technology in […]




nc

Episode 211: Continuous Delivery on Windows with Rachel Laycock and Max Lincoln

Johannes talks with Rachel Laycock and Max Lincoln from ThoughtWorks about continuous delivery on Windows. The outline includes: introduction to continuous delivery; continuous integration; DevOps and ChatOps; decisions to be taken when implementing continuous delivery on windows; build tools on windows; packaging and deploy on windows; infrastructure automation and infrastructure as code with chef, puppet […]




nc

SE Radio 225 - Brendan Gregg on Systems Performance

Senior performance architect and author of *Systems Performance* Brendan Gregg talks with Robert Blumen about systems performance: how the hardware and OS layers affect application behavior. The discussion covers the scope of systems performance, systems performance in the software life cycle, the role of performance analysis in architecture, methodologies for solving performance problems, dynamic tracing and tracing tools such as DTrace, the disk and file subsystems, the CPU and memory subsystems, and the challenges virtualization poses for performance analysts.




nc

SE-Radio Episode 272: Frances Perry on Apache Beam

Jeff Meyerson talks with Frances Perry about Apache Beam, a unified batch and stream processing model. Topics include a history of batch and stream processing, from MapReduce to the Lambda Architecture to the more recent Dataflow model, originally defined in a Google paper. Dataflow overcomes the problem of event time skew by using watermarks and other methods discussed between Jeff and Frances. Apache Beam defines a way for users to define their pipelines in a way that is agnostic of the underlying execution engine, similar to how SQL provides a unified language for databases. This seeks to solve the churn and repeated work that has occurred in the rapidly evolving stream processing ecosystem.




nc

SE-Radio Episode 277: Gil Tene on Tail Latency

Gil Tene joins Robert Blumen for a discussion of tail latency. What is latency? What is "tail latency"? Why are the upper percentiles of latency more relevant to humans? How is human interaction with an application influenced by tail latency? What are the economics of tail latency? What are the origins of tail latency within a system? What is the difference between response time and service time? How does queuing within a system contribute to response time? Java garbage collection and its contribution to latency outliers. How can we build systems with bounded tail latency out of components with variable latency? What type of observability to do we need to build systems with bounded latency? How is latency a driver of capacity planning?




nc

SE-Radio Episode 303: Zachary Burt on Freelancing as a Career Option

Felienne interviews Zachary Burt about freelancing as a career option. How does freelancing differ from employment? How to do personal marketing and sales? How to find a work-life balance when you are self-employed? We also cover practical tips like deciding on an hourly rate and managing demanding customers.




nc

SE-Radio Episode 310: Kirk Pepperdine on Performance Optimization

Kirk Pepperdine talks with Diomidis Spinellis about performance optimization. Topics include development practices, tools, as well as the role of software architecture, programming languages, algorithms, and hardware advances.




nc

SE-Radio Episode 315: Jeroen Janssens on Tools for Data Science

Felienne interviews Jeroen Janssens about data science, examining the basic concepts, as well as the skills and tools needed to be(come) a data scientist.




nc

SE-Radio Episode 321: Péter Budai on End to End Encryption

Péter Budai and Kim Carter discuss End to End Encryption (E2EE), backdoors, the scenarios where E2EE can be and should be used. IM, VoIP, Email scenarios, interservice communication scenarios such as securing data in use.




nc

SE-Radio Episode 340: Lara Hogan and Deepa Subramaniam on Revitalizing a Cross-Functional Product Organization

Travis Kimmel talks with Lara Hogan and Deepa Subramaniam about evidence-based tactics that product and engineering leaders can use to can use to diagnose problems that are holding back their teams, and build healthier, high-performing organizations.




nc

SE-Radio Episode 347: Daniel Corbett on Load Balancing and HAProxy

Guest Daniel Corbett discusses how to scale your application with the help of load balancing. Hear details on HAProxy and the load balancing ecosystem as a whole.




nc

SE-Radio Episode 348 Riccardo Terrell on Concurrency

Felienne interviews Riccardo Terrell on his book ‘Concurrency in .NET: Modern patterns of concurrent and parallel programming’ on concurrency, parallelism and immutability and common issues that developers run into when solving concurrent problems.




nc

SE-Radio Episode 362: Simon Riggs on Advanced Features of PostgreSQL

Simon Riggs, founder and CTO of 2nd Quadrant, discusses the advanced features of the Postgres database, that allow developers to focus on applications whilst the database does the heavy lifting of handling large and diverse quantities of data.




nc

Episode 386: Building Low Latency Applications with WebRTC

WebRTC provides real time video and audio streaming capabilities to applications. Spencer Dixon explains the different parts of WebRTC and how they used it to build a pair programming application.




nc

Episode 403: Karl Hughes on Speaking at Tech Conferences

Felienne interviews Karl Hughes about doing tech talks. How to get into conferences and how to design and deliver a great talk.




nc

Episode 413: Spencer Kimball on CockroachDB

Spencer Kimball talks to Akshay Manchale about CockroachDB which is a distributed, resilient, SQL database system. He talks about challenges of using single node databases and features and principles behind CockroachDB that make it a better alternative open source database.




nc

Episode 415: Berkay on Incident Management

Berkay Mollamustafaoglu, founder of Ops Genie, discusses the keys to an effective incident management process. Many aspects of incident management are counter intuitive. Why does increasing the rate of change increase uptime? Why is culture the most...




nc

Episode 418: Functional Programming in Enterprise Applications

Vladimir Khorikov discusses functional programming in enterprise applications with Jeremy Jung.




nc

Episode 443: Shawn Wildermuth on Diversity and Inclusion in the Workplace

Felienne discusses diversity and inclusivity in software development with Shawn Wildermuth, Microsoft MVP and creator of the Hello World movie.




nc

Episode 461 Michael Ashburne and Maxwell Huffman on Quality Assurance

Michael Ashburne and Maxwell Huffman discuss Quality Assurance with Jeremy Jung.




nc

Episode 484: Audrey Lawrence on Timeseries Databases

Audrey Lawrence of Amazon discusses Timeseries Databases and their new database offering Amazon Timestream. Philip Winston spoke with Lawrence about data modeling, ingestion, queries, performance, life-cycle management, hot data vs. cold data...




nc

Episode 496: Bruce Momjian on Multi-Version Concurrency Control in Postgres (MVCC)

This week, Postgres server developer Bruce Momjian joins host Robert Blumen for a discussion of multi-version concurrency control (MVCC) in the Postgres database. They begin with a discussion of the isolation requirement in database transactions (I in ACID); how isolation can be achieved with locking; limitations of locking; how locking limits concurrency and creates variability in query runtimes; multi-version concurrency control as a means to achieve isolation; how Postgres manages multiple versions of a row; snapshots; copy-on-write and snapshots; visibility; database transaction IDs; how tx ids, snapshots and versions interact; the need for locking when there are multiple writers; how MVCC was added to Postgres; and how to clean up unused space left over from aged-out versions.




nc

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




nc

Episode 524: Abi Noda on Developer Experience

In this episode, Abi Noda, founder of Pull Panda and DX, discusses developer experience with SE Radio host Brijesh Ammanath. They examine the basic concept of DX and its importance before diving into a wide variety of issues, including methodologies...




nc

Episode 535: Dan Lorenc on Supply Chain Attacks

Dan Lorenc, CEO of Chainguard, a software supply chain security company, joins SE Radio editor Robert Blumen to talk about software supply chain attacks. They start with a review of software supply chain basics; how outputs become inputs of someone...




nc

Episode 550: J.R. Storment and Mike Fuller on Cloud FinOps (Financial Operations)

J.R. Storment and Mike Fuller discuss cloud financial operations (FinOps) with host Akshay Manchale. They consider the importance of a financial operations strategy for cloud-based infrastructure. J.R. and Mike discuss the differences between operating your own data center and running in the cloud, as well as the problems that doing so creates in understanding and forecasting cloud spend. Mike details the Cloud FinOps lifecycle by first attributing organizational cloud spend through showbacks and chargebacks to individual teams and products. JR describes the two levers available for optimization once an organization understands where they're spending their cloud budget. They discuss complexities that arise from virtualized infrastructure and techniques to attribute cloud usage to the correct owners, and close with some recommendations for engineering leaders who are getting started on cloud FinOps strategy.




nc

SE Radio 559: Ross Anderson on Software Obsolescence

Ross John Anderson, Professor of Security Engineering at University of Cambridge, discusses software obsolescence with host Priyanka Raghavan. They examine risks associated with software going obsolete and consider several examples of software obsolescence, including how it can affect cars. Prof. Anderson discusses policy and research in the area of obsolescence and suggests some ways to mitigate the risks, with special emphasis on software bills of materials. He describes future directions, including software policy and laws in the EU, and offers advice for software maintainers to hedge against risks of obsolescence.




nc

SE Radio 571: Jeroen Mulder on Multi-Cloud Governance

Jeroen Mulder, author of Multi-Cloud Strategy for Cloud Architects, joins host Robert Blumen for a discussion of public cloud, private cloud, and multi-cloud computing architectures and trends. They start by considering what defines cloud computing and what differentiates the major cloud providers, including whether they are more alike or different in the services they offer.  Jeroen discusses governance, regulatory compliance, and data locality as drivers of where enterprises want to run their workload. They explore use cases for multi-cloud, and discuss architectural challenges in migrating to kubernetes, as well as issues with networking, security, and identity management with multi-cloud architectures. Finally, they discuss running public cloud compute on on-prem resources with Anthos, Outback, and related technologies.




nc

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.




nc

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.




nc

SE Radio 587: M. Scott Ford on Managing Dependency Freshness

M. Scott Ford, the CTO of Corgibytes and host of the Legacy Code Rocks podcast, discusses managing dependency freshness. SE Radio’s Sam Taggart speaks with him about why dependency freshness is important to ensure that your code has all the latest bug fixes, how exactly to measure dependency freshness, and some of the insights that teams can gain from monitoring freshness over time. Brought to you by IEEE Computer Society and IEEE Software Magazine.




nc

SE Radio 617: Frances Buontempo on Modern C++

Frances Buontempo, author of the new book Learn C++ by Example, discusses the C++ programming language, a widely used general-purpose programming language. Host Philip Winston spoke with Buontempo about where C++ fits into the landscape of existing programming languages and how recent C++ standards have changed things. They talk about specific language features such as lambdas, templates, concurrency, ranges, concepts along with tips for learning and using C++. Brought to you by IEEE Software and IEEE Computer Society.




nc

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.




nc

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.




nc

Tales of the Nobel Prize announcement

-- Delivered by Feed43 service




nc

Philips Performance Wireless TAPH805BK Bluetooth Headset Review

The Philips Performance Wireless TAPH805BK are wireless headphones with battery life that will knock your socks off, but the sound quality has a lot of room for improvement.... [PCSTATS]




nc

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]




nc

RSS Enclosure Support in WordPress

One of the biggest challenges for a software developer implementing the RSS 2.0 specification is the issue of enclosures in a feed item. The specification is infamously unclear on whether an item allows one enclosure or multiple enclosures.

The RSS Advisory Board worked on the RSS Best Practices Profile for nearly two years, investigating a lot of RSS readers and feed producers to see how they handled issues like this. We ultimately made the following recommendation for enclosure:

Support for the enclosure element in RSS software varies significantly because of disagreement over whether the specification permits more than one enclosure per item. Although the author intended to permit no more than one enclosure in each item, this limit is not explicit in the specification.

Blogware, Movable Type and WordPress enable publishers to include multiple enclosures in each item of their RSS documents. This works successfully in some aggregators, including BottomFeeder, FeederReader, NewsGator and Safari.

Other software does not support multiple enclosures, including Bloglines, FeedDemon, Google Reader and Microsoft Internet Explorer 7. The first enclosure is downloaded automatically, an aspect of enclosure support relied on in podcasting, and the additional enclosures are either ignored or must be requested manually.

For best support in the widest number of aggregators, an item SHOULD NOT contain more than one enclosure.

Because the profile was completed in 2007, it would be useful to see how current software handles RSS enclosures to evaluate whether any recommendations should be reconsidered. To start this effort the current WordPress was tested, since that massively successful platform publishes 60 million RSS feeds. WordPress enables audio files to be added to a blog post using the Audio icon in the block editor:

When three audio files were added to a blog post in WordPress, the item in the RSS feed contained three enclosure elements:

<enclosure url="http://example.com/Fanfare60.wav" length="2646044" type="audio/wav" />
<enclosure url="http://example.com/CantinaBand60.wav" length="2646044" type="audio/wav" />
<enclosure url="http://example.com/ImperialMarch60.wav" length="2646044" type="audio/wav" />

Follow this blog for more updates on enclosure usage in feeds and feed readers.

As you probably guessed, we have an RSS feed.




nc

RSS Enclosure Support in Micro.Blog

An effort is underway to examine how feed publishers and feed consumers are handling the lack of clarity in the RSS 2.0 specification about whether an item can contain more than one enclosure. The RSS Best Practices Profile recommends that a feed item should contain no more than one enclosure "for best support in the widest number of aggregators," advice worth testing against current usage.

The artisanal small-batch blogging service Micro.blog is a platform for sharing short posts like Twitter, but in a way designed to be less viral, more low key and less prone to provocation, attention seeking and clout chasing. There are no follower counts, public likes or trending topics. Founder Manton Reese explained why in his book Indie Microblogging:

Big social networks like Instagram are designed to amplify accounts that gain traction, whether they are fake or not.

Micro.blog limits search and avoids public likes and reposts so that the snowball starts small and stays small. Instead of going viral and becoming a major problem, fake accounts can be spotted early and shut down if necessary.

Since being funded by a Kickstarter campaign in 2017 that hit its goal in one day, Micro.blog has attracted a dedicated following. One of the options available to premium subscribers is to host a podcast. An audio button appears below the post editing window to choose a media file.

Choosing a podcast file to add to a post

Micro.blog sites have a primary RSS feed and a separate podcast feed. The latter contains enclosure elements. Because the Micro.blog editing window does not allow more than one podcast to be added to a post, the RSS item for a post contains only one enclosure:

<item>
  <title>RSS Enclosure Test</title>
  <link>https://rcade.micro.blog/2023/07/02/rss-enclosure-test.html</link>
  <pubDate>Sun, 02 Jul 2023 21:39:52 -0400</pubDate>
  <guid isPermaLink="true">https://rcade.micro.blog/2023/07/02/rss-enclosure-test.html</guid>
  <description><p>I’m trying out Micro.blog’s support for podcasting to see how it handles enclosures in RSS feeds. This MP3 was released by David Byrne under Creative Commons Sampling Plus:</p> <p><a href="https://creativecommons.org/licenses/sampling+/1.0/.">creativecommons.org/licenses/…</a></p> <audio controls="controls" src="https://cdn.uploads.micro.blog/67258/2023/my-fair-lady-david-byrne.mp3" preload="metadata"> </description>
  <itunes:subtitle><p>I’m trying out Micro.blog’s support for podcasting to see how it handles enclosures in RSS feeds. This MP3 was released by David Byrne under Creative Commons Sampling Plus:</p> <p><a href="https://creativecommons.org/licenses/sampling+/1.0/.">creativecommons.org/licenses/…</a></p> <audio controls="controls" src="https://cdn.uploads.micro.blog/67258/2023/my-fair-lady-david-byrne.mp3" preload="metadata"> </itunes:subtitle>
  <itunes:summary><p>I’m trying out Micro.blog’s support for podcasting to see how it handles enclosures in RSS feeds. This MP3 was released by David Byrne under Creative Commons Sampling Plus:</p> <p><a href="https://creativecommons.org/licenses/sampling+/1.0/.">creativecommons.org/licenses/…</a></p> <audio controls="controls" src="https://cdn.uploads.micro.blog/67258/2023/my-fair-lady-david-byrne.mp3" preload="metadata"> </itunes:summary>
  <enclosure url="https://rcade.micro.blog/uploads/2023/my-fair-lady-david-byrne.mp3" type="audio/mpeg" length="3394751"/>  <itunes:duration>212</itunes:duration>
</item>

Micro.blog's commitment to being small extends to podcasts, where its Wavelength app for iPhone can be used to record, edit and publish a short-form podcast.




nc

Sacred Sustenance

Fifty years ago, the Boldt decision reaffirmed Indigenous fishing rights and recognized tribes as equal partners in resource management.




nc

How to Defeat the Far-Right: Lessons From the French Left

Analyst Jean Bricmont offers a deep analysis of how France's left-leaning coalition swept a plurality of seats in the recent snap elections.





nc

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.