with Episode 178: Akka With Jonas Boner By www.se-radio.net Published On :: Wed, 10 Aug 2011 16:25:26 +0000 This episode is a conversation with Jonas Boner about Akka. Full Article
with Episode 179: Cassandra with Jonathan Ellis By www.se-radio.net Published On :: Sat, 08 Oct 2011 04:54:33 +0000 Cassandra is a distributed, scalable non-relational data store influenced by the Google BigTable project and many of the distributed systems techniques pioneered by the Amazon Dynamo paper. Full Article
with Episode 180: Leading Agile Developers with Jurgen Appelo By www.se-radio.net Published On :: Tue, 25 Oct 2011 04:12:16 +0000 In this episode Michael interviews Jurgen Appelo on the topic of leading agile developers. Full Article
with Episode 181: Distributed Scrum with Rini van Solingen By www.se-radio.net Published On :: Wed, 07 Dec 2011 03:59:45 +0000 In this episode we talk with Rini van Solingen about scrum and agile software development in distributed settings. Full Article
with Episode 182: Domain-Specific Languages with Martin Fowler and Rebecca Parsons By www.se-radio.net Published On :: Wed, 25 Jan 2012 03:43:44 +0000 In this episode, Markus talk with Martin Fowler and Rebecca Parsons about domain-specific languages. Full Article
with Episode 184: The Mainframe with Jeff Frey By www.se-radio.net Published On :: Wed, 14 Mar 2012 23:07:45 +0000 Recording Venue: Phone Guest: Jeff Frey System z, or the Mainframe, holds most of us in awe — the ultimate computing platform, referenced in Hollywood as well as by those who thought they were dealing with “legacy” systems — but what does Mainframe really mean? What does its stack look like? This leading virtualized infrastructure […] Full Article
with Episode 196: Personal Kanban with Jim Benson By www.se-radio.net Published On :: Wed, 31 Jul 2013 20:55:04 +0000 Recording Venue: WebEx Guest: Jim Benson Jim Benson is CEO of Modus Cooperandi, a collaborative management consultancy in Seattle, Washington. After being steeped in Agile for many years, Jim started working with Kanban and Lean thinking in 2005. In 2008, he started taking this idea further with Personal Kanban, which brings flow based work to the […] Full Article
with Episode 211: Continuous Delivery on Windows with Rachel Laycock and Max Lincoln By www.se-radio.net Published On :: Tue, 30 Sep 2014 16:11:12 +0000 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 […] Full Article
with Episode 219: Apache Kafka with Jun Rao By www.se-radio.net Published On :: Mon, 09 Feb 2015 22:41:28 +0000 Jeff Meyerson talks to Jun Rao, a software engineer and researcher (formerly of LinkedIn). Jun has spent much of his time researching MapReduce, scalable databases, query processing, and other facets of the data warehouse. For the past three years, he has been a committer to the Apache Kafka project. Jeff and Jun first compare streaming […] Full Article
with Episode 222: Nathan Marz on Real-Time Processing with Apache Storm By www.se-radio.net Published On :: Fri, 06 Mar 2015 17:32:44 +0000 Nathan Marz is the creator of Apache Storm, a real-time streaming application. Storm does for stream processing what Hadoop does for batch processing. The project began when Nathan was working on aggregating Twitter data using a queue-and-worker system he had designed. Many companies use Storm, including Spotify, Yelp, WebMD, and many others. Jeff and Nathan […] Full Article
with Episode 228: Software Architecture Sketches with Simon Brown By traffic.libsyn.com Published On :: Wed, 10 Jun 2015 22:49:59 +0000 Full Article
with Episode 229: Flavio Junqueira on Distributed Coordination with Apache ZooKeeper By traffic.libsyn.com Published On :: Tue, 16 Jun 2015 22:53:02 +0000 Full Article
with SE-Radio Episode 240: The Groovy Language with Cédric Champeau By traffic.libsyn.com Published On :: Thu, 22 Oct 2015 17:24:10 +0000 Full Article
with SE-Radio Episode 243: RethinkDB with Slava Akhmechet By traffic.libsyn.com Published On :: Fri, 20 Nov 2015 22:14:22 +0000 Full Article
with SE-Radio-Episode-249:-Vaughn-Vernon-on-Reactive-Programming-with-the-Actor-Model By traffic.libsyn.com Published On :: Thu, 11 Feb 2016 21:45:32 +0000 Full Article
with SE-Radio-Episode-255:-Monica-Beckwith-on-Java-Garbage-Collection By traffic.libsyn.com Published On :: Tue, 26 Apr 2016 19:56:41 +0000 Monica Beckwith joins Robert Blumen for a discussion of java garbage collection. What is garbage collection? GC algorithms; history of GC in the java language; fragmentation and compaction; generational strategies; causes of pauses; impact of pauses on application performance; tuning GC; GC on multi-core and large memory machines; should production servers be implemented in non-GC languages?; going off heap and other programming techniques to avoid garbage; the future of java GC. Full Article
with SE-Radio Episode 256: Jay Fields on Working Effectively with Unit Tests By traffic.libsyn.com Published On :: Tue, 03 May 2016 22:18:10 +0000 Full Article
with SE-Radio Episode 262: Software Quality with Bill Curtis By traffic.libsyn.com Published On :: Tue, 12 Jul 2016 16:23:23 +0000 Sven Johann talks with Bill Curtis about Software Quality. They discuss examples of failed systems like Obama Care; the role of architecture; move an org from chaos to innovation; relation between Lean, quality improvement and CMM; Team Software Process. Full Article
with SE-Radio-Episode-287:-Success-Skills-for-Architects-with-Neil-Ford By traffic.libsyn.com Published On :: Tue, 11 Apr 2017 20:04:53 +0000 Neal Ford chats with Kim Carter about the required skills of a Software Architect, creating and maintain them, transition roles. The importance of history, developing soft skills, and dealing with losing technical skills. Full Article
with SE-Radio Episode 289: James Turnbull on Declarative Programming with Terraform By traffic.libsyn.com Published On :: Tue, 25 Apr 2017 15:36:41 +0000 James Turnbull joins Robert Blumen for a discussion of Terraform, an infrastructure-as-code tool, and a deep dive into how Terraform implements the declarative programming model. Full Article
with SE-Radio Episode 296: Type Driven Development with Edwin Brady By traffic.libsyn.com Published On :: Mon, 10 Jul 2017 20:13:56 +0000 Edwin Brady speaks to Matthew Farwell about Type Driven Development and the Idris Programming language. The show covers: what a type is; static vs dynamic types in programming languages; dependent types; the Idris programming language; why Idris was created. Type safe printf modelling state in Idris modelling protocols in Idris modelling concurrency in Idris type driven development and how it changes the development process. Full Article
with SE-Radio Episode 327: Glynn Bird on Developer Productivity with Open Source By traffic.libsyn.com Published On :: Tue, 12 Jun 2018 22:12:01 +0000 Nate Black interviews Glynn Bird on using open source to develop your career or get a job, and how maximize productivity and learning. We discuss how to get your pull request accepted, how to make your own project successful, and how to survive updates. Full Article
with SE-Radio Episode 334: David Calavera on Zero-downtime Migrations and Rollbacks with Kubernetes By traffic.libsyn.com Published On :: Tue, 14 Aug 2018 17:27:15 +0000 Jeremy Jung talks with David Calavera about zero-downtime migrations and rollbacks with Kubernetes. In this episode we define migrations, rollbacks, and discuss how Netlify was able to migrate to Kubernetes and roll back off of it multiple times without impacting their users. David explains how developers can run old and new systems simultaneously, the importance of defining errors in your system, and when to apply fixes vs rolling back. We also discuss their decision to move to Kubernetes, and the benefits they received. Full Article
with SE Radio Episode 342 - István Lam on Privacy by Design with GDPR By se-radio.net Published On :: Thu, 18 Oct 2018 17:58:27 +0000 István Lam of Tresorit talks with host Kim Carter about GDPR (the EU General Data Protection Regulation, which has been described as “the most important change in data privacy regulation in 20 years.”) The discussion covers terminology, planning, implementation, users' rights regarding their personal data, managing personally identifiable information (PII) across an organization, and required documentation. István talks about establishing the intent of different types of PII; when data can be shared or sold, when PII can be stored; storage of backups, and the ability to reveal, modify, or remove all of a customer's PII. Full Article
with Episode 351 - Bernd Rücker on Orchestrating Microservices with Workflow Management By se-radio.net Published On :: Thu, 10 Jan 2019 23:39:57 +0000 Bernd Rücker, who has contributed to multiple open source workflow management projects, discusses orchestrating microservices with workflow management. As distributed systems evolve into a family of microservices that must handle long-running stateful processes with time-dependent actions, events, multiple paths through the system, and complex rollbacks, the workflow management model provides a way to ensure clear modeling, correctness, and separation of concerns. Rücker recommends a federated model in which each microservice is paired with its own workflow to handle retries and other policies and failure modes around that service. Robert Blumen spoke with Rücker about microservice architecture, event-driven systems, long-running stateful processes versus synchronous request/response, event handling, time-outs, and handling exceptional conditions with compensating transactions. Rücker compares the choreography versus orchestration models for collaboration and discusses why orchestration provides a better separation of concerns. The discussion delves into the implementation of workflow management systems including persistence, scaling, event handling, timers and scheduling, and similarities to CQRS. The discussion wraps up with monitoring and visualization. Full Article
with SE-Radio Episode 356: Tim Coulter on Truffle, Smart Contracts and DApp Development with Truffle, Truffle Ecosystem and Roadmap By traffic.libsyn.com Published On :: Thu, 14 Feb 2019 21:28:58 +0000 Tim Coulter, the founder of Truffle (Ethereum DApp development framework) discusses the Truffle framework for Ethereum SmartContracts and Decentralized App development. Kishore Bhatia spoke with Tim Coulter about: Ethereum Decentralized Apps (DApps)... Full Article
with SE-Radio Episode 359: Engineering Maturity with Jean-Denis Greze By traffic.libsyn.com Published On :: Wed, 06 Mar 2019 18:45:10 +0000 How can you scale an engineering organization when you havent already experienced rapid growth? Jean-Denis Greze of Plaid explains how to proactively enhance team capabilities and readiness by leveling up through a maturity map. Full Article
with 366: Test Automation with Arnon Axelrod By traffic.libsyn.com Published On :: Thu, 16 May 2019 00:33:35 +0000 Arnon Axelrod speaks with SE Radio’s Simon Crossley about test automation, a large complex subject that most listeners will have at least some familiarity with. Axelrod has worked in software engineering and test automation in several high-tech companie... Full Article
with Episode 376: Justin Richer On API Security with OAuth 2 By se-radio.net Published On :: Tue, 13 Aug 2019 17:44:10 +0000 Justin Richer, lead author of the OAuth2 In Action book discusses the key technical features of the OAuth2 authorization protocol and the current best practices for selecting the right parts of it for your use case. Full Article
with Episode 386: Building Low Latency Applications with WebRTC By traffic.libsyn.com Published On :: Wed, 30 Oct 2019 00:37:50 +0000 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. Full Article
with Episode 393: Jay Kreps on Enterprise Integration Architecture with a Kafka Event Log By traffic.libsyn.com Published On :: Wed, 18 Dec 2019 20:26:58 +0000 Jay Kreps, CEO of Confluent, talks with Robert Blumen about how an enterprise integration architecture organized around a Kafka event log simplifies integration and enables rich forms of data sharing. #podcast #seradio #ieeecs #ComputerSociety Full Article
with Episode 397: Pat Helland on Data Management with Microservices.mp3 By traffic.libsyn.com Published On :: Thu, 06 Feb 2020 18:07:13 +0000 Pat Helland talks to host Akshay Manchale about Data Management at scale in a Microservices world. Pat talks about trends in managaging data in a distributed microservices world, immutability, idempotence, inside and outside data, descriptive... Full Article
with Episode 398: Apache Kudu with Adar Leiber Dembo By traffic.libsyn.com Published On :: Wed, 12 Feb 2020 18:52:59 +0000 Adar Leiber-Dembo talks to SE Radio’s Akshay Manchale about Apache Kudu, a system for fast analytics in a column-based storage system. They explore how to leverage Kudu for data analytics, as well as its rich feature set and integration options with other SQL and analytical engines. Full Article
with Episode 436: Apache Samza with Yi Pan By traffic.libsyn.com Published On :: Tue, 24 Nov 2020 18:45:15 +0000 Yi Pan is the lead maintainer of the Apache Samza project and discusses the use cases for stream processing frameworks, how to use them, and the benefits & drawbacks of a framework like Samza. Full Article
with Episode 441 Shipping Software - With Bugs By traffic.libsyn.com Published On :: Tue, 05 Jan 2021 21:11:22 +0000 James Smith, CEO and co-founder of Bugsnag discusses “Why it is ok to ship your software with Bugs.” Full Article
with Episode 505: Daniel Stenberg on 25 years with cURL By se-radio.net Published On :: Tue, 29 Mar 2022 21:44:50 +0000 Daniel Stenberg, founder and lead developer of cURL and libcurl, and winner of the Polhem Prize, discusses the history of the project, key events in the project timeline, war stories, favorite command line options and various experiences from 25 years of developing an Open Source project. Full Article
with Episode 505: Daniel Stenberg on 25 years with cURL By se-radio.net Published On :: Tue, 29 Mar 2022 21:44:58 +0000 Daniel Stenberg, founder and lead developer of cURL and libcurl, and winner of the Polhem Prize, discusses the history of the project, key events in the project timeline, war stories, favorite command line options and various experiences from 25 years of developing an Open Source project. Full Article
with Episode 516: Brian Okken on Testing in Python with pytest By se-radio.net Published On :: Thu, 16 Jun 2022 16:26:12 +0000 In this episode, we explore the popular pytest python testing tool with author Brian Okken, author of Python Testing with pytest. We start by discussing why pytest is so popular in the Python community: its focus on simplicity, readability, and developer ease-of-use; what makes pytest unique; the setup and teardown of tests using fixtures, parameterization, and the plugin ecosystem; mocking; why we should design for testing, and how to reduce the need for mocking; how to set up a project for testability; test-driven development, and designing your tests so that they support refactoring. Finally, we consider some complementary tools that can improve the python testing experience. Full Article
with Episode 551: Vidal Graupera on Manager 1-1 with Direct Reports By se-radio.net Published On :: Wed, 15 Feb 2023 20:51:00 +0000 Vidal Graupera, an Engineering Manager at LinkedIn, speaks with SE Radio’s Brijesh Ammanath about the importance of managers' one-on-one meetings with direct reports. They start by considering how a 1:1 meeting differs from other meetings... Full Article
with SE Radio 560: Sugu Sougoumarane on Distributed SQL with Vitess By se-radio.net Published On :: Wed, 19 Apr 2023 20:46:00 +0000 Sugu Sougoumarane discusses how to face the challenges of horizontally scaling MySQL databases through the Vitess distribution engine and Planetscale, a service built on top of Vitess. The journey began with the growing pains of scale at YouTube around the time of Google’s acquisition of the video service. This episode explores ideas about topology management, sharding, Paxos, connection pooling, and how Vitess handles large transactions while abstracting complexity from the application layer. Full Article
with SE Radio 582: Leo Porter and Daniel Zingaro on Learning to Program with LLMs By se-radio.net Published On :: Wed, 20 Sep 2023 18:05:00 +0000 Dr. Daniel Zingaro and Dr. Leo Porter, co-authors of the book Learn AI-Assisted Python Programming, speak with host Jeremy Jung about teaching programming with the aid of large language models (LLMs). They discuss writing a book to use in Leo's introductory CS class and explore how GitHub Copilot de-emphasizes syntax errors, reduces the need to memorize APIs, and why they want students to write manual test cases. They also discuss possible ethical concerns of relying on commercial tools, their impact on coursework, and why they aren't worried about students cheating with LLMs. Full Article
with SE Radio 594: Sean Moriarity on Deep Learning with Elixir and Axon By se-radio.net Published On :: Thu, 14 Dec 2023 22:49:00 +0000 Sean Moriarity, creator of the Axon deep learning framework, co-creator of the Nx library, and author of Machine Learning in Elixir and Genetic Algorithms in Elixir, published by the Pragmatic Bookshelf, speaks with SE Radio host Gavin Henry about what deep learning (neural networks) means today. Using a practical example with deep learning for fraud detection, they explore what Axon is and why it was created. Moriarity describes why the Beam is ideal for machine learning, and why he dislikes the term “neural network.” They discuss the need for deep learning, its history, how it offers a good fit for many of today’s complex problems, where it shines and when not to use it. Moriarity goes into depth on a range of topics, including how to get datasets in shape, supervised and unsupervised learning, feed-forward neural networks, Nx.serving, decision trees, gradient descent, linear regression, logistic regression, support vector machines, and random forests. The episode considers what a model looks like, what training is, labeling, classification, regression tasks, hardware resources needed, EXGBoost, Jax, PyIgnite, and Explorer. Finally, they look at what’s involved in the ongoing lifecycle or operational side of Axon once a workflow is put into production, so you can safely back it all up and feed in new data. Brought to you by IEEE Computer Society and IEEE Software magazine. This episode sponsored by Miro. Full Article
with SE Radio 596: Maxim Fateev on Durable Execution with Temporal By se-radio.net Published On :: Wed, 27 Dec 2023 20:12:00 +0000 Maxim Fateev, the CEO of Temporal, speaks with SE Radio's Philip Winston about how Temporal implements durable execution. They explore concepts including workflows, activities, timers, event histories, signals, and queries. Maxim also compares deployment using self-hosted clusters or the Temporal Cloud. Full Article
with SE Radio 625: Jonathan Schneider on Automated Refactoring with OpenRewrite By se-radio.net Published On :: Tue, 16 Jul 2024 23:17:00 +0000 Jonathan Schneider, the cofounder of Moderne and the creator of OpenRewrite, talks with SE Radio's Gregory Kapfhammer about automated software maintenance. In addition to exploring the design and implementation of OpenRewrite, Schneider explains how the tool can automatically support software maintenance tasks such as framework migration and security fixes for programs implemented in languages like Java. The episode also explores how OpenRewrite uses the lossless semantic tree to support automated refactoring though the use of recipes. Brought to you by IEEE Computer Society and IEEE Software magazine. Full Article
with SE Radio 633: Itamar Friedman on Automated Testing with Generative AI By se-radio.net Published On :: Wed, 11 Sep 2024 23:52:00 +0000 Itamar Friedman, the CEO and co-founder of CodiumAI, speaks with host Gregory M. Kapfhammer about how to use generative AI techniques to support automated software testing. Their discussion centers around the design and use of Cover-Agent, an open-source implementation of the automated test augmentation tool described in the Foundations of Software Engineering (FSE) paper entitled “Automated Unit Test Improvement using Large Language Models at Meta“ by Alshahwan et al. The episode explores how large-language models (LLMs) can aid testers by automatically generating test cases that increase the code coverage of an existing testing suite. They also investigate other automated testing topics, including how Cover-Agent compares to different LLM-based tools and the strengths and weaknesses of using LLM-based approaches in software testing. Full Article
with How to Read an RSS Feed with PHP Using SimplePie By www.rssboard.org Published On :: Mon, 26 Jun 2023 15:08:40 -0400 If you need to load an RSS feed with the PHP programming language, the open source library SimplePie greatly simplifies the process of pulling in items from a feed to present on a website, store in a database or do something else coooool with the data. There's a full installation guide for SimplePie but you can skip it with just three steps:Download SimplePie 1.5.Copy the file autoloader.php and the folder library to a folder that's accessible from your PHP code.Make note of this folder; you'll be using require_once() to load autoloader.php from that location.SimplePie has been designed to work the same regardless a feed's format. It supports RSS 2.0, RSS 1.0, Atom and the earlier versions of RSS. Additionally it can read feed elements from nine namespaces.Here's PHP code that loads feed items from the news site Techdirt and displays them in HTML:// load the SimplePie libraryrequire_once('/var/www/libraries/simplepie-1.5/autoloader.php');// load the feed$feed = new SimplePie();$feed->set_feed_url('https://www.techdirt.com/feed/');$feed->init();$feed->handle_content_type();// create the output$html_output = '';foreach ($feed->get_items() as $item) {ÃÂ ÃÂ $html_output .= '<p><a href="' . $item->get_link() . '">' . $item->get_title() . '</a></p>';ÃÂ ÃÂ $html_output .= $item->get_description();ÃÂ ÃÂ $html_output .= '<p>By ' . $item->get_author(0)->get_name() . ', ' . $item->get_date();}// display the outputECHO <<<END$html_outputEND;The API documentation for SimplePie_Item lists the functions that can extract data from each feed item. The versatility of the library is demonstrated by get_authors(), which can retrieve an item's authorship information whether it was in the RSS author element, Dublin Core creator, iTunes author, or Atom author.SimplePie supports caching so that a feed isn't downloaded every time code is executed. The addition of these lines turns on caching, specifies the location of a cache folder and sets the time to use a cached version to four hours (14,400 seconds):$feed->set_cache_location('/var/www/cache/');$feed->set_cache_duration(14400);$feed->enable_cache();SimplePie was created by RSS Advisory Board member Ryan Parman, Geoffrey Sneddon and Ryan McCue. The project is currently maintained on GitHub by Malcom Blaney. Full Article announcements
with How to Read an RSS Feed with Java Using XOM By www.rssboard.org Published On :: Tue, 01 Aug 2023 23:25:57 -0400 There are a lot of libraries for processing XML data with Java that can be used to read RSS feeds. One of the best is the open source library XOM created by the computer book author Elliotte Rusty Harold.As he wrote one of his 20 books about Java and XML, Harold got so frustrated with the available Java libraries for XML that he created his own. XOM, which stands for XML Object Model, was designed to be easy to learn while still being strict about XML, requiring documents that are well-formed and utilize namespaces in complete adherence to the specification. (At the RSS Advisory Board, talk of following a spec is our love language.)XOM was introduced in 2002 and is currently up to version 1.3.9, though all versions have remained compatible since 1.0. To use XOM, download the class library in one of the packages available on the XOM homepage. You can avoid needing any further configuration by choosing one of the options that includes third-party JAR files in the download. This allows XOM to use an included SAX parser under the hood to process XML.Here's Java code that loads items from The Guardian's RSS 2.0 feed containing articles by Ben Hammersley, displaying them as HTML output:// create an XML builder and load the feed using a URLBuilder bob = new Builder();Document doc = bob.build("https://www.theguardian.com/profile/benhammersley/rss");// load the root element and channelElement rss = doc.getRootElement();Element channel = rss.getFirstChildElement("channel");// load all items in the channelElements items = channel.getChildElements("item");for (Element item : items) { // load elements of the item String title = item.getFirstChildElement("title").getValue(); String author = item.getFirstChildElement("creator", "http://purl.org/dc/elements/1.1/").getValue(); String description = item.getFirstChildElement("description").getValue(); // display the output System.out.println(">h2>" + title + ">/h2>"); System.out.println(">p>>b>By " + author + ">/b>>/p>"); System.out.println(">p>" + description + ">/p>");All of the classes used in this code are in the top-level package nu.xom, which has comprehensive JavaDoc describing their use. Like all Java code this is a little long-winded, but Harold's class names do a good job of explaining what they do. A Builder uses its build() method with a URL as the argument to load a feed into a Document over the web. There are also other build methods to load a feed from a file, reader, input stream, or string.Elements can be retrieved by their names such as "title", "link" or "description". An element with only one child of a specific type can be retrieved using the getFirstChildElement() method with the name as the argument:Element linkElement = item.getFirstChildElement("link");An element containing multiple children of the same type uses getChildElements() instead:Elements enclosures = item.getChildElements("enclosure");if (enclosures.size() > 1) {ÃÂ ÃÂ System.out.println("I'm pretty sure an item should only include one enclosure");}If an element is in a namespace, there must be a second argument providing the namespace URI. Like many RSS feeds, the ones from The Guardian use a dc:creator element from Dublin Core to credit the item's author. That namespace has the URI "http://purl.org/dc/elements/1.1/".If the element specified in getFirstChildElement() or getChild Elements() is not present, those methods return null. You may need to check for this when adapting the code to load other RSS feeds.If the name Ben Hammersley sounds familiar, he coined the term "podcasting" in his February 2004 article for The Guardian about the new phenomenon of delivering audio files in RSS feeds. Full Article announcements
with Breaking Up With Capitalism By www.yesmagazine.org Published On :: Tue, 07 May 2024 19:09:31 +0000 A paradigm shift for our economy begins when we name and see the anti-democratic bias that lies at the heart of our capital-centric system. Full Article Economy Wealth and inequality Democracy Capitalism Wealth Inequality
with What to Do With Your White Guilt By www.yesmagazine.org Published On :: Tue, 08 Oct 2024 20:34:29 +0000 Author Hilary Giovale knows that moving through guilt into accountability creates necessary change—for yourself and others. Full Article Books Health & Happiness Racial Justice Native rights Accountability Identity Settler Colonialism Hilary Giovale white guilt amnesia White Privilege
with Test your quiz skills with our mega quizzes! By www.bbc.co.uk Published On :: Wed, 13 Apr 2022 08:17:35 GMT Feeling a bit bored? Well don't worry we've got you covered, test your knowledge with our huge quizzes to try out during the holidays. Full Article