Vídeos de programación

Vídeos sobre programación y desarrollo de software.
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.
Microservices are hot! A lot of companies are experimenting with this architectural pattern that greatly benefits the software development process. When adopting new patterns we always encounter that moment where we think 'if only I knew this three months ago'. This talk will be a sneak peak into the world of microservices at Atlassian and reveal what we've learned about microservices: how to arrange, configure and build your code efficiently; deployment and testing; and how to operate effectively in this environment. In this talk you will learn how to immediately apply five simple strategies.
Even the best, biggest, beachiest data out there is useless if users can't easily search and analyze it. Under the right circumstances, a custom query language can be a powerful interface to that data, but only if that interface is chosen and developed consciously, with top priority given to creating a fitting domain abstraction, a first-class user experience, and a simple yet flexible implementation that doesn't reinvent the wheel. These are takeaways from the real-world experiences of ÜberResearch and Valo: two different companies with very different needs, which nevertheless ended up taking similar approaches to the selection and creation of query languages as data interfaces. From the lessons they've learned -- some more painfully than others -- we'll construct a roadmap for choosing, designing, and implementing a custom query language that lets your users interact with your big, beautiful data in all its glory.
The aim of the Internet of Things is to provide valuable information about everything around us. Citizens demand open access to know directly what happens in their cities without any intermediary. But nowadays we are impacted by countless news our sources and is very difficult to digest it. Over-information is the new way of hiding information. If we demand context and facts instead of dumb numbers, the biggest legacy of the internet of things will be a world that is more transparent and democratic. Smart solutions also improve citizens daily lives by controlling pollution levels, providing alerts against medical epidemics or managing cities' traffic. Libelium technology has been applied worldwide. During Fukushima crisis after the tsunami in 2011 we developed a sensor board to measure radiation. As a result, a series of boards were shipped at no charge to the Tokyo Hackerspace and other working groups in Japan to allow citizens monitoring autonomously radiation levels. With MySignals, an eHealth development platform, we want to cover one of the main challenges of the century: enhancing the universal accessibility to a healthcare system for more than 2 billion people worldwide.
Developers are living in exciting, but more demanding times - we're expected to create applications and services that can deliver better value faster, at higher volumes, with less downtime. And in order to meet these demands we must learn new technologies and programming styles. Enter the actor model and Akka.NET. In this talk you'll learn the fundamentals of Akka.NET and discover how you can use the power of the actor model, location transparency, clustering, and other Akka.NET concepts to build powerful, highly available systems without having to write awful boilerplate code. You'll never look at .NET the same way again afterwards.