Become a fan of Slashdot on Facebook


Forgot your password?
DEAL: For $25 - Add A Second Phone Number To Your Smartphone for life! Use promo code SLASHDOT25. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. Check out the new SourceForge HTML5 Internet speed test! ×

Comment coding style changes over time (Score 1) 164

i'm pretty sure my coding style has changed significantly over time, from project to project, due to experience, learning from past mistakes, influence from other programmers, etc. Also, I've worked on projects where 10 different programmers have touched the same code. Good luck trying to identify me from any two pieces of code.

Comment I wish I had training (Score 1) 347

I have similar feelings about estimates in my work: It's never accurate, so why bother. Of course, I understand we need estimates.
I wish I had some training in how to make good estimates.
Recentely, I've been giving my managers a range: between 1 and 3 weeks for this feature. Half a day up to a day for this bug fix. Of course, manamament just takes the average, add ups the numbers and doesn't tell the client about the probability distribution.

Comment Re:Completely ignores bad specs... (Score 2) 116

I agree.

The source of most bugs is pressure. Time and money. Which results in management making bad choices.

In early stages of software development, the specs and design documens are almost always too abstract and insufficiently detailed, but development is started anyway, due to time/money constraints. This is not nessecarily a bad thing, if you follow some iterative or agile product development process, but it means some big refactoring and probably a redesign will be needed on the way. Especially when users have played around with early releases, and lots of change requests and missing features come in. Those are usually very specific, not application wide, so that changes are made haphazzerdly, all over the code. The result is that user experience becomes inconsistent, and the code gets bloated with lots of exceptions all over the place. It becomes almost impossible for the programmer to foresee all the consequences of any code changes he makes. Despite static code analysis, unit testing, funcional testing, automated testing, etc., with each new feature or bug fix, some other part of the application falls over. A good programmer will say: well this is going to take some refactoring and the analysist/users/architects should make some decisions about general design rules and specs, so we have to do this only once. But there is never time for refactoring, and the specs and designs never get updated. There is only time for new features, hacked in as quickly as possible. At the end of the development cycle, there is only time for bug fixes, but with every fix, two new bugs are introduced.

And so managment asks: can you explain where all those bugs come from? But they never like the answer.

This, by the way, makes my blood boil and sometimes steam comes out of my ears. So those EDA and EEG sensors will probably be all the way in the red, and management will think that i've ran into a complicated problem. Which is true, but the problem is not the software, it's managerment.

Comment Re:Today, I would never have learned programming (Score 1) 608


My first computer was an IBM 8068 clone. It came with GWBasic and a programming manual. There wasn't much else you could do with it, but it was fun, and I have been programming for hobby and professionally ever since.

Programming has not gotten easier over the years. That's mostly because I set more and more difficult challanges for myself. But getting started on a new device or platform (Android, iOS, Windows8, The Web, etc), even a simple "hello world", is also much more difficult than it was back in the early 90s.

One reason is that, by default, computers do not come with a programming environment anymore. There are many tools and programming lanuguages too choose from, but that doesn't make it easier, because many of those are aimed at a particular kind of application, while not so handy for other tasks.There are of course very powerful general purpose languages languages, tools, frameworks and libraries, but they are also much harder to learn and master. And there are lots of educational languages too, intended for learning to program, but they aren't used much for serious work. So which one too choose? How many languages, frameworks, tools, API's, will you need to learn?

More importantly, the kind of applications and games that kids are now used to, are way more complex than what I played with when I was a kid. Expectations are higher: fancy graphics, slick UI's, networking, multi-tasking, etc. Yes, more powerful tools and languages are available, and they can hide some of the complexity, but it's still there, and you will need to master that complexity, or you'll be limited in what you can build.

Finally, you can download a ton of apps, games, for free! Why bother writing your own?

I think in principle, learning to program is not that much more difficult than it was, but kids will need more guidance, someone to help them get started, pick the right tools, exercies, examples, and keep them motivated. Or perhaps some thing? An killer app, or a cool new device, that requires you to learn programming? But programmable robots never became very popular, even Lego Mindstorms is pretty rare. Maybe because of the price tag.

