Slide 1

Slide 1 text

Codeaholics Pub Quiz Presented by Matthew Rudy @Codeaholics HK

Slide 2

Slide 2 text

The Answers!!!

Slide 3

Slide 3 text

Round 1: Codeaholics

Slide 4

Slide 4 text

10 questions: 1+1 points each

Slide 5

Slide 5 text

Extra point: Name a speaker at this meeting #1 When was the first Codeaholics meetup? a) August 2010 b) December 2010 c) February 2011

Slide 6

Slide 6 text

c) February 2011 Speakers were: Eddie Lau, Giovanni Lion, Paul Gresham

Slide 7

Slide 7 text

Extra point: What is their github handle? #2 Who created the name “Codeaholics”? a) Eddie Lau b) Matthew Rudy c) Steve Holmes

Slide 8

Slide 8 text

a) Eddie Lau His Github handle is: 3dd13

Slide 9

Slide 9 text

Extra point: What was their original name? #3 Who sponsors Codeaholics? a) Enterproid b) Softlayer c) Thought Sauce

Slide 10

Slide 10 text

c) Thought Sauce The original name was “Thought Source”

Slide 11

Slide 11 text

Extra point: Which group did Codeaholics come from? #4 Which group did Steve previously organise? a) Agile Hong Kong b) Hong Kong Java User Group c) Hong Kong Linux User Group

Slide 12

Slide 12 text

a) Agile Hong Kong Codeaholics used to be Hong Kong Ruby On Rails (HKROR)

Slide 13

Slide 13 text

Extra point: when did he talk about it at Codeaholics? #5 What is the name of Jonas Karlsson’s language? a) Bamboo b) Beanstalk c) Panda

Slide 14

Slide 14 text

c) Panda He gave a talk at Codeaholics in November 2012

Slide 15

Slide 15 text

Extra point: how many github stars does it have? #6 What is the name of Jimmy’s Backbone Data Grid library? a) BackboneData b) BackGrid c) DataBack

Slide 16

Slide 16 text

b) BackGrid as of Tuesday 12th March it had 760 Github stars

Slide 17

Slide 17 text

Extra point: how many teams presented? #7 How many teams took part in Code Camp #01? a) 7 b) 8 c) 9

Slide 18

Slide 18 text

c) 9 8 of the teams made it to the end.

Slide 19

Slide 19 text

Extra point: how many parts was it? #8 Who gave “an Introduction to Haskell” in 2011? a) Leonard Siu b) William Taysom c) YKY

Slide 20

Slide 20 text

b) William Taysom William’s Introduction to Haskell was divided into 3 parts.

Slide 21

Slide 21 text

Extra point: which HK githubber joined first? #9 How many Githubbers are there in Hong Kong? a) 624 b) 724 c) 824

Slide 22

Slide 22 text

c) 824 Aaron Valade is the earliest Hong Kong Githubber having joined on 18th February 2008

Slide 23

Slide 23 text

Extra point: Where was it held? #10 In which year was the first Hong Kong Bar Camp? a) 2006 b) 2007 c) 2008

Slide 24

Slide 24 text

b) 2007 held at Yahoo! Hong Kong on December 16th 2007

Slide 25

Slide 25 text

Round 1: * / 20

Slide 26

Slide 26 text

Round 2: Initialisms

Slide 27

Slide 27 text

10 questions: 2 points each

Slide 28

Slide 28 text

#11 ACID What do the letters stand for:

Slide 29

Slide 29 text

ACID = Atomicity Consistency Isolation Durability

Slide 30

Slide 30 text

#12 BASIC What do the letters stand for:

Slide 31

Slide 31 text

BASIC = Beginners All- Purpose Symbolic Instruction Code

Slide 32

Slide 32 text

#13 CRUD What do the letters stand for:

Slide 33

Slide 33 text

CRUD = Create, Read, Update, Delete

Slide 34

Slide 34 text

#14 FIFO What do the letters stand for:

Slide 35

Slide 35 text

FIFO = First In First Out

Slide 36

Slide 36 text

#15 MINASWAN What do the letters stand for:

Slide 37

Slide 37 text

MINASWAN = Matz Is Nice And So We Are Nice

Slide 38

Slide 38 text

#16 PCCW prior to 2001 What do the letters stand for:

Slide 39

Slide 39 text

PCCW = Pacific Century CyberWorks

Slide 40

Slide 40 text

#17 REST What do the letters stand for:

Slide 41

Slide 41 text

REST = Representational State Transfer

Slide 42

Slide 42 text

#18 SGML What do the letters stand for:

Slide 43

Slide 43 text

SGML = Standard Generalized Markup Language

Slide 44

Slide 44 text

#19 VRML What do the letters stand for:

Slide 45

Slide 45 text

VRML = Virtual Reality Markup Language (or Modelling Language)

Slide 46

Slide 46 text

#20 WYSIWYG What do the letters stand for:

