SlideShare a Scribd company logo
1 of 45
The Bluffers Guide to Elitist
            Jargon
Jim Gough
@JavaJimLondon

Martijn Verburg
@karianna

Richard Warburton
@RichardWarburto
Contents

• Introduction to JUGs

• Business Jargon

• Java Jargon

• Computer Science Jargon



                            2
What is a user group?




                        3
What is a user group?




      Welcome to the London Java
            Community.




                                   4
What is a user group?




      It’s my first time at the London
        Java Developer Community.
            What’s it all about?




                                         5
The Wanderer




               6
The Alcoholic




                7
The Unwilling Other Half




                           8
The Meetup.com Stalkers




                          9
The Jug Leader/Recruitment Agent




                                   10
The Enthusiastic Job Seeker




                              11
The Passionate Vim Advocate




                              12
Bluffer vs Reality




http://abibritton.wordpress.com/2011/02/22/live-and-mediated-performance-the-matrix/




                                                                            13
What is it like working in a large corporation?



      What’s it like working in a large
                Corporation?



     Can be a lot of fun!

    Politics and red tape

    Lots of buzz words!!

                                          14
Buzz Word Bingo




              ?
 Reach Out                      Synergy



Touch Base                      Leverage



Circle Back Around     Cross Pollination



     Bleeding Edge     Flying Blind

                                           15
Why should we care about buzz words?



• Increases complexity of the problem domain.

• Causes confusion when specifying requirements.

• Someone won’t know the acronyms or buzz words.

• In house - more training needed for new starts.




                                                16
Financial Terms

• Exchange
   – Market place, people buy things and sell things.

• Arbitrage
   – If it’s cheaper at Best Buy and you sell it on Ebay for more...

• Execute (or hit)
   – Buy or sell it

• Hedge
   – Buy something else to minimize impact of massive price
     movement


                                                             17
Accounting Terms

• Acid Test Ratio
   – Assets that can be converted to cash to cover current
     liabilities

• Bad Debts
   – All debts are bad?

• Intangible Assets
   – Long term value but no physical identity.
   – Eg. Patents, trade marks or brands

• Bootstrapping
   – Make your own money to start a firm

                                                         18
Enough!



          Too much business talk




This is a technical conference!



                                   19
Hotspot



      It can also be easy to get tied up in
                  management.



   A compiler that runs at runtime

Uses info about programs execution

Focusses on compiling small parts of
   the application, the “hotspots”

                                         20
Lambdas

     Ah yes, what about this Java 8
                 stuff.

           What are Lambdas?




  A function without a name

    (x, y) -> x + y



                                      21
Lambdas




          22
Abstract Syntax Tree



       Sounds a bit abstract... Is it like an
            abstract syntax tree?



A way of representing a program as a
tree, used inside a compiler.

A Node = a construct in the program.

An Edge = Being a child in the AST
means that you're "inside" something.
                                           23
Abstract Syntax Tree




int x = 2 + y




                         24
Latch



       Do you know anything? What is a
                   latch?



A concurrency primitive implemented as
a class.

Holds all threads up until they’ve reached
a certain point



                                             25
Memory Barrier


• A type of ordering barrier on memory operations.
• CPUs reorder instructions
• Can change behaviour of multi-threaded programs
• Fences enforce an ordering.
• Example: the volatile keyword (since Java 1.5)



                                               26
Computer Science Terminology




  Industry doesn't have anything on
  academia in terms of elitist jargon!




                                     27
Linear Regression

• When the relationship between multiple
  variables looks like a straight line.




                                           28
Markov Chain, YES!

• A state machine where transitions have probabilities




                                                   29
Gaussion Distribution AKA “Normal Distribution”




                                        30
Continuous Uniform Distribution




                                  31
Poisson Distribution




                       32
Poisson Distribution




• Shows the probability of a number of events happening in an
 interval.

• Lambda is the mean and the variance



                                                      33
Kronecker Delta
int kroneckerDelta(int x, int y) {
   if (x == y) {
      return 1;
   } else {
      return 0;
   }
}

As a Matrix

