Reputation
8,650
Top tag
Next privilege 10,000 Rep.
Access moderator tools
Badges
19 47
Newest
 Nice Answer
Impact
~393k people reached

Sep
24
comment How can I test my camera-dependent android app on most devices?
Also see android.stackexchange.com
Sep
24
comment How can I test my camera-dependent android app on most devices?
Keep in mind that despite your testing efforts, most "device-specific workaround" are discovered only after the public release of software. As a result, changes to the software workarounds can only be implemented after the initial release, and you have to prepare for rapid update releases on a continuous schedule as soon as a new workaround has been found and implemented.
Sep
24
comment How can I test my camera-dependent android app on most devices?
A simple breakdown of services are: walk-in vendor labs, device rentals, full-service app testing services (where you provide test directions and the provider's staff will run down the instructions manually on the devices they own). What is more interesting is how you implement device-specific workarounds in your software, which is answered in the link mentioned by @gnat.
Sep
24
comment How can I test an application that depends on specific hardware
+1: "Interface" may sound like its code should have been clean and simple, but in this case what you want is actually a "Hardware abstraction layer" in which you put all sorts of device-specific hacks, workarounds, or simply nasty code necessary to get every device working. Its job is to keep the plumbing sewage away from the sparking-clean bathroom. Don't expect clean code in this layer.
Sep
23
comment Is there a way to sort code properly into regions dividing methods and events?
jetbrains.com/resharper/webhelp/…
Sep
18
comment How to predict a future simulation state
@SebastienGuimmara: It seems like you are indeed referring to persistence. Persistence as a concept is applicable to any software data, and applicable from both the programmer and end-user point-of-view. It would be a huge effort (sometimes impossible) to retroactively add persistence as a feature to existing or legacy software.
Sep
18
comment How to predict a future simulation state
To help get more insightful advice, please describe whether and how the software stores its "state". A common term for this is "persistence", or "Checkpointing (computer simulations)". If the underlying software has no support for these, and if the scripting system for initializing the software state is incapable of completely recreating a future time point in the scenario, there is nothing you can do. If the software runs in a virtual machine, you can snapshot it.
Sep
14
answered What is more efficient, a single square root or multiple divisions?
Sep
11
awarded  Necromancer
Sep
9
awarded  Yearling
Sep
9
comment algorithmic problem - Combining overlapping ranges
Stackoverflow already have a few questions on QuadTree implementations in Python (anything from SciPy to pure Python, and more). Since your list is initialized from the beginning, you don't need to worry about the issue of tree rebalancing. That is, you can just build the tree upfront. Quadtree, R-tree and k-D tree are examples of multi-dimensional spatial search trees. If you aren't already familiar with this concept, you should learn it first. It is not something reducible to single-dimensional search unless your data size is known and fixed (i.e. reducible to a constant).
Sep
8
answered Polymorphic engines in C and/or C++
Sep
1
awarded  Nice Question
Sep
1
comment What's wrong with comments that explain complex code?
Sometimes algorithm code begins as a big ball of mud, and it is only after a lengthy period of analysis "picking-apart" that reusable parts can be isolated from it, based on identifying recurring patterns which occur across different algorithm implementations. Such "algorithmic patterns" are similar to Design Patterns, but they are not design patterns - GoF doesn't teach algorithms. Algorithms are taught in universities.
Sep
1
comment What's wrong with comments that explain complex code?
From my own experience, it is easier to make business code self-explanatory than to make algorithm code self-explanatory. Business code can draw from common-sense intuition, whereas algorithms can only draw from papers, theorems, axioms, equivalences, algebraic abstractions, etc., none of them belong to common-sense.
Aug
30
comment sanity checks: when do they become paranoid checks
It is language-dependent. For languages where "undefined behavior" is possible, one must be extremely cautious. In fact, programs written in these languages cannot be made safe unless proven otherwise (e.g. Coq theorem prover, static analysis, or a equally-capable human theorist). On safer languages, and also on languages that supports (enforces) "member visibility" the right way, one can make use of limited visibility to eliminate some impossible scenarios from the analysis. This is where "code cohesion" helps analysis.
Aug
30
comment What optimizations can be done for soft real-time code in C#?
@CodesInChaos: Agreed. Anything less than a kilobyte apiece (i.e. arrays of that size) is not worth object-pooling. However, as far as Android is concerned, even the official development guide says to avoid object allocations inside time-sensitive code (especially the view.onDraw method), because on Android every allocation carries a tiny risk of triggering a GC, and yet the consequences of that tiny risk is deemed severe enough for Google to justify issuing such an advice. Weird, and hopefully it will go away as software and hardware improve over time.
Aug
30
comment Reading assembly useful for insights when writing C/C++?
Prioritize your skills. It is a higher priority to learn how to accurately measure the performance of software (benchmarks, profilers, samplers, event loggers, etc). Then, once you gain the ability to narrow down to hotspots, you will find use for your arsenal of skills, within which reading assembly is a good skill to have.
Aug
28
comment What optimizations can be done for soft real-time code in C#?
@JTrana: Please refer to the "object cesspool anti-pattern" article. Summary: (1) not having release method, (2) release method doesn't do its job, (3) release method not being called appropriately, or not at all.
Aug
28
comment Designing Nested List<Class> Property in a Class
This is an example of what LINQ is designed for.