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


Forgot your password?

+ - The Tricky Road Ahead for Andriod Gets Even Trickier 1

Submitted by HughPickens.com
HughPickens.com writes: Farhad Manjoo writes in the NYT that with over one billion devices sold in 2014 Android is the most popular operating system in the world by far, but that doesn't mean it's a financial success for Google. Apple vacuumed up nearly 90 percent of the profits in the smartphone business which prompts a troubling question for Android and for Google: How will the search company — or anyone else, for that matter — ever make much money from Android. First the good news: The fact that Google does not charge for Android, and that few phone manufacturers are extracting much of a profit from Android devices, means that much of the globe now enjoys decent smartphones and online services for low prices. But while Google makes most of its revenue from advertising, Android has so far been an ad dud compared with Apple’s iOS, whose users tend to have more money and spend a lot more time on their phones (and are, thus, more valuable to advertisers). Because Google pays billions to Apple to make its search engine the default search provider for iOS devices, the company collects much more from ads placed on Apple devices than from ads on Android devices.

The final threat for Google’s Android may be the most pernicious: What if a significant number of the people who adopted Android as their first smartphone move on to something else as they become power users? In Apple’s last two earnings calls, Tim Cook reported that the "majority" of those who switched to iPhone had owned a smartphone running Android. Apple has not specified the rate of switching, but a survey found that 16 percent of people who bought the latest iPhones previously owned Android devices; in China, that rate was 29 percent. For Google, this may not be terrible news in the short run. If Google already makes more from ads on iOS than Android, growth in iOS might actually be good for Google’s bottom line. Still, in the long run, the rise of Android switching sets up a terrible path for Google — losing the high-end of the smartphone market to the iPhone, while the low end is under greater threat from noncooperative Android players like Cyanogen which has a chance to snag as many as 1 billion handsets. Android has always been a tricky strategy concludes Manjoo; now, after finding huge success, it seems only to be getting even trickier.

+ - Judge Classifies as Class Action An Email Scanning Lawsuit Against Yahoo->

Submitted by itwbennett
itwbennett writes: A lawsuit that alleges Yahoo’s email scanning practices are illegal can proceed as a class action complaint, a development that will shine the spotlight on the Yahoo Mail use of messages’ content for advertising purposes. Plaintiffs allege that emails sent to Yahoo Mail users by people who do not have Yahoo Mail accounts are scanned by Yahoo in violation of federal and California wiretapping laws.
Link to Original Source

+ - New Technique to Develop Single Molecule Diode

Submitted by William Robinson
William Robinson writes: Under the direction of Latha Venkataraman, associate professor of applied physics at Columbia Engineering, researchers have designed a new technique to create a single-molecule diode, that has rectification ratio as high as 250, and 'ON' current as high as 0.1 microamps. The idea of creating a single-molecule diode was suggested by Arieh Aviram and Mark Ratner who theorized in 1974, which has been the 'holy grail' of molecular electronics ever since its inception to achieve further miniaturization, because single molecule represent the limit of miniaturization.

Comment: Re:Terraforming potential? (Score 1) 256

