Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×

Comment Re:Russian rocket motors (Score 1) 62

Russia would like for us to continue gifting them with cash for 40-year-old missle motors, it's our own government that doesn't want them any longer. For good reason. That did not cause SpaceX to enter the competitive process, they want the U.S. military as a customer. But it probably did make it go faster.

Also, ULA is flying 1960 technology, stuff that Mercury astronauts used, and only recently came up with concept drawings for something new due to competitive pressure from SpaceX. So, I am sure that folks within the Air Force wished for a better vendor but had no choice.

Comment Re:Terraforming potential? (Score 1) 278

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) 336

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) 248

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) 278

. 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) 278

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) 278

"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) 248

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) 62

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").

Obligatory.

Comment Context (Score 3, Informative) 62

This ends a situation in which two companies that would otherwise have been competitive bidders decided that it would cost them less to be a monopoly, and created their own cartel. Since they were a sole provider, they persuaded the government to pay them a Billion dollars a year simply so that they would retain the capability to manufacture rockets to government requirements.

Yes, there will be at least that Billion in savings and SpaceX so far seems more than competitive with the prices United Launch Alliance was charging. There will be other bidders eventually, as well.

Comment Re:Hobbit (Score 1) 278

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) 248

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) 278

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) 278

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?

Nope.

Slashdot Top Deals

"Money is the root of all money." -- the moving finger

Working...