Reputation
6,592
Top tag
Next privilege 10,000 Rep.
Access moderator tools
Badges
2 20 31
Newest
 Guru
Impact
~105k people reached

May
3
comment What characteristics does software have that's easily modified by other developers 6+ months after initial release?
Actually I think this is a great question that should be asked and answered by all professional programmers. One-off cruft for fun or a class assignment is one thing, but long-lived production code needs to be treated as such from the beginning. Since answers are currently blocked I'll toss one more item into the fire: 10,000 foot documentation. This is a brief, concise description of why the program is being done, followed by slightly lower elevation docs on why particular approaches/algorithms were chosen over others. 6 months/years from now that reasoning may aid/prevent a rewrite.
May
3
comment Some people told me that finding all prime factors of a number is an unsolvable problem. Is that real?
Speaking as someone who quit school 2 quarters short of a degree in Finance, I would like to emphasize the truth in @Giorgio's comment. Through 40+ years I found that 90+% of what I did benefited from a solid grounding in formal logic, which fortunately was something I had a least a little of. However, more than a few projects forced me to "go back to school" to really understand things like Cosine Coefficients, algorithm complexity, etc., all of which would have been easier if I had a better foundation in mathematics.
Apr
29
comment Copyright for collaborative group
This is an important question, and one that can be difficult to answer. You need to have a clear vision of how you (your group) want to share this project, and then you have to Do Your Homework. MIT is similar-but-different from BSD, BSD is very different from GPLv2, which is, in turn, very different (at least in some respects) from GPLv3. Note that changing your license at some point in the future can be difficult once there are more than a small number of developers involved. Good Luck!
Apr
23
comment Is it better to document functions in the header file or the source file?
To paraphrase Donald Rumsfeld (a man I did not like), "You program with the tools you have, not with the tools you wish you had." Every language I've worked with in the last 40+ years has had at least one major wart (if not more). Our solution a) worked, b) used tools that existed at the time, c) let us spend our time getting revenue-generating code out the door.
Nov
11
comment What constitutes a programming language and how does one copyright a programming language?
But that wasn't the real point of my post. After the total debacle of Oracle's power-play with Java, no one in their right mind, and with any knowledge of history, will knowingly place this kind of noose around their company's or project's neck. If anything, the reversal by the Appellate Court only serves to give even greater weight to the argument for using only OSS tools and languages. It's amazing, and deeply ironic, that an a**hole like Larry Ellison should be the person to drive home the true value of Libre/Free software to even the most hard-headed capitalist or business person.
Mar
22
comment What is a good way to store geographical data for distance calculations
Check out MaxMind's free GeoLite databases and code. They may not completely cover your needs, but we found them very useful in a couple of projects.
Mar
22
comment Best practices for introducing testing to a large, stable, legacy Java application?
"Selling" is a key point here. To do this effectively, remember that you need to see the problem from the other person's point of view, and then show them how they benefit. BTW, convincing non-tech-savy management of anything that enhances long-term code maintenance is almost doomed from the start. They don't understand the "problem," so they can't understand the "benefit."
Mar
3
comment What is proper etiquette for releasing a complete rewrite of an existing project?
@MattKeller: Done. Thanks for the nod.
Mar
3
comment What is proper etiquette for releasing a complete rewrite of an existing project?
Since it's all new code, I would tend to go with #1 because the history of the old project is really irrelevant. But it would be nice to add something to the README along the lines of, "Based on an idea from ....".
Feb
26
comment Re-gaining confidence of senior programmer
Red Flag!® ...he was upset about having to learn something new. I've been in this game since 1973 and I figure I have had to learn, on average, a new technology and/or tool every month. I'm basically a server guy, but in the last 3 months I have had to completely rethink how I do JS frontends because of projects like Bootstrap, Enyo, and "single page app" frameworks, and that affects how I think about how the server supports them.
Feb
17
comment Can I use the patented Octree algorithm in a public programming challenge?
+1 for contact the owner, but do note that the owner is Octree Corporation (based on the Google Patents link in the previous comment. If your use doesn't impact their profits, and maybe even further advertizes the value of the method, they may be quite happy to give you permission.
Feb
16
comment What *are* the programming concepts I should master to have a deep understanding of my craft (programming)?
@MarjanVenema: Actually it was refactoring. I worked at Xerox in the late 70's and, even though I technically wasn't working in an OO language on the editor project, it was OO at its core. The overall project was a complete disaster (everything new from the silicon on up -- yuck!), but the editor did actually work.
Feb
3
comment Are chained methods that require only one parameter per method equivalent to currying?
+1: I knew that, but I don't think I could have articulated it anywhere near as well as you did.
Jan
30
comment What *are* the programming concepts I should master to have a deep understanding of my craft (programming)?
@JörgWMittag: I'm a huge fan of automated regression testing. I first used it on a search engine project back in the mid-80's, and I was shocked (shocked!) at the stuff that would fall out after what appeared to be a "minor" change to some innocent looking piece of code. (Note: this was 200,000+ SLOC of C, and memory management problems were the bane of our existence.)
Jan
30
comment What *are* the programming concepts I should master to have a deep understanding of my craft (programming)?
@MarjanVenema: Yes, I completely agree with him. Back in the 80's I was tasked with writing a spec for a new editor, to be approved before I started coding. I stared at that damn blank screen for more than a week trying to figure out how to describe something I didn't understand. My manager expressed his displeasure with my lack of progress. After a 3 day weekend he had a draft on his desk. He asked what had happened, and I said that I wrote the editor over the weekend, and then simply wrote a spec of what I had working. I did rewrite some of the code, but it was mostly refactor/cleanup.
Jan
30
comment What *are* the programming concepts I should master to have a deep understanding of my craft (programming)?
+1: GET STUFF DONE! A couple of years ago I posted a rant that said that this was the defining characteristic of an engineer -- they get stuff done. Sometimes it ain't pretty, and sometimes you will have to go back and redo it, but at the end of the day they get stuff done!
Jan
23
comment hginit - #ifdefs ridiculous
+1: In the 80's I had a debugger that ran on almost any UNIX system you can think of. Prior to version 4, the code was awash in #ifdefs. I swear it made my eyes bleed just looking at it. For version 4 I went to a pluggable architecture using separate files, and also started using RCS (or was it SCCS?). Life got massively better and new features were much easier to develop. (But boy do I ever wish we had git or hg in those days.)
Jan
12
comment Computer science jobs that don't let you develop software outside of that job?
You have to get specific: Where do you live? Where do you want to live? If it's California (where I am) then there is a law against this type of employment contract. Michigan? I think they are trying to change it, but right now there's a problem. Some other state/country? Get specific.
Jan
10
comment Is it possible to use python as a shell replacement?
@Izkata: verbose/cluttered is a relative thing. I find doing almost any type of serious programming in bash to be like getting a root canal without anesthesia. (And I say that having been at a shell prompt since 1980.) Bash still is forking subprocesses just like Python, so it doesn't seem to have any inherent advantage other than 3 decades of inertia.
Jan
5
comment Choosing a proper wording for referring compiler errors
I would go with "generates", but I don't have a problem with any of the others you list.