Become a fan of Slashdot on Facebook


Forgot your password?

Slashdot videos: Now with more Slashdot!

  • View

  • Discuss

  • Share

We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).


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

by hyc (#48174551) Attached to: Python-LMDB In a High-Performance Environment

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

by hyc (#48174483) Attached to: Python-LMDB In a High-Performance Environment

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

by hyc (#47311903) Attached to: Programming On a Piano Keyboard

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.

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

by hyc (#46098861) Attached to: FSF's Richard Stallman Calls LLVM a 'Terrible Setback'

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.


+ - World's Smallest And Fastest Database->

Submitted by
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

Comment: Re:Overblown (Score 1) 184

by hyc (#39310243) Attached to: Data Breach Flaw Found In Gnome-terminal, Xfce Terminal and Terminator

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

by hyc (#39309365) Attached to: X Server Now Available For Android

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.

When some people discover the truth, they just can't understand why everybody isn't eager to hear it.