Slide 1

Slide 1 text

1 Extremist Programming LRUG lightning talks 11 February 2013 Pablo Brasero Moreno (Google me up: pablobm)

Slide 2

Slide 2 text

2 “Extremist programming (no relation to extreme programming) is the act of taking some principle, elevating it above everything else and applying it everywhere” – Edward Z. Yang

Slide 3

Slide 3 text

3 ● Arrays are awesome. What if we made a programming language where everything was an array? ● ... ● X is awesome. What if we made a Y where everything was made up of X?

Slide 4

Slide 4 text

4 Anyone from Bell Labs in the room? Thought so

Slide 5

Slide 5 text

5 Designing new programming languages and operating systems is great, really. But that's not how I spend my time

Slide 6

Slide 6 text

6 We can apply this to what we know Say: what are your views on testing?

Slide 7

Slide 7 text

7 I'm sure you have an opinion, and can debate it at length (because everyone else is in fact wrong, aren't they?) But how many people have tried TESTING EVERYTHING FOR REAL? Yes, I mean you over there Yes, I mean you over there

Slide 8

Slide 8 text

8 I took the extremist route 100% code coverage and beyond (Don't do this without adult supervision)

Slide 9

Slide 9 text

9 EXPERIENCE Good judgement comes from experience Experience comes from bad judgement

Slide 10

Slide 10 text

10 Not only for Bell Labs Driven Development Hereinafter BLDD. There, I invented a term Hereinafter BLDD. There, I invented a term Not only for programming either This applies to many other aspects of development

Slide 11

Slide 11 text

11 From the producers who brought you “Things you love to hate” comes: “Is Comic Sans really that bad?”

Slide 12

Slide 12 text

12 Yeah: is Comic Sans really that bad? Or do we think so because we have been conditioned by our peers? Let's find out the extremist programmer way

Slide 13

Slide 13 text

13 ● Browser set to Comic Sans? CHECK ● Text editor set to Comic Sans? CHECK ● Terminal set to Comic Sans? CHECK ● Helmet? CHECK RELEASE THE KRAKEN!!!1

Slide 14

Slide 14 text

14 Extremist environments Ever tried working without Internet access? Go give it a try

Slide 15

Slide 15 text

15 Not the same as enforcing absurd coding standards and practices if isValid == true “I don't care how you agilists do it, but here we do it like this” Are you, like REALLY sure that it's true? Are you, like REALLY sure that it's true? Actual client Actual client Actual quote Actual quote Actual corp (well known) Actual corp (well known) Not a well-meaning remark Not a well-meaning remark

Slide 16

Slide 16 text

16 Or embracing new fashionable technologies blindly for actual client projects ● Node.js ● MongoDB ● Perpetual motion machines May as well...

Slide 17

Slide 17 text

17 Not Extremist Programming More like... Loose Cannon Programming Extremist Programming should be a voluntary choice where the risks are understood LCP – term coined by my colleague Lee Machin LCP – term coined by my colleague Lee Machin

Slide 18

Slide 18 text

18 The aim? To boldly go where no one has gone before And hopefully learn something in the process! Split infinitive FTW! Split infinitive FTW!

Slide 19

Slide 19 text

19 In summary: You cannot learn from the experience of others Only by breaking the rules you can know if they serve a useful purpose

Slide 20

Slide 20 text

20 One last thing I would like to hear similar stories: buy me a drink at the pub }:-) (ok, I may buy a round myself) Or post it on Twitter: #extremistProgramming #extremistProgramming

Slide 21

Slide 21 text

21 That's 6 minutes and 40 seconds Thanks Pablo Brasero Moreno (Google me up: pablobm) #extremistProgramming #extremistProgramming