100
010
001
                                     34
False Positives


• “Are there any Java Developers in
 the room?”

• False Positive
  • “Yes” for an empty room.

• False Negative
  • “No” for this room.
                                 35
Monomorphic Dispatch

• A method call has only one possible
  implementation

• In Java we can call methods on:
   – Interfaces
   – Virtual methods on Objects

• Not all methods are monomorphic



                                        36
Monomorphic Dispatch

List<String> strings = new ArrayList<>();

strings.add(“a”); // monomorphic

if (randomNumber > 0.5)
   strings = new LinkedList<>();

strings.add(“b”); // polymorphic




                                   37
Tail Call Recursion

int factorial(int n) {
  return fact(n, 1);
}

int fact(int n, int acc) {
  if (n == 0)
    return acc;
  else
    return fact(n - 1, acc * n);
}


                                   38
Not Tail Call Recursion




int factorial(n) {
  if (n == 0)
    return 1;
  else
    return n * factorial(n - 1);
}




                                   39
Trampolining




               40
NO - I mean indirect jump vectors!



• A memory location holding an address.

• Execution Jumps to the memory location and then
  immediately jumps to that address.

• Why?
  • Interrupt Routines
  • Code performing low-level I/O
  • Avoids assuming that these programs are
    located in one place.

                                           41
Or maybe I mean in LISP?

      Doubly overloaded - this is the 'high level'
      meaning

    • An approach to implementing Tail Call Recursion

    • Problem: if you recurse a lot you eventually run
      out of stack space and your program crashes

    • Your paying customers are now sad pandas.
•




                                                     42
What is Trampolined Style?

      A trampoline is a function whose purpose is to
      call other functions in a program.

    • All functions are called via the trampoline.

    • Program functions:
      • don't call other program functions
      • return the address of the function to the trampoline
      • return the arguments to the trampoline
•




                                                        43
Conclusions on Complex Terminology

• Complicates our domain.

• Confuses our developers.

• Software Engineering
  – Domain driven design
  – Pitching at the right level

• See if you can spot the bluffers this week!

                                                44
Jim Gough
@JavaJimLondon

Martijn Verburg
@karianna

Richard Warburton
@RichardWarburto
                    See you at the Bar!

More Related Content

Similar to Bluffers guide to elitist jargon - Martijn Verburg, Richard Warburton, James Gough

Exploitation and State Machines
Exploitation and State MachinesExploitation and State Machines
Exploitation and State MachinesMichael Scovetta
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agilityelliando dias
 
Is NoSQL The Future of Data Storage?
Is NoSQL The Future of Data Storage?Is NoSQL The Future of Data Storage?
Is NoSQL The Future of Data Storage?Saltmarch Media
 
Go Reactive: Building Responsive, Resilient, Elastic & Message-Driven Systems
Go Reactive: Building Responsive, Resilient, Elastic & Message-Driven SystemsGo Reactive: Building Responsive, Resilient, Elastic & Message-Driven Systems
Go Reactive: Building Responsive, Resilient, Elastic & Message-Driven SystemsJonas Bonér
 
Ruby codebases in an entropic universe
Ruby codebases in an entropic universeRuby codebases in an entropic universe
Ruby codebases in an entropic universeNiranjan Paranjape
 
Domain Driven Design Demonstrated
Domain Driven Design Demonstrated Domain Driven Design Demonstrated
Domain Driven Design Demonstrated Alan Christensen
 
Navigating Transactions: ACID Complexity in Modern Databases
Navigating Transactions: ACID Complexity in Modern DatabasesNavigating Transactions: ACID Complexity in Modern Databases
Navigating Transactions: ACID Complexity in Modern DatabasesShivji Kumar Jha
 
Navigating Transactions: ACID Complexity in Modern Databases- Mydbops Open So...
Navigating Transactions: ACID Complexity in Modern Databases- Mydbops Open So...Navigating Transactions: ACID Complexity in Modern Databases- Mydbops Open So...
Navigating Transactions: ACID Complexity in Modern Databases- Mydbops Open So...Mydbops
 
