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
#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?
#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?
#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!