4,811 reputation
22046
bio website
location
age
visits member for 3 years, 10 months
seen Sep 16 '13 at 22:05

no blog, no github yet.


Aug
16
comment How can programmers improve their UX skills?
Some people naturally care about simple UI; others could care less and do not want to waste their time.
Aug
16
comment How to migrate my thinking from C++ to C#
#1 is a hard one for me, would like to know the answer myself. #2 - could you give a simple C++ code example and explain why you need that? For #3 - use C# to generate other code. You can read a CSV or an XML or what have you file as an input and generate a C# or an SQL file. This can be more powerful than using functional macros.
Aug
16
comment How to figure out design pattern for this particular solution?
The stated design is synthetic and therefore is useless to me. I want to help, but I can only solve real problems. What is the actual and not hypothetical problem that you are trying to solve? Something that a customer is paying you to figure out or something you need for a real life hobby project - what is it?
Aug
7
comment Abstract class + Inheritance vs Interface
One thing that is really cool about interfaces is that methods can accept them as parameter types. I do not have a great example, but it is very powerful. You can accept an IEnumerable interface type for a parameter and not have to care about the particular implementation. You cannot achieve the same with a class hierarchy - you will end up dragging a much bigger view into an object (if you will) than you actually need.
Aug
6
comment What sort of development does Risk Management and Quant related software entail?
Current trends and recent history can also be dangerously misleading. Taleb uses the example of the Thanksgiving turkey that is being fattened up for slaughter. As the turkey sees it, daily experience reinforces the image of the butcher as a benefactor who can be counted on to provide delightful delicacies on a daily basis — a good friend — right up until the day when the butcher reveals his true intentions. For the turkey the final day of reckoning is a personal black swan event. Leading up to the finale, the turkey clearly misinterprets what is happening around it. tinyurl.com/talebsturkey
Aug
5
comment Trying to understand the 2N lnN compares for quicksort
Part of the answer, copied from en.wikipedia.org/wiki/Quicksort "So, averaging over all possible splits and noting that the number of comparisons for the partition is n - 1, the average number of comparisons over all permutations of the input sequence can be estimated accurately by solving the recurrence relation:" For some reason we are off by 2 here - n-1 vs n+1.
Aug
5
comment What sort of development does Risk Management and Quant related software entail?
@Sjoerd, I believe it can be smart to buy insurance. Selling insurance is a whole different game; you better know what you are doing. Speaking of insurance, remember how much money AIG lost? So much for Risk Management :) By the way, risk management is a thankless job for traders will hate you. Their incentives are such that they would rather gamble a trillion. Btw, insurance companies tend to better deal with rare events. They are keenly aware of devastating storms, they have data going back decades, and they have heard of Extreme Value Theory, or so I hope. At the end all get a govt bail-out
Aug
5
comment Why is an anemic domain model considered bad in C#/OOP, but very important in F#/FP?
"Note: I'm specifically interested in the differences in C#/F# that could change the opinion of what is good/bad" - whose opinion? Note that you used the word "opinion". Do you suffer from being a conformist? Then stop. You are not obligated to write a bunch of oop code in order to use C#. You could use structs when all you need is data, but you must be careful with structs as they get copied by value, and other stuff. Sometimes all you need is a bunch of stateless functions. You have to create a class to encapsulate them, though not in VB.Net. This is just a restriction of the C# language.
Jun
13
comment Which design patterns would I use for this algorithm?
Design patterns are often overused, and in this case you definitely do not need one. Just split things into small functions, keep single responsibility principle in mind.
Jun
11
comment Inheritance using non-abstract base class
Perhaps this is a question that is data/statistics-based in nature? It would be cool if I could run some sort of oop complexity tool on a library and then have it propose an alternative design and run another type of complexity evaluation tool and then tell you the two scores? The UI widget class hierarchy does make a lot of sense. One should be able to prove so statistically somehow, with the help of algorithms that analyze ASTs. There are some other libraries that also use a lot of inheritance whereas they should not. I wish there was a tool that could measure just how bad things are.
May
28
comment How can degree of order in a list be measured?
Why do you ask for this? Are you trying to produce something random that also "looks random"? Be careful, fo randomness does not look random. I would not test an individual list to see if it is random enough. I would test the shuffling algorithm by examining thousands of outcomes.
May
15
comment Examples of general purpose algorithms that have benefited from running on a GPU?
String concatenation, sleep sort
May
9
comment When are chained assignments (i.e. a=b=c) bad form?
Having small functions, one could also throw an exception when something bad happens and have the caller decide whether the function should be called again or not - makes it easier to do a limited number of retries.
May
8
comment When are chained assignments (i.e. a=b=c) bad form?
Specifically in the context of Winforms - if you have just two buttons/controls, then write out two lines. If you have a bunch of them, then perhaps save the logical groups of them in a set, and then apply an attribute change to the whole set with aid of a helper function. Still, as Robert said, try to minimize state! Frankly, try to simplify the UI first. You can also logically separate controls by groupboxes, or give them a specific Tag, and then can change all controls in a given GroupBox with tag = "foo" to have .Enabled = someCondition. Speed will matter less than clarity.
May
8
comment When are chained assignments (i.e. a=b=c) bad form?
Related: stackoverflow.com/questions/5590392/…
May
1
comment Pairwise testing, not possible to say which combinations is faulty?
Do you think this is applicable to performance testing? If P(A, B, C) is my "performance function" - e.g. how much RAM / CPU it took to to execute a function with given parameters A, B and C, then would having this result help interpolate the answer for any possible combination of A, B and C?
Apr
26
comment To open source or sell? How to choose? How to proceed?
@Steve Evers, funny to hear that from a MSFT employee ;)
Apr
26
comment To open source or sell? How to choose? How to proceed?
+1 I donated as much as 50 euro to free software projects, but I do not remember ever paying for software with an official price tag, no matter how little it costs. If I have to pay upfront, I will either find a cracked version (even if it takes an hour of my time, an hour that would have earned me a higher amount) or will not use it at all. Being able to donate any amount or not donate at all feels like I am feeding a starving developer. Paying a fixed price feels like maximizing someone's bottom line. Perhaps not rational thinking, but this bias is very strong in me - a primitive instinct.
Apr
26
comment To open source or sell? How to choose? How to proceed?
@Victor is right though. Many developers produce money-making products where they have to remember that "We are not our target audience". I did not see the point of Facebook or Twitter or Instagram, so I could not imagine their earning potential, neither did I care, neither do I now. I believe that programmers, being a special cast of humans, should try to work on important things like ending corruption, wars, cancer, HIV rather than yet another app. I personally would not build a company out of an "mp3 player playlist" bc that would free up my time for something else. Now you have the context
Apr
26
comment To open source or sell? How to choose? How to proceed?
If you post it on github and it takes off, then you can show it off at your next job interview and negotiate a higher salary. Chances are that you will get three orders of magnitude more money that way. Plus, I would not pay for your app ;) (seriously).