4,271 reputation
11026
bio website code.google.com/p/…
location San Diego, CA
age 30
visits member for 4 years, 3 months
seen Dec 17 at 20:33

I'm passionate about coding and researching the history of technology as well as exploring where technology is leading.

I used to work in flight simulation doing both hardware implementation (electrical design, wiring), web development (design, development, webmaster), as well as software development (desktop development in C#).

I'm a big fan of both using and contributing to Open source projects.

I am the creator of the pypreprocessor library that can be found on PYPI as well as Google code.


Dec
16
comment can a closed source commercial software make system(3) calls to GPL applications (not libraries)?
@AquariusPower By 'incorporated' they're referring to code that is copy/pasted from a GPL application into another or an application that is distributed with a library that came from GPL application. Unless, the library is licensed under LGPL. The same rule applies to media asstes, etc. You could, for instance, create a wrapper that extends a GPL application by wrapping/automating it's usage (ex GUI for FFMPEG) but the user would have to acquire the GPL application separately on their own since distribution is not allowed in that case.
Dec
16
comment Why isn't software abstract on a grander scale?
This! So much this. Try debugging a weird side effect that pops up in a winforms GUI only to find out -- after digging through 15 layers of nested classes -- that some value was invalid and defaulted to null. Making all code a layer cake of abstractions sounds simple in theory. In practice, it's much easier to have a special purpose modules designed and perfected to perform a particular tasks.
Dec
16
comment What are technologies like XML, JSON, and YAML classified under?
@Neil OK, I agree then. Wikipedia's defining it as a 'program' is is wrong, unless you take a very liberal view of what a 'program' actually is. I guess that you could say that a HTML source file is a 'program' but HTML is strictly declarative so it requires a HTML client to be useful. In comparison to English language structure. Where a programming language would contain nouns (ie data), and verbs (ie statements, subroutines). A declarative language contains only nouns, it isn't capable of performing defining actions on its own.
Dec
15
comment What are technologies like XML, JSON, and YAML classified under?
@GlenH7 It doesn't matter whether it's a formal language or a subset of another. It can be produced and consumed in a context free manner using a well defined context free grammer. I'm defining the behavior declarative languages based on the characteristics of how they're used and parsed. Your edit was unrelated to my original goal/intention.
Dec
15
comment What are technologies like XML, JSON, and YAML classified under?
@MichaelT Since when is YAML used for serialization? I've only ever seen it used for configuration.
Dec
15
comment What are technologies like XML, JSON, and YAML classified under?
@Neil "aren't specifying what computation should be performed". That's the point. Declarative languages aren't required to illustrate how the program should perform a task. They only describe the what. In the case of HTML/ant the data describes steps that the program should take to construct a document or perform a list of tasks. Their structure is not imperative, though their data/structure can be used to denote the steps that an imperative program should take.
Dec
15
comment What are technologies like XML, JSON, and YAML classified under?
@GlenH7 JSON is a language, specifically it's a context-free language that follows a context-free grammar. It's not a 'language' in the classical Turing complete sense but that's why the different levels of classification exist.
Dec
15
comment Best practices for serialization of DDD aggregates
I think the 'usual' assumption is that the data being serialized into a general purpose format (ex xml, json) will be public and that privilege is controlled via the API through ACLs or some other equivalent. General purpose serialization/deserialization falls more along the lines of decoupling data from business logic going from one system to another.
Dec
15
comment Best practices for serialization of DDD aggregates
@EagleBeak Oh, I didn't realize your concern was specifically about handling private members. In your case you could serialize in binary (assuming the receiving system follows the same rules/structure that the domain objects were created under) or write some logic that extracts just the public data prior to serialization.
Dec
15
comment Dealing with several custom getters
Get rid of the ABC. Detect the type using if([data] instanceof [type]) in your parse method. Throw an exception in the else statement if the type doesn't support parsing. I could write a very nice solution in C# but Java doesn't include a typeof() method to use types as it's own type for comparison.
Dec
15
comment Why using string[] args in all main methods?
In addition to adding the ability to open files using a flag you can also add support to enable debug/logging for tests or pipe data in/out of an application if necessary.
Mar
9
comment Difference between incremental and iterative approach
@Basilevs Is that better?
Feb
27
comment How to manage accidental complexity in software projects
I hate to sound cliche but what I'm saying is embodied by the quote, "10 years of experience is not the same as 1 year of experience 10 times." How much time allowance should programmers be given to see out new challenges depends on the schedule and organization. Google seems to thing 20% is a good investment. Not only has 20% time lead to new business opportunities but it has contributed to the long-term growth and happiness of their developer's talent.
Feb
27
comment How to manage accidental complexity in software projects
@CortAmmon Bad analogy. Kinesthetic memory responds in the way it is trained. Practicing at game speed is exactly what you should do, just in shorter intervals. Anyway, this isn't a fitness site. The point is, accidental complexity is the result of the inability to identify/manage complexity. When faced with new problems and a limited understanding of the possible solutions a developer will try to 'code around' the problem. It takes the experience of facing difficult problems to be able to recognize and implement new approaches.
Feb
26
comment Difference between an architecture and a framework
I see the 'closing as opinion based' mob likes to take direction from Wikipedia. I quote, "To date there is still no agreement on the precise definition of software architecture." The link that cites the source of that quote comes from a Carnegie Mellon's - Software Engineering Institute which looks suspiciously like a subsidiary certification mill. Despite their inability to nail down a concrete definition, they still offer a number of certificates pertaining to Software Architecture (sei.cmu.edu/training/certificates/architecture).
Feb
25
comment Using Git in Enterprise environment
@StuartP.Bentley Oops, it had been a while since I had last downloaded a new version of the Git GUI for Windows. I didn't realize that the two were one and the same.
Feb
22
comment How can I determine the level of talent a prospective programmer has?
This question assumes that people intuitively understand that = in programming is used for assignment and not boolean equals the way it's traditionally used in Arithmetic. As far as I'm concerned, all this test measures is confirmation bias that programmers understand the most basic of programming.
Feb
22
comment How can I determine the level of talent a prospective programmer has?
It's very hard to believe that the majority of people don't understand variable declaration. Considering how many people pass basic algebra, if the failure rates are that high I'd look to the test itself as the culprit.
Feb
22
comment Using Git in Enterprise environment
Msysgit is no longer necessary. The Git dev team finally released a native version for Windows.
Feb
19
comment “Everything is a Map”, am I doing this right?
@MasonWheeler Correct me if I'm wrong but map/dict lookups happen in O(N) time. Where is this mysterious performance hit that you speak of?