Slashdot is powered by your submissions, so send in your scoop


Forgot your password?
Slashdot Deals: Cyber Monday Sale Extended! Courses ranging from coding to project management - all eLearning deals 20% off with coupon code "CYBERMONDAY20". ×

Comment Re:Would it hurt ... (Score 1) 98

MongoDB uses mmap but the similarity ends there. It uses a journal, not COW. It suffers from a number of durability and consistency vulnerabilities. LMDB has no such weaknesses.

This research group at University of Wisconsin cites 1 vulnerability for LMDB, but they were mistaken:

Comment Re:Would it hurt ... (Score 1) 98

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.

They are similar in that both use COW, but the similarity ends there.

Comment Did that 23 years ago (Score 2) 57

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.

Submission + - A Closer Look at Problems in GnuTLS (

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.

Comment Re:Can't say I disagree. (Score 1) 1098

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.


Submission + - World's Smallest And Fastest Database (

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."

Comment Re:Overblown (Score 1) 184

Yes, it's overblown, but tmpfs is not a reliable solution. If the system is under heavy enough load and memory pressure, the tmpfs contents may get swapped out to disk anyway.

And oh yeah, the swap partition on your disk is a liability too. But anytime someone has physical access to your disk, all bets are off anyway...

Comment Re:Sounds funky but (Score 1) 131

I rewrote the pidgin-otr plugin to use plain libpurple a few months ago. It will work on anything that libpurple works on, including finch. You can read about it here

and grab the code here

There's already a package for it in Arch Linux.

If it's worth hacking on well, it's worth hacking on for money.