Data oriented design and c++
Data oriented design and c++Data oriented design and c++
Data oriented design and c++Mike Acton
 
Scratching the itch, making Scratch for the Raspberry Pie
Scratching the itch, making Scratch for the Raspberry PieScratching the itch, making Scratch for the Raspberry Pie
Scratching the itch, making Scratch for the Raspberry PieESUG
 
Simple Ruby DSL Techniques: Big Project Impact!
Simple Ruby DSL Techniques: Big Project Impact!Simple Ruby DSL Techniques: Big Project Impact!
Simple Ruby DSL Techniques: Big Project Impact!Aman King
 
Performance Management in ‘Big Data’ Applications
Performance Management in ‘Big Data’ ApplicationsPerformance Management in ‘Big Data’ Applications
Performance Management in ‘Big Data’ ApplicationsMichael Kopp
 
Understanding Typing. Understanding Ruby.
Understanding Typing. Understanding Ruby.Understanding Typing. Understanding Ruby.
Understanding Typing. Understanding Ruby.Justin Lin
 

Similar to Bluffers guide to elitist jargon - Martijn Verburg, Richard Warburton, James Gough (20)

Simple Code
Simple CodeSimple Code
Simple Code
 
Exploitation and State Machines
Exploitation and State MachinesExploitation and State Machines
Exploitation and State Machines
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Spoilers fosdem-2013
Spoilers fosdem-2013Spoilers fosdem-2013
Spoilers fosdem-2013
 
Is NoSQL The Future of Data Storage?
Is NoSQL The Future of Data Storage?Is NoSQL The Future of Data Storage?
Is NoSQL The Future of Data Storage?
 
Go Reactive: Building Responsive, Resilient, Elastic & Message-Driven Systems
Go Reactive: Building Responsive, Resilient, Elastic & Message-Driven SystemsGo Reactive: Building Responsive, Resilient, Elastic & Message-Driven Systems
Go Reactive: Building Responsive, Resilient, Elastic & Message-Driven Systems
 
Ruby codebases in an entropic universe
Ruby codebases in an entropic universeRuby codebases in an entropic universe
Ruby codebases in an entropic universe
 
Domain Driven Design Demonstrated
Domain Driven Design Demonstrated Domain Driven Design Demonstrated
Domain Driven Design Demonstrated
 
Let's Get to the Rapids
Let's Get to the RapidsLet's Get to the Rapids
Let's Get to the Rapids
 
Navigating Transactions: ACID Complexity in Modern Databases
Navigating Transactions: ACID Complexity in Modern DatabasesNavigating Transactions: ACID Complexity in Modern Databases
Navigating Transactions: ACID Complexity in Modern Databases
 
Navigating Transactions: ACID Complexity in Modern Databases- Mydbops Open So...
Navigating Transactions: ACID Complexity in Modern Databases- Mydbops Open So...Navigating Transactions: ACID Complexity in Modern Databases- Mydbops Open So...
Navigating Transactions: ACID Complexity in Modern Databases- Mydbops Open So...
 
Data oriented design and c++
Data oriented design and c++Data oriented design and c++
Data oriented design and c++
 
Scratching the itch, making Scratch for the Raspberry Pie
Scratching the itch, making Scratch for the Raspberry PieScratching the itch, making Scratch for the Raspberry Pie
Scratching the itch, making Scratch for the Raspberry Pie
 
Simple Ruby DSL Techniques: Big Project Impact!
Simple Ruby DSL Techniques: Big Project Impact!Simple Ruby DSL Techniques: Big Project Impact!
Simple Ruby DSL Techniques: Big Project Impact!
 
Ruby Under The Hood
Ruby Under The HoodRuby Under The Hood
Ruby Under The Hood
 
Performance Management in ‘Big Data’ Applications
Performance Management in ‘Big Data’ ApplicationsPerformance Management in ‘Big Data’ Applications
Performance Management in ‘Big Data’ Applications
 
Responsible JavaScript
Responsible JavaScriptResponsible JavaScript
Responsible JavaScript
 
