“Pion Network Library (pion-net) is a C++ development library for implementing lightweight HTTP interfaces.”
“The article introduces the pattern of Optimization by Proxy (OBP), which can be found in many large scale distributed systems, including human societies. The pattern occurs when a computationally limited algorithm uses a proxy property as a shortcut indicator for the presence of a hard to measure target quality. When intelligent actors with different motivations control part of the data, the existence of the algorithm reifies the proxy into a separate attribute to be manipulated with the goal of altering the algorithm’s results. This concept is then applied to Google and the many ways it interacts with the various groups of actors on the web. The second part of this article contains examination of how OBP contributes towards the degrading of the content of the web, and how this relates to the Friendly Artificial Intelligence concept of ‘paperclipping’.”
“Spedye is meant to handle all TLS/SSL traffic for a website – it is based upon the ideas in Bump’s Stud, but extended to include converting SPDY connections into normal HTTP requests.
“Spedye aims to make adopting the SPDY protocol extremely easy for all kinds of websites.”
“There are some tasks that are common to every web application. For example, taking data from the server, rendering it to the screen, then updating that information when it changes.
“Since the tools provided to do this by the browser are quite primitive, you end up writing the same code over and over. Ember.js provides tools that let you focus on your app instead of writing the same code you’ve written a hundred times.
“Because we’ve built dozens of applications ourselves, we’ve gone beyond the obvious low-level event-driven abstractions, eliminating much of the boilerplate associated with propagating changes throughout your application, and especially into the DOM itself.
“To help manage changes in the view, Ember.js comes with a templating engine that will automatically update the DOM when the underlying objects change.”
„Durch das Spardiktat hat sich die griechische Krise weiter verschärft. Der Schuldenstand ist seit 2010 von 143 % auf 153 % des BIP gewachsen statt zu sinken. Krankenhäuser und Schulen schließen, immer mehr Menschen sind auf Lebensmittelhilfen angewiesen. Erstmals seit 1945 kehrt der Hunger ins Land zurück. Spätestens jetzt sei klar, so Harald Schumann, dass es unmöglich ist, sich aus einer solchen Krise herauszusparen. Die Griechenlandpolitik, wie sie die Regierung Merkel betreibt, sei daher unverantwortlich. Einseitige Schuldzuschreibungen an Griechenland seien zudem unangebracht. Deutsche Unternehmen hätten jahrelang an Griechenland massiv verdient, sowohl durch fragwürdige Waffenlieferungen in Milliardenhöhe als auch durch Korruption, wie der Fall Siemens zeigt. Ein Herausdrängen Griechenlands aus der Eurozone hätte katastrophale Folgen für die Griechen.“
“Boot to Gecko aims to create a complete, standalone operating system for the open web.”
“This module implements the Blowfish-based Unix crypt() password hashing algorithm, known as “bcrypt”. This hash uses a variant of Blowfish, known as “Eksblowfish”, modified to have particularly expensive key scheduling. Eksblowfish and bcrypt were devised by Niels Provos and David Mazieres for OpenBSD. The design is described in a paper at http://www.usenix.org/events/usenix99/provos.html.”
“The socialbookmarkosphere is abuzz with talk of “rainbow tables”, what they mean for password security, and why they prove that Microsoft did a shoddy job of securing Windows for Workgroups 15 years ago. This really freaks me out. If the “advanced” pole of your threat model is “rainbow tables”, stop working on your social shopping cart calendar application right now: I can’t trust you with my Reddit karma score, let alone my credit card number.”
“This page contains links to Podcasts of readings of Latin and (ancient) Greek texts. Although many have been produced under the auspices of Haverford College, those recorded and placed in the public domain by others are also listed. If you would like to have your Classics Podcast listed here, please email bmulliga[at]haverford[dot]edu.”
“Linux system administrators often receive complaints about the performance of their systems. It can be rather difficult to track down these problems and to find why, when, and how often they happen. Being able to zoom in on the processes that are responsible, and to see what has happened in the past, is very valuable. The atop utility was written with just these things in mind.”
“Use bcrypt.”
“Functional Java is an open source library that seeks to improve the experience of using the Java programming language in a production environment. The library implements several advanced programming concepts that assist in achieving composition-oriented development. Functional Java is written using vanilla Java 1.5 syntax and requires no external supporting libraries. The JAR file will work with your Java 1.5 project without any additional effort.”
“Sim Daltonism is a color blindness simulator for Mac OS X. It filters in real-time the area around the mouse pointer and displays the result ” as seen by a color blind person ” in a floating palette.
“Since there are many types of color blindness, Sim Daltonism allow you to choose the one you want to see.”
„Wenn man die Rhetorik vieler Schweizer Lokalpolitiker hört, dann gehört die Warnung vor sozialistischen oder gar kommunistischen Umtrieben seit Jahrzehnten zum politischen Inventar der bürgerlichen Parteien. Dabei ist bereits das Prinzip der Eidgenossenschaft selbst das wohl sozialistischste Regierungs- und Politikmodell aller Staaten: In einer direkten Demokratie sind Volksabstimmungen erlaubt. Jeder Bürger darf kandidieren. Die meisten Kandidaten für politische Ämter stammen deshalb aus dem Volk, nicht aus Parteikadern. Im Bundesrat regieren die Parteien zusammen, nicht gegeneinander.“
“As I’ve discussed previously, there are a number of good reasons why Haskell is not suitable for teaching introductory functional programming. Chief among these is laziness, which in the context of a pure functional language has fatal side effects. First, Haskell suffers from a paucity of types. It is not possible in Haskell to define the type of natural numbers, nor the type of lists of natural numbers (or lists of anything else), nor any other inductive type! (In Carollian style there are types called naturals and lists, but that’s only what they’re called, it’s not what they are.) Second, the language has a problematic cost model. It is monumentally difficult to reason about the time, and especially space, usage of a Haskell program. Worse, parallelism arises naturally in an eager, not a lazy, language—for example, computing every element of a finite sequence is fundamental to parallel computing, yet is not compatible with the ideology of laziness, which specifies that we should only compute those elements that are required later.
“The arguments in favor of laziness never seem convincing to me. One claim is that the equational theory of lazy programs is said to be more convenient; for example, beta reduction holds without restriction. But this is significant only insofar as you ignore the other types in the language. As Andrzej Filinski pointed out decades ago, whereas lazy languages have products, but not sums, eager languages have sums, but not products. Take your pick. Similarly, where lazy languages rely on strictness conditions, eager languages rely on totality conditions. The costs and benefits are dual, and there seems to be no reason to insist a priori on one set of equations as being more important than the other.”
“Aleph is a Clojure framework for asynchronous communication, built on top of Netty and Lamina.
“What is Aleph good for?
“Aleph allows the creation of both clients and servers that can communicate using an array of protocols (HTTP, WebSockets, TCP, UDP, and others), and represents that communication via a single abstraction, channels. Thanks to the underlying libraries and the event-driven approach to communication, these clients and servers can be highly scalable.”
A port of ABCL to .NET.
“In this paper we present Dedalus, a foundation language for programming and reasoning about distributed systems. Dedalus reduces to a subset of Datalog with negation, aggregate functions, successor and choice, and admits an explicit representation of time into the logic language. We show that Dedalus provides a declarative foundation for the two signature features of distributed systems: mutable state, and asynchronous processing and communication. Given these two features, we address three important properties of programs in a domain-specific manner: a notion of safety appropriate to non-terminating computations, stratified monotonic reasoning with negation over time, and efficient evaluation over time via a simple execution strategy. We also provide conservative syntactic checks for our temporal notions of safety and stratification. Our experience implementing full-featured systems in variants of Datalog suggests that Dedalus is well-suited to the specification of rich distributed services and protocols, and provides both cleaner semantics and richer tests of correctness.”
“Apache ZooKeeper is an effort to develop and maintain an open-source server which enables highly reliable distributed coordination.”
What is ZooKeeper?
“ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. All of these kinds of services are used in some form or another by distributed applications. Each time they are implemented there is a lot of work that goes into fixing the bugs and race conditions that are inevitable. Because of the difficulty of implementing these kinds of services, applications initially usually skimp on them ,which make them brittle in the presence of change and difficult to manage. Even when done correctly, different implementations of these services lead to management complexity when the applications are deployed.”
“Avout brings Clojure’s in-memory model of state to distributed application development by providing a distributed implementation of Clojure’s Multiversion Concurrency Control (MVCC) STM along with distributable, durable, and extendable versions of Clojure’s Atom and Ref concurrency primitives.”
“parboiled is a mixed Java/Scala library providing for lightweight and easy-to-use, yet powerful and elegant parsing of arbitrary input text based on Parsing expression grammars (PEGs). PEGs are an alternative to context free grammars (CFGs) for formally specifying syntax, they make a good replacement for regular expressions and generally have quite a few advantages over the “traditional” way of building parsers via CFGs.”