Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?
Slashdot Deals: Prep for the CompTIA A+ certification exam. Save 95% on the CompTIA IT Certification Bundle ×

Comment Re:Interesting (Score 1) 224

Sadly, computer hardware engineers are just as sloppy much of the time. They can use ad-hoc designs, fudging or guessing on the numbers, utter lack of documenation, and just plain boneheaded errors that make it to the customer before being found. Even in some other areas considered a bastion of proper engineering things are breaking down. Consider the growing numbers of massive cost overruns with large civil engineering projects.

The goal of fully interchangeable and reusable parts that is the holy grail of software engineering doesn't really exist in the other engineering areas, or at least the scale is different (a resuable component is the 32 bit word, whereas the software engineers seem to want to reuse something equivalent to an entire bridge).

Software engineering isn't about software or engineering, it's completely about management.

Comment Re:Interesting (Score 1) 224

Most of the students would never need to write a sorting algorithm. However I think ALL of his students should know how to compare sorting algorithms and understand all of the theory behind it. If what the students really want is a list of library functions to call, they can go to any stupid trade school for this. However if they are paying for an education then they should be prepared to be educated.

Now there's nothing wrong with being the entry level programmer for life. If you look at an auto company, a few people design the autos while lots and lots of people stand on the assembly line and repeat the same action a thousand times a day. With engineering, some people are technicians and some people are engineers or scientists.

So it's up to the students. Do they want to set an upper limit for themselves that they will hit very quickly, or do they want to reach for the sky?

Comment Re:No, wrong (Score 1) 224

A problem that I see *often* is in not knowing how to do math on a computer. People have a working model that numbers have infinite range and floating point numbers have infinite precision. Thus you see a lot of "(giantnumber * giantnumber) / tinynumber" and the get an overflow; or worse, it works for their test cases and their customers are the ones to get overflows and bizarre results.

I knew someone who stored floating point numbers as text (a waste of space), because otherwise the results seemed to be inaccurate when stored as binary. But so many common decimal numbers can not be represented in binary floating point with a fixed number of bits, like "0.1". Occasionally there would still be problems and the person would come to me and ask why two numbers did not compare as equal even though they looked the same when printed out.

Comment Re:Take it from me (Score 1) 224

But it can be extremely difficult to understand some piece of mathematics if you skipped all your college level maths or paid your roommate to take your tests. At the very least get a working comprehension of calculus, a working comprehension of boolean logic, a working comprehension of high school algebra, etc. However it is ok if you forget it all a year later! The important thing is that you worked hard to learn this once, you exercised your brain and molded it into a shape that was capable of learning abstract concepts, and are able to use that information later in life when presented with new ideas.

Comment Re: Programming (Score 1) 224

Even if you never use the stuff you learned in a difficult class in college, it at least has taught you to think better. Steroids for the brain. Someone who skips past all this stuff, taking shortcuts, avoiding theory, taking the easy classes like "math for athletes and web programmers", is going to have a flabby brain. They never learned how to think abstractly, never learned how to handle a complicated problem beyond their capabilities, and never learned how to learn. They're just going to have a glazed look in their eyes at the staff meetings whenever some complex topic is being discussed.

Comment Re: Programming (Score 4, Insightful) 224

A lot of this just pushes all the buttons for me. My pet peeves with modern society are with the morons who revel in their own ignorance. There used to be a time when learning stuff was considered important. Even the president of companies would feel the need to learn what their company was about, how their product was made, how it worked, etc. Today ignorance is celebrated. Morons can go on the internet and say "I can code without knowing math", which sort of implies that people who do learn things are wasting their time. Cretins advocate that college can be skipped as a waste of time. Even those in college whine like kindergarteners that stuff is too hard or irrelevant to their future career behind a help desk.

Ignorance should never be treated as a virtue. And yet that is what is happening and this original post proves that this attitude is still alive.

Comment Re:Programming (Score 3, Informative) 224

Good programmers know something other than how to code. People can code while being generally ignorant of all other skills, but that doesn't make them good at it. Math is important, at the very least so that you don't have to go to the next cubicle every ten minutes to ask a stupid question. If you don't know math, then don't even consider the advanced art of floating point and the countless ways that programmers who don't know numerical analysis screw it up. If you don't know abstract math then generally stay away from coding unless you have given highly detailed notes from your boss about every step of what you're doing, otherwise you'll screw it up and make dumb mistakes.