Algorithms 1
Algorithms 1Algorithms 1
Algorithms 1
 
JavaFX 101
JavaFX 101JavaFX 101
JavaFX 101
 
Understanding Typing. Understanding Ruby.
Understanding Typing. Understanding Ruby.Understanding Typing. Understanding Ruby.
Understanding Typing. Understanding Ruby.
 

More from JAX London

Devops with the S for Sharing - Patrick Debois
Devops with the S for Sharing - Patrick DeboisDevops with the S for Sharing - Patrick Debois
Devops with the S for Sharing - Patrick DeboisJAX London
 
Busy Developer's Guide to Windows 8 HTML/JavaScript Apps
Busy Developer's Guide to Windows 8 HTML/JavaScript AppsBusy Developer's Guide to Windows 8 HTML/JavaScript Apps
Busy Developer's Guide to Windows 8 HTML/JavaScript AppsJAX London
 
It's code but not as we know: Infrastructure as Code - Patrick Debois
It's code but not as we know: Infrastructure as Code - Patrick DeboisIt's code but not as we know: Infrastructure as Code - Patrick Debois
It's code but not as we know: Infrastructure as Code - Patrick DeboisJAX London
 
Locks? We Don't Need No Stinkin' Locks - Michael Barker
Locks? We Don't Need No Stinkin' Locks - Michael BarkerLocks? We Don't Need No Stinkin' Locks - Michael Barker
Locks? We Don't Need No Stinkin' Locks - Michael BarkerJAX London
 
Worse is better, for better or for worse - Kevlin Henney
Worse is better, for better or for worse - Kevlin HenneyWorse is better, for better or for worse - Kevlin Henney
Worse is better, for better or for worse - Kevlin HenneyJAX London
 
Java performance: What's the big deal? - Trisha Gee
Java performance: What's the big deal? - Trisha GeeJava performance: What's the big deal? - Trisha Gee
Java performance: What's the big deal? - Trisha GeeJAX London
 
Clojure made-simple - John Stevenson
Clojure made-simple - John StevensonClojure made-simple - John Stevenson
Clojure made-simple - John StevensonJAX London
 
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias WessendorfHTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias WessendorfJAX London
 
Play framework 2 : Peter Hilton
Play framework 2 : Peter HiltonPlay framework 2 : Peter Hilton
Play framework 2 : Peter HiltonJAX London
 
Complexity theory and software development : Tim Berglund
Complexity theory and software development : Tim BerglundComplexity theory and software development : Tim Berglund
Complexity theory and software development : Tim BerglundJAX London
 
Why FLOSS is a Java developer's best friend: Dave Gruber
Why FLOSS is a Java developer's best friend: Dave GruberWhy FLOSS is a Java developer's best friend: Dave Gruber
Why FLOSS is a Java developer's best friend: Dave GruberJAX London
 
Akka in Action: Heiko Seeburger
Akka in Action: Heiko SeeburgerAkka in Action: Heiko Seeburger
Akka in Action: Heiko SeeburgerJAX London
 
NoSQL Smackdown 2012 : Tim Berglund
NoSQL Smackdown 2012 : Tim BerglundNoSQL Smackdown 2012 : Tim Berglund
NoSQL Smackdown 2012 : Tim BerglundJAX London
 
Closures, the next "Big Thing" in Java: Russel Winder
Closures, the next "Big Thing" in Java: Russel WinderClosures, the next "Big Thing" in Java: Russel Winder
Closures, the next "Big Thing" in Java: Russel WinderJAX London
 
Java and the machine - Martijn Verburg and Kirk Pepperdine
Java and the machine - Martijn Verburg and Kirk PepperdineJava and the machine - Martijn Verburg and Kirk Pepperdine
Java and the machine - Martijn Verburg and Kirk PepperdineJAX London
 
Mongo DB on the JVM - Brendan McAdams
Mongo DB on the JVM - Brendan McAdamsMongo DB on the JVM - Brendan McAdams
Mongo DB on the JVM - Brendan McAdamsJAX London
 
