Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Slashdot Deals: Deal of the Day - 6 month subscription of Pandora One at 46% off. ×

Comment Re:BTRFS is getting there (Score 1) 279

I'm curious - what sorts of data at home do you store that contain lots of duplication?

I should've qualified that. The home backup system is the part of it that I have here at home, but the data is from several servers around the world, plus my personal files. And of course there's other backup sites so it doesn't 100% rely on my house or connection. And I have since improved my part with a dedicated machine rather than VirtualBox, though still USB attached storage because I had the disks anyway.

Comment Re:BTRFS is getting there (Score 1) 279

Er, snapshots should be immutable. They're used as sources for backups and replication, allowing them to be mutable would defeat the main purpose.

zfs clone if you want a writable copy. What's wrong with that?

The problem with zfs clone is that "clones can only be created from a snapshot" which means that deleting a file from a clone does not delete the file from the underlying snapshot, so the space is never actually freed. So when I accidentally have a very large temporary file in my backup set, it's stuck taking up space until it cycles out of history.

Comment Re:BTRFS is getting there (Score 2) 279

I used to use ZFS on my hacky home backup solution (Linux in VirtualBox with USB storage - yes, I know), but it would corrupt the disks once per month or so. Switched to btrfs, and it just works.

Features that btrfs has over ZFS, and I use:
- Mutable snapshots. It is infuriating that ZFS's snapshots are immutable. Mind you, I very rarely modify snapshots, but I damn well want to be able to without having to dump+reload all data. This alone is reason enough that I'll never again use ZFS where btrfs is available.
- Offline on-demand deduplication. Being able to dedup files when I want is very nice. cp --reflink is also super.
- Sane hardware requirements. ZFS is designed for extremely high quality hardware (and lots of RAM) that doesn't lie to the OS, which is just not what most of us are running. btrfs is designed for everyday use.

Features that I miss from ZFS:
- Online live deduplication. But it's sooo sloooow and requires so much memory, that I don't miss it much.

Asides from that they're pretty equal in my experience. They both offer transparent compression, which is what I really want.

Comment Re:What is it with Slarshdawt and Uber? (Score 1) 216

Every story is excessively shrill in support of Uber...

There has certainly been a lot of Uber stories, but my reading of them is that yet again Uber is caught doing something shady or just illegal. Looking over http://slashdot.org/?fhfilter=... I see 10 negative stories about them (shady practices, illegal activities, etc), 4 positive (SA women, SF drunk drivers, etc), and 2 neutral. This particular story counts as negative, since they're doing something illegal.

So, even if Slashdot is paid to put up Uber content, they're not praising them. But I guess any publicity is good publicity.

Comment How is this legal? (Score 4, Interesting) 256

How is this 1) legal, 2) accepted? Doesn't this directly fall under false advertising?

Here in Denmark, smear campaigns generally don't happen. You do not talk bad about other people or products - you instead talk about what you're doing better. And if you do smear competitors, you will lose face in the public eye.

It seems that in the US, that's entirely opposite. So bizarre.

Comment Bill Riders (Score 1, Insightful) 160

its inclusion in the National Defense Authorization Act (the park legislation wouldn't pass otherwise)

You guys seriously need to fix your shit. Having bill riders is a fundamental government fail.

In the civilized world, a bill has a strictly defined topic, and anything not directly pertaining to that topic simply isn't allowed to be attached.

Comment Re:C is dead (Score 1) 641

...just because you don't see it doesn't mean it's not there.

True, but so what? I can still write less C++ code but get the same performance as C. I don't care that it temporarily expands during compilation and then shrinks during optimization. I care about my code and the output - the IR is less interesting.

There is no standard ABI in C, the ABI is platform dependent and always has been.

I meant, the C Standard introduces new features in ways that won't break anyone's ABI. C11's _Generic is so bloody ugly compared to C++'s overloading, but it preserves the ABI. The fear of introducing ABI-breaking features is making C even more ugly to read.

I suspect you have very little experience with C and this is why you think C++ is always the right answer

Well, you suspected wrong. I have quite a lot of experience with C, C++, PHP, Perl, JavaScript, Java, Python, etc. I even started with C as my first real language. I just vastly prefer C++.

I do not think C++ is always the right answer, except when asked whether to use C or C++. The only cases where I'd say use C is when there is no choice, such as cross-language APIs.

Comment Re:C is dead (Score 1) 641

Well, the example I have laying around is one I made, just so my bias is clear: http://tinodidriksen.com/2010/...

C: http://tinodidriksen.com/uploa... - 77 lines, 2.4k
C++: http://tinodidriksen.com/uploa... - 33 lines, 1k

The C code is a mess of extra code and checks, compared to the C++ version. The C++ version is as readable as the scripting languages. And C vs. C++ perform almost identically.

Now, that is obviously a tiny example, but I find this to be true for larger codebases as well. If you use all that C++ offers you, you can make the code read like elegant functional or script (or a mix), and still have all the performance of C.

Comment Re:C is dead (Score 1) 641

The FQA? Really? Read it, laughed at it, moved on.

Modern C++ is as easy to learn as Python or Java or C# or similar. The code will even look superficially the same.

C++ is only hard to learn for those who insist on learning "C with Classes" and mix in all sorts of silly C'isms, like insisting on starting with raw memory management. If you start out with the high level stuff and containers, it's easy, safe, fast.

2 pints = 1 Cavort