by Rei (#49785427) Attached to: How To Die On Mars

First off, you're misusing temperature. You don't call it heat if all of the particles are moving in the same direction and unionized, you just call it "wind". It only becomes heat if that windstream suddenly slams into a non-moving solid surface and becomes instantly thermalized (but of course even then that would be a very short-lived event as it would correspond with a pressure rise and the deflection of the stream behind the high-pressure zone). Additionally, nor would that be the windspeed touching the surface as, obviously, wind forms boundary layers.

Secondly, hundreds of km/s from Venus escape to Mars intercept? That doesn't at all correspond to any delta-V chart I've ever seen.

Comment: Every language has its gotchas (Score 2) 253

by Rei (#49784155) Attached to: How Much C++ Should You Know For an Entry-Level C++ Job?

And it's important for new programmers to learn them - more important than learning syntax.

  For C++ for example I'd warn about classes containing pointer member variables with implicitly-defined assignment operators / copy constructors. You have Foo a and Foo b, where Foobar has a member variable "int* bar". So the newbie does "a.bar = new int[100];" then later "b = a;" then later b goes out of scope, then they try to use a.bar and the program crashes. Seems to be a very common C++ newbie mistake. Eventually they learn to see pointers in class definitions as having big "DANGER" signs over them calling their attention, and/or rely on smart pointers.

Any others that people can think of that are common?

Oh, here's one more: iterator invalidation. A newbie who's not warned about this in advance will likely get bitten by it several times before the point gets driven into their head: "if you're using a class to manage memory for you, it's going to manage memory for you, including moving things around as needed."

Comment: Re:I am amazed (Score 2) 193

by Rei (#49783805) Attached to: A Text Message Can Crash An iPhone and Force It To Reboot

Yep, they have been UTF-16 for a long time. And Unicode has been widely broken for a long time. It's not a coincidence.

Someone on StackExchange did some tests last year, adding in 4-byte unicode characters in common applications and seeing how they behaved. The results were really bad:

Opera has problem with editing them (delete required 2 presses on backspace)
        Notepad can't deal with them correctly (delete required 2 presses on backspace)
        File names editing in Window dialogs in broken (delete required 2 presses on backspace)
        All QT3 applications can't deal with them - show two empty squares instead of one symbol.
        Python encodes such characters incorrectly when used directly u'X'!=unicode('X','utf-16') on some platforms when X in character outside of BMP.
        Python 2.5 unicodedata fails to get properties on such characters when python compiled with UTF-16 Unicode strings.
        StackOverflow seems to remove these characters from the text if edited directly in as Unicode characters (these characters are shown using HTML Unicode escapes).
        WinForms TextBox may generate invalid string when limited with MaxLength.

I've had more than my share of these sort of experiences too.

UTF-16 is dangerous, and should be phased out as much as possible. Where absolutely needed for performance reasons, it should be an internal representation only, hidden from the developer as much as possible. In particular, "length" functions should return the actual string length in characters, not code units; indexing functions should take character offsets; not code unit offsets; and returned "single characters" exposed to the developer should be of a format capable of handling multi-code-unit glyphs. Anything involving working with actual singular UTF-16 code units should only be available as a "for advanced users only, use at your own risk" functionality.

Comment: Re:Terraforming potential? (Score 1) 256

by Rei (#49783677) Attached to: How To Die On Mars

. So basically you'd need to impart almost 6x as much energy (36x as much speed) to get to Mars as to just escape Venus

Yes, the velocity would need to be tens of kilometers per second. But really, what's the limiting factor here? Certainly not skin drag, when you're talking something on the necessary scale here. Viscosity losses, radiating the energy away to space as heat? The energy can't effectively radiate away as heat, that's why the funnel is there, to reflect IR while transmitting visible light from the sun. There's not many options for the gas to lose energy except to accelerate.

Basically that "negligible drag" would be the only thing providing a supporting force to the funnel.

Negligible from a systems perspective. But from the perspective of the funnel, it's tremendous force. The mass of the funnel is insignificant compared to the mass of the rising gas when you're talking about a megastructure.

I wonder though what might happen if you directed the CO2 to Venus's L4 or L5 points? Could you build up sufficient mass to create a stable bubble of CO2

That would be.... unusual. What would you call that, a "Gas Dwarf"? I really have no clue how much you could have persist stably there, but I'd be really curious to know. It'd be particularly strange if you could make it out of a combination of gasses that are breathable - aka, limiting the CO2 levels, O2 from CO2, and any mix of Venusian/Jovian N2, Ar, and He as buffer gasses as needed. If the water vapor levels were low then there would be little in terms of cloud cover to reflect light. Earth's atmosphere absorbs about 1/3rd of the sun's energy, so with two passes through it'd absorb about half; at Venus's distance it'd probably be a pretty comfortable temperature. Gravity would be tiny. Obviously not long-term stable due to the solar wind, and high radiation, unless you artificially create a miniature magnetosphere. But in the short term...?

That would be so weird to be floating "midair" in a temperate breathable environment with no land anywhere.

Comment: Re:Hobbit (Score 1) 256

by Rei (#49783411) Attached to: How To Die On Mars

Well, certainly more realistic than living on the surface. And probably easier to set up than a Mars habitat - terrain is irrelevant and your entry is so much easier - plus, even normal Earth air is a lifting gas on Venus. And it'd be no less self-sustaining (that is, to say, "not very" ;) ).

There's no need to send people offworld to do science, whether to Venus or Mars. But while there's no need for any kind of "facility" at all, manned or otherwise, for robotic equipment on Mars, the concept of some sort of floating "facility" on Venus is pretty important. Any sort of craft designed to tolerate Venus's surface environment is going to make a terrible analysis lab or sample return vehicle. I mean, even solar panels would have to be heavily shielded on a sampling run to not be destroyed; there's very little that you can have exposed that can tolerate that environment. Sampling and analysis or return on Venus is best done in two stages: 1) Buoyant craft that repeatedly dive and rise the atmosphere like submarines and take samples on the surface, and 2) a floating platform containing any analysis equipment or return hardware, high gain communication with Earth, and solar panels to recharge the batteries of the sampling craft while samples are being offloaded.

Venus's surface is really unusual and it'd be neat to know more about what's there. I'm still not big on the concept that we need humans there to do it, but at least a floating platform of some kind would be important. The only advantages I could see for having humans would be to cut the communications latency with the samplers to allow for smarter sampling decisions without requiring them to wait in the harsh environment for round-trip communications on Earth, the ability to repair samplers, and perhaps mildly better local analysis of samples and/or decisions about what to bring back. Hard to justify the added price tag, though.

Comment: Re:Hobbit (Score 1) 256

by Rei (#49782957) Attached to: How To Die On Mars

"Never" is too harsh of a word. But I share in your frustration about their glossing over the reality of engineering these "simple" processes that they envision. Just the amount of engineering work to *design* with enough precision to actually build a fully self-sustaining industrial base designed to work on Mars with the individual components being small enough to plausibly launch would cost in hundreds of billions to trillions of dollars Everything in industry has unimaginably massively long dependency chains that interconnect with each other, using raw materials sourced from a massive variety of different types of geological formations the planet over. You basically have to reengineer all industry on Earth for the martian envirionment in a gigantic mass-minimization optimization problem. You can't just plop down a 3d printer and some generic "mining robot" that roams around your habitat like people envision in their sci-fi fantasies. Reality isn't so friendly.

Even worse, if you start launching stuff without doing all of that engineering work, you end up heading down a dead end. Let's say you make some smelter that takes limonite as its iron feedstock. But then as you start expanding your industrial base, you discover that you actually need a lot of sulfuric acid, and your iron production process should instead be designed to work around iron sulfate feedstocks with sulfuric acid produced as the much-needed byproduct, with a different type of smelter required. Well, guess what? That smelter that you spend $20 billion dollars engineering, building, and shipping to Mars is now scrap. It applies to almost everything. You made a pipeline out of polyethylene? Whoops, now you discover that you sometimes need to ship corrosive liquids and it really should have been made out of teflon, tough luck! Built some big piece of industrial equipment that relies on high-temperature inconel alloys? Whoops, you discover that you can't find a practical niobium deposit within driving distances, you have to reengineer your hardware for very different matierial properties or operating environments! Everything down to the tolerances on your bolts or the type of plastic you put on your greenhouses can be a costly screwup if you don't design your whole industrial layout in advance on a standardized set of hardware and know precisely what mineral deposits are where and how to get at them.

To all of the sci-fi buffs: It's not time to try to colonize Mars. It's time to learn about Mars, and to engineer here on Earth. And it's going to be in that phase for a long, long time. Want to go to Mars and hop around for a bit with a rock hammer like they did on the moon? Fine. But don't call it a colony.

Comment: Re:I am amazed (Score 5, Interesting) 193

by Rei (#49782699) Attached to: A Text Message Can Crash An iPhone and Force It To Reboot

It's not that NSString itself is broken, it's that the fact that 99.99% of the time an NSString is one 16-bit code unit per glyph that apps using it rarely test the use case where it's two code units per glyph. So a person goes in and writes an app that inserts a new character at a particular byte offset and it works 99.99% of the time, but if it happens to get stuck in the middle of a multi-code-unit glyph, the program breaks.

The documentation is no help. First off, it lies:

Conceptually, a CFString object represents an array of Unicode characters (UniChar) along with a count of the number of characters. The [Unicode] standard defines a universal, uniform encoding scheme that is 16 bits per character.

As we all should know, that's simply not true. Unfortunately, a lot of people don't know better. Unicode is not a universal, uniform encoding scheme that is 16 bits per character. Even UTF-16 isn't that.

A string object presents itself as an array of Unicode characters . You can determine how many characters a string object contains with the length method and can retrieve a specific character with the characterAtIndex: method. These two “primitive” methods provide basic access to a string object.

characterAtIndex returns a 16-bit integer. So obviously it has no way to actually represent wider unicode characters. The length method is not the number of characters on the screen, but the number of code units, which is different, but highly misleading to programmers. They're, again, the same thing 99.99% of the time, but those rare cases where they're not generally slip through testing. And this is why UTF-16 is such a hazardous encoding to use.

Yes, NSString is old. And that's part of the problem. It was made at a time where many thought that unicode was only going to be 16 bits. It hasn't aged well. And it's caused a lot of bugs over its time. And now I'd bet that it or something similar has created a brand new iPhone-equivalent of Winnuke.

Programmers really need two types of strings, and only two, for the lion's share of tasks. One, binary strings, where a char is always 8 bytes and operations can be optimized to heck and back. And two, unicode strings, where a char always represents a whole unicode character that you would display, and the count of characters represents the count of display characters and so forth. None of this "99.99% of the time it's one thing, but every so often it's another...". That's asking for bugs.

Comment: Re:Time to buy some SpaceX stocks....oh wait... (Score 1) 59

by Rei (#49782511) Attached to: SpaceX Cleared For US Military Launches

Yep.. and the etymologies are totally unrelated. "Foul" is believed to possibly trace back back to an onomatopoeic word "*pu", meaning foul or rotten, being the sound a person makes when smelling such an object (*p underwent an early shift to f). "Fowl" and "fly" are both believed to trace back to "*pleuk", meaning to fly. The proto-germanic for bird, fuglaz, could be thought of as "that which flies". There are lots of cognates in modern languages - for example, in Icelandic, "u" often equates to an "ow" sound in English, and "gl" to a "wl" sound (aka, closer to Old English than modern). So the Icelandic "fugl" (bird) equates "fugel" in Old English and "fowl" in modern English. Other examples are ugl(a) -> owl, hund(ur) -> hound, turn -> tower, bund(inn) -> bound, and even sund->sound (in both cases, in the context of "a large body of water connected to the ocean", like "Puget Sound").


Comment: Re:Hobbit (Score 1) 256

by Rei (#49782033) Attached to: How To Die On Mars

Oh wait someone invented a thing called a submarine and developed the means to heat, pressurize and provide oxygen and fresh water to people living inside of it.

And submarines are about as far from self-sufficient as possible, relying entirely on their shore support infrastructure to supply everything except oxygen and water. Every last part onboard the ship, every last meal they eat, comes from shore. You know, just like it will be with a Martian colony. Oh sure, fantasists in the early days of submarines dreamed of them being like underwater colonies and raising their own food and having their own internal industry to make all their replacement parts and so forth, just like people do today about Martian colonies. The reality turned out to be... well, less fantastical.

(I love how you can just gloss over something as complex as an O2-and-water-producing Mars-environment-operating nuclear reactor as if it's just some trivial thing to design, make, launch, and keep operating ;) )

Comment: Re:I am amazed (Score 3, Informative) 193

by Rei (#49781853) Attached to: A Text Message Can Crash An iPhone and Force It To Reboot

I'd be willing to bet that the unicode library they were using was UTF-16 . Either that or they were handling unicode in a straight binary string with something homebrewed. Both are horribly dangerous - the latter for obvious reasons, but the former in particular because it makes it easy to code something that "just works" for 99,99% of cases, but those rare 0,01% side cases involving 32-bit unicode characters slip through testing and come back and bite you down the road. It's amazing how many apps have incorrect behavior with 4-byte unicode characters, on a wide range of platforms.

Both should be considered bad practice and programming languages evolved to standardize on UTF-8 for any string format that is to handle unicode. C++ for example needs to introduce something along the lines of "std::ustring" that makes unicode string ops "just work" with a UTF-8 backend, at the cost of some memory and performance vs. std::string, which should be seen as exclusively for ascii and binary string operations. std::wstring should be obsoleted.

Comment: Re:Hobbit (Score 0) 256

by Rei (#49781503) Attached to: How To Die On Mars

Let go of your anger, young padawan.

Nowhere did I say that it exists today. I didn't even say it'd be the best option - my post was about how even that "simpler" approach is still incredibly expensive and complex.

Please aim your rage in the correct direction.

(and FYI, even NASA uses the word "hab" - for example, their X-Hab competition.)

Comment: Re:Terraforming potential? (Score 3, Interesting) 256

by Rei (#49781309) Attached to: How To Die On Mars

My favorite approach is to build floating solar towers on Venus or the gas giants - big chunks of greenhouse material shaped like an inverted funnel reaching out into space. Unable to radiate its IR radiation back to space, the air under the funnel would become hotter than the surrounding atmosphere and rise (imparting lift to the funnel without even requiring a lifting gas). Due to the size, drag against the funnel surface would be irrelevantly small. As the funnel narrows, the gas velocity would increase - with a large enough funnel, to well over escape velocity. The funnel could be moved and aimed to some degree by directing part of the flow out through adjustable side jets. If the funnel was shaped so as to cause the gases to spiral and then flare out at the end, you could centrifugally sort the gases out by atomic mass, and thus for example rob light gases (such as water and nitrogen) of escape velocity while allowing heavy gases like CO2 the energy to escape.

Venus could send CO2 on a Mars intercept trajectory to raise its temperature and pressure. Jupiter could send hydrogen on Venus and Mars intercept trajectories, for Bosch water generation. Large moons and dwarf planets could be similarly seeded.

Of course, the obvious question: will this, or any other form of terraforming begin any time in the next many-hundred years?


Practical people would be more practical if they would take a little more time for dreaming. -- J. P. McEvoy