New opportunities for connected data - Ian Robinson
New opportunities for connected data - Ian RobinsonNew opportunities for connected data - Ian Robinson
New opportunities for connected data - Ian RobinsonJAX London
 
HTML5 Websockets and Java - Arun Gupta
HTML5 Websockets and Java - Arun GuptaHTML5 Websockets and Java - Arun Gupta
HTML5 Websockets and Java - Arun GuptaJAX London
 
The Big Data Con: Why Big Data is a Problem, not a Solution - Ian Plosker
The Big Data Con: Why Big Data is a Problem, not a Solution - Ian PloskerThe Big Data Con: Why Big Data is a Problem, not a Solution - Ian Plosker
The Big Data Con: Why Big Data is a Problem, not a Solution - Ian PloskerJAX London
 
No Crash Allowed - Patterns for fault tolerance : Uwe Friedrichsen
No Crash Allowed - Patterns for fault tolerance : Uwe FriedrichsenNo Crash Allowed - Patterns for fault tolerance : Uwe Friedrichsen
No Crash Allowed - Patterns for fault tolerance : Uwe FriedrichsenJAX London
 

More from JAX London (20)

Devops with the S for Sharing - Patrick Debois
Devops with the S for Sharing - Patrick DeboisDevops with the S for Sharing - Patrick Debois
Devops with the S for Sharing - Patrick Debois
 
Busy Developer's Guide to Windows 8 HTML/JavaScript Apps
Busy Developer's Guide to Windows 8 HTML/JavaScript AppsBusy Developer's Guide to Windows 8 HTML/JavaScript Apps
Busy Developer's Guide to Windows 8 HTML/JavaScript Apps
 
It's code but not as we know: Infrastructure as Code - Patrick Debois
It's code but not as we know: Infrastructure as Code - Patrick DeboisIt's code but not as we know: Infrastructure as Code - Patrick Debois
It's code but not as we know: Infrastructure as Code - Patrick Debois
 
Locks? We Don't Need No Stinkin' Locks - Michael Barker
Locks? We Don't Need No Stinkin' Locks - Michael BarkerLocks? We Don't Need No Stinkin' Locks - Michael Barker
Locks? We Don't Need No Stinkin' Locks - Michael Barker
 
Worse is better, for better or for worse - Kevlin Henney
Worse is better, for better or for worse - Kevlin HenneyWorse is better, for better or for worse - Kevlin Henney
Worse is better, for better or for worse - Kevlin Henney
 
Java performance: What's the big deal? - Trisha Gee
Java performance: What's the big deal? - Trisha GeeJava performance: What's the big deal? - Trisha Gee
Java performance: What's the big deal? - Trisha Gee
 
Clojure made-simple - John Stevenson
Clojure made-simple - John StevensonClojure made-simple - John Stevenson
Clojure made-simple - John Stevenson
 
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias WessendorfHTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
 
Play framework 2 : Peter Hilton
Play framework 2 : Peter HiltonPlay framework 2 : Peter Hilton
Play framework 2 : Peter Hilton
 
Complexity theory and software development : Tim Berglund
Complexity theory and software development : Tim BerglundComplexity theory and software development : Tim Berglund
Complexity theory and software development : Tim Berglund
 
Why FLOSS is a Java developer's best friend: Dave Gruber
Why FLOSS is a Java developer's best friend: Dave GruberWhy FLOSS is a Java developer's best friend: Dave Gruber
Why FLOSS is a Java developer's best friend: Dave Gruber
 
Akka in Action: Heiko Seeburger
Akka in Action: Heiko SeeburgerAkka in Action: Heiko Seeburger
Akka in Action: Heiko Seeburger
 
NoSQL Smackdown 2012 : Tim Berglund
NoSQL Smackdown 2012 : Tim BerglundNoSQL Smackdown 2012 : Tim Berglund
NoSQL Smackdown 2012 : Tim Berglund
 
Closures, the next "Big Thing" in Java: Russel Winder
Closures, the next "Big Thing" in Java: Russel WinderClosures, the next "Big Thing" in Java: Russel Winder
Closures, the next "Big Thing" in Java: Russel Winder
 
