511 reputation
27
bio website mctaylor.com
location Ontario, Canada
age 39
visits member for 3 years, 6 months
seen Jul 2 at 20:15

C and Perl programmer for a suite of Linux based applications and web services.

I prefer to try to help people find how to answer their own questions, than to answer their questions for them. I also try to encourage and hopefully provide constructive feedback on how to improve questions from new(er) programmers, with the goal of hopefully improving the quality of the help their receive.

I view StackOverflow as a tool, rather than a LazyWeb site. In the long term I believe this is necessary to preserve the quality of the site and its usefulness.


May
20
comment Theoretically bug-free programs
I believe NASA or other space program have suggested that N-variant suffers from the problem that too often programmers think alike and thus end up independently writing near equivalent programs with common flaws when the flaw is beyond the most trivial level. For example, refer to the same reference information (see long standing bug in binary search ), tend to use the same algorithms, and make the same sorts of mistakes.
May
3
comment How to pick the testing values for parameterized tests for stateless functions?
Values which represent common modes of failure. The frequency or likelihood of these failure modes can be weighted against the important of testing (i.e. how wide spread is usage & severity of failure) to give a pragmatic sense of how through or exhaustive you need to be. The other criteria often used is how much time is available for you to spend writing and validating the tests for that function. In the end it comes down to management of risk analysis and time.
May
1
comment Is it legal to reuse code from a “programming cookbook”?
Unfortunately the particular book does not have the explicit notice that later O'Reilly books include now on code usage, which does allow sane usage to solve a problem, but does not give permission for duplicating content en masse. For example Programming Perl 4th edition (2012) has such a code usage notice near the end of its preface. They also unfortunately don't include a license text in the downloadable examples from the Perl Cookbook's website either.
Sep
15
comment Has “Not everyone can be a programmer” been studied?
"Anyone" or "Everyone" may be dangerous generalities, as one area I know of no studies and have no personal experience, is computer programming by individuals with cognitive or developmental disabilities. I suspect people who have problems learning, would be at a severe disadvantage, which could translate into a legitimate limitation, or frustration barrier high enough that it is typically not crossed, but I don't know of any survey or studies on the topic. And I don't know of any studies on whether people lacking any formal education can be successful at programming.
Sep
15
comment How important is membership in industrial or professional organizations?
To paraphrase; simply being a member is of limited value in and of itself, but being an active member can be both enlightening and reputation building.
Sep
14
comment How important is membership in industrial or professional organizations?
Suggestion: Split IEEE and IEEE Computer Society into separate headers, as they are separate groups where membership in one does not imply membership in the other. The majority of electrical engineers in the IEEE are not IEEE CS members, and likewise many IT professionals and academics who do join IEEE CS may choose to not become an IEEE member.
Sep
14
comment How important is membership in industrial or professional organizations?
To clarify: IEEE, stands for the Institute of Electrical and Electronics Engineers. Many, are not interested in the general / parent society of the IEEE itself, but the IEEE Computer Society in particular. That said, it is also certainly not uncommon to have interests crossover, myself include. Disclosure: I am a professional member of both societies.
Jan
10
comment The case for code obfuscation?
Are you considering or focused on source code or object / executable code? For example, Gimpel software distributes a version of their lint tool in obfuscated C source code, such that the, typically Unix, clients can compile it to run in whatever environment they wish, without the Gimpel needing to support / maintain N number of target environments, including oddball or legacy environments. This is reasonable different from object/executable obfuscation used for copy or data protection (e.g. illicit copying) as a layer of security to delay / deter reverse engineering.
Jan
2
comment How do you prevent the piracy of your software?
Ref: Copy Protection - Technical challenges
Dec
23
comment A free game-development language?
Similar Q: What language should an 11-year old start with to learn game programming?
Dec
23
comment A free game-development language?
HTML5 games are a hot topic for mobile gaming industry, due to its (future?) portability / platform independence. Another is WebGL which I believe is less common. New toolkits for them are appearing daily.
Dec
23
comment A free game-development language?
If the target is their own game with 3D graphics, this is the best approach IMO. Many/most of the major game toolkits have free versions (some require you own a registered version of their primary game). Most extend from modding to creating entirely new game environments. Several (not all): Playground, Havok, and Value Source. There are plenty more I can't think of right now.
Dec
23
comment Beginners guide to developing optimization software
What might be a radical change in direction, but may be of interest is Quantitative Analysis, an intense financial field of advanced applied mathematics.
Dec
22
comment What modern alternatives to Numerical Recipes exist?
+1 for netlib suggestion
Dec
16
comment Do computer glasses work?
The lamp around the monitor, is sometime referred to as bias lighting, and can improve the visual contrast between the screen and the surrounding area. With CRT monitors, the refresh rate of either nearly equal or less than the frequency of the AC mains frequency (50 or 60 Hz) typically caused fatigue and headache inducing flicker. With multi-sync monitors you could reduce the resolution to improve the refresh or scan rate frequency.
Dec
16
comment Do computer glasses work?
Indoor Air Quality suggests that RH(%) of an office environment is best between 30 and 60% Relative Humidity, with 50% being considered ideal. src CCOHS. Many older heating systems reduce the natural humidity in the air during the winter season unless they include a humidifier.
Dec
16
comment Do computer glasses work?
And I believe that the cold-cathode fluorescent lamps (CCFL) used predominately in contemporary LCD monitors do have a high intensity near blue in the visual spectrum. They may also emit UV if not correctly filtered. Personally I have found the default brightness of a uncalibrated monitor vastly too high, which may be due to a potential marketing benefit as appearing "better" at a store showroom floor in side-by-side comparison. ref PC World
Dec
16
comment Do computer glasses work?
@ZanLynx due to efficiencies, I believe the difference in brightness of reflected vs. generated or projected light (colour) is an order of magnitude difference. Otherwise paper would act and look like an mirror.
Dec
16
comment Can I use GPL, LGPL, MPL licensed packages with my application and make it closed source?
First, BusyBox is a program, not a system. Second, BusyBox in particular has a great Busybox license page about this. And the rest is covered in the GPL FAQ.
Jul
19
comment How to transition from a web developer to an embedded developer?
I respectfully disagree with your first statement (from a web developer to a thick client developer), embedded programming requires understanding of the embedded system including particulars of the hardware, any OS or Real-Time OS, and often low-level protocol details (EIA-232, RS-422, ZigBee). Many experienced embedded developers also learn basic electronics, particularly digital electronics including basic logic (gates, MSI), programmable logic devices (CPLD, FPGA), special purpose ICs (ADC, DSP, codec, MUX/DEMUX), CPU, MCU, and memory (RAM, ROM, PROM, EPROM, flash, etc.).