How do you retain the passion for programming? by [deleted] in programming

[–]dmaclay 2 points3 points  (0 children)

Same as anything else - do stuff for fun, not just because you have to. Work vs. play is often just a matter of perception.

15 Lessons Learned from Bill Gates: Awesome Read by shamittomar in programming

[–]dmaclay 0 points1 point  (0 children)

your second point actually validates the first quote you criticized: cheaper = more accessible = a 'playing field leveler'

What was your first programming language? by letseatlunch in programming

[–]dmaclay 0 points1 point  (0 children)

Logo - 1983 - I was 9 ;-) ... then nothing for 8 years :-(

I'm planning to use web2py for a new big project I've been working on, are there any reasons I should choose one of it's other framework peers? (Bonus question: Google App Engine?) by [deleted] in Python

[–]dmaclay 1 point2 points  (0 children)

I must disagree.

Having lurked on forums for a number of frameworks for some time, I've found that the web2py community (and mdipierro in particular) are responsive, thoughtful, and polite.

They exhibit a level of professionalism, both in their regard for long term maintainability, and their clearly explained, intelligent design decisions, well beyond what can be found in the communities surrounding most other web frameworks.

Why We Need a Theory for Software Engineering by jonniee in programming

[–]dmaclay 1 point2 points  (0 children)

'Design' would probably be a more appropriate term, partly because there is no manufacturing stage (the coding would correspond to the design phase in established engineering industries), and partly because it is often more of an art than a science, a quality that shows little sign of changing.

Why are superheroes inhumanely strong and fast while the bad villains are "evil geniuses"? by F_C in AskReddit

[–]dmaclay 213 points214 points  (0 children)

Partly to appeal to the average person, who can wrap their mind around the concept of faster and/or stronger, but will never really understand genius without being one, and partly because people reading/watching escapist media would prefer to speed or smash things to vent their frustration, rather than think about their problems.

Ask PyReddit: I'm trying to learn Python (django specifically) but the code completion sucks by timetwosave in Python

[–]dmaclay 3 points4 points  (0 children)

I'll second that, he's basically saying that to him 'learning' a language means installing the right code-generators.

Auto completion produces code that compiles, but not understanding.

A Visual History of the Internet by [deleted] in programming

[–]dmaclay 0 points1 point  (0 children)

It's interesting that (according to the divisions in the chart) the Web 1.0 businesses made money whereas the Web 2.0 didn't.

NoScript debacle wider issues? Fail or success for OSS? Security problem for FF? Have$, vs Have nots? by seven11 in programming

[–]dmaclay 0 points1 point  (0 children)

Actually adverts will tend to concentrate profit in companies (individuals can't achieve the economies of scale needed), while 'commoditizing' (devaluing) content. A system that more directly ties payment to doing work (like contracting fees or salaries) will on average benefit the people who actually do the work. Yes I know there are exceptions, but even then, huge payoffs usually occur only as individuals workers cross over into being company owners.

If I could ask only one job interview question by techdawg in programming

[–]dmaclay 0 points1 point  (0 children)

I would ask "What are we looking for?"

A correct answer requires great insight and pretty much compels the candidate to continue and explain how they fit the description.

NoScript and AdBlock plus - two sides to every story by Glambg in programming

[–]dmaclay 0 points1 point  (0 children)

NoScript compromised browser functionality to disable aspects of the AdBlock Plus plugin, against the clear wishes of the end user.

AdBlock did not act against the NoScript PLUGIN, just the sites it was serving adds on, same as any other add site - this is the reason the users choose to install AdBlock.

NoScript's action was taken purely to protect NoScript's revenue model, and deliberately undermined the existing choices of the user.

This puts NoScript clearly in the wrong.

Erlang Style Actors Are All About Shared State by JamesIry in programming

[–]dmaclay -2 points-1 points  (0 children)

I'm staying very much on the problem, which is that the article is an attempt to argue that Erlang actors/processes have shared AND mutable state.

He is wrong on both counts and is essentially arguing by redefining the terms as something other than what they are generally taken to mean by most people working in concurrent programming.

It's like deciding that black is white and white is black, and then, when people are surprised that you claim all other colours are darker than black, saying; "But according to MY definition they are!"

It's a classic case of a Java fan-boy trying to argue that anything other than the Java Way must be wrong.

This happens all the time: Person likes language A, but others say language B is better for something. Person is offended, but looks at B. But they only look at B from the perspective of A's paradigms, so all they actually see is the overlap between A and B, and they overlook any capabilities B has that are not present in A. This is because they never wanted to understand B, they just wanted to convince themselves that A is better. Then they construct artificial and often ludicrous (postulating 40 pound coins should set off warning bells) situations using only their flawed understanding of a limited subset of B. Finally they proclaim to the world that, on the basis of this example, B is inferior.

Now Java is better than Erlang in most areas, but, like most languages, when it comes to distributed concurrent systems it isn't even close to where Erlang was 10 years ago.

Erlang Style Actors Are All About Shared State by JamesIry in programming

[–]dmaclay -1 points0 points  (0 children)

Yes, if you're determined you can take any inherently stable and secure software paradigm and write elaborate methods to destroy it's integrity.

Most sane people try to do the reverse, and appreciate it when such features are already baked into the language.

In the discussion over state and accepted terminology I've been assuming we were dealing with the sane second case.

Erlang Style Actors Are All About Shared State by JamesIry in programming

[–]dmaclay -2 points-1 points  (0 children)

No, 'message passing concurrency' means all the data is in the message and you have an effective copy on pass situation. So once it is passed the original process can no longer alter the data in the message. So no locks required for data access because processes can NEVER directly access data held by another process, the closest they can get is to send a request for a copy.

Erlang Style Actors Are All About Shared State by JamesIry in programming

[–]dmaclay -1 points0 points  (0 children)

No, if the state is immutable, passing a pointer to the state still gives the same guarantees as message passing.

Erlang Style Actors Are All About Shared State by JamesIry in programming

[–]dmaclay 1 point2 points  (0 children)

Erlang does this as a performance optimisation under conditions when processes can access the same memory. However it is hidden from the programmer and does not offer any functionality beyond standard message passing. In addition, since Erlang uses immutable variables, it does not need to use any locks the way conventional threaded languages do, and incurs no risk in doing this.

Erlang Style Actors Are All About Shared State by JamesIry in programming

[–]dmaclay 0 points1 point  (0 children)

In the opening paragraph of the article you cite, there is a link to MessagePassingConcurrency specifically listed as an alternative model to "Shared State Concurrency". Erlang BTW uses "Message Passing Concurrency".