Java and the machine - Martijn Verburg and Kirk Pepperdine
Java and the machine - Martijn Verburg and Kirk PepperdineJava and the machine - Martijn Verburg and Kirk Pepperdine
Java and the machine - Martijn Verburg and Kirk Pepperdine
 
Mongo DB on the JVM - Brendan McAdams
Mongo DB on the JVM - Brendan McAdamsMongo DB on the JVM - Brendan McAdams
Mongo DB on the JVM - Brendan McAdams
 
New opportunities for connected data - Ian Robinson
New opportunities for connected data - Ian RobinsonNew opportunities for connected data - Ian Robinson
New opportunities for connected data - Ian Robinson
 
HTML5 Websockets and Java - Arun Gupta
HTML5 Websockets and Java - Arun GuptaHTML5 Websockets and Java - Arun Gupta
HTML5 Websockets and Java - Arun Gupta
 
The Big Data Con: Why Big Data is a Problem, not a Solution - Ian Plosker
The Big Data Con: Why Big Data is a Problem, not a Solution - Ian PloskerThe Big Data Con: Why Big Data is a Problem, not a Solution - Ian Plosker
The Big Data Con: Why Big Data is a Problem, not a Solution - Ian Plosker
 
No Crash Allowed - Patterns for fault tolerance : Uwe Friedrichsen
No Crash Allowed - Patterns for fault tolerance : Uwe FriedrichsenNo Crash Allowed - Patterns for fault tolerance : Uwe Friedrichsen
No Crash Allowed - Patterns for fault tolerance : Uwe Friedrichsen
 

Recently uploaded

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 

