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

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 

Recently uploaded (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 

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