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…”


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?…”


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…”


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…”


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…”


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…”


Linux Distro ‘Deepin 2014’ Now Available for Download

Try rakudobrew and play with concurrency

rakudobrew is similar to perlbrew, but it’s for Rakudo (a.k.a., Perl 6), the Perl-inspired language that we’ve all come to have a love/hate relationship with. I urge you to try it out, but first, some interesting new developments that you should probably know about…”


Learn Lisp The Hard Way

“Complete beginners to programming, who want to be assured of learning a powerful language that will help them develop unique insights of their field. Someone who has struggled with programming before. Hobbyists, who are looking for a new challenge. A professional developer looking to take their performance and productivity to the next level. In a word, everyone…”


Randomized Binary Search Trees

“I have always been surprised by the contrast between the grace of the main concept of binary search trees and implementation complexity of balanced Binary Search Trees (Red-Black Trees, AVL Trees and Treaps). I have recently looked through the “Algorithms” by Robert Sedgewick [1] and found a description of randomized search trees (I’ve also found the original [2]). It is just one third of a page long (nodes insertion, and one more page for deletion). There’s also a nice implementation of the operation on deleting nodes from a search tree. Here we’ll talk about randomized search trees, their implementation in C++ and also results of a small author’s research as for these trees balance…”