Raft – Understandable Distributed Consensus

“Visually learn how distributed consensus is implemented with the Raft protocol.”
http://thesecretlivesofdata.com/raft/

Advertisements

Hiding Linux Processes For Fun And Profit

“The other day I was looking at the output of top on my machine, and I wondered: how hard would it be to hide specific processes and/or network connections from traditional monitoring tools like ps, top, lsof, …? I decided to kill a couple hours and try to hack together a solution. In this post, I’ll show you some of the answers I came up with, and some proof of concept code to implement this. I’ll also show that sysdig is not susceptible to my hack, and explain why…”

http://draios.com/hiding-linux-processes-for-fun-and-profit/

The Ultimate Challenge For Recommendation Engines

“Today, we get an answer of sorts thanks to the work of Amy Zhang at the Massachusetts Institute of Technology in Cambridge and a couple of pals. These guys point out that when it comes to online services such as movie providers, several individuals often share the same account. That means that the choice of movies and the ratings on this account are the combined choices of several different people.

The question they set out to answer is whether it is possible to identify shared accounts simply by studying the ratings associated with it. And if so, how should recommendations be modified in response?…”

http://www.technologyreview.com/view/530196/the-ultimate-challenge-for-recommendation-engines/

Pure C implementation of Go channels

“Unbuffered channels provide both a mechanism for communication as well as synchronization. When data is sent into the channel, the sender blocks until a receiver is ready. Likewise, a receiver will block until a sender is ready…”

“Buffered channels accept a limited number of values without a corresponding receiver for those values. Sending data will not block unless the channel is full. Receiving data will block only if the channel is empty…”

https://github.com/tylertreat/chan

Black or White: What Color Works Best for the Background of a Screen?

“Modern displays are now bright enough that they can be uncomfortably bright. But that effect will be seen in a dark room, not in daylight. Our visual system overall adapts (adjusts its sensitivity) to the ambient brightness by several orders of magnitude. That’s how we see in a dim room and in full sunlight, and that adjustment is the reason you are momentarily blind when you walk into a dark theater after being out of doors, or painfully squint on the way out. If your display is bright enough to be significantly brighter than anything else around it, then you’ll find it uncomfortable. But we cover this by saying you should use a dark background when in the dark. And turning down the brightness remains an option for leaving the background white. Many mobile devices automatically adjust the brightness as a function of the ambient light…brighter for brighter rooms, darker for darker rooms. Saves both battery and your eyes…”

http://www.perceptualedge.com/blog/?p=1445

Building High Performance Networking Servers using Tcl

“Tcl as a network server? This can’t be possible. Isn’t Tcl much slower than C? Won’t the clients suffer from scripting language latency? Well, yes C, C++, Java and even Perl does raw networking faster than Tcl, but none of them (without serious customization or third party libraries) have Tcl’s secret weapon: The Event Loop. That and the well thought out (and decently abstracted) I/O system makes for an excellent prototyping and a suprisingly robust production environment.

Most of the following idioms focus on how to Tcl to build safe, reliable servers in short time. Some of the idioms may seem small or obvious, but combined they can create powerful servers. I have built custom SMTP servers, transaction managers, checkpointing message journals, in-memory databases, tuplespaces and network stress testers in Tcl with a focus on robustness, scaling and performance.

In a 100Mbit network, a single Tcl process may not be able to keep up consuming a full pipe, but most systems don’t employ a single process to handle a constantly full pipe of data. In a system where performance is measured by transactions per second, with the exception of hardcore processing, Tcl is up to the task.

Tcl is slower than C, but the network is slower than Tcl…”

http://www.maplefish.com/todd/tcl_net_idioms.html

Deepin Linux

“Deepin (formerly Linux Deepin, Hiweed GNU/Linux) is an Ubuntu-based distribution that aims to provide an elegant, user-friendly and reliable operating system. It does not only include the best the open source world has to offer, but it has also created its own desktop environment called DDE or Deepin Desktop Environment which is based on HTML 5 technologies. Deepin focuses much of its attention on intuitive design. Its home-grown applications, like Deepin Software Centre, DMusic and DPlayer are tailored to the average user. Being easy to install and use, Deepin can be a good Windows alternative for office and home use…”

http://linuxdeepin.com/index.en.html
http://www.omgubuntu.co.uk/2014/07/deepin-2014-final-released-available-download