4,183 reputation
11025
bio website code.google.com/p/…
location San Diego, CA
age 30
visits member for 4 years, 2 months
seen Aug 4 at 20:18

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.


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?
Feb
19
comment What is a real-world use case of using a Chomsky Type-I (context-sensitive) grammar
Interesting. I knew about XML. I suspect the drive behind the XHTML 1.0 spec was to lead away from 'quirks mode' HTML interpreters which support context-sensitive exceptions to a cleaner context-free XML.
Feb
19
comment Why such popularity with Python?
@DanielLittle So does Python (pylinq), JavaScript (linq.js). LINQ is just syntactic sugar for running lazy-loaded queries on data collections.
Feb
19
comment On developing deep programming knowledge
You'd be surprised at how simple jQuery seems once you understand how to apply monads in JavaScript.
Feb
19
comment Why are data structures so important in interviews?
@ClosureCowboy Check out Coursera's 'Algorithms I' course offered by Princeton. I'm a self-taught programmer too and it's doing a lot to help fill in my gaps in CS theory knowledge.
Feb
19
comment Does open source licensing my code limit me later?
MIT, aka the 'do whatever the hell you want' license.
Feb
19
comment Where does this concept of “favor composition over inheritance” come from?
@MasonWheeler The problem with inheritance is that it bleeds implementation-specific details across class boundaries. Most people are mistakenly taught in school to use inheritance for polymorphism. Interfaces work just as well and support multiple inheritance. Composition here simply means, design a consistent API and enforce it via interface contracts. Inherit only where it makes sense.
Feb
19
comment Where does this concept of “favor composition over inheritance” come from?
-1 Why does Java's Stack implementation inherit from Vector? Because somebody used inheritance when an interface would have been more appropriate. Now that people depend on Stack and its expected functionality including the parts inherited from Vector. The problem with inheritance is that it bleeds implementation details across functional boundaries when it isn't applied correctly. Worse yet, a lot of eager comp sci grads came out of school with a shiny inheritance hammer looking for nails to pound.
Feb
19
comment Where does this concept of “favor composition over inheritance” come from?
@Bevan That's why the statement mentions 'composition'. By relying on interfaces, objects can be polymorphic but without the complex parent/child dependency hierarchy. The greatest flaw of inheritance is that it creates dependencies across internal implementations. Fragile/brittle code is code that can't be changed without breaking other code.
Feb
19
comment Should I return from a function early or use an if statement?
Wow. I have engaged in a lot of holy wars over this topic in support of 'exit early exit often'. Where are all the people who usually argue in favor of 'single exit' go?
Feb
19
comment Why do people fork repositories on GitHub?
It's a simple one-step process to setup a remote tracking branch. Anybody who has tried to contribute to a git repository outside of GitHub knows how tedious it can be. Plus, if the original author goes AFK, you can follow the development graph to find forks that are still actively developed. Hopefully, it'll keep GitHub from degenerating into a wasteland of dead projects the same way SourceForge did.
Feb
18
comment Why did Alan Kay say, “The Internet was so well done, but the web was by amateurs”?
(cont) How about checksums. Let's add one to the IP layer, and another one to the TCP layer but require that it includes a pseudo-header from the IP layer because creating protocol interdependencies is a great idea /s. Don't even get me started on the RFC system. Instead of creating a sane version control mechanism for documentation, anybody who wants to parse the lower protocols has to search through dozens of documents and attempt to discover the intent of the original protocol designers. I gleaned a lot of knowledge about how not to design an API from the TCP/IP specs.