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


Forgot your password?
Check out the new SourceForge HTML5 internet speed test! No Flash necessary and runs on all devices. ×

Comment Re:Not really. (Score 1) 532

Did you know the first global trading company was establish in 1600?  Globalization started way back.  Where do you think tea and coffee comes from?  There's no way we can be self-serve unless you want to also wind the standards of living back a few centuries.  You sure won't be able to afford that coffee unless you are mega rich.

Comment Re:Keeping up with the emojis (Score 2, Insightful) 175

I think it's more, this is all the glyph in one font, where as before, you had Chinese, Arabic etc. all in separate fonts.  The other half the problem google had was that they didn't have good font rendering in Android, e.g. how you actually render the font.  Microsoft, Apple, and Adobe had it figured out a long time ago and all that knowledge is part of the OS.  So google is basically just playing catch up and open sourcing the data part.  Also... do we really want to load that large of a font when most people only use a fraction of the data? 

Comment Re:Maine Implied Warranty (Score 1) 210

But that law only applies in Maine, plus, you have to detail the design flaw, not just, 'It doesn't do what it was designed to do'.  I imagine the cost to get an engineer to essentially, reverse engineer the design, and to come up with a new design to show that the old design was flawed is going to be a bit expensive.

Comment Re:This again? (Score 1) 401

x86 vs ARM vs 68000 assembly language.  They are more similar than completely different like you claim.

// === x86 asm
add     eax, #2         // Add immediate:   eax += 2;
add     eax, ebx        // Add register:    eax += ebx;
add     eax, [ebx]      // Add from memory: eax += ebx[0];
inc     eax             // Increment:       eax++;

mov     eax, DWORD PTR [ebx]        // Load int from memory:    eax= ebx[0];
mov     eax, DWORD PTR [ebx+4]      // Load next int:           eax= ebx[1];

// === 68000 asm
ADD     #2, D0          // Add immediate:   D0 += 2;
ADD     D1, D0          // Add register:    D0 += D1;
ADD     (A0), D0        // Add from memory: D0 += A0[0];

MOVE.L  (A0), D0        // Load int from memory:    D0= A0[0];
MOVE.L  4(A0), D0       // Load next int:           D0= A0[1];

// === ARM asm
add     r0, r0, #2      // Add immediate:   r0 += 2;
add     r0, r0, r1      // Add register:    r0 += r1;
add     r0, r1, r2      // Add registers:   r0= r1 + r2;

ldr     r0, [r2]        // Load int from memory:    r0= r2[0];
ldr     r0, [r2, #4]    // Load int from memory:    r0= r2[1];
ldmia   r2, {r0, r1}    // Load multiple:           r0= r2[0]; r1= r2[1];

You are hilarious wrong.

Slashdot Top Deals

I'm a Lisp variable -- bind me!