Skip to content
Artwork for Software Engineering Daily
NewsTech News

Software Engineering Daily

softwareengineeringdaily.com

Software Daily: The world through the lens of software.

Play
  • 2,221 episodes
  • Avg 53 min
  • English

Episodes 2,221

Counted on this page — what you have heard stays on this device, so it is not something the list can be paged by.
  • #432
    Dec 15, 2016 · 57 min

    Bots with Jon Bruner

    Over the next few years, bots will pervade our lives more and more. These smart, conversational text interfaces provide a new way of engaging with the computer systems that we have been mostly interacting with through web and mobile app interfaces for the last decade. Bots are a necessary complement to the voice interfaces of the future, because we don’t always want to talk to the computer, and natural language processing is not yet good enough to always translate our vocal request accurately. Bots are not toys, they aren’t trivial, and they aren’t going away any time soon. Jon Bruner is the host of the O’Reilly Bots Podcast, a show that has quickly become one of my favorites because it covers both theoretical and applied artificial intelligence, while remaining approachable to listen to. Jon hosts it with Pete Skomoroch, who works on a bot startup full time. Jon and Pete were also organizers of O’Reilly Bot Day, which I enjoyed tremendously and got a lot of knowledge from.

  • #431
    Dec 14, 2016 · 58 min

    Mesos, Kubernetes, and Infrastructure of the Future with Dharmesh Kakadia

    Mesos and Kubernetes are tools for distributed systems management. Kubernetes is built with an emphasis on running services, whereas Mesos is commonly used for a wider variety of workloads, including data infrastructure like Spark and Kafka. Mesos can also be used as a platform to provide resource management for Kubernetes. Dharmesh Kakadia is the author of Apache Mesos Essentials, and has spent time studying both Mesos and Kubernetes. He joins the show to explain the strengths of both platforms, and how they can be used together. In addition to dissecting Mesos and Kubernetes, we had a wide-ranging discussion, from cloud providers to software architecture to business strategy. *** If you are in the Bay Area on January 11th, come to the Software Engineering Daily meetup. There will be awesome speakers, food, and a positive atmosphere. Find more information on softwareengineeringdaily.com or at the Software Engineering Daily meetup page.

  • #430
    Dec 13, 2016 · 58 min

    Ad Fraud Everywhere with Shailin Dhar

    Advertising fraud is easy, legal, and extremely profitable. A fraudster can set up a website, scrape content from the internet, and run programmatic advertisements against that website. The fraudster can then purchase bot traffic. Those bots will visit the page, consume advertisements, and return profit to the owner of the page. In a past life, Shailin Dhar worked for a company that set up these types of advertising fraud schemes. He was fascinated by the industry in the same way that plenty of people get fascinated with the fast-moving market dynamics that are enabled by modern software. But over time, the novelty wore off and Shailin realized how big the fraud problem is and how much it was hurting people. In today’s episode Shailin and I discuss how bots and poorly aligned incentives lead to systemic failures and significant financial loss for brands who purchase advertising.

  • #429
    Dec 12, 2016 · 44 min

    Cloud Foundry with Cornelia Davis

    Cloud Foundry is an open-source platform as a service. Companies use Cloud Foundry as a control plane to deploy and manage applications. It provides abstractions for microservices and continuous integration. Cornelia Davis joins the show to discuss Cloud Foundry. I interviewed her at the DevOps Enterprise Summit, where enterprises share their stories of improving their culture and their technology stack. Cornelia explained how and why a large enterprise adopts Cloud Foundry, and why they often hire a company like Pivotal to help them as they migrate their infrastructure and change their processes.

  • #428
    Dec 9, 2016 · 52 min

    Netflix Caching with Scott Mansfield

    Caching is a fundamental concept of computer science. When data is accessed frequently, we put that data in a place where it can be accessed more quickly–we put the data in a cache. When data is accessed less often, we leave it in a place where the access time is slow or expensive. Netflix has a huge variety of data, and a huge variety of access patterns for how that data gets retrieved from storage. In today’s episode, Scott Mansfield gives an overview of Netflix’s caching architecture, including EVCache, the ephemeral, volatile cache built for Netflix’s cloud architecture. As with other episodes about Netflix architecture, this show is a deeply technical case study.

  • #427
    Dec 8, 2016 · 56 min

    How Software Engineering Daily Works

    Software Engineering Daily was started a year and a half ago, based on what I learned from my podcasting experience on Software Engineering Radio. Last week, I interviewed Robert Blumen, the editor of Software Engineering Radio, about how that podcast is produced. In today’s episode, Robert interviews me about this podcast. If you are thinking about starting a podcast about software engineering, this podcast will be useful to you. We discuss the processes behind preparing for a show, how to conduct an interview, why people listen to podcasts, and advertisers. I also give some of the history behind Software Engineering Daily–why I started it and what my goals are.

  • #426
    Dec 7, 2016 · 45 min

    Developer Tools with Josh Varty

    When you are working on a program, a lot of things are going through your head. In some sense, you become part machine when you are programming. Learnable Programming is a concept that facilitates this, by showing developers what the computer is doing in real time, before compiling. In this episode, Josh Varty, co-founder of Code Connect Inc., talks to Edaena Salinas about incorporating concepts from Learnable Programming into Visual Studio and C# by showing developers what the computer is thinking while they are typing. Code Connect lets a developer immediately see what value a variable is taking, and provide test values to troubleshoot a portion of code to understand how different code paths are going to work. This is instead of having to compile and run the full program. If you have ever thought about making developer tools for an IDE or a programming language, this episode provides some great information.

  • #425
    Dec 6, 2016 · 54 min

    Bot Memorial with Eugenia Kuyda

    When a human passes away, we create a tombstone as a memorial. Friends and family visit a grave to remember the times they had with that person while they were still alive. Memorial bots are another way to celebrate the life of someone who has passed away. A memorial bot is created by taking the messages sent by a deceased person and passing it through a machine learning model in order to make a bot that replicates the deceased person. Eugenia Kuyda is the CEO of Luka, a company that builds AI products. When her friend Roman Mazurenko suddenly died, she worked with her team to make a bot that replicates his speech patterns. In our interview, we discussed memorial bots, deep learning, and the product Luka is working on–Replika, a personal AI friend for anyone.

  • #424
    Dec 5, 2016 · 56 min

    Algorithms to Live By with Brian Christian

    When you are deciding who to marry, you are using an algorithm. The same is true when you are looking for a parking space, playing a game of poker, or deciding whether or not to organize your closet. Algorithms To Live By is a book about the computer science of human decisions. It offers strategies for how to think through everyday life like a computer scientist. Brian Christian has a background in computer science and philosophy, and is an author of Algorithms to Live By. He joins the show to explain how the same algorithms and data structures we use for our computer programs can be applied to the real world.

  • #423
    Dec 3, 2016 · 50 min

    Adforprize

    There are multiple paths to constructing a piece of software from start to finish. An individual programmer can build an entire product from scratch in a couple days. A giant corporation can commission a project and delegate responsibilities to hundreds of people. An open source community can use the wisdom of the crowds to efficiently build an operating system. Today’s episode is about another path for building software, and my own experience traveling that path. I designed and contracted an app called Adforprize that is now available on the iOS app store. Designing an app and contracting it out to an engineer to build is a worthwhile exercise for most people in the tech industry–whether you are an engineer or not. This post has two main arguments: As with the previous monologue episodes such as 10 Philosophies for Engineers and You Are Not a Commodity, there are no advertisements on this episode. Please email me any feedback you have–jeff@softwareengineeringdaily.com Everyone has an app idea, and many of them are pretty good. You have probably had a conversation with a friend where one of you says “hey, wouldn’t it be great if there was a 2-sided marketplace for bacon?” Or “hey, wouldn’t it be great if there was an app where users could take a selfie and instantly see what celebrity they resemble the most?” These things would be cool! But most ideas end with the ideation. Who has the time to implement these things? Most of us are busy at work, where we spend our time and mental energy dealing with the technical complexity of our jobs. If you are a “smart creative”, when you get home from your job, you probably don’t want to spend your leisure hours reading iOS documentation and slowly learning to write the necessary code for your bacon marketplace app. Smart creatives who have a busy full-time job often have a hobby with more immediate gratification, like playing an instrument or blogging. Some of us also write apps on the side, but if you don’t already have all the requisite skills for writing an app, the prospect of reading tutorials and documentation can make the feeling of ever publishing an app seem so distant. There are many people listening to this who are better at sales, marketing, design, or product management than they are at programming–they want to build an app. One common narrative is that if these people want to see something built, they need to learn to program, and that’s not true. There is a more fun, fulfilling way to build an app than learning to code in Swift or React Native–contracting out the programming to someone else. Designing an app is a fun exercise. Building a prototype with tools like Sketch, InVision, and Keynote is free and frictionless. Most people listening to this probably spent some time drawing in KidPix or Microsoft Paint or PhotoShop when they were a kid. Most of us know how to draw at some basic level, because we spend all day seeing and understanding images–drawing is second nature to anyone who can understand shapes. Similarly, we all know how to design apps because we spend all day using them. We understand the purpose of a button or a slider or a swipe. But most of us have no idea how to configure the code around this user experience–the buttons and sliders and TextViews. Along with the design process, the business ideation process is also fun. It’s fun to imagine business models and viral loops and ways to drive user engagement. But without the capability to build the app that embodies your business ideas, it is less fun to think about those ideas. And again–most of us don’t relish the idea of struggling through the compiler errors and Stack Overflow posts that an app implementation requires. We’ve all become product designers. We are using our phones all day–most of us have naturally developed a good intuition for how an app should function. Product design ability is naturally acquired by being steeped in technology all day. If you are an employe...

  • #422
    Dec 2, 2016 · 54 min

    Robot Lawyer with Joshua Browder

    You have probably received a parking ticket that you felt was unfair, but instead of fighting it, you paid the expensive price to get rid of it quickly. Fighting a parking ticket sounds like it would be so time consuming that it is a better decision to just pay for it. When Joshua Browder was faced with this situation, his response was different. He decided there should be an automated solution to fighting parking tickets, and he made the user interface a chat bot. It’s not obvious why a chat bot interface for fighting parking tickets makes sense, but in my discussion with Joshua, he explained that a chat bot interface is actually useful for a wide variety of legal services. The way that a lawyer interacts with a client is often so mechanistic as to be similar to a robot. This episode was a fascinating episode that serves as a great follow-up to the recent shows on chat bots–ChatOps, Bot Day, and Slack Bots. Thanks again to O’Reilly for giving me a ticket to Bot Day last month, as it really got me thinking about chat bots as an important user interface.

  • #421
    Dec 1, 2016 · 56 min

    Database as a Service with Eliot Horowitz

    Eight years ago, MongoDB was an internal project at 10gen, a company that was trying to build a platform-as-a-service out of open-source components. The team at 10gen realized that the platform-as-a-service play would be too complex, and difficult to build. Since MongoDB was the most valuable component of that project, they narrowed their focus to this new document-oriented database. In today’s episode, MongoDB CTO Eliot Horowitz describes the history of MongoDB the open source project, as well as the company–which recently released a managed cloud service. Eliot explained how the company has architected the MongoDB Atlas service on top of AWS, and why developers often want a managed service as their database rather than managing database servers themselves. Full disclosure–MongoDB is a sponsor of Software Engineering Daily.

  • #420
    Nov 30, 2016 · 1 hr 4 min

    Software Podcasting with Robert Blumen

    Four years ago, I started volunteering for a popular podcast about software–Software Engineering Radio. For the next two years, I learned about the process of making a quality podcast about engineering. With its emphasis on preparation, timeless engineering principles, and attention to the listener, Software Engineering Radio continues to be one of the most popular shows about engineering. Software Engineering Daily is my effort to bring the quality of SE Radio on a daily basis. In today’s show, I talk to Robert Blumen, the editor of Software Engineering Radio. Robert is responsible for guiding SE Radio, and without my experience producing shows alongside him, Software Engineering Daily probably wouldn’t exist. If you listen to SE Daily, you should definitely subscribe to SE Radio. I still produce content for SE Radio because the process and the community help me get internal feedback.

  • #419
    Nov 29, 2016 · 1 hr 1 min

    DotNet Core with Lee Coward and Immo Landwerth

    C# .NET is the framework that is most often used to write software for the Microsoft Windows operating system. For many years, the C# .NET framework was closed source, but Microsoft’s recent push towards open source has led to the creation of .NET Core, a fork of C# .NET composed of a small subset of features from the original C# .NET stack. This episode takes us through a history of .NET, with two program managers who have worked on .NET for many years–Immo Landwerth and Lee Coward. We also explored the present and future of .NET–discussing .NET Core and .NET usage on operating systems other than Microsoft Windows, which is another recent development.

  • #418
    Nov 28, 2016 · 55 min

    Biological Computation with Colin Gravill

    Biology research at Microsoft is focused on three main areas: molecular programming, synthetic biology, and stem cell biology. At the intersection of biology and computing there are implications for health, medicine, and efficient computing techniques. The field of Biological Computation is in its early days, and there is still lots of work to be done. Colin Gravill works in the computational science group at Microsoft Research, and today he explains how Microsoft is investigating biology with the same curiosity and pragmatism that Microsoft investigates computer science. I’d love to do more shows at the border between software and biology–if you have suggestions, please send me an email. jeff@softwareengineeringdaily.com

  • #417
    Nov 23, 2016 · 56 min

    Rust Concurrency with Alex Crichton

    Rust is a systems level language that is built to prevent crashes and eliminate data races. A language like C++ gives you high speed and lots of control, but it is easy to have segfaults, data races, and other problems if you aren’t careful. On this spectrum of control versus safety, we can plot other languages like Java, Go, and Haskell–but none of these languages have the unique feature set of Rust. Rust’s concurrency model is built on the foundation of ownership–a piece of data can only be owned by a single thing at a time. In today’s interview, Alex Crichton explains ownership, and the other abstractions that give Rust its unique model of concurrency.

  • #416
    Nov 22, 2016 · 45 min

    Microservices with Rafi Schloming

    Microservices are a widely adopted pattern for breaking an application up into pieces that can be well-understood by the individual teams within the company. Microservices also allow these individual pieces to be scaled independently and updated in isolation. Past Software Engineering Daily episodes have covered the microservice architectures of Twitter, Netflix, Google, Uber and other companies. In today’s episode, I sit down with Rafael Schloming, who is building tools for microservices at Datawire.

  • #415
    Nov 21, 2016 · 58 min

    Apache Geode with Swapnil Bawaskar

    There is a hierarchy of ways to access and store data in a computer system. The cheapest, slowest way to store and retrieve data is disk. On the faster end, we have memory. As we architect systems with increasing complexity, we have additional considerations–network latency, transient compute nodes, and numerous caching layers. Apache Geode is a distributed, in-memory system for the JVM. It provides fast data storage and retrieval. Swapnil Bawaskar is an engineer who works on Geode, and he joins the show today to explain the architecture of Geode, and how Geode is different from other in-memory systems that get used for caching, such as memcache or Redis.

  • #414
    Nov 19, 2016 · 25 min

    Debugging Stories with Haseeb Qureshi

    Everyone has debugging stories. We have all had the experience of wrestling with a seemingly impossible bug for days until we finally come to a solution. In today’s episode, Haseeb Qureshi retells some of his favorite debugging stories: The case of the 500-mile email, Debugging Behind the Iron Curtain, and My Hardest Bug Ever.

  • #413
    Nov 18, 2016 · 59 min

    Software Small Businesses with Patrick McKenzie

    Many programmers listening to this podcast are working at a big company, and they would prefer to be running their own software business. Patrick McKenzie has been writing about this topic for several years on his blog Kalzumeus.com. Almost a decade ago, he was working as an enterprise developer at a large company in Japan. Over time, his side projects started making enough money to justify his leaving to work on them full-time. Starting a small successful software business is not about luck, or taking big risks, or having your muse deliver some brilliant insight. It is about studying the markets where you can build software that can deliver value. Patrick and I discuss this topic, as well as Stripe–where he now works today. He sold his small businesses to go work full time on Stripe Atlas, so his story of transitioning back to a big company is fascinating as well.

Showing 1,841–1,860 of 2,221 episodes