1,453 reputation
713
bio website blog.piechotka.com.pl
location Munich, Germany
age 25
visits member for 3 years, 7 months
seen Apr 11 at 12:01

Mar
7
comment Regarding interpreters
@amon - do you have a reference? I'd expect it to be terribly slow due to underutilizing i$ and branch prediction. I thought that JVM JITtes bytecode to native code in 'fast mode' (without any optimization etc. - just using stack and jumps) and then reJITted with optimization if the code is a hot spot. I'm not a JVM expert though.
Mar
4
comment What should I do when I've already waited too long between commits?
@Aaronaught I'd add that yourself 3 months later can constitute an 'another programmer'.
Mar
2
comment What should I do when I've already waited too long between commits?
@StephenC is not using such tools not typical or is the need not typical? With former I have no idea (it might be a case) but with latter one-person project/branch have regressions/problems as any other (at least mine do - maybe I'm just bad programmer) so it makes sense to use standardized tools to find out problems. I'm guilty of too big commits as any other person but git-bisect turned invaluable when I introduced a severe regression a week before my master's project deadline (stale compilation files marked test as passing due to corrupted mtime).
Feb
28
comment Programs that claim they are not “multi-core” friendly
I have a feeling that your cautionary tale lacks an 'punch line' - what's your point - is it 'parallelisation not always work' (skimming through answer I got this idea)? 'it's not a quick fix - you need to be aware about tradeoffs' (for e.x. fine/coarse parallelism)? 'If you optimize know you architecture' (for e.x. what's cache coherence, what's cache line size etc.)? 'Optimization is hard - you need to have background knowledge and experiment'? There is something left unsaid and I am not sure where were you getting at (or maybe I'm just skewed by HPC).
Feb
28
comment What should I do when I've already waited too long between commits?
@StephenC for example because it breaks tools like git-bisect. If code compiles/runs all the time and you need to find a regression if it compiles all the time you can just binary search (not mentioning that if there is regression in the chunk of code you are left with big change to read instead of narrowing it down).
Feb
27
comment What exactly is procedural programming? How exactly is it different from OOP? Is it the same as functional programming?
It might be good to remove mentioning of interface in OOP description as it has much more general definition outside OOP - interface as in AP*I* or AB*I* or for that matter GU*I* and CL*I* - as opposed as a 'type of purly abstract class which can be multiply-inherited present in some OO languages such as Java/.Net but not in others (say Python, Ruby, Smalltalk, JavaScript, C++, ...)'.
Feb
26
comment How to address the concerns of the software architect but still maintain collective code ownership?
@Gangnus it's getting really off-topic but as an example of larger company which do use reviews see Google - they seems to mention also similar arguments.
Feb
26
comment How to address the concerns of the software architect but still maintain collective code ownership?
@Gangnus - for that case you have "if not" and majority of my comment.
Feb
25
comment How to address the concerns of the software architect but still maintain collective code ownership?
@Gangnus If it is 4 people project then sending to all is an option. If it is not then there is A/B/C/D team. People working on interaction between A and B subscribe to both lists so if review is sent to list A then b received a copy. To miss it (s)he would need to miss it and everyone else who knows that b works with A-B interaction. (Of course ideally is if tests would catch it before sending review saving everyone's time - but after review b knows what has changed as well)
Feb
25
comment How to address the concerns of the software architect but still maintain collective code ownership?
@Gangnus: while not denying the importance of unit tests there are problems which cannot be detected by it (races, undefined behaviours, ... - probably not problems meant by OP but still) even in 'innocent' change. So answering the original question - don't ask only one person - send it to group. Then someone might notice and ask b to take a look.
Feb
21
comment Why don't languages include implication as a logical operator?
@Izkata: First one will evaluate b iff a is false and second will evaluate b iff !a is true. In other words second will evaluate b iff a is false. So they should be equivalent unless I missed something.
Feb
21
awarded  Notable Question
Dec
16
answered Licensing libraries (which do code generation, etc) and GPL boundaries
Nov
3
comment Is it reasonable to null guard every single dereferenced pointer?
@James - I can't see any reference to embedded system but as Bart van Ingen Schenau said - the watchdog should take care about it - and clean restart is probably preferable to having increasingly inconsistent state in long run.
Nov
2
comment Is it reasonable to null guard every single dereferenced pointer?
Also in most cases while the program cannot recover from failed assert the OS can recover from failed assert in application. So for most cases users won't need to reboot the device - just start the application once again (and presumably it is very rare as your testing catched most of the errors).
Nov
2
comment Is it reasonable to null guard every single dereferenced pointer?
@James - in 90% of case you won't recover from the failed NULL check as well. But in such case the code will silently fail and error may appear much later on - for example you thought that you saved to file but actually the null check sometimes fails leaving you non the wiser. You cannot recover from all situation that must not happen. You can verify that they won't happen, but I don't think you have a budget unless you write code for NASA satellite or nuclear power plant. You do need to have a way of saying "I have no idea what's going on - the program is not suppose to be in this state".
Oct
26
comment Why don't languages include implication as a logical operator?
@Izkata: It depends on language. In C/C++/Java/... you're right but there are languages which does not have it specified (Haskell for example IIRC).
Oct
17
comment Why the most famous sites on the web are not all truly Single Page Applications?
@Izkata - yes, as I said they are at least partially solvable but you need to think about it. In the same sense as writing in assembly have no non-solvable problems. Both SPA and ASM have benefits but sometimes it is easier to give away a bit of speed for convenience (going other way round also make sometimes sense so it is answering the question why SPA is not used more often rather then if it is horrible thing).
Oct
17
awarded  Nice Answer
Oct
17
comment Why don't languages include implication as a logical operator?
After rereading @TheodoreNorvell reply - I'd start to think how many people would find surprising that or is inclusive in programming if the usage having been long established.