Recently uploaded (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 

Bluffers guide to elitist jargon - Martijn Verburg, Richard Warburton, James Gough

  • 1. The Bluffers Guide to Elitist Jargon Jim Gough @JavaJimLondon Martijn Verburg @karianna Richard Warburton @RichardWarburto
  • 2. Contents • Introduction to JUGs • Business Jargon • Java Jargon • Computer Science Jargon 2
  • 3. What is a user group? 3
  • 4. What is a user group? Welcome to the London Java Community. 4
  • 5. What is a user group? It’s my first time at the London Java Developer Community. What’s it all about? 5
  • 11. The Enthusiastic Job Seeker 11
  • 12. The Passionate Vim Advocate 12
  • 14. What is it like working in a large corporation? What’s it like working in a large Corporation? Can be a lot of fun! Politics and red tape Lots of buzz words!! 14
  • 15. Buzz Word Bingo ? Reach Out Synergy Touch Base Leverage Circle Back Around Cross Pollination Bleeding Edge Flying Blind 15
  • 16. Why should we care about buzz words? • Increases complexity of the problem domain. • Causes confusion when specifying requirements. • Someone won’t know the acronyms or buzz words. • In house - more training needed for new starts. 16
  • 17. Financial Terms • Exchange – Market place, people buy things and sell things. • Arbitrage – If it’s cheaper at Best Buy and you sell it on Ebay for more... • Execute (or hit) – Buy or sell it • Hedge – Buy something else to minimize impact of massive price movement 17
  • 18. Accounting Terms • Acid Test Ratio – Assets that can be converted to cash to cover current liabilities • Bad Debts – All debts are bad? • Intangible Assets – Long term value but no physical identity. – Eg. Patents, trade marks or brands • Bootstrapping – Make your own money to start a firm 18
  • 19. Enough! Too much business talk This is a technical conference! 19
  • 20. Hotspot It can also be easy to get tied up in management. A compiler that runs at runtime Uses info about programs execution Focusses on compiling small parts of the application, the “hotspots” 20
  • 21. Lambdas Ah yes, what about this Java 8 stuff. What are Lambdas? A function without a name (x, y) -> x + y 21
  • 22. Lambdas 22
  • 23. Abstract Syntax Tree Sounds a bit abstract... Is it like an abstract syntax tree? A way of representing a program as a tree, used inside a compiler. A Node = a construct in the program. An Edge = Being a child in the AST means that you're "inside" something. 23
  • 24. Abstract Syntax Tree int x = 2 + y 24
  • 25. Latch Do you know anything? What is a latch? A concurrency primitive implemented as a class. Holds all threads up until they’ve reached a certain point 25
  • 26. Memory Barrier • A type of ordering barrier on memory operations. • CPUs reorder instructions • Can change behaviour of multi-threaded programs • Fences enforce an ordering. • Example: the volatile keyword (since Java 1.5) 26
  • 27. Computer Science Terminology Industry doesn't have anything on academia in terms of elitist jargon! 27
  • 28. Linear Regression • When the relationship between multiple variables looks like a straight line. 28
  • 29. Markov Chain, YES! • A state machine where transitions have probabilities 29
  • 30. Gaussion Distribution AKA “Normal Distribution” 30
  • 33. Poisson Distribution • Shows the probability of a number of events happening in an interval. • Lambda is the mean and the variance 33
  • 34. Kronecker Delta int kroneckerDelta(int x, int y) { if (x == y) { return 1; } else { return 0; } } As a Matrix 100 010 001 34
  • 35. False Positives • “Are there any Java Developers in the room?” • False Positive • “Yes” for an empty room. • False Negative • “No” for this room. 35
  • 36. Monomorphic Dispatch • A method call has only one possible implementation • In Java we can call methods on: – Interfaces – Virtual methods on Objects • Not all methods are monomorphic 36
  • 37. Monomorphic Dispatch List<String> strings = new ArrayList<>(); strings.add(“a”); // monomorphic if (randomNumber > 0.5) strings = new LinkedList<>(); strings.add(“b”); // polymorphic 37
  • 38. Tail Call Recursion int factorial(int n) { return fact(n, 1); } int fact(int n, int acc) { if (n == 0) return acc; else return fact(n - 1, acc * n); } 38
  • 39. Not Tail Call Recursion int factorial(n) { if (n == 0) return 1; else return n * factorial(n - 1); } 39
  • 41. NO - I mean indirect jump vectors! • A memory location holding an address. • Execution Jumps to the memory location and then immediately jumps to that address. • Why? • Interrupt Routines • Code performing low-level I/O • Avoids assuming that these programs are located in one place. 41
  • 42. Or maybe I mean in LISP? Doubly overloaded - this is the 'high level' meaning • An approach to implementing Tail Call Recursion • Problem: if you recurse a lot you eventually run out of stack space and your program crashes • Your paying customers are now sad pandas. • 42
  • 43. What is Trampolined Style? A trampoline is a function whose purpose is to call other functions in a program. • All functions are called via the trampoline. • Program functions: • don't call other program functions • return the address of the function to the trampoline • return the arguments to the trampoline • 43
  • 44. Conclusions on Complex Terminology • Complicates our domain. • Confuses our developers. • Software Engineering – Domain driven design – Pitching at the right level • See if you can spot the bluffers this week! 44
  • 45. Jim Gough @JavaJimLondon Martijn Verburg @karianna Richard Warburton @RichardWarburto See you at the Bar!

Editor's Notes

  1. \n
  2. \n
  3. It&amp;#x2019;s the Community night tonight, so come on down\n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. Enter stage for Job Interview.\n\n5 mins\n
  13. JG: Leaning towards other and in the most earnest tone possible, &quot;Wow, this guy sounds like he knows a lot about vim. If he has such passionate opinions backed up such complex terminology then he must be a really well informed and good developer.&quot;\n\nRW: leaning in &quot;I&apos;ve met this guy before - he&apos;s a bluffer!&quot;\n\nJG: &quot;You know, we&apos;ve got a position open at work, would you be interested in interviewing?&quot;\n\n- How do you do your source control and build management?\n\n10mins\n\n
  14. \n
  15. http://en.wikipedia.org/wiki/Buzzword_bingo\n\nAsk audience for some of their favourites\n
  16. \n
  17. \n
  18. 15mins\n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. 25 mins\n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. 30mins\n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. 35 mins\n
  40. \n
  41. \n
  42. \n
  43. \n
  44. 40mins\n
  45. \n