Slide 47

Slide 47 text

WYSIWYG = What You See Is What You Get

Slide 48

Slide 48 text

Round 2: * / 20

Slide 49

Slide 49 text

Round 3: Authors, Designers, Dictators

Slide 50

Slide 50 text

10 Questions 2 points each

Slide 51

Slide 51 text

#21 C Name the Designer of:

Slide 52

Slide 52 text

C = Dennis Ritchie

Slide 53

Slide 53 text

#22 Coffeescript Name the Designer of:

Slide 54

Slide 54 text

Coffeescript = Jeremy Ashkenas

Slide 55

Slide 55 text

#23 Django Name a Dictator of:

Slide 56

Slide 56 text

Django = Adrian Holovaty or Jacob Kaplan Moss

Slide 57

Slide 57 text

#24 GNU, GCC, Emacs Name the Creator of:

Slide 58

Slide 58 text

GNU, GCC, Emacs = Richard Stallman

Slide 59

Slide 59 text

#25 Javascript Name the Designer of:

Slide 60

Slide 60 text

Javascript = Brendan Eich

Slide 61

Slide 61 text

#26 Linux Name the Dictator of:

Slide 62

Slide 62 text

Linux = Linus Torvalds

Slide 63

Slide 63 text

#27 Python Name the Designer of:

Slide 64

Slide 64 text

Python = Guido Van Rossum

Slide 65

Slide 65 text

#28 Ruby Name the Designer of:

Slide 66

Slide 66 text

Ruby = Yukihiro Matsumoto

Slide 67

Slide 67 text

#29 Ruby on Rails Name the Creator of:

Slide 68

Slide 68 text

Ruby On Rails = David Heinemeier Hansson

Slide 69

Slide 69 text

#30 Scala Name the Designer of:

Slide 70

Slide 70 text

Scala = Martin Odersky

Slide 71

Slide 71 text

Round 3: * / 20

Slide 72

Slide 72 text

Halfway Time for a break!

Slide 73

Slide 73 text

Round 4: Name The Language

Slide 74

Slide 74 text

10 Questions 2 points each

Slide 75

Slide 75 text

#31 def fibIter(n): if n < 2: return n fibPrev = 1 fib = 1 for num in xrange(2, n): fibPrev, fib = fib, fib + fibPrev return fib What language is this?

Slide 76

Slide 76 text

Python def fibIter(n): return ...

Slide 77

Slide 77 text

#32 fib(0) -> 0; fib(1) -> 1; fib(N) when N > 1 -> fib(N-1) + fib(N-2). What language is this?

Slide 78

Slide 78 text

Erlang fib(0) -> 0; fib(1) -> 1; fib(N) when N > 1 -> fib(N-1) + fib(N-2).

Slide 79

Slide 79 text

#33 ++++++++++ >>+<<[->[->+>+<<]>[-<+>]>[-<+>]<<<] What language is this?

Slide 80

Slide 80 text

++++++++++ >>+<<[->[->+>+<<]>[-<+>]>[-<+>]<<<] Brainfuck

Slide 81

Slide 81 text

#34 iterfibo <- function(n) { if ( n < 2 ) n else { f <- c(0, 1) for (i in 2:n) { t <- f[2] f[2] <- sum(f) f[1] <- t } f[2] } } print.table(lapply(0:20, iterfibo)) What language is this?

Slide 82

Slide 82 text

R iterfibo <- function(n) { ... }

Slide 83

Slide 83 text

#35 |fibo| fibo := [ :i | |ac t| ac := Array new: 2. ac at: 1 put: 0 ; at: 2 put: 1. ( i < 2 ) ifTrue: [ ac at: (i+1) ] ifFalse: [ 2 to: i do: [ :l | t := (ac at: 2). ac at: 2 put: ( (ac at: 1) + (ac at: 2) ). ac at: 1 put: t ]. ac at: 2. ] ]. What language is this?

Slide 84

Slide 84 text

|fibo| fibo := [ :i | ... Smalltalk

Slide 85

Slide 85 text

#36 (defn fibs [] (map first (iterate (fn [[a b]] [b (+ a b)]) [0 1]))) (nth (fibs) 5) What language is this?

Slide 86

Slide 86 text

Clojure (defn fibs [] ... (+ a b)]) [0 1])))

Slide 87

Slide 87 text

#37 fib_iter = (n) -> if n < 2 return n [prev, curr] = 0, 1 for i in [1..n] [prev, curr] = [curr, curr + prev] return curr What language is this?

Slide 88

Slide 88 text

fib_iter = (n) -> return ... CoffeeScript

Slide 89

Slide 89 text

#38 FUNCTION itFib (n) n1 = 0 n2 = 1 FOR k = 1 TO ABS(n) sum = n1 + n2 n1 = n2 n2 = sum NEXT k IF n < 0 THEN itFib = n1 * ((-1) ^ ((-n) + 1)) ELSE itFib = n1 END IF END FUNCTION What language is this?

