InfoQ Homepage Strange Loop 2013 Content on InfoQ
-
Spanner - Google's Distributed Database
Sebastian Kanthak details how Spanner relies on GPS and atomic clocks to provide two of its innovative features: Lock-free strong reads and global snapshots consistent with external events.
-
Clojure core.async
Rich Hickey discusses the motivation, design and use of the Clojure core.async library.
-
Javascript... FOR SCIENCE!
Angelina Fabbro, Bill Mills call developers to help scientists progress in their research, providing advice, a project and a JavaScript tool that could be the starting point in this endeavor.
-
Gershwin: Stack-based, Concatenative Clojure
Daniel Gregoire introduces Gershwin, a stack-based, concatenative programming language with a Clojure runtime that targets the JVM.
-
Add ALL the Things: Abstract Algebra Meets Analytics
Avi Bryant discusses how the laws of group theory provide a useful codification of the practical lessons of building efficient distributed and real-time aggregation systems.
-
Partitions for Everyone!
Kyle Kingsbury discusses some of the limitations found in distributed systems and the way some of them behave under partitioning.
-
Exercises in Style
Crista Lopes writes a program in multiple styles -monolithic/OOP/continuations/relational/Pub-Sub/Monads/AOP/Map-reduce- showing the value of using more than a style in large scale systems.
-
Functional Reactive Programming in Elm
Evan Czaplicki explains the key concepts of Functional Reactive Programming, showing how FRP can avoid the callback hell. He shows how to use FRP for games, demoing a Mario game.
-
Taking PHP Seriously
Keith Adams outlines PHP's strengths and Facebook's attempts at remedying the inconsistencies and misfeatures in the core language.
-
The Trouble With Types
Martin Odersky outlines the main categories of static type systems as well as some new developments, and discuss the tradeoffs they make.
-
Making Software Development Make Sense to Everyone
Jen Myers discusses the need to make software development attractive and accessible to a larger audience, improving the overall development and learning process in order to have better programmers.