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

 



Forgot your password?
typodupeerror
×
China

Knock-Off Apple Watches Hit the Chinese Market Less Than 24 Hours After Launch 156

schwit1 writes Fake versions of the Apple Watch can be bought for as little as £25 — despite the fact the real thing will set you back more than 10 times that. The flagship new product was only launched in San Francisco yesterday but knock-offs are already available in China. According to CNN Money, they can be found at Huaqiangbei electronics market in the southern city of Shenzhen, and others are being sold nationwide via popular e-commerce websites. Right down to the digital crown, the fakes mimic the design and style of Apple's new offering.

Comment Re:Write-only code. (Score 1) 757

However elsewhere there are problems. Ie, G++ and MSVC++ implement things very differently, depending on the versions and such. Ie, the contents of the v-table, location of the v-table in the object, etc. You've got both a function pointer plus a "fixup" offset to account for multiple inheritance, or thunks, whereas most OS kernels prefer to just have a simple array of function pointers which are capable of being easily used from most any language that follows the CPUs ABI (including assembler). It works on Linux because for a very long time g++ was the only offering and the newer options intentionally remain g++ compatible, whereas elsewhere this may not be true at all.

It works somewhat on Windows as well as compilers there try to be drop-in upgrades to MSVC. And on OS X since they were using gcc before clang, and clang and gcc agrees on C++ ABI (though mixing libc++ with libstdc++ is not possible since they conflict on definitions).

C++ ABI is not a real problem anymore. They might not be as similar between platforms as the C-API but they are defined on each platform as much as makes sense for the platform.

Comment Re:Write-only code. (Score 3, Informative) 757

Sounds like that goes back to the "lack of standard ABI" problem. C lets you specify exactly what you want explicitly, but C++ has no consistent ABI, you get different results depending on which compiler you use.

Not anymore. At least not on Linux. Intel wrote a C++ ABI for IA64 (Itanic), since it was the first of its kind it got adopted to a defacto ABI for all other architectures as well. This is what g++ has been using for over a decade, and what every other compiler is mimicking to stay g++ compatible.

Even a failed architecture can sow the seeds for good things in the open source world.

Comment Re:Write-only code. (Score 1) 757

I don't think you actually mean "virtual classes" here. But yeah, if you have to implement classes in C, maybe you should have used C++. One of C++'s problems is that it builds on C, though, so the fact that you can do some things, particularly classes, better in C++ than in C shouldn't be a surprise: that's the itch they were scratching.

I mean virtual tables, which is the implementation side of virtual classes. The kernel uses virtual tables extensively to describe interfaces of modules and especially drivers.

Comment Re:Write-only code. (Score 5, Insightful) 757

The problem with C++ is that it's way too easy to write write-only code, because the language has so many features that nobody but language experts understand all of them. So we all program in different dialects, and then scratch our heads when we read other peoples' code.

Less so than C, especially as used in the kernel. Seriously read some of the Linux kernel and compare it with any good C++ project. The kernel loses BADLY. The manually implemented virtual classes are not pretty and not type safe, and neither are all the ugly macros needed to do things that would safe, automatic and easy to read in C++.

Google

The Abandoned Google Project Memorial Page 150

HughPickens.com writes: Quentin Hugon, Benjamin Benoit and Damien Leloup have created a memorial page for projects adandoned by Google over the years including: Google Answers, Lively, Reader, Deskbar, Click-to-Call, Writely, Hello, Send to Phone, Audio Ads, Google Catalogs, Dodgeball, Ride Finder, Shared Stuff, Page Creator, Marratech, Goog-411, Google Labs, Google Buzz, Powermeter, Real Estate, Google Directory, Google Sets, Fast Flip, Image Labeler, Aardvark, Google Gears, Google Bookmarks, Google Notebook, Google Code Search, News Badges, Google Related, Latitude, Flu Vaccine Finder, Google Health, Knol, One Pass, Listen, Slide, Building Maker, Meebo, Talk, SMS, iGoogle, Schemer, Notifier, Orkut, Hotpot, Music Trends, Refine, SearchWiki, US Government Search, Sparrow, Web Accelerator, Google Accelerator, Accessible Search, Google Video, and Helpouts. Missing from the list that we remember are Friend Connect, Google Radio Ads, Jaiku, SideWiki, and Wave.

