Vídeos de programación

Vídeos sobre programación y desarrollo de software.
Dharma Shukla (@dharmashukla) is a Distinguished Engineer at Microsoft. Dharma is also the founder of a globally distributed, multi-tenant database service on Azure. Prior to working on the current system, his work spanned a range of distributed systems and databases at Microsoft and other places.
Boaz (@bx) is the tech lead for key-value storage and one of the original engineers on the Manhattan team at Twitter. His work at Twitter has been primarily focused around building a distributed database from the ground up to support one of the highest traffic websites on the internet.
Final concert at #JOTB17 performing Los Vinagres
Have you ever thought about how much of software engineering involves explaining things? We stick comments in our program to explain why we added X to Y, we write README files to explain the program, and we spend the afternoon explaining the whole thing to the new person. A decent explanation can be the difference between success and obscurity. In this talk Russ Olsen will run through the things that you can do to craft explanations that are clear, engaging and perhaps even a bit funny. Russ will do his best to be clear, engaging and perhaps a bit funny.
The CAP theorem points to unavoidable tradeoffs between consistency and availability when the network can partition. This decision heavily impacts system performance and cost. Current database design forces application developers to decide early in the design cycle, and once and for all, where they sit in this spectrum. At one extreme, strong consistency, as in Spanner or CockroachDB, requires frequent global coordination; restricting concurrency in this way greatly simplifies application development, but it reduces availability and increases latency. At the opposite extreme, systems such as Riak or Cassandra provide eventual consistency only: they never sacrifice availability, but application developers must write code to deal with all sorts of concurrency anomalies in order to prevent violation of application invariants. However, a system only needs to be consistent enough for the application to remain correct. We propose a unique middle ground, Just-Right Consistency (JRC), composed of various techniques that do not sacrifice availability, unless provably required for the application to execute correctly. We overview JRC, and present an open-source cloud-scale database built for it, Antidote. Antidote stores Conflict-Free Replicated Data Types (CRDTs) under Transactional Causal Consistency (TCC), the strongest model that does not compromise availability. Optionally, a transaction can be ACID, but Antidote keeps availability high by moving the required coordination outside the common path. Finally, we leverage research tools that help developers use ACID properties selectively, only when necessary for correctness.
In a world of open source, open ideas, and open collaboration, incredible opportunity exists for programmers that know how to grasp it. Participating in open source and the worldwide discussion of ideas can be a powerful way to boost your career, improve your skills, and lead a more fulfilling programming life. Succeeding in this world can be a struggle – the well-known phrase "build it and they will come" could not be more false. Success requires you to grow in many new ways. For those willing to push their boundaries, the rewards are worth the effort a hundred times over.
We've been at the #BuildStuffEs conference organized on April 29th. There we could talk with Udi Dahan, the creator of NServiceBus and CEO at Particular Software.
Microservices have become the defacto architecture pattern for building services. However separating business logic into small services that operate with a single logical data set has introduced consistency challenges. Previous attempts to solve this problem like two phase commit have not been widely adopted due to availability and liveness issues. Instead developers implement feral concurrency control mechanism. This technique can be error prone, and often results in “Death Star” architectures which rely on chained calls to enforce application invariants. These architectures become more complicated over time, and are difficult to modify and extend, and often don't correctly handle all failure scenarios. In this talk I propose a new solution for this problem, Distributed Sagas, a protocol for coordinating requests among multiple micro services, while ensuring application invariants.
In Agile, we value “working software over comprehensive documentation” - there is value in documentation, but we value working software more. This helps us get things done and avoid waste. However, extremes are very common: teams who avoid documentation altogether (“our code is self-documenting”), or teams who create way too much documentation. This talk will cover how to leverage documentation to improve team documentation, align everybody to a common vision, as well as underutilised forms of documentation that go beyond drawing the current system state.
The OWASP Zed Attack Proxy (ZAP) is one of the world’s most popular and best maintained free and open source security tools. This talk by the ZAP project lead will focus on embedding ZAP in continuous integration/delivery pipelines in order to automate security tests. Simon will cover the range of integration options available and explain how ZAP is being integrated into the Mozilla Cloud Services CD pipeline. He will also explain and demonstrate how to drive the ZAP API, which gives complete control over the ZAP daemon.