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


Forgot your password?

Slashdot videos: Now with more Slashdot!

  • View

  • Discuss

  • Share

We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).


Comment: Re:More... (Score 1) 125

by silentcoder (#49378335) Attached to: Why You Should Choose Boring Technology

But you don't have to count through all of them. Only until you get to outlook, which is a very long way from the end of the list.

Now if you want to get EVERY useful program from that set which could exist - then you'll have to test every number in the list, and that would take forever even for this reduced subset.
But for just finding one of them - you only have to count until you find that ONE.

Even so the moment you put that upper bound on it you make it possible to use faster algorythms than counting to do the finding with - you could optimize it by using a better data type than a list for example, and using fuzzy logic to search the numbers for patterns you would expect to find in something that's useful (like the string representation of the word "email") to narrow down the search space further.

It would still not be nearly as efficient as doing it the programming way - but that's not the point, the point is merely that it's theoretically possible to do - as proof that programming is still fundamentally mathematics. Just very, very efficient mathematics that make use of quite a bit of intuition that's hard to replicate in generator algorythms.

Comment: Re:A Corollary for Code (Score 1) 125

by TheRaven64 (#49378147) Attached to: Why You Should Choose Boring Technology
Not knowing about trickier parts of a language doesn't mean that you don't use them. I recently discovered some code where experienced C programmers didn't know that signed integer overflow was undefined in C. This meant that the compiler could optimise one of their tests away in a loop (nontrivially, in a way that's difficult to generate a warning for) and turn it into an infinite loop. After a few weeks, their code would hit this case and infinite loop and freeze. Unless you know that this tricky part of the language exists, you don't know enough to avoid using it.

Comment: Re:More... (Score 1) 125

by TheRaven64 (#49378133) Attached to: Why You Should Choose Boring Technology
The original justifications for hating goto referred to a non-local goto (or, exceptions, as the kids call them these days) which made it very difficult to reason about control flow in a program. The new reasons for hating goto in language like C/C++ relate to variable lifetimes and making it difficult to reason about when variables go out of scope.

Comment: Re:depends (Score 3, Insightful) 78

by Kjella (#49378031) Attached to: Ask Slashdot: Who's Going To Win the Malware Arms Race?

You mean like browsers and Javascript? In that case 99% of the population has lost already. The pwn2own competition results are rather miserable. The part that /. probably doesn't want to hear is that the primary effect is centralization and gatekeepers.

Take Usenet for example, it got overrun by spammers and trolls because there was no real way to block them and the few moderated groups basically meant a few people were in control of the discussion. Instead we moved to forums, where you could use CAPTCHAs and various other tricks to block mass sign-ups, moderation, flagging of abusive users and so on. They're not perfect, but they work okay.

Why do so many people use Facebook instead of email? Same thing, much less SPAM. For the longest time, Linux users hailed the repository model over the Windows "download random exe from the Internet" model. Then Apple took it to the extreme with the "one store to rule them all" and suddenly it was a problem. Even on Android you have to pass by huge warning lights to enable third party repositories and Windows Phone has as far as I know joined Apple in the "one store" model.

My guess is that they'll push it to the cloud so all the application code runs on a server and they just need to lock down the browser, more per user&app sandboxes, more difficult time running unsigned software and more users with computers that need Apple's, Microsoft's or Google's sign-off to run an application. The average user simply doesn't understand the micromanagement involved, same way users won't use NoScript when browsing the web. They'll "outsource" it.

Comment: Re: So What (Score 2) 249

by silentcoder (#49377915) Attached to: Poverty May Affect the Growth of Children's Brains

The problem is that you're wrong about what social security IS - it's not an investment, nor was it ever MEANT to be one. It's paying back a DEBT.

For you to be an economically active adult, a huge amount of money was spent by society (not just your parents). The people who were economically active when you were a child spent a large chunk of their taxes on you. They provided you with public schools, you got police protection and libraries and all the other services citizens get despite not paying any taxes yet etc. etc. etc. - the list is endless.

Now that the generation which paid for you to be able to be an earning adult are no longer capable of earning, you owe it to them to take care of them in their dotage. Part of your earnings go to pay back that expense by taking care of them in turn, another part gets spent on the NEXT generation - like it was spent on you.

THAT is what social security is - it's the system by which you as a currently economically active adult are supporting the generation that supported you BEFORE you were one, after they can no longer be ones. And the next generation is meant to support you in turn when your time comes.
There are problems with social security but it's not the theory of it, it's the management and they mostly stem from managers who made the same mistake that you did.

Comment: Re: So What (Score 2) 249

by silentcoder (#49377895) Attached to: Poverty May Affect the Growth of Children's Brains

There is strong evidence that the lead ban had a direct causal impact on lowering the crime rate post-1990.
But it couldn't have been a factor in 1930 since the lead pollution levels at that time was still ridiculously low. The single biggest contributor: tetra-ethyl-lead (as was used in gasoline) wasn't even invented yet.

Comment: Re:Writing your own database (Score 1) 125

by silentcoder (#49377837) Attached to: Why You Should Choose Boring Technology

I had a colleague circa 1999 who wrote a neural net in Javascript. And keep in mind when I say javascript I don't mean the JS of today, I mean JS as it was in 1999 - generally considered useless for anything more than onmouseover image rolls.
Why ? To see if he could. It did work though I think his net had only 16 nodes.

Comment: Re:More... (Score 3, Insightful) 125

by silentcoder (#49377815) Attached to: Why You Should Choose Boring Technology

>developers have deluded themselves in to thinking it's more in-line with mathematics or engineering

Except of course that it IS mathematics. Indeed if engineering is the application of scientific knowledge to the solving of practical problems -then programming is the engineering of the science of mathematics.

From the point of view of a computer every program is just one big number. You can reproduce any and all programs that have or ever could be written by simply counting in binary for long enough.

Yes, count long enough and check the results at every count and eventually you will have a number that, if executed, is microsoft outlook.

That is, however, a rather inefficient way to find useful numbers - to get to outlook THAT way would take centuries even on the fastest computers we have.
So what is programming ? It's a sophisticated way to take shortcuts, to find useful numbers without counting through ever possible number (most of which are not useful at all - i.e. if you dump it as a binary to a file it wouldn't run).
That sophistication of figuring out what the program should do first (i.e. defining what the number should be useful for) and then counting in large chunks (i.e. writing components that help satisfy that over-all design goal) is a form of engineering.
It's a highly creative form of engineering and it is very much an artform too. Art and engineering are generally much more closely related than we usually think: just consider the Eiffel Tower, or ask any sculpture about the constraints the laws of physics place on his designs and choice of materials.
Programming, at least at it's current stage of knowledge, is still at a point where the line is extremely blurred and techniques from both art and engineering can be very valuable.

Over time we may find that it becomes more the one or the other, depending on what produces the best results the most efficiently - but I wouldn't trust any wager on which way it would ultimately go. I will say it would never be just one or the other, by it's very nature it will always have at least some elements of both.

Comment: Re:Keep calling it Spartan? (Score 1) 88

by blackraven14250 (#49377805) Attached to: Microsoft Rolls Out Project Spartan With New Windows 10 Build
The other thing I'd like to point out is that the majority of people who hear the code names (rather than the release names) are in tech circles. Windows has a reputation for bloat in said circles, so calling it "spartan" is likely an attempt to appeal to the tech crowd.

Comment: Re:In Soviet Russia... (Score 1) 249

by mjwx (#49377591) Attached to: Poverty May Affect the Growth of Children's Brains

in 1960-th there was a toy - a metal constructor. It was a big box full of different plates, axes, wheels, nuts, bolts a.s.o.


About 2010, I needed such a constructor to model some of my ideas before I implement them in full scale metal. I went to the toy shop. And I found that no such constructor is sold now.

I think the "constructor set" you're talking about was called Meccano in the west.

Not sure on it's availability these days, but I wouldn't trust a toy store to have it.

Comment: Re:Correlation is not Causation (Score 1) 249

by mjwx (#49377563) Attached to: Poverty May Affect the Growth of Children's Brains

The Paleo diet today isn't good for your health.
Unsurprisingly, here is a study in Nature that points out copying Paleolithic diets would not be very useful anyway (not in the least because we've evolved since then, through the Neolithic era).

The paleo diet is yet another fully trademarked fad diet.

The Paleo diet was originally known to most Australians as the CSIRO diet and it's meant for weight loss, not as a regular diet. Its the same with Paleo which has the same high protein, low carbohydrate principles. The CSIRO diet is coupled with exercise and other elements as a 12 week program. Like Paleo, it's designed to induce Ketosis which isn't a healthy state to be in for years, but is just fine for a few months whilst you drop a few kilos.

Unlike fad diets, high protein, low carb diets are proven to reduce weight when combined with moderate exercise.

Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it. -- Perlis's Programming Proverb #58, SIGPLAN Notices, Sept. 1982