Slide 90

Slide 90 text

FUNCTION itFib (n) ... END FUNCTION BASIC

Slide 91

Slide 91 text

#39 a=0 b=1 max=$1 for (( n=1; "$n" <= "$max"; $((n++)) )) do a=$(($a + $b)) echo "F($n): $a" b=$(($a - $b)) done What language is this?

Slide 92

Slide 92 text

for (...) do echo ... done Shell (~Bash)

Slide 93

Slide 93 text

#40 -(long)fibonacci:(int)position { long result = 0; if (position < 2) { result = position; } else { result = [self fibonacci:(position -1)] + [self fibonacci:(position -2)]; } return result; } What language is this?

Slide 94

Slide 94 text

[self fibonacci:(position -1)] + [self fibonacci:(position -2)] Objective-C

Slide 95

Slide 95 text

Round 4: * / 20

Slide 96

Slide 96 text

Round 5: General Knowledge

Slide 97

Slide 97 text

10 Questions 2 point each

Slide 98

Slide 98 text

#41 Where was Tim Berners Lee working when he invented the World Wide Web?

Slide 99

Slide 99 text

CERN

Slide 100

Slide 100 text

#42 What does HTTP status code 418 stand for?

Slide 101

Slide 101 text

HTTP status 418: I’m a Teapot

Slide 102

Slide 102 text

#43 Who did Charles Babbage refer to as “The Enchantress of Numbers”?

Slide 103

Slide 103 text

Ada Lovelace

Slide 104

Slide 104 text

#44 What is the name of Jetbrains’ web dev IDE?

Slide 105

Slide 105 text

WebStorm

Slide 106

Slide 106 text

#45 What is the development version of Google Chrome called?

Slide 107

Slide 107 text

Google Chrome Canary

Slide 108

Slide 108 text

#46 What does the prefix NS in Objective-C stand for?

Slide 109

Slide 109 text

NS = NeXTSTEP

Slide 110

Slide 110 text

#47 What is special about jQuery 2.0?

Slide 111

Slide 111 text

jQuery 2.0 drops support for IE<9

Slide 112

Slide 112 text

#48 Which JVM instruction was added in Java7 to improve dynamic language support?

Slide 113

Slide 113 text

invokedynamic

Slide 114

Slide 114 text

#49 Which HTML 5.1 tag should be used for “content that is directly related to or expands upon the central topic of a document or central functionality of an application”?

Slide 115

Slide 115 text

Slide 116

Slide 116 text

#50 Which “K” is the next version of Android rumored to be called?

Slide 117

Slide 117 text

Key Lime

Slide 118

Slide 118 text

Round 5: * / 20

Slide 119

Slide 119 text

Round 6: Anagrams

Slide 120

Slide 120 text

Anagram • Take the given letters • Rearrange them to form new words • eg. “Acne Hijack”

Slide 121

Slide 121 text

5 Questions 2 points each

Slide 122

Slide 122 text

#51 “Choice Loads”

Slide 123

Slide 123 text

Choice Loads = Codeaholics

Slide 124

Slide 124 text

#52 “Romantic Yob”

Slide 125

Slide 125 text

Romantic Yob = Y-Combinator

Slide 126

Slide 126 text

#53 “Clip More”

Slide 127

Slide 127 text

Clip More = Compiler

Slide 128

Slide 128 text

#54 “Sly, Prim Oomph”

Slide 129

Slide 129 text

Sly Prim Oomph = Polymorphism

Slide 130

Slide 130 text

#55 “Due Icon”

Slide 131

Slide 131 text

Due Icon = Unicode

Slide 132

Slide 132 text

Bonus Anagram 10 points

Slide 133

Slide 133 text

#56 “I’d Wow Conformists”

Slide 134

Slide 134 text

I’d Wow Conformists = Microsoft Windows

Slide 135

Slide 135 text

Round 6: * / 20

Slide 136

Slide 136 text

Round 7: The Snowball Round

Slide 137

Slide 137 text

1 Question 9 Answers 2 points each

Slide 138

Slide 138 text

30 points for all 9 0 points any wrong

Slide 139

Slide 139 text

#SNOWBALL HTTP 1.1 + RFC5789 Specify 9 HTTP Verbs! Name as many as you can!

Slide 140

Slide 140 text

GET, POST, HEAD

Slide 141

Slide 141 text

OPTIONS, PUT, DELETE, TRACE, CONNECT

Slide 142

Slide 142 text

PATCH

Slide 143

Slide 143 text

Round 7: * / 30

Slide 144

Slide 144 text

Total: * / 150

Slide 145

Slide 145 text

That’s it.

Slide 146

Slide 146 text

Thanks!

Slide 147

Slide 147 text

Sources • http://anagramgenius.com • http://github.com • http://rosettacode.org • http://wikipedia.org