CouchDB is a pure append-only design which means that within a few dozen write operations, 90+% of its space is filled with out-of-date records. It requires frequent periodic compaction phases, and each compaction phase has a significant negative impact on latency and throughput. LMDB requires no compaction, and provides consistent latency and throughput at all times.

Totally agreed. The lack of guarantees re: UDP is built into the UDP spec, it's not a failing of the Linux kernel (nor any other OS) that it won't tell you about dropped packets. Luke, you should know better than this.

with my Atari ST. It was trivial then since the same chip controlled both the keyboard and MIDI ports, just redirect one of the intercept vectors to catch the incoming MIDI packets and feed the notes to the keyboard buffer.

It's more fun to do this with a Zeta MIDI violin. I programmed it to move the mouse pointer on glissandos too, could do pretty much anything without touching keyboard or mouse.

hyc writes: On HuffPost Code, a look at the obvious problems with GnuTLS from a software design and development process perspective; GnuTLS is still just a pile of vulnerabilities waiting to happen.Link to Original Source

As a related example, I was recently (last summer) confronted by a patchset from [a prominent network router manufacturer] for OpenLDAP, which they wanted to contribute back to the Project. Upon reviewing the patchset, I found they were using an OpenLDAP release from 2001, and this is the code they've been embedding in the firmware of many of their router products from then till now. Many of the patches they sent me were in fact patches I had written for the Project, which they had backported somewhere in the mists of time.

So, thanks to OpenLDAP's permissive license, there's a lot of network hardware out there running ancient, patchwork code that's massively obsolete, along with a crazyquilt of patches of widely varying quality. None of the users of this hardware have any idea of what's inside there, no one can say what security vulnerabilities may or may not exist in any particular model # or serial #, because the code itself is just a frankenstein jumble.

Personally I would have preferred the GPL, because it would have prevented this sort of situation, but it would be quite difficult for the OpenLDAP Foundation to contact all of the copyright holders and ask them to approve a license change, and I suspect a number of them would refuse to change.

Just keep in mind - the freedom that permissive licenses grants to proprietary software companies almost always works to the customers' disadvantage. They will allow their code bases to diverge, they will allow bitrot to set in, they will allow CVEs to go unaddressed, and no one outside will know exactly how bad things are. Until perhaps 10-15 years later, if someone inside the company wakes up and realizes how untenable their situation really is. But the problem is these companies always jump down this path at first; they haven't looked far enough down it to see where it goes.

hyc writes: "It was only a couple months ago that MemSQL was claiming to be the world's fastest database. But here we have a new contender; compiling to under 32K of object code it is unquestionably the world's smallest and most lightweight fully transactional database. It is also orders of magnitude faster than everything else for reads, and impressively fast for writes. It is a memory-mapped database (which, unlike an in-memory database, is intrinsically persistent. In-memory databases are ephemeral by design and require a persistence mechanism to be bolted on as an afterthought) which is completely impervious to corruption. It does not use write-ahead transaction logs, and requires zero recovery time when restarting after a crash. It's already shown impressive performance gains when used as a backend for OpenLDAP slapd, as well as for SQLite3. Work is underway to create backends for other projects (e.g. MemcacheDB, Cassandra) but your readers could help that along."Link to Original Source

On that topic, i guess it would be a really good idea to write an OTR plugin for the vanilla Android SMS app. Something for my todo list if it hasn't already been done. (PS, you can find my OTR plugin for Finch/libpurple here https://gitorious.org/purple-otr )