4,087 reputation
1836
bio website
location
age
visits member for 3 years, 5 months
seen Nov 16 '13 at 9:37

Aug
28
comment I am a beginner. Can I directly start learning C++11? or I have to learn old C++?
C++ is the best foundation to start. Programming is complex, and in the end you have to work with a hardware. C++ is an amazing way to start learning that without false sense of security.
Aug
27
comment I believe my solution is better than my boss's, so should I ignore him?
Why not? No one will benefit if the end product will be bug ridden piece of trash. It's important to work in a team, and decide as a team. But your task as a professional developer is to find professional solutions, and defend your position if and when it's right.
Aug
27
comment I believe my solution is better than my boss's, so should I ignore him?
You don't have to bend over in every situation. High level players know their stuff, know how to prove it, and also know when to retreat. And they're most sought after, and paid the best salaries. Code monkeys translate incomplete specifications into an incomplete code.
Aug
27
answered I believe my solution is better than my boss's, so should I ignore him?
Aug
27
comment I believe my solution is better than my boss's, so should I ignore him?
Need... more... details... Maybe he's right, maybe you're right, maybe it's a micromanagement issue, or maybe irrelevant.
Aug
22
awarded  Nice Answer
Aug
22
comment Is it typical for a unit test suite to be larger than the code it tests?
It's also typical for it to have more bugs than the actual code
Aug
22
answered Is it a good idea to design an architecture thinking that the User Interface classes can be replaced by a command line interface?
Aug
16
answered Why do developers need to keep up to date with technologies and methodologies?
Aug
16
answered Reverse engineering: what is it really good for?
Aug
14
comment Should I take help of Internet and other programmers or I should do all programming myself?
@AndresF.: Times have changed, we no longer work with guesswork when working with modern tools. Anyone who complains about debugging nowadays should get their act together. The last part about "always been this way" was an exaggeration though.
Aug
14
comment Should I take help of Internet and other programmers or I should do all programming myself?
@MasonWheeler: I have, there are debug heaps, step by step walks, automatic debuggers like WinDbg with !locks, and so on. It's a piece of cake compared to coming up with good thread safe algorithm, where you have to prove to yourself that every possible timing condition will still work. Designing safe multi-threaded algorithm is harder than debugging it. It will wither lock on deadlock, corrupt shared data, and then you know it's not protected, or crash with access violation, if some pointer is updated concurrently with actual data without common lock. Easy!
Aug
14
revised Should I take help of Internet and other programmers or I should do all programming myself?
added 97 characters in body
Aug
14
answered Should I take help of Internet and other programmers or I should do all programming myself?
Aug
14
comment Should I take help of Internet and other programmers or I should do all programming myself?
People who complain that debugging is 2x as hard as writing the code should get their act together and read some debugging resources. If debugging is harder than coming up with a good spec and implementation, YOU'RE DOING IT WRONG!!! Debugging is easy, it has always been this way.
Aug
13
comment What is the Mars Curiosity Rover's software built in?
@ThorbjørnRavnAndersen: If you need to debug an app 100 million miles away, it's already a problem. And don't tell me you want to debug Java program 100 million miles away. Once under certain circumstances some weird JRE bug causes some weird behavior in garbage collector which causes chain reaction in all dynamic memory accounting, addressing and deletion. You won't even be able to re-flash the thing. And the article had one thing right - "one thing you would do - get rid of lisp". Shame that the author is a fanboy and doesn't get the core of the problem.
Aug
12
comment What is the Mars Curiosity Rover's software built in?
@ThorbjørnRavnAndersen: Almost, you need nop slides and stuff like that to fail when RAM error or cosmic ray creates a havoc in the memory. You really want to do any garbage collection in mission critical systems. Everything has to be super simple and easily checkable. Thinking that some high level gives you better reliability is very wrong. There are few things that might help when used sparingly, say templates, and things that downward suck, like exceptions.
Aug
9
comment What is the Mars Curiosity Rover's software built in?
@ThorbjørnRavnAndersen: Sorry, but high level languages suck for anything performance and safety oriented. They abstract away many things, but all of them have problems, every solution adds new layers of problems, and getting critical system to work is to remove problems, so any high language is an exact opposite of what you want to do. Good read - joelonsoftware.com/articles/LeakyAbstractions.html
Aug
9
comment Is it wise to be going back and forth between two programming languages?
I would say if developer says "C/C++" in a resume, I would want that to be the only language(s) there. But with other, fool-proof languages, the more the better.
Aug
4
awarded  Citizen Patrol