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

 



Forgot your password?
typodupeerror
×

Comment Technical discussion (Score 1) 101

There is a lot of political discussion on this thread. How about a bit of technical discussion?

I spent about 20-30 minutes code reviewing the first few files in ssl/*.c.

The codebase looks better than most C code I look at. The indentation is a pleasure to look at.

I did notice a few issues. Wrappers are apparently still being used around memory allocation functions. I don't know if this is for API compatibility or what. There is more casting than I would like to read. I hope it is all absolutely necessary. If you look at, for example, RSMBLY_BITMASK_MARK, that code is absolutely horrible. Never write code like that. To me that is how not to write C, C++, Perl, Java, or PHP (all would look very similar).

Lots of gotos. Not necessarily considered harmful. May not indicate bad coding practices, but something to think about. gotos inside of a case-switch. Yikes. Hope you really needed to do that.

Functions are very long. Linus Torvalds's rule of thumb for a function is that it should fit nicely on a screen. You should be able to look at it, conclude, that does x, and move on to the next function.

There you have it. I debug other people's code for a living, and sometimes write my own.

Comment A problem with the $1 trillion number (Score 1) 364

The article's summary seems to imply that US taxpayers are on the hook for $1 trillion. That's not quite right:

"But the armed services are not the only customers. Eight international partners have signed on to help build and buy the planes: the U.K., Italy, the Netherlands, Turkey, Canada, Australia, Denmark, and Norway. While not involved in the development of the plane, Israel and Japan are buying it through the foreign military sales process, and South Korea recently indicated that it would buy at least 40 of the aircraft."

The US is set to buy 2,443 planes, but international sales will offset at least some of the expense both directly and indirectly.

Comment Renters (Score 1) 150

Around half of Americans are renters. You won't see any of these things in rental units for decades. Rental units use the cheapest available everything at the time of construction and they're not ever updated. They become the bad part of town over 50 or so years as they decay, and eventually either they are town down or become decrepit. At nearly every apartment I've ever lived in, virtually everything was original: 40-50 year old wiring, 1960's or 1970's mercury-style thermostat, nothing ever electronic. For a few years, I lived in an expensive apartment building that was only around 15 year old. Even everything there was the lowest tech possible.

Do I care that rich people living in multi-million-dollar homes have privacy-violating things? Not until decades from now when they start actually appearing in the places where most people live.

Pretty much the only difference in what I would call the core infrastructure in my apartment from 1970 would be the lightbulbs have been switched to CFL. I could re-wire the wall switches to be electronic, and do a few things here and there, but why bother? I don't own the place. I'm a technie, and I just don't care about any of these things.

Comment Bad programming (Score 4, Insightful) 113

Microsoft has been writing poor quality software for my entire life.

The best programmers do not go to work for Microsoft. Maybe that was the case in the early 90's but it hasn't been true for decades.

To make matters worse, Microsoft does a lot of its programming in India. We all know that Indian programming is of poor quality, and the reason is not because Indian programmers are much less competent. It has more to do with the fact that in programming if two parties can't communicate completely unambiguously in one language then they have no hope of writing good software. Programmers have to be more than fluent in the language they speak with each other, they have to be scientifically precise.

People go to work for Microsoft because it's safe. There's no risk of the company going under. Risk minimizers don't write good software, because they're not very creative. They tend to keep patching up the same old crap rather than writing something new that works better.

At mature software companies hundreds of non-programmers are telling the programmers what to do, and it only gums up the works. You wind up not working efficiently, because you need too much sign off to get anything done. And once you get signoff, the hundreds of non-programmers are dictating your schedule, not quality of the code or whether it is completed to your satisfaction.

There is no one to clean up Microsoft's mess but themselves. Probably the best solution would be for the company to split up. The people who make the Xbox are probably weighed down by the rest of the company's ineptitude. I'd like to see those guys go their own way.

Earth

Mapping a Monster Volcano 105

bmahersciwriter (2955569) writes In one of the biggest-ever seismology deployments at an active volcano, researchers are peppering Mount St Helens in Washington state with equipment to study the intricate system of chambers and pipes that fed the most devastating eruption in U.S. history. This month, they plan to set off 24 explosions — each equivalent to a magnitude-2 earthquake — around around the slumbering beast in an effort to map the its interior with unprecedented depth and clarity.

Comment My advice (Score 1) 143

This item hit reddit earlier, so I'll repeat my advice.

It might be easier to begin with a kernel module that is useful to you, and either work with the developer or find a module where the developer has lost interest instead.

I worked on two kernel modules, one called oplbeep and the other was totem. Both very simple things that required porting when interfaces changed. Today I work on the vmware modules which are always requiring tweaking (at least unless you upgrade to the latest version of VMWare more regularly) but I do that just to get my work done.

Comment The brain has multiple neural nets (Score 4, Insightful) 230

The human brain has multiple neural nets and a voter.

I am face blind and completely non-visual, but I do recognize people. I can because the primary way that we recognize people is by encoding a schematic image of the face, but many other nets are in play. For example, I use hair style, clothing, and height. So does everybody, though. But for most people that just gives you extra confidence.

Conclusion: Neural nets in your brain having blind spots is no problem whatsoever. The entire system is highly redundant.

Comment Myths about technology (Score 1) 255

When people characterize HFT (high-frequency trading), they conveniently leave out the programmers and the human traders. HFT is done by programmers and human traders. The notion that computers are trading with themselves is absurd. Programmers write the code, and traders supply the algorithms, ideas, guidance, experience, etc. Sometimes the programmers are also traders, but you get the idea.

When people use a computer they don't think about the thousands of people who wrote the software they are using. They think of a computer as a monolithic thing, when in reality everything that a computer does is people doing work for other people. When people "use" computers, the programmers do the work, or rather they did the work. The computer itself does nothing by itself.

Robots are the same way. They execute instructions written by people. A robot is simply another interface that programmers present to other people. To think about robots separate from their programmers is silly. The programmers reap the rewards from and ought to bear the responsibilities of robotics.

In order to simplify matters, I'm leaving out the hardware designers, the electrical engineers. Without them, programming would be pointless. But the same argument holds true. The robot is an expression of the hardware and software people. Did the people at Craftsman do a good job making that wrench you used to replace the fan belt on your car? The wrench didn't make itself, people did. Craftsman wrenches are damned good products because of the people who make them. A wrench doesn't stand alone as a separate entity, and neither should robots.

Many, many generations in the future, robots may become viral and start making other robots. They might even consider themselves to be separate from their human makers, but that would be the height of arrogance on their part, assuming that people programmed them to be able to experience arrogance.

Comment Programming, not programming in a language (Score 1) 177

Programming is a set of thought processes that are being applied regardless of the language or environment being used. The other part is markup or translation, and that part of the work should be minimized.

I've been programming since I was a little kid and now I'm almost 40. In developing my craft over 30 years I've focused on learning how to write solid code that can be easily modified by the next person. The software that you write needs to read like Hemingway: short, simple, and declarative. When you think of programming in terms of languages, you're doing it wrong.

One day we will instruct computer AIs completely in a natural language like English or another language. The more cumbersome the markup and translation, the further you stray from that goal.

Thinking narrowly, there are features of languages that have proven to be useful over time, such as object orientation. The key here though is abstraction. However we do it, the programmers' job is to move electrons around. At every abstraction we should strive to simplify and in my mind I see a convergence such as the natural language interface. To facilitate it we need to think about what it really means to be a programmer, what it has always meant, and what it will always mean: To convey an accurate and modifiable sequence of instructions to some device in the most efficient way possible.

Comment High cognitive load (Score 1) 435

The best programming languages work like and use the same parts of the brain that reading and writing do. It is no surprise that the language of mathematics reads left to right, uses Latin symbols, and roughly follows European languages in grammar and syntax. (In certain parts of the Arab-speaking world, some mathematical expressions are written left to right, but this is not universal.)

As the syntaxes of programming languages become more elaborate, the cognitive load involved in programming increases. As other parts of the brain become involved, programming error rates increase, not to mention the common sense notion that completely learning the language becomes unachievable for most people and every programmer works with his or her own subset making code maintenance difficult.

C++ with its feature-packed templates makes people who love a language to have every concept from computer science packed into it happy, but it doesn't serve programmers and hence humanity very well.

The ideal programming interface is you telling the computer exactly what you want it to do in English, not the the opposite. We're decades away from an AI that can automatically write code, but making the programmer's link to the computer more difficult to convey unambiguous instructions seems to be going in the opposite direction.

Comment Au contraire (Score 1) 384

Concrete contributed to the rise of Rome, and this part of Rome remains today because concrete laid by Romans is still being used in 2014.

Slashdot is written in Roman Latin letters. Hundreds of millions of people speak modern versions of Rome's Latin language. The language of modern science and medicine is Latin.

Did Rome really fall or are we Roman?

Comment The biggest danger from nuclear (Score 0) 72

The biggest danger from nuclear is acute exposure and death to thousands and perhaps millions of human and humanlike species in the future as storage facilities are pilfered over the next 1,000,000-10,000,000 years.

How many of you could read a warning written in cuneiform? That language is one of the earliest known languages and is only about 5,000 years old. Let's say that most people in the world can probably only read a language that's 500 years old or less, and may struggle with earlier written versions, if there were any. Maybe you're lucky enough to read 2000+ year old Hebrew. But that's just one language. What about all of the other written languages from 2,000 years ago? And what about cuneiform or Egyptian hieroglyphics or ancient Greek? Ancient Chinese?

How in the hell are people supposed to read warnings written in any 2014 Earth language 50,000 years into the future, let alone 500,000 years into the future? That's 10 and 100 times longer than we've written down any language. 5,000,000 years of intelligibility is what we really need. That's why I see a nuclear holocaust to come not from a detonation but from innocent explorers long disconnected from our language and culture.

Earth will only be safe until all nuclear waste is off the planet, or we come up with a way to transform it into substances no more dangerous than what was on this planet before the nuclear age. We cannot assume constant technological progress for millions of years. The entire lifespan of our species is only 200,000 years, and only 70,000 years ago we nearly went extinct.

Comment Re:Open Source (Score 1) 99

1994 was the year I first installed Linux. By that point, there were a number of complete Linux distributions. I got my start with Slackware 2.0.

So he was definitely around for the open source movement, so to speak. It was off most peoples' radar screens in 1994. This site got its start in 1997. I think I joined in 1998.

Slashdot Top Deals

Physician: One upon whom we set our hopes when ill and our dogs when well. -- Ambrose Bierce

Working...