38,395 reputation
590169
bio website tech.turbu-rpg.com
location Seattle, WA
age 30
visits member for 2 years, 8 months
seen 4 mins ago
stats profile views 1,773
A lifelong programmer who's been coding in Delphi since its initial release and currently makes a living at it.

May
8
comment Whatever happened to Pascal?
@MichaelT: "Why Pascal Is Not My Favorite Programming Language" was more a marketing document than anything truly useful. Bear in mind that the guy who wrote it was also the author of the definitive guide to C programming, and thus had a direct financial incentive to tear down the competition rather than be objective about it.
May
8
comment Whatever happened to Pascal?
@MathewFoscarini: Which horrible framework are you talking about? The one that was so well-designed that Microsoft blatantly used it as the template for the .NET framework?
May
6
comment Why do bitwise operators have lower priority than comparisons?
Interesting. Having only one operator whose meaning is contextual is really the best way to do it. (integer and integer: bitwise and, boolean and boolean: boolean and; integer and boolean: syntax error). Problem is, C doesn't have a proper boolean type (everything can be a boolean) so this system doesn't work and we're left with the ugly hack of having duplicated operators. And even later C-derived languages that do have a real boolean type don't fix this problem. (Looking at you, C# and Java.)
May
6
comment Spoiled by Python convenience- and productivity-wise, spoiled by C++ speed-wise. Now unhappy with both
@RobertHarvey: People have been predicting Delphi's imminent death since it first came out in 1995. It's still around and going strong.
May
4
comment Should code and data be treated seperately?
@MichaelShaw: On the contrary, C has so many problems with buffer overruns because it lacks bounds checking to ensure that data doesn't end up in places in memory that belong to code.
May
3
comment Best strategy in SQL
@Morons: You know there are no "relational integrity issues" because you have a FK constraint in place and the database takes care of that for you. (If you don't, then that's SQL heresy!) And since what's being queried for here is the set of all role names for a specific user, if the user doesn't have any roles, then an empty set is a perfectly valid response. (And a more correct one than a set containing a single element whose value is NULL, which is what your scenario would yield.)
May
3
comment Best strategy in SQL
Umm... what? Why are you advocating left joins here as the Only True Way? Left joins are a specific tool that does one thing; full (inner) joins are a specific tool that does something else. That's a little like seeing someone digging a hole with a shovel and saying "YOU HERETIC! The Only True Way is to use a jackhammer!"
May
3
comment Best strategy in SQL
@hlapointe: Edited to address your question.
May
2
comment I want to program, my school won't help me
Keep doing what you're doing. Learn to program by writing code and working on open-source projects. It's a good way to get experience. Try to get into college. High school might suck--I know it did for me--but if you jump through the right hoops, you'll end up in a good school, on track to a CS degree, and that's invaluable for you because it will give you a solid grounding in the theory of programming. I don't use a lot of what I learned in college, but the rest of it I tend to use all the time, and knowing how things work is very useful. But aside from that, keep coding and learn by doing.
May
1
comment Why most use Cygwin and not Uwin?
Gotta agree here. If you have to know that the command line exists in order to use a piece of software, it's already failed. That's been true since 1984, and the *nix community's stubborn refusal to understand this most fundamental principle of usability is (IMHO) the single biggest factor holding them back from widespread adoption.
Apr
25
comment Why use try … finally without a catch clause?
try/catch is not "the classical way to program." It's the classical C++ way to program, because C++ lacks a proper try/finally construct, which means you have to implement guaranteed reversible state changes using ugly hacks involving RAII. But decent OO languages don't have that problem, because they provide try/finally. It's used for a very different purpose than try/catch.
Apr
24
comment Logging failed login attempts exposes passwords
@BZink: Yes it does. If the username exists, log it as such. If what the user does is accidentally add the password onto the username, the resulting string will almost certainly not also be a valid username.
Apr
23
comment What is a development stack?
@XavierT. It's what you wish you could use (I'll leave the details to your imagination) on people who write buggy compilers and development tools. ;)
Apr
22
comment How do I avoid writing lots of pass-through functions in a wrapper?
@RobertHarvey: +1. That's a guideline, not a "principle," and certainly not an absolute commandment.
Apr
19
comment Why does Java use so many middlemen?
Wow. I'd expect to see that degree of complexity in an HTTP server, but on an HTTP client, you're right. There really should be two methods, which return a string and a stream, for textual and non-textual data respectively.
Apr
15
comment Is there such a thing as truly random?
This is more of a philosophical question than an objectively answerable one. Someone who truly believes in randomness will say radioactive decay is random, whereas someone who truly believes in determinism will say that it's based on processes that we don't understand yet. All we know for sure is that, based on our current understanding, it appears to be probabilistic and not deterministic.
Apr
15
comment How do I make my ASP.NET application take an action based on time?
@RowanFreeman: It is, as long as any shared data it's reading from is accessed in a safe manner. The obvious example here would be the priority queue; the Pop operation on it involves rearranging the queue's internals, and should only be done while the queue is locked to prevent concurrent access.
Apr
14
comment Are there any statically-typed Web scripting languages?
@delnan: Ideally, something that can be pre-compiled (ie. to bytecode or jitted) and cached on the server, so you only have to compile it once (unless you change a script, of course.) I figure it would have two advantages. First, you get the correctness checks of static typing, which helps prevent whole classes of runtime errors. And second, having the type checks in place would a jitter better information to work with. A lot of dynamic languages don't jit all that well because the overhead is hard to work around.
Apr
12
comment Setting up and syncing a developer (local) version and a public version of a website
I handle it similarly. The entire server setup is under version control. SVN commit from my dev system pushes new features to the repository, and then I can have any server instance pull the changes with an SVN Update. No automatic hooks, because there are multiple servers and they shouldn't necessarily be updated all at once, but using version control instead of FTP is definitely the right idea.
Apr
11
comment Why aren't macros included in most modern programming languages?
Ugh. Not more "code is data is a good thing" garbage. Code is code, data is data, and failing to properly segregate the two is a security hole. You would think that the emergence of SQL Injection as one of the largest vulnerability classes in existence would have discredited the idea of making code and data easily interchangeable once and for all.