665 reputation
410
bio website 127.0.0.1
location Richmond, VA
age 38
visits member for 3 years, 10 months
seen 10 hours ago

I mostly do web apps these days. E-commerce backends in PHP, Perl, and/or Interchange (an open-source Perl-based app server), or small ASP.net sites. I still remember enough Javascript, VB.net, C#, C++, C, Java, and x86 assembler language to get by, and i like to think i'm pretty good with MySQL or MS SQL Server.


10h
revised I made improvements to free code I found online and notified the author. Was this the right thing to do?
added 1 character in body
10h
comment I made improvements to free code I found online and notified the author. Was this the right thing to do?
@NateKerkhofs: If it's indeed a pure refactoring, sounds like changes i'd have recommended as well -- and welcomed if they were suggested to me. Keep up the good work. :)
12h
revised I made improvements to free code I found online and notified the author. Was this the right thing to do?
deleted 14 characters in body
12h
revised I made improvements to free code I found online and notified the author. Was this the right thing to do?
added 138 characters in body
13h
answered I made improvements to free code I found online and notified the author. Was this the right thing to do?
Jul
25
revised Why would programmers ignore ISO standards?
un-wall-of-text-ify
Jul
25
suggested suggested edit on Why would programmers ignore ISO standards?
Jul
23
comment Is it a good idea to “#define me (*this)”?
As for 2.: If everyone got to add whatever syntax they like, the language would probably look a bit like Ruby or Perl. :) And though it might technically be correct to say that "everyone knows" is overbroad, and some people definitely don't understand the intricacies of this, everyone who programs in C++ should know (at least roughly) what this means. #define me (*this) only helps the people who don't -- those being the very people that shouldn't be messing with the code, IMO.
Jul
23
comment Can a closed-source programming language survive?
As for languages, you might have a point. There's still a market for paid-for development tools, though. MS, Adobe, JetBrains, etc aren't exactly hurting for cash, last i heard. Seems there's an argument in there somewhere for free "lite" or trial versions.
Jul
22
comment When I test out the difference in time between shifting and multiplying in C, there is no difference. Why?
"Yet we should not pass up our opportunities in that critical 3%. A good programmer will not be lulled into complacency by such reasoning, he will be wise to look carefully at the critical code; but only after that code has been identified. It is often a mistake to make a priori judgments about what parts of a program are really critical, since the universal experience of programmers who have been using measurement tools has been that their intuitive guesses fail." (Knuth, "Structured Programming with go to Statements") Emphasis is his, IIRC.
Jul
22
comment When I test out the difference in time between shifting and multiplying in C, there is no difference. Why?
Because i'm tired of seeing that 10% of that quote, and because it hits the nail on the head here: "There is no doubt that the grail of efficiency leads to abuse. Programmers waste enormous amounts of time thinking about, or worrying about, the speed of noncritical parts of their programs, and these attempts at efficiency actually have a strong negative impact when debugging and maintenance are considered. We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. ...
Jul
22
comment Why does C have no competitors in low level stuff?
@BasileStarynkevitch: That's at least partly because they haven't proven themselves. C proved itself right off the bat. Go, not so much. What little i've found about Cyclone seems to likewise assume an existing OS. Rust looks promising, but so far the most popular example is rustboot, which paints the screen red and then hangs. :P A useful kernel would be more convincing evidence of its viability.
Jul
22
comment Why does C have no competitors in low level stuff?
@BasileStarynkevitch: Because "it's better" from some academics simply isn't enough; academia is often seen as valuing theory over reality. Real-world evidence wins, and C all but started with evidence. If those competitors had a Unix-like demo -- and particularly if they were portable and produced a slim-and-fast-as-C binary without disabling all their spiff -- they would probably attract more attention.
Jul
21
comment Why does C have no competitors in low level stuff?
Depends on what you mean by "competing", really. Though there are other languages with low-level capabilities, i haven't heard yet about any of them actually being used to build an OS or firmware from the ground up. And of course, popularitywise, nothing comes close to C. (C++ maybe, but those using it also tend to forbid most of what makes it C++.)
Jul
16
comment Is it a good idea to “#define me (*this)”?
@immibis: In practice, though, they're also likely to say something like "who wrote this crap?". :P
Jul
12
comment Classic inheritance problem?
@Doval: Because it's a "design pattern". It must be right if it's blessed by GoF, right?
Jul
11
comment Should I store False as Null in a boolean database field?
@Bludream: For booleans, a nullable field can actually take more space, depending on the DBMS. (It's a negligible amount in nearly all cases, though.) A boolean can be represented in a single bit...but a nullable boolean has three possible values (true, false, and null), and thus needs more than one bit.
Jul
7
comment How does the “Fourth Dimension” work with arrays?
@Rhymoid: And if we want to complicate things from the language side, consider that in any language where pointers, references, and-or copy-on-write are a thing (which includes basically all OO languages these days), any of those entries can be a reference to the same array as another -- meaning all the stuff within that array effectively costs zero bytes. And if we throw in dynamic typing (again very common), it's possible to have an array that contains itself -- which renders it effectively ∞-dimensional, but doesnt keep it from fitting in a finite amount of memory.
Jul
7
comment How does the “Fourth Dimension” work with arrays?
@Rhymoid: That typing is entirely a feature of the language, though. Once you get into implementation, everything becomes one-dimensional. A 3D array's size would not be measured in cubic bytes.
Jul
6
comment How does the “Fourth Dimension” work with arrays?
@Rhymoid: I can't help that Haskell is hopelessly detached from reality. In the real world, that list of lists is a list of lists, and the only difference between a[1] and a[1][2][3][4][5] is the type of the expression.