10,357 reputation
23761
bio website
location
age
visits member for 3 years, 3 months
seen 23 hours ago

C# developer, pretty standard stuff. SOLID and other such principles drive everything I do for the most part. Other than that, polyglot lover of functional programming in Haskell, F#, Erlang, and javascript. Player of each, master of none.

  • Monads are like buckets, that's what they say anyway.
  • Monoids are easy! I guess?
  • Comonads are just objects... however that works O_o
  • Cartography has nothing to do with these things.

Cheers.


Nov
3
revised Is it fundamentally possible to validate that an unmodified version of your client connects to your server?
added 88 characters in body; edited title
Oct
31
comment What is the best way to initialize a child's reference to its parent?
@Telastyn I can't help but read that as tongue in cheek, and it's hilarious. Also completely dead bloody accurate. Steven, the term to look into is "acyclic" as there's plenty of literature out there on why you should make graphs acyclic if at all possible.
Oct
29
comment Better to keep JScript.NET dll or try converting JScript.NET code to C#?
why is relying on a JScript.NET assembly in any way not desirable? Sounds like a 3rd party library that works perfectly well for your very narrow use case. I don't see the downside. If you really have some bone to pick with the idea a non-homogenous system (pressing for homogeny over pragmatism is the cause of many terrible systems in the world), you can just use ILSpy or Reflector to reverse the IL in the dll to C#, then refactor it as you like into something that looks less disassembled...
Oct
28
comment How to get a one-way hash function that is collision safe for about 1 million unique inputs?
@PeriataBreatta the answer in that question goes into extreme detail of analysis on the uniqueness and distribution of various hashing algorithms. It should have more than enough information to help the asker here choose an algorithm with a good distribution.
Oct
28
awarded  Enlightened
Oct
28
awarded  Nice Answer
Oct
21
comment Data structure for traversing hierarchical hostnames
this was fun dotnetfiddle.net/ihB8FQ <-- functional approach
Oct
15
comment Is not being able to resolve a function call to its declaration a drawback of Polymorphism?
Polymorphism is an effect of the runtime type system, I don't know PHP so I can't say - but does your code here work ? If so, I don't think any polymorphism failure is occurring, it's functioning as you expect, but rather your IDE which doesn't have a full PHP runtime in it doesn't know the behaviour that's actually going to occur at runtime. IDE's don't typically know everything about your code, so it's not uncommon for them to not recognize exactly what's going to happen. For the IDE to know what will happen it would require the full PHP type system implemented in it.
Oct
14
comment Java Multithreading and CPU cores
This is a specific implementation question about Java (I suspect it's also too broad altogether because the decisions about which cores any thread runs on are strongly tied to the underlying OS, and particular chip platform which entails way more variables than anybody can describe in an answer) voting to send to SO
Oct
12
comment What was the influence of Chris Okasaki's data structures on Scala?
"Indeed, one of my major complaints about the computer field is that whereas Newton could say, "If I have seen a little farther than others, it is because I have stood on the shoulders of giants," I am forced to say, "Today we stand on each other's feet." Perhaps the central problem we face in all of computer science is how we are to get to the situation where we build on top of the work of others rather than redoing so much of it in a trivially different way." - Richard Hamming, 1968 Turing Award lecture, Journal of the ACM 16 (1), January 1969, p.7
Oct
12
comment What was the influence of Chris Okasaki's data structures on Scala?
The first real use of his book being in either case is downright incorrect. Chris Okasaki's thesis was published long before either of those languages were developed, and studied closely by programmers across a great variety of functional languages such as Haskell, the MLs (all examples in the thesis are in Haskell and SML), surely CLISP coders, Erlang, and any other language you can figure has an interest in referential transparency (COQ, HOL, Miranda, Clean, and on and on..) There's much to learn from software languages of the past, don't assume only recent languages were well thought out.
Oct
10
comment Typical team size to maintain and improve a 100k line codebase?
@glenatron this is pretty meta at this point, but if you really believe that I strongly encourage you to post on meta a request for statistical analysis of site usage - as many of us have done this using Data.SE and other sources and come to a fairly conclusive response that - the narrower scope to this site does result in greater site usage and value. Many of us active in the community approach maintaining the community with an eye on objective results not subjective opinion as folks so often think. A meta post could be valuable in helping folks understand why we maintain how we do
Oct
10
comment Typical team size to maintain and improve a 100k line codebase?
@glenatron yes, but if it keeps happening you'll be question banned so abusing that concept is kind of a self-solving problem
Oct
4
comment Inheritance is a null property in the parent a bad practice?
@cHao ....my remote does have those buttons....
Oct
4
comment Why is object-level privacy difficult to use as a paradigm, and why is it desirable?
also "object-level privacy" is not a paradigm, I think you're referring to a particular language feature, and likely one that is only relevant in OO languages I'm guessing. Again, you really need to explain what you're referring to here with more detail, right now you're vaguely referring to things without enough detail for us to know what you mean. If you're not certain what it is you're referring to that's fine, but perhaps you should describe it rather than using terms that might be ill fitting to the feature you're referring to as the terms may just be confusing the point.
Oct
4
comment Why is object-level privacy difficult to use as a paradigm, and why is it desirable?
you said class-level privacy is not object-level privacy, but you didn't explain what you think "class-level privacy" is, just that we don't know how to do it. I think you'll need to explain a little better what you think it is and why we can't do it, because "class-level" instead of "object-level" tends to be a distinction people use to refer to type-statics where a given type has a single member across process scope, which can most definitely be private...so, what are you getting at here? Also you gave one example of working around privacy, but not all languages support it.
Oct
4
comment Alternative to language purity
In short, it's saying "I want to do these 4 things in this function" - and having to figure out how to do them in a single statement that causes people to pause and not know how to move forward in Haskell.
Oct
4
comment Alternative to language purity
I think hands down the biggest problem people run into when they try working with Haskell is not it's purity - but rather the declarative approach plain and simple. Coding declaratively vs. imperatively is so vastly different that people tend to not even realize it's the core trouble they're having because they can't even identify it, so instead they point at the blatantly obvious things like purity, and monads, and the type system - these are in your face differences about Haskell vs. imperative languages, but it's taking away someone's ability to write imperative code that confuses people.
Oct
1
comment Why implement a lexer as a 2d array and a giant switch?
@D.W. his class is not using lex or parser generators of any sort from what he said in his question.
Oct
1
comment Why implement a lexer as a 2d array and a giant switch?
If some portion of your irritation is coming from knowing how to do a better job and lacking the ability to get any feedback or appreciation for an approach you'd prefer - as decades in industry does train us to expect feedback and at times appreciation - perhaps you should write your better implementation and post it to CodeReview.SE to get some of that for your own peace of mind.