We knew there were a lot, but who knew there'd be so many. Which abandoned Google project do you wish were still around?

Comment Re:Watching systemd evolve (Score 1) 765

But but Fedora has been using it for years without issue! Oh wait, that's because no Admin in their right mind would use Fedora as a server. But but it is stable and secure. Oh wait, your high load servers keep corrupting the journald and journalctl can't read portions of it without trying to replace the who journal with a new one. But but you can install rsyslog to fix that! Yeah, because we ALL like having to beta test an unproven product in a production environment only to be forced in resorting to something else that actually works as intended.

I'm caring less about systemd and more about how shortsighted they were when they forced everyone to use journald. The fact that I have to configure rsyslog to have a working log that does not constantly get corrupted and restart a new log, erasing the old one is annoying and shows just how unproven this entire systemd implementation truly is.

Journald is is not forced. Like everything in systemd the services are modular, and you can use them or not. Debian for instance does not use journald.

Comment Re:ABOUT FUCKING TIME! (Score 3, Insightful) 765

I cannot believe that two known incompetent hacks with bad personalities can screw over a whole large tech-savvy community all by themselves.

I don't think it's that bad, they don't have to convince the entire 'tech-savvy community,' they only need to convince a very small subset of that community, the people who are writing init scripts for distros. And that subset is very small.

Systemd knows that very well. They've worked very hard to make init-script writers happy, and have been very responsive in making changes. If you look through the Debian mailing lists, you can see this......there's no need to blame the NSA or others. They're just following a useful principle: find the ones who have power to do what you want, then make them as happy as possible. The systemd people have done that.

You mean they took the people that actually have to deal with init scripts and made them happy? Instead of making something good that would make people using init scripts happy?

Wait. What is the difference?

Comment Re:Uh, what? (Score 1) 91

You don't compile bytecode, you compile to byte code

I can't tell if you're just being obtuse, but: the developer compiles shader language to bytecode, and the graphics driver compiles bytecode to GPU native-code. Both of these stages qualify as compilation. (They're both level-reducing language-transformations.)

The entire point is that byte code is interpreted at runtime.

No. There's no way in hell that anyone's seriously suggesting running graphics code in an interpreter. Again, it will be compiled by the graphics driver. (We could call this 'JIT compilation', but this term doesn't seem to have caught on in the context of graphics.)

building native execution of the bytecode would be fastest

Why not call this what it is? It's compilation.

Especially since the bytecode is supposed to be hardware neutral, it is the compilation from bytecode that will have to do the aggresive optimizations to adapt to the target architecture.
You can have very simple bytecode that doesn't need much processing, and while technically compilation is really compiled, but that wouldn't make sense here.

Comment Re:C++ is probably a little bit better (Score 1) 407

C++11 seems to be somewhat useable. However, before that it was a complete disaster. Every time I looked at it, I saw code bases that endlessly re-implemented data structures and storage management solutions.
Even with the standard libraries, there were rarely systems without a lot of custom storage code. By it's own claimed abilities for code reuse, C++ was a failure before C++11.

That is how C++ is meant to be used. If you only need fixed standard data structures, you might as well use a higher level language. What something like C++ or C gives you is the ability to write your own data-structures, if you don't need that, they are probably overkill.

C++11 doesn't really change that. It just makes the custom data structures even more powerful, and slightly easier to write.

Comment Re:c++? (Score 1) 407

Objective-C is an ugly, clunky language, and the only reason Apple uses it is to intentionally make your code incompatible with other platforms.

Actually, they use it for its dynamic binding and loading, but don't let facts get in the way of your FUD!

That and C++ was horribly immature at a time when Objective-C was not and the Next guys were developing NextStep.

I think they were contemporary. They were young and immature together. Both born in 1983.

Slashdot Top Deals

"Gotcha, you snot-necked weenies!" -- Post Bros. Comics

Working...