Reputation
1,950
Top tag
Next privilege 2,000 Rep.
Edit questions and answers
Badges
6 13
Newest
 Yearling
Impact
~73k people reached

Jan
11
comment Is it common to print out code on paper?
You did DOS programming on a crt console? We had punch cards. The 80 character limit was a result of the punch cards. Being able to study code over 3 or 4 pages at once is pretty handy. I guess that's why I still prefer print-outs. It's easier to navigate amongst related functions.
Jan
11
answered Do you prefer building your interfaces in IB or programmatically? and why?
Jan
8
comment KPI's for Programmers
@Paul, engineering is a disciplined approach to building systems. Patterns for structuring the system such as layering, nesting, dependency injection, etc. were defined specifically to prevent the system and its components from becoming complex, let alone that complex. Further, while the sequence of network communication might be random to a member of that system, its state should never be. One might experience "random" events traveling from home to work, but it isn't okay to end up elsewhere or late. How is it okay for a finite -state machine to be in an unknown or inconsistent state?
Jan
8
comment KPI's for Programmers
@Paul, the system cannot be random. It's why even random number generators are difficult and such an intense field of study. What is required is for process states to be well-defined and respected and for control flow between processes to be strictly contained in order to prevent them to be in an unexpected state. There is no randomness in the system. It is the product of prior computations.
Jan
7
comment KPI's for Programmers
You've got a great start to answering your own question here: a measure of solving the business requirements. So how do you go from defining the requirements to running a system that meets those requirements?
Jan
7
comment KPI's for Programmers
Programmers are Michelangelos? Really? Our work is judged primarily on an aesthetic basis, and not for its performance by a logical calculating machine? In fact our work should be calculating machines: finite-state machines which are nested to varying degrees to produce work in a deterministic order. It is on that basis that KPIs should be determined: how decoupled your FSMs are, and how well integrated they still are to produce the desired work. Craftsmanship is a silly romanticization to justify a lack of engineering discipline.
Jan
6
comment What non-programming books should a programmer read to help develop programming/thinking skills?
Actually, two of the book's authors, Max Jacobson and Murray Silverstein, worked with Christopher Alexander (and others) to assemble those patterns. But again, while APL focused on the patterns to be implemented in a residential structure, this book focuses on patterns for designing/judging a well-designed home. It gives remarkable insight into determining how to design a software system well, or if it was designed so.
Jan
6
comment KPI's for Programmers
@CraigTP - and payment usually comes after the fact as well. Shouldn't there be some metrics to determine whether you were paid fairly and the client got value for the work done? Just as there should be metrics to determine what parts of a codebase are unsound and need of repair before new features are added so it can be determined what developers have been doing with their time or if repairs are warranted or the code should be replaced. Most of the fears expressed here are that metrics will be misused, but if we fail to define proper metrics bad ones are all we'll get.
Nov
30
comment Should one use pseudocode before actual coding?
@Michael, flowcharts are fine for thinking through processes at three different design stages: 1) use cases of how the user and execution environment interact with the processes (ignoring internal mechanics); 2) the internal mechanics of how the processes function; and 3) the process used to develop the software solution. However, because flowcharts provide procedural semantics (eg, conditionals), it's too easy for designers to expose low-level details into the design too early. For that reason I prefer starting with post-it flags, then state diagrams, during analysis & design.
Oct
28
revised What design pattern is best suitable with this context?
added 2 characters in body
Oct
26
revised “Overtime is part of the job” true but a bad attitude?
edited tags
Oct
25
comment How do you portray to non programmers what programming involves?
@John, the issue isn't what brought about the need to explain programming. The fact is that it's yet another variation on the same "explaining programming" theme, and doesn't add enough to the topic to deserve being a separate question.
Oct
25
answered Code duplication with no obvious abstraction
Oct
25
revised Code duplication with no obvious abstraction
edited tags
Oct
25
revised Code duplication with no obvious abstraction
edited tags
Oct
23
revised Does making source code available affect your ability to generate revenue?
edited tags
Oct
23
revised What licence should I choose for my project?
edited tags
Oct
23
revised What are the Pros and Cons of the GPL?
edited tags
Oct
23
revised What are the Pros and Cons of the GPL?
edited tags
Oct
23
revised License requirements for including open source software
edited tags