If your program is going to be involved in some way with physical processes, then damn it you need to learn some physics! If your program is going to be involved some way with mathematical operations, then damn it you need to learn some math! If you're going to use graphics, you need to learn math. If you're going to be dealing with a radio then you need to know some physics and EE. If you're going to write something dealing with health or medicine (heaven forbid the ignorant masses attempt this) then damn it all to hell you need to know some small measure about health or medicine (and not from a tabloid).

Why is this? Because you will NOT be programming exclusively. There will be times when you need to use your brain. Not the programming part of the brain but the part of the brain that has to deal with the actual problem that the program is solving. If you need to write a control loop then how do you do this without knowing about control theory? Google won't help as you'll spend weeks getting the basics. What normally happens is that these ignorant programmers will waste the time of their coworkers asking questions. Yes, you can't know everything, and yes you will have to ask your coworkers dumb questions, it's just a fact of life. But that college level science and mathematics really does help when you're trying to learn new things or have them explained to you. It applies to the arts and humanities too, not just science and math. Being a well educated person across the board is a huge advantage to a programmer.

At the very least this ignorance will make one spend all day Googling stuff; something this author seems proud of. Like someone saying arithmetic is a pointless skill because you can use a calculator.

About the only possible job you can get programming while knowing nothing about anything except programming might be web applications. Surprisingly, this is where most programmers migrate too, especially those who take things like "coding boot camp" courses. Even then you'll stay as an entry level programmer for your entire career.

Comment Re:Heh (Score 4, Insightful) 257

One thing I've noticed is someone who is very good at a tech job isn't just twice as productive as someone who is lousy at it; the discrepancy could easily be 10x; or it could be that he produces positive progress and the lousy guy produces anti-progress. This is clearly true for software developers, but I've seen it happen with network administrators too: small cadres of happy, super-productive admins outperforming armies of miserable tech drones.

But the thing is if you don't understand anything about (a) the technology or (b) human beings, how do you get a worker to be more productive? You make him work longer.

I'm not talking about striking while the iron is hot. When opportunity produces the occasional 80 hour work week, that's a totally different matter than having no better idea of what to do than setting unrealistic goals and leaving it to workers to make it up through sheer, unsustainable effort. Too often in the latter case you end up producing the semblance of progress. Yeah, I finished the module but someone's going to have to throw it out and rewrite when it blows up in the customer's face.

Comment Re:Wait for the results. (Score 1) 100

Well he *is* going to test the hypothesis. But he has to test the *procedure* as well on a smaller scale before he uses it on his research subjects.

People underestimate how much of science is like this. Advancing science isn't just a matter of creating more theoretical knowledge; a lot of the time it's about advancing know-how.

Comment Re:This is a real threat (Score 1) 211

Many routers and devices ship by default with support for many different country configurations. The end user can then configure which country it is for. This may not be so common with home based devices but we definitely ship products that can be configured for the wrong country by the customer.

Comment Re:FCC order explicitly bans DD-WRT from U.S. (Score 1) 211

However the commercial software often unlocks those channels as well, if you configure it to be for a different country. The router maker can't be held liable for this, it's customer error. However the router maker can be required to disallow certain configurations (never exceed a certain radiated power) or arbitrary configurations (let the user pick channel spacing).

Comment Re:Like Tomato? (Score 1) 211

There are existing rules for this. You can't modify firmware in order to increase radiated power beyond the limit (on commodity devices anyway). Many radios will not even allow this even if you do rewrite the controlling firmware. The problem is that these rules tend to creep and pretty soon they'll think that other parts of firmware should be left alone, after all changing firmware is something evil that only hackers know how to do... It won't help the issue that the router manufacturers will likely back this up, they never approve of end-user modifications.

Comment Re:Build your own router (Score 3, Insightful) 211

The components themselves are licensed and have passed FCC tests. The system will not be changing any operating parameters; it will keep the same frequencies, channel spacings and separations, power limits, etc. All the end user is doing is specifying how the device is being used.

"More software projects have gone awry for lack of calendar time than for all other causes combined." -- Fred Brooks, Jr., _The Mythical Man Month_