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


Forgot your password?

Comment: Re:Very much so! (Score 1) 641

by Josef Meixner (#48558471) Attached to: How Relevant is C in 2014?

in C you know, at least, that j is being multiplied by five and the results stored in i.

Oh, really?

unsigned short i;
double j;

j = -1.0;

So where does this code store the value of j multiplied by five? How do I not have to know, what types I use. Also what about stuff like: #define j call_expensive_function()

Sorry, but the idea, that you can tell from a line of C what is happening is wrong. It is not as complex as C and often the likely result is correct, but there is nothing in the language which precludes very stupid code.

Comment: Re:Solar power is worse than Fukushima (Score 1) 131

by Josef Meixner (#40237093) Attached to: Committee Offers Scenarios for Japan's Energy Future

Yeah, because the previous state was much better. That area was a military training ground of the red army. It couldn't be used because of remains (chemicals, hand grenades, amunition and other nice stuff), cleaning it was deemed too expensive. Now the area has been cleaned by the company which built that solar park. They have leased the area and intend to use it for 20 to 30 years for solar power. Then the panels will be removed and recycled.

Oh, and it is indeed very friendly to the environment, as now the environment has time to regenerate after all the nice remains have been removed. The area in question is supposed to be heathland, so no high plants growing.

That is the gist of the text, which goes with your photo.

Comment: Re:its because of the time scales (Score 1) 324

by Josef Meixner (#38174076) Attached to: Worldwide Support For Nuclear Power Drops

The monstrous earthquake/tsunami combo the Fukushima reactor was hit by was "obvious in hindsight?"

When there are signs, that in historic times an equally strong tsunami (and therefor probably similar quake) took place and a recommendation was made to have higher walls against floods, then yes, it was "obvious in hindsight". The obvious flaw was, that the diesel generators were located in a place which is about the worst possible place for a plant near the sea.

Comment: Re:So, here's one interpretation of "Why" (Score 1) 206

by Josef Meixner (#37295416) Attached to: Heise's 'Two Clicks For More Privacy' vs. Facebook

Sorry, but I very much doubt that Heise would sell that information. First they would probably get into trouble with German privacy laws and their users would be furious if that would become known, I certainly would be. Isn't it possible, that someone just does the right thing once and doesn't see any reason, why some other party (it isn't only facebook, also google+ and twitter are handled the same way) should receive nearly complete information what its users are doing on site?

Comment: Re:But... Phong is wrong (Score 3, Interesting) 169

by Josef Meixner (#35681608) Attached to: Pioneer Anomaly Solved By 1970s Computer Graphics

While it is true that the Phong solution is still likely "wrong" due to being not perfectly accurate, it's still a lot less wrong than thermal effects uncorrected

The main problem with Phong is, that it can create energy depending on the parameters. Meaning the emitted light can be stronger than the incident light and so in that calculation create thrust out of nowhere.

Additionally the Pioneer probes are made out of metal, Phong is derived from a model of plastic. The properties of those two materials are quite different, one being a conductor the other an insulator, so the Fresnel equation gives quite different values for the reflective properties, additionally metals are often anisotropic in their reflection capabilities. This has influence on the direction and form of the lobe for the first order effects. I also don't understand, why they didn't use one of the established BRDFs which are at least physically correct.

I looked through the paper and I see no prove, that the parameters they assume for diffuse and specular reflection don't violate the laws of physics.

Comment: Re:Sort of... (Score 1) 133

by Josef Meixner (#35012844) Attached to: Abusing HTTP Status Codes To Expose Private Info

There is perhaps a simple explanation for it, as the script only checks the return code and not the contents, an error page created by a corporate firewall (or something similar which blocks facebook with some explaining page) could also return 200 instead of an error and it would show you as logged in.

Comment: Re:Demographic Data (Score 1) 228

by Josef Meixner (#34748132) Attached to: Goldman Invests $450m In Facebook

I am not so sure, don't you think it would feel creepy, when you just looked for a book, lets say about a travel to the moon on one site and then suddenly in all the tabs open you start to see offers to name a star, buy some piece of some space mission, a DVD with footage from the Apollo-mission and so on? Everything targeted not quite right, but obviously close to what you just did. I think it will be very hard for targeted advertising to avoid, that people feel like some creepy guy is following them.

And honestly, the advertising business never had any kind of restraint. Advertising on the web got very fast very obnoxious to the point, where I won't browse without an adblocker. So I doubt, that the advertisers will be careful this time.

Comment: Re:For the better? (Score 1) 345

by Josef Meixner (#34345180) Attached to: Sony Adopts Objective-C and GNUstep Frameworks

Now calling it a "poor man's Smalltalk", well, you might have a point there.


But even the other thing you mention, operator overloading... that is absent for a reason, simply because software design works differently in ObjC. You don't really need it in the same way that you do with C++.

In other words, you don't even know Smalltalk, but speculate about the similarity between ObjC and Smalltalk. For your information, Smalltalk has operator overloading (in the form of the unary and binary selectors) and uses it in the implementation for numbers. It works a bit differently (all binary operators have same precedence, so 5 + 4 * 3 = 17, but 4 * 3 + 5 = 32, I hope I didn't mix up the sequence, I am rather sure that binary selectors evaluated right to left), but it definitely has them. Also the big plus (and minus) for Smalltalk always was the integrated environment, you can literally change anything, if you want for example the compiler on the fly. It is similar to Lisp in that regard (though I think Lisp does it more elegantly). ObjC is a very, very distant cousin, basically only inheriting the compound selectors. And as I just found out, ObjC finally has inherited the BlockContexts, after only 20 years (or 30, I couldn't find out when they made it into ObjC exactly, Smalltalk had them fixed at least since 1980) that are a central part of Smalltalk. In Smalltalk there never was any kind of selection or looping statements, they were implemented as methods on objects taking blocks. E.g.:

|i| i := 0. i = 1 ifTrue: [^'It is 1'| ifFalse: [^'It is not 1'].

That defines a local variable i, assigns 0 to it and then tests if it is 1 and executes the first block returning a string if it is, else it returns the result of second block.

Comment: Re:And they are the specialists... (Score 1) 233

by Josef Meixner (#34201094) Attached to: How Often Should You Change Your Password?

In any case, as I said in the end of my first post, I don't get into the merit of the theory. I just question why the "specialists" always seem to analyze the question from unrelated perspectives such as "if you change your password every two months, then the maximum time an attacker will have to use the password (as in the attacker already has it from day 0) is 2 months" instead of "the maximum time an attacker will have to discover and use the password is 2 months".

Simple, there is not only brute force to get a password. E.g. if the password hash is leaked and there is a matching rainbow table a password for your hash is known immediately (you also forgot, that hash functions are not 1:1 mappings, multiple passwords map to the same hash). Similar if the password is captured by a trojan or by a video camera. That is probably the most likely attack vector, brute forcing is very expensive.

So there are situations, where the password is known from the start. Also your analysis is flawed, you assume an attacker to systematically check all sequences of allowed characters. If you check, you will see, that the programs trying to crack passwords try a dictionary attack and do permutations on the dictionary as most people are not able to memorize a long random string of characters.

Your analysis has a second flaw, you assume interest in exactly your password. In most cases that is unlikely, an attacker of a business will try to get hold of one password to get into the system and then try to elevate the privileges, so any password will do, therefor you would go after the weakest, not the strongest.

Comment: Re:Inadvertent Or Not ... (Score 2, Informative) 267

by Josef Meixner (#32627210) Attached to: Why Google's Wi-Fi Payload Collection Was Inadvertent

So you say a law making it illegal to capture, store and distribute personal data is bogus? Because that is the German version of the law you just attacked. You know, that law also makes it illegal to scrape websites and build a database of mail-addresses to spam. It makes it illegal for merchants to collect data from their customers and sell it behind their back. It makes it illegal to combine data from multiple sources to create a profile. It even is forcing some of the data collection companies to open their data and gives everybody the right to see, what they have collected (those companies have an exception and create something similar to the US credit scores), something they wouldn't have to do otherwise. The law makes sense because it doesn't try to narrowly define for each case what is allowed and what not, instead it defined some simple principles and tries to protect the privacy of citizens.

Comment: Re:Choices, choices (Score 1) 546

by Josef Meixner (#32422872) Attached to: GCC Moving To Use C++ Instead of C

Default assignment operator: All you need to do is add a pointer to your class and suddenly code that you don't see causes a bug. Yes, IF you know about this you can work around it. That's true of anything.

First, why is it causing a bug? Because you used a pointer to mean ownership and deallocate the object behind it in the destructor? If the class in question is not managing the object behind the pointer the default assignment operator is correct. But yes, that is one of the things you have to learn about C++. But how is that different from C? If I add a pointer to a struct and make a copy of that struct somewhere in the code I have exactly the same issue.

The use of << and >> was in my eyes just a poor choice. It would have been possible to use ".print(...)" in exactly the same form, so writing stream.print(3).print(" something"). I consider it an abuse and honestly I need way too few of them to make saving the few keystrokes worth the strange look. Is anybody really using a significant amount of those operators so that the few keystrokes are important?

References: references aren't what most people think of as references. They are pointers with syntactic sugar. Try getting a reference to an element of a vector, and then doing something that causes the vector storage to be reallocation. Voila, you have a "reference" that refers to junk.

Can you back your claim of "most people"? In a language without garbage collection you cannot have fixed references to value types. It would be way too costly to implement, if you need it you have to store pointers in your vector and pass those pointers. References are not 'pointers with syntactic sugar' as they are much more limited, e.g. there is no NULL-reference and currently a reference can only be bound to an lvalue and not to an rvalue. Even with the addition of rvalue references and reference collapsing in the coming standard you have to explicitly request a rvalue reference. Also references explicitly show, that the called function will not do any thing like release the object, something you can't be sure of a function taking a pointer.

Comment: Re:Using the extinction to date the painting? (Score 2, Interesting) 137

How about we date the painting

I don't think it is easy, if even possible. Don't forget it was scribbled on a sheet of rock. The sheet was created by natural processes, so no use to date it. The ocher also is a mixture of natural material (clay and iron oxide) and I don't think there is a way to date its use either. So only some kind of adhesive to get the paint to stick to the rock might contain carbon which could be dated. But the amount is probably very small and can be contaminated (the paintings were exposed to the surrounding for an very long time). So it seems useful to use any clue you can get to help in dating the drawings.

Comment: Re:Google shouldn't worry (Score 1) 418

by Josef Meixner (#32289908) Attached to: Google's Streetview Privacy Snafu Prompts Lawsuit

The parents assertion is wrong. It is not illegal to take the photos, it is the publishing of photos without consent that is illegal. There are some exceptions, e.g. it is allowed if the person being photographed is only "decoration" (there is no hard rule, but taking a photo of a street scene shouldn't be a problem, as long as a single person is not the subject) or some kind of public figure.

We warn the reader in advance that the proof presented here depends on a clever but highly unmotivated trick. -- Howard Anton, "Elementary Linear Algebra"