Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?
Trust the World's Fastest VPN with Your Internet Security & Freedom - A Lifetime Subscription of PureVPN at 88% off. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. ×

Comment Re:Well, duh! (Score 1) 141

The problem is that Facebook T&Cs, as well as granting Facebook an almost unlimited license to anything you upload also includes a clause that you agree to indemnify them against this kind of claim. So, while you might be able to take Facebook to court and win if they took a video your friend uploaded of you and sold it, they would then be able to turn around immediately and sue your friend for whatever amount the court awarded you.

Comment Re:I'll never understand (Score 1) 141

Presumably he read the bit of the Facebook T&Cs that says that you grant them a non-exclusive, sublicensable, transferable, commercial license to anything that you upload, and that you agree to indemnify them against any claims of copyright infringement. They are entirely at liberty to take anything that you upload and sell it and are not required to give you a cut (remember the Starbucks posters with pictures of people who had uploaded Facebook pictures from their shops?). The only surprising part is that Facebook didn't manage to get paid for this.

Comment Re:0.4 of a phone (Score 3, Interesting) 90

Gartner are vigorously trying to shove it up Apple's arse) is that the smartphone market is really the Android market.

That's not really true. From the report, the iOS market is around 22% of the size of the Android market. That's a much higher ratio than the size of the Mac market to the Windows market has ever been. Even that doesn't tell the whole story, because a large part of the Android market is very low-end phones, with razor-thin margins for the manufacturer and very few app sales. This is important to the sort of people reading this kind of report, because they care about what the return on investment will be from supporting a given platform. It doesn't matter that Android completely dominates in the poorer parts of Africa, India, and China to the extent that iOS is a rounding error, it matters what phones the people with money to spend on your product have.

Comment Re: Yay! Cruelty-free bacon! (Score 2) 126

You need to grow around 40 times as much plant matter to feed a food animal and turn it into meat than you need to produce the equivalent amount of nutritional value directly from plants. That said, part of the reason that we eat ruminants is that they can digest a lot of plant matter that we can't. Some land is suitable for growing grasses but nothing that humans can eat. The most efficient use of this land for providing food is to use it for feed crops (though much of it could also be used for biofuel these days).

Comment Re:Yeah, no thanks. (Score 2) 85

Unless he or his employer is willing to pay money to Facebook, and the amount that Facebook or, more likely, third-party resellers charge for this information is very cheap in comparison to the amount that it costs to hire a bad employee. What, you thought 'private' meant that Facebook wouldn't sell it to anyone who asks? You've obviously not read the Facebook privacy policy.

Comment Re:Yeah, no thanks. (Score 2) 85

You are entirely correct, even though I absolutely hate how true it is. Most of getting (and much of maintaining) a job is about how much people like you, not about your competence

I disagree. When hiring, you have a limited amount of knowledge to make a decision that can be incredibly costly if you get it wrong (Joel on Software has a good article about the costs of hiring a bad employee vs the costs of hiring no one). A CV is easy to doctor (and unscrupulous recruitment agencies do this a lot). An in-person interview gives very little information for selection (though inability to answer basic technical questions provides good deselection information). If one of your employees has worked with a candidate before and can attest to the fact that they're competent, then that's an incredibly valuable piece of information. This is why your professional network matters: it's not about how much people like you, it's about whether people respect your ability enough to want to work with you again.

Comment Re:The irony of the vulnerability... (Score 2) 250

The same thing happens on Windows. For example, last year there was an arbitrary code execution vulnerability in the code that Norton Antivirus uses to scan images. For some idiotic reason, they were running this code with kernel privilege. It ran whenever an image file was written to disk, so it could be exploited by simply receiving an email attachment in a spam, which your antivirus would then scan and run the exploit, even if you never opened the file.

Comment Re:Until (Score 1) 371

IoT devices are, by definition, running a network stack. That brings you into the 32KB of RAM requirement as a minimum. The requirements for JavaScript are pretty small relative to that.

Comment Re:Meh (Score 1) 371

I love MIPS assembly.

Really? Branch delay slots (with 'unpredictable' behaviour if you put a branch in them), no complex addressing modes, weird instruction names (an unsigned add is the same as a signed add, except one will trap on overflow, because that's obviously what the difference between signed and unsigned means), special $hi and $lo registers because some instructions have an implicit destination. Half-arsed transition from a fixed-design pipeline so that some operations have hardware interlocks but some need some magic (and implementation-dependent) number of NOPs to work. Oh, and my favourite bit of MIPS, the superscalar NOP. When your ISA has a superscalar NOP, that's when you should realise that you've done something badly wrong.

In terms of programming, it's beautifully designed.

If you ever have to write ARM assembly, your head might explode if you think MIPS is beautifully designed.

The extension from 32-bit to 64-bit is pretty seamless.

The 'oh, by the way, if you don't sign-extend into the top 32 bits then you get undefined behaviour for any 32-bit arithmetic operation' thing is seamless? So any code that has to deal with 32-bit values ends up doing a left-shift by zero instruction (which makes the code totally readable - 'Hey, this looks like a nop, can we remove it?' 'no, it looks like a job, but we'll get garbage values if we remove it') at multiple points to enforce this invariant.

Even the MIPS instruction encoding is quite clean and the CPU design makes it easy for vendors to add their own interesting instructions to coprocessor 2. For example, my employer has a bunch of encryption and hashing related instructions added there. ARM does not allow you to add your own custom instructions to ARMv8, for example.

I'm guessing your employer is Cavium? Thank $DEITY that they're starting to produce decent ARMv8 chips and we can kill off support for their MIPS products in a few years. You might see this as a strength of MIPS, but to everyone else it's a massive weakness. Every MIPS vendor takes a version of GCC, hacks it up to support their extensions, and breaks support for other extensions in the meantime. They then can't get their patches upstreamed (the few that even try) and so their customers end up with an unmaintained dead-end fork. Worst ecosystem ever.

One advantage of the MIPS instruction is it very cleanly moved from 32-bits to 64 bits. With ARM that is not the case. AARCH64 is very different than 32-bit ARM.

I think that you and I have very different definitions of clean. MIPS quickly hacked on a 64-bit extension without thinking it through, AArch64 was the result of careful study of the intersection between code sequences that compilers like to generate and instructions that are efficient to implement. For example, a lot of the predication (really useful for assembly programmers, hard to implement in superscalar pipelines, hard to use for compilers) is gone, the user-addressable PC is gone (makes branch-prediction really hard on in-order pipelines) and so is store/load multiple (basically needs microcode). You keep all of the really useful bitfield manipulation instructions (no MIPS equivalent, and oh how I miss them when I have to deal with MIPS, which sadly I do on a regular basis), store and load pairs (including atomics on pairs) and so on.

Oh, and MIPSr6 is not backwards binary compatible with previous versions. All of the branch-likely opcodes were recycled as compact branch (no delay slot), you you need to patch your binaries if you want them to work.

Comment Re:They said the same about mobile (Score 1) 371

Most of the Android runtime is written in C++, as is most of Apple's Objective-C runtime. Microsoft had a project to turn Singularity into a product (which, sadly, was cancelled before completion) where the implemented their entire .NET runtime and OS in C#. The Jikes RVM is written mostly in Java - specifically, the JIT compiler and garbage collector are both Java. The Squeak Smalltalk VM (and descendants such as Pharo) are written in Smalltalk, with a small core that is statically compiled and the rest then running on this bootstrap subset.

Slashdot Top Deals

Somebody's terminal is dropping bits. I found a pile of them over in the corner.