The Brasilia chapter of Papers We Love
Papers We Love has a Code of Conduct. Please contact one of the Meetup's organizers if anyone is not following it. Be good to each other and to the PWL community!
Sign-up: Please RSVP for meetings via Meetup.com
Why Functional Programming Matters
Hughes J. Why functional programming matters. The computer journal. 1989 Jan 1;32(2):98-107.
As software becomes more and more complex, it is more and more important to structure it well. Well-structured software is easy to write and to debug, and provides a collection of modules that can be reused to reduce future programming costs. In this paper we show that two features of functional languages in particular, higher-order functions and lazy evaluation, can contribute significantly to modularity. As examples, we manipulate lists and trees, program several numerical algorithms, and implement the alpha-beta heuristic (an algorithm from Artificial Intelligence used in game-playing programs). We conclude that since modularity is the key to successful programming, functional programming offers important a…
The Little Manual of API Design
Blanchette J. The little manual of API design. Trolltech, Nokia. 2008.
An application programming interface, or API, is the set of symbols that are exported and available to the users of a library to write their applications. The design of the APIs is arguably the most critical part of designing the library, because it affects the design of the applications built on top of them. To quote Daniel Jackson:
> Software is built on abstractions. Pick the right ones, and programming will flow naturally from design; modules will have small and simple interfaces; and new functionality will more likely fit in without extensive reorganization. Pick the wrong ones, and programming will be a series of nasty surprises.
Paper: A Few Useful Things to Know about Machine Learning
Domingos P. A few useful things to know about machine learning_. Communications of the ACM; 55(10):78-87, 2012.
Machine learning algorithms can figure out how to perform important tasks by generalizing from examples. This is often feasible and cost-effective where manual programming is not. As more data becomes available, more ambitious problems can be tackled. As a result, machine learning is widely used in computer science and other fields. However, developing successful machine learning applications requires a substantial amount of “black art” that is hard to find in textbooks. This article summarizes twelve key lessons that machine learning researchers and practitioners have learned. These include pitfalls to avoid, i…
Paper: Distributed ledger technical research in Central Bank of Brazil
Burgos, Aldenio Vilaca, Oliveira Filho, Jose Deodoro, Suares Marcus Vinicius Cursino, Almeida Rafael Sarres. Distributed ledger technical research in Central Bank of Brazil.
Distributed Ledger Technology (DLT) is a novel technology that powers trusted distributed databases. This paper presents a research of an IT department team of Central Bank of Brazil on the matter, the experience in analyzing potential use cases, and the examination of some of the available platforms to develop working prototypes of a minimal Real Time Gross Settlement System. This work also describes perceived privacy issu…
A next-generation smart contract and decentralized application platform
Buterin V. Ethereum: A next-generation smart contract and decentralized application platform. https://github.com/ethereum/wiki/wiki/White-Paper, 2013
Satoshi Nakamoto's development of Bitcoin in 2009 has often been hailed as a radical development in money and currency, being the first example of a digital asset which simultaneously has no backing or intrinsic value and no centralized issuer or controller. However, another - arguably more important - part of the Bitcoin experiment is the underlying blockchain technology as a tool of distributed consensus, and attention is rapidly starting to shift to this other aspect of Bitcoin. Co…
Microservices: The Journey So Far and Challenges Ahead
Jamshidi, P., Pahl, C., Mendonça, N.C., Lewis, J. and Tilkov, S., 2018. Microservices: The Journey So Far and Challenges Ahead. IEEE Software, 35(3), pp.24-35.
Microservices are the latest trend in software service design, development, and delivery. They constitute an approach to software and systems architecture that builds on the well-established concept of modularization but emphasizes technical boundaries. Each module—each microservice —is implemented and operated as a small yet independent system, offering access to its internal logic and data through a well-defined network interface. This increases software agility because each microservice becomes an independent unit of development, deployment, operations, versioning, and scaling.…
Montola, Markus. "Exploring the edge of the magic circle: Defining pervasive games." Proceedings of DAC. Vol. 1966. 2005.
Pervasive gaming is a genre of gaming systematically blurring and breaking the traditional boundaries of game. The new game genres include alternate reality games, reality games, trans-reality games and cross-media games.
About the speaker
Fabricio Buzeto is a PhD candidate at University of Brasilia, in which his main work focuses on Ubiquitous Computing and Games. Additionally, Fabricio is a co-founder of the UnBiquitous research group at UnB. Likewise, he co-founded two startups: Intacto and Qual Canal. His technical blog is at …