5,960 reputation
1640
bio website
location Los Angeles, CA
age
visits member for 4 years, 1 month
seen 2 hours ago

I love strange shrimp.

eh, string stream.


1d
comment Should all programmers know how to solve algorithms, etc
You mentioned two career tracks, and these two particular career tracks have moderate to high requirements on algorithms. As others explained, you will probably need a college degree for these. On the other hand, there are career tracks with lower requirements (day-to-day relevance) on algorithms. In general, the first two years of a CS college education should be very useful for anyone working on software.
2d
comment A good generic type system
@supercat: @JonSkeet's answer to your question
2d
comment A good generic type system
@supercat: one applicable advice is to stackoverflow.com/questions/383947/… , that is, program to the Animals and the Vehicles and standardize your entire code base so that anything derived from Animal will be passed as an Animal, not as a specific SiameseCat.
2d
comment A good generic type system
The consensus argument falls prey to No true Scotsman fallacy because in some circles, what actually happens is that "once --programmers-- a programmer in a language community start complaining about overly complex type declarations, we can eliminate that --language-- programmer."
Oct
18
comment How to deliberately practice computer programming?
Speaking of "repeatedly perform the same or similar tasks", cognitive science recommends Spaced repetition in which one aims for longer memory retention of the topics by revisiting it weeks, months and then years later.
Oct
18
comment How to deliberately practice computer programming?
But this does not mean that one without a mentor cannot do deliberate practice. Some "successful autodidacts" are able to do "self-mentoring" with good outcome.
Oct
18
comment How to deliberately practice computer programming?
Having a good mentor, educator or trainer will ensure that a learner will stay on track for deliberate practice: by allocating practice tasks to achieve a good coverage of knowledge areas, by appropriately setting the level of challenge, and by measuring the outcome.
Oct
18
comment How to deliberately practice computer programming?
Deliberate practice is already explained in the Wikipedia article.
Oct
18
comment How to deliberately practice computer programming?
To me, "Afterwards while coding at work you identify..." qualifies as deliberate practice, or is capable of achieving the same objective as deliberate practice.
Oct
16
comment Sequentially/parallel algorithm for extracting blob outer perimeter/contour length
@NordCoder: The correct name for this type of algorithm is "contour filling algorithm". Proof of correctness of such algorithms are usually constructed in terms of Combinatorial map. Since these two things are news to me, I won't be of much help about them. Good luck.
Oct
16
comment Decorator Pattern: can it solve issues arising from changes to underlying code?
The only kind of breaking changes that would affect class derivation but not decorator is probably the addition of the sealed keyword to the class, or the private-ization of something that your additional behavior depends on.
Oct
16
comment Decorator Pattern: can it solve issues arising from changes to underlying code?
In this particular case, if underlying code changes could potentially break things, it would have broken both class derivation and decorator pattern equally bad. (This would be a good reason to have integration tests.) And to forecast whether breaking changes would happen, you would have to take Microsoft's advice on face value - it could potentially promise not to break things and then go ahead and break it a few months later. So, to offer a useful advice to your situation, it will require a fortune-teller who will know Microsoft's intention for the next .NET release.
Oct
16
answered Decorator Pattern: can it solve issues arising from changes to underlying code?
Oct
16
answered Runtime analysis of functions that call other functions
Oct
16
comment Runtime analysis of functions that call other functions
Just to give another example of terminology, in Visual Studio performance profiler, the two kinds of timing would be termed "inclusive time" and "exclusive time" respectively.
Oct
15
comment Immutable objects
possible duplicate of If immutable objects are good, why do people keep creating mutable objects?
Oct
8
comment Exceptions: Why throw early? Why catch late?
Just a reminder for anyone reaching to this question and doing Android development. On Android, exceptions must be caught and handled locally - in the same function where it is first caught. This is because exceptions don't propagate across message handlers - your application will be killed if it happens. So, you should not cite this advice when doing Android development.
Oct
7
comment Algorithm recommendation for string classification
You can watch some of the lecture videos from Coursera - Natural Language Processing, without registration.
Oct
7
comment Algorithm recommendation for string classification
Is the classification based on the literal meaning of the words? If so, would it make sense to pull in a thesaurus from a dictionary so that synonyms will be classified in similar ways?
Oct
2
comment Sequentially/parallel algorithm for extracting blob outer perimeter/contour length
Yes. The connected component run-markers representation looks like this: a sequence of items which are pairs of (x1, y1, x2, y2) where y1 == y2, x1 <= x2, and there can be more than one such items for each value of y. In other words, each item is exactly a "run-length encoding".