47,374 reputation
8126209
bio website tech.turbu-rpg.com
location Seattle, WA
age 32
visits member for 4 years, 3 months
seen 2 hours ago
A lifelong programmer who's been coding in Delphi since its initial release and currently makes a living at it.

Sep
17
answered Protecting application against piracy
Sep
16
comment Reasons NOT to open source not-for-profit code?
Kerckhoff's Principle says that any serious discussion of security must begin with the assumption that "the adversary knows the system" already, and therefore opening the source cannot possibly make it worse. This may not necessarily be true, but it's a far better starting point than assuming that you're secure because the adversary is too dumb to find vulnerabilities without looking at the code.
Sep
14
comment Is it possible to create an arch that allows for an app to be downloaded and installed at the same time?
Sounds like Steam to me...
Sep
9
awarded  Yearling
Sep
1
awarded  Enlightened
Sep
1
awarded  Nice Answer
Sep
1
awarded  Nice Answer
Aug
27
awarded  Guru
Aug
27
comment Why does the .NET framework have no concept of classes as first-class types?
@Bobson: Care to join me in chat?
Aug
27
comment Why does the .NET framework have no concept of classes as first-class types?
@Bobson: Yes, TClass understands the class inheritance heirarchy. But it's something fundamentally different because a class of MyClass is not an object of type MyClass; it's a reference to the class itself. (Specifically, to the VMT of the class, which also holds a bunch of metadata on it, but that's an implementation detail.)
Aug
27
comment Why does the .NET framework have no concept of classes as first-class types?
@Bobson: It's not an interface or an inheritance mechanism; it's something fundamentally different that does not exist anywhere in .NET or Java. TClass is not an object; it's its own primitive type that represents a class and allows access to class-scoped members, including class-scoped virtual methods and virtual constructors, without any need for reflection.
Aug
27
comment Is it a good practice to declare instance variables as None in a class in Python?
@delnan: Ouch! How do you get anything done like that? o_0
Aug
27
awarded  Nice Answer
Aug
26
awarded  Curious
Aug
25
comment Why does the .NET framework have no concept of classes as first-class types?
@RobertHarvey: As for DFM being proprietary, sure. If I had to implement something like that today, I'd use JSON, obviously. But Delphi and the DFM format came out in 1995, predating both XML (1996) and JSON (2002). What else could they have done?
Aug
25
comment Why does the .NET framework have no concept of classes as first-class types?
@RobertHarvey: TClass is a fundamental language feature that requires compiler support. You can't "write your own" without writing your own language, and for .NET even that would not be sufficient because the object model is defined by the CLR, not by individual languages. It's something that literally needs to be part of the .NET framework itself, or it can't exist.
Aug
25
comment protect purchased games to be downloaded on other pc
@emodendroket: And if that's all you look at, sure, it looks great. If the bagel man put his bagels in a vending machine, though, first off he would need to buy/build a vending machine, which directly cuts into his profit margin, and second, it would not only reduce theft, it would also reduce sales. Both points apply equally well to software. Copy protection is a losing game and always has been.
Aug
25
comment Why does the .NET framework have no concept of classes as first-class types?
@RobertHarvey: Edited to give a few examples, explaining how a virtual constructor is far more powerful than a static factory method, and how class references can provide customizability that generics can't.
Aug
25
revised Why does the .NET framework have no concept of classes as first-class types?
added 3148 characters in body
Aug
25
comment protect purchased games to be downloaded on other pc
@emodendroket: If you're going to make a claim that directly contradicts empirical data, you'll have to back it up with something a little bit stronger than "yes, but surely people will behave this way."