Comment Re:don't (Score 1) 682

I feel the same way, but i know i'm wrong. People have many needs, but most of them are not essential. The majority of us (in Europe and the US anyway) already have food, shelter, clothes, etc, so we focus on cell phones. A cell phone is much easier to obtain than immaterial things like friendship, fulfillment, happiness, etc. It's the sadly ironic human condition.

Anyway, cell phones can be useful at times and I can even imagine a situation where it might be useful for a father removed from his 4yr old. May be there is a better solution than a cell phone for the kid, which brings its own problems... really don't have enough information to judge.

Comment Re:questions (Score 1) 78

of course, Turing's original idea was to device a test for intelligence in a computer. That seems useful, having an intelligent computer. Lacking a good definition for intelligence, Turing decided that a good test would be for the computer to convincingly pretend to be a human, which are supposedly intelligent. Now it seems that passing for a human is not that hard after all. Mostly this is because humans can be stupid, unreasonable, distracted, emotional, etc. All these states can be simulated, with fairly simple algorithms to generate a particular kind of responses, avoiding the need to really understand the conversation.

I still think Turing's original idea is a good one, only it needs to be more specific: pretend to be a professor in electrical engineering, who's sober, trying to be helpful, with a wife, two kids and a dog, etc. Or something like that; the point being, someone you can have an intelligent conversation with. Not: pretend to be a bored 13 year old in a chat room who's trying to out-funny you.

Comment my 2yr old (Score 3, Insightful) 534

My 2 year old loves playing with tablets, phones, computers, electronic toys, etc. I have to admit I sometimes worry about that a bit. On the one hand i feel that it's actually good - she'll need those skills in her future - and i'm proud that those little fingers already know how to navigate user interfaces. She's learning words and pictures from playing simple games and toddler apps. On the other hand, i worry that stuff is overstimulating - bright colors, music, sounds, pictures of cute little animals - like candy wrappers, made to attract kids to something unhealthy, and addictive. Also, most apps are very limited and repetitive, not engaging a child's creativity.

But then, what do i do when I've got some free time? I sit behind my computer, or in front of the tv, mostly. And kids imitate what their parents do. Also I have to admit I do find it convenient to have my hand free when she's focused on a led screen.

Fortunately, my little girl also loves to go outside. If I leave her with the tablet, she'll get bored after a while and will want to do something else. She'll come to me and drag me outside.

So, if your kid spends a lot of time playing with electronic toys, it's probably because they're imitating you. You want you kid to do more creative stuff, art & crafts, do it yourself! Do the dishes by hand, and they'll want to help out. Kids can moderate themselves, but they don't want to do what you want them to do when you want them to. Sometimes you'll need to force them to do things, but try to avoid it. Instead, be ready to join in their activities. So if your child wants to go outside in the rain, put on your boots and go stamp in some puddles together. Technology may be a bit additive (not immune myself) but making it illegal will only make it more attractive. Let technology work for you, let them learn from it, and enjoy it, while you can do something else, or join in the fun. Your kid will get bored with it after a while, and then you need to be ready to offer alternatives.

Comment Re:Not paranoid *enough* ? (Score 1) 366

Hmmm, perhaps it sufficient to just find a class of inputs that generates a particular class of hashes. Then pick a random input in that class
and use it as an elliptic curve parameter. I don't know if that's sufficient to generate weak elliptic curves. But if so, then the NSA doesn't need to have solved SHA1.

Comment Re:This is stupid (Score 4, Insightful) 407

Fearmongering, yes.
But not impossible.
It's not so easy to make sure that a program is a correct implementation of a mathematical algorithm or of an open standard.
A subtle bug (purposeful or not) in a crypographic algorithm or protocol can be exploited.
Writing a bug is much easier than spotting it.
Many applications and OSes get security updates almost dayly. They certainly haven't found them all yet.
Perhaps the NSA has engineered backdoors in our free software at some point, but those vunerabilities have been patched already.
Mosty paranoia then....

Slashdot Top Deals

Your good nature will bring unbounded happiness.