chris webster

+ Follow
since Mar 01, 2009
chris likes ...
Scala Python Oracle Postgres Database Linux
Merit badge: grant badges
For More
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Rancher Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by chris webster

Brian Tkatch wrote:I find your ignorance rather ironic.

Feel free to illuminate my ignorance, then.
8 years ago

Brian Tkatch wrote:Someone else sent me a link to similar nonsense. Why do people need to make up things about subjects they know nothing about when it has been well defined for thousands of years?

Well, I must confess I've never got around to reading "The Republic", so thanks for the pointer on that score. On the other hand, I'm not convinced all of modern politics can be explained exclusively through reference to the ancient Greeks (and certainly not via all that numerological stuff that often gets mixed in there). I'm at least as likely to think Marx might be relevant in many contexts, as Plato or Socrates, for example.

Anyway, I thought the article opened an interesting if limited window on a phenomenon that is quite mystifying to most of us outside the USA: why do freedom-loving people seem to worship a man who sounds a lot like an old school fascist? But that's just one narrow view, so I'm curious about how those of you inside the "moronic inferno" might view things.
8 years ago
Here's an interesting if scary story about why so many Americans are apparently so receptive to the rhetoric of Donald Trump:

Have to admit I've always been puzzled by the way a country that places so much emphasis on individual liberty can also seem so vulnerable to the idea of the "strong man" as leader. Perhaps it's the legacy of their religious founders, dreaming of a new prophet to lead them out of the wilderness. But I don't live there, so what do I know?

8 years ago
Congratulations and good luck with the new job!
8 years ago
Thanks for the Dave Thomas links - good to know it's not just me!

And thanks for yet another thoughtful post on what we shall henceforth call "agility". Have a cow!
Thanks, Maxim. I like the idea of turning the Try into an Option and using flatMap, as it's easier to handle consistently but still makes it easy enough to respond to errors if necessary. I'd feel a bit less comfortable simply swallowing the exception, as in your second example, even though I'm not interested in errors currently.

Thanks for the helpful suggestions - it's good to get input from other people as this stuff is still pretty new to me!
8 years ago
Java will be around for a long time yet, even if it will be sharing the JVM with other languages in future. Different languages offer different advantages/disadvantages in different contexts. I like Scala for Big Data work, for example, but Python for scripting and quick prototyping. You pick the tool to suit the job, and plenty of people will be using Java for many years to come.
I think you are comparing apples and oranges here, Giovanni. Functional programming is not just a way to write less code, although that can be one of the benefits of using FP with the right language. It's not about static or dynamic typing either, as static typing in any language can help to trap certain errors at compile time so you can fix them before your users see them at runtime. Scala has static types, while Clojure does not, yet Clojure is probably more of a "pure" FP language than Scala, which is a hybrid FP/OOP language.

Immutability is a key FP feature that really helps to reduce errors, which is why people like Josh Bloch (in "Effective Java") also recommend making variables immutable in Java where appropriate. All "variables" are immutable by default in both Scala and Clojure, for example, so you have to deliberately choose to create a risky mutable variable in these languages, and you rarely need to do this in an FP language compared to OO.

Having functions as first class objects, and being able to use higher order functions, removes a lot of complexity and eliminates the need for many common OO design patterns (see, because you no longer need to wrap a function in a load of extra kruft just to pass some behaviour into another function (method). Java 8 lambdas finally give you the ability to do this in Java, but it's still pretty clunky compared to Clojure or Scala.

OOP and FP take different approaches to how you combine data and processing to implement your task. Objects combine state and behaviour and try to encapsulate complexity, often resulting in lots of different structures (classes) with distinctive behaviours. FP tends to aim for relatively simple data structures and separate functions, plus things like collections that provide fairly generic mechanisms such as map() and reduce() (i.e. higher order functions) for applying those functions to the data. There's a whole world of mathematics behind this, which I do not understand, but that's OK with me right now.

Of course, purists on both sides will argue all day about which is best, and I'm no expert on either paradigm, so this is a very simplistic view. But as an ordinary developer who's worked with procedural, imperative, declarative, OO and FP languages, I find FP much easier to work with (even if I still don't understand monads!), because I find it allows me to focus more clearly on telling the computer what I want to do, instead of having to tell it how to do it, and I can do what I want with less code than in Java. FP works for me.

YMMV, of course!
Well, a quick Google search turns up options like this:

Or you could just buy a Raspberry Pi for $35 and work on the real thing:

8 years ago

Stevens Miller wrote:That is, you tend to think dying is just natural, and we think it's something that calls for blame.

I'm sure that's oversimplified, but, to the extent there's any truth to it, I like your approach better.

Or it could be that Americans are just more enthusiastic and positive about life than we Brits. For you, death is an unwelcome interruption to your relentless progress towards the great American Dream. For us it's more of a blissful release that was bound to happen anyway so might as well get on with it. Still, mustn't grumble, eh?
8 years ago
Thanks for coming back with that feedback from your group - interesting responses. Although your sample may biased if they're executives, who are after all famously susceptible to management fads!

As I've already explained, I've been exposed to years of Badgile dogma from people who know little or nothing about software development and have far less experience of flexible iterative approaches to development than I do, even if my experience was before the Agile revolution. Right now we're going through yet another cycle of this at work, which is perhaps why my frustrations with Badgile are even closer to the surface than usual! My only reasons for still believing there may be some good in Agile are:

1. My own experience of similar approaches (RAD, DSDM, not to mention good old JFDI) in the pre-Agile, pre-Java world.
2. The experiences of people like yourself who are doing this successfully on real projects in a supportive environment.

I just wish we had more people like yourself who can demonstrate the value of Agile practices by example, and fewer overpaid, meeting-moth, born-again Badgile preachers who couldn't tell the difference between Agile and Badgile if it came to life and bit them on the ass. Our local versions of Agile have all been proclaimed a great success by the preachers, but this is true only in the sense of the old line about the surgeon who declares "The operation was a success but the patient died".

As I said previously, I honestly hope I get a chance to work on a good Agile project in what remains of my career. But it certainly won't happen at my current workplace, no matter how often they insist "We're all Agile now - just look at all our meetings and post-it notes!".

Thanks to all for an interesting discussion.

Mitch Lacey wrote:FWIW, I am in Europe once a month. I have been having these value conversations for years and every now and then I see someone get frustrated, calling it religious zealotry, often referring back to history on how certain cultures thought they had all the right answers and forced solutions on people. Changing my wording from "values" or "mindset" to "work ethic" or "ethos" might be good. We'll see what tomorrow holds.

Thanks for the dialog guys.

I'd be interested to hear what kind of response you get if you dig into these "cultural" questions, Mitch. Good luck with the book in the meantime.

Junilu Lacar wrote:I find it difficult to wrap my head around the idea that your cultures wouldn't have some kind of notion around "work ethics" though. To me, there still a kind of value system involved. I mean if you don't value quality, timeliness, and efficiency, and customer satisfaction, and are only doing the work to put food on the table and clothes on your children's backs, it seems like that kind of work would not be enjoyable at all to me. In fact, it would seem quite dreary and depressing.

I do value all those things, Junilu, they're part of what I call "being a professional". The difference is that I generally assume that those basic ideas are shared with most other professionals I encounter in the workplace - even the ones who don't work under an "Agile" regime - so I don't need to insist they share my "values", follow my religion or drink my Kool-Aid. It's all this pseudo-religious nonsense around Agile that really gets up my nose. If the ideas and practices are effective (and I'm willing to accept they often are), that will be evident from putting them into practice it: you should not need to brain-wash people first. It's the brainwashing and sheer volume of evangelical BS around Agile that I find truly dreary and depressing.
I think this is partly a cultural gap - not between Agile and non-Agile but between people in the European and US working cultures. I accept most of what Mitch and Junilu seem to be saying about the team sharing common goals at work, but I also share Jan's frustrations at all this talk of "values", because to most of us Europeans that sounds like an intrusion into areas that are personal, not work-related. We abandoned feudalism and serfdom centuries ago, so I'm not selling my soul to some employer just to build a better website. And I'm not expecting my customers to feel "super stoked" about a piece of software, because they're grownups with lives and families outside work that are far more important than software: I assume that they might feel super stoked about a family wedding, their kids getting into a good college, and so on.

I get the impression Americans are more comfortable with all this evangelistic rhetoric in general, so it probably feels less intrusive when your team leader insists you share their "values". But to a lot of us, this feels quite coercive and it can be hard to resist this kind of conformism when it is imposed at work, because you still need to earn a living, after all.

The example of US car manufacturers reminds me of British Leyland cars in the 1970s, which were shoddy, uninspiring and failure prone, so people started buying Japanese and German cars instead because the quality was much higher. Companies like BMW or Mercedes have a strong working culture of quality engineering, which is why people pay for their products. Even the recent emissions scandal at Volkswagen illustrates this point: people are shocked and angered by this precisely because they expect better from companies like VW. If this had happened to British Leyland, the general response would have been "What else would you expect?".

So if my local Agile preacher wants us all to aspire to a strong, productive and effective working culture, that's fine with me because that's what I've been trying to do all my working life (including the years I worked in Germany). Just keep your talk of "values" to yourself, thank you very much: if I want religion I'll go to church.

Another common problem with any ideology that insists on people internalising a particular dogma is the risk of group-think (white Oscars) and exactly the kind of hostility to non-believers that Jan and I have seen emerging from the less enlightened end of the Agile spectrum. The Agile movement likes to present this ideal of common "values", so it needs to deal with this common problem instead of insisting that any problems are the fault of unbelievers for not drinking the Kool-aid with sufficient enthusiasm.

Adam Scheller wrote:...I will be in Vienna on Sunday, if anyone wants to grab a Stiegl or Gösser (good Austrian beers)...

Gut. Besser. Gösser.
8 years ago