Programming with People

Emery Berger
Emery BergerProfessor at School of Computer Science, University of Massachusetts Amherst
Dan	
  Barowy,	
  Charlie	
  Curtsinger,	
  Emery	
  Berger,	
  Andrew	
  McGregor	
  
Programming	
  with	
  People:	
  
Integra(ng	
  Human-­‐Based	
  
&	
  Digital	
  Computa(on	
  
Computers
really good at
some tasks…
decoding human genome
designing your next car…
blood flow simulation…
(science)
blood flow simulation…
Not so good at
other tasks…
“is this a giraffe?”
isGiraffe(image)
(not a real function!)
Can we
“implement”
this function?
isGiraffe( )
Can we
“implement”
this function?
isGiraffe( )
We could just ask people!
isGiraffe( )
Find people via MTurk…
h"p://mturk.com	
  
MTurk = Amazon’s
“Mechanical Turk”
A sample task.
Original “Mechanical
Turk”: 18th Century
chess machine (!)
The secret. Amazon’s
service also looks like a
computer but has
people inside.
Now we
implement
this function
with MTurk
workers…
isGiraffe( )
True
Q1: How
much is this
task worth?
isGiraffe( )
True
isGiraffe( )
True
Q2: How
much time
should it
take?
isGiraffe( )
False
Q3: What if
worker gets
it wrong?
Why would
a worker get
it wrong?
False
Incompetent or
lazy (“Homer”)
False
Bots (Internet + $ = Scammers)
False
Both just
guessing
answers.
Or…evil genius:
deliberately picks
wrong answer.
False
random adversary model
No need to worry
about evil geniuses:
we are fine with a
random adversary model
i.e., Homer & Bender = OK.
random adversary model
i.e., Homer & Bender = OK.
We rule Dr. Evil out. Why?
long-term financial incentive
MTurk tracks approval
rates and work records:
credentials limit Sybil attacks
Use of financial credentials
make it hard to gin up new
accounts, and
isGiraffe( )
?	
  
But how do we know
any one person is not a
Homer or a Bender?
isGiraffe( )
Idea: vote. If both agree
on the answer, we’re
happy, right?
Pr[agree]	
  =	
  1/2	
  
isGiraffe( )
Not so much. Random =
50% chance of agreement.
Pr[agree]	
  =	
  1/32	
  
<	
  5%	
  
BUT: can dramatically
reduce likelihood by
increasing # of workers.
Pr[agree]	
  =	
  k(1/k)n	
  
(unanimous	
  agreement)	
  	
  
k = # choices, n = # workers.
(see paper for more details)
é choices
ê Pr[agree]
More choices = fewer people
isGiraffe( )
( )
AutoMan: DSL in Scala
– runs on any JVM.
isGiraffe( )
( )
Total $ for computation
AutoMan programmer-specified
isGiraffe( )
( )
Total $ for computation
Confidence level
(per function)
95%
(p < 0.05)
AutoMan programmer-specified
isGiraffe( )
US minimum wage,
Adaptive doubling
AutoMan ties pay and time;
Doubles both if no workers.
isGiraffe( )
US minimum wage,
Adaptive doubling
30s, $0.06 ($7.25 / 120)
Initially: all tasks 30 seconds.
isGiraffe( )
US minimum wage,
Adaptive doubling
prevents gaming
30s, $0.06 ($7.25 / 120)
60s, $0.12
No one shows up: both doubled.
You might think
this is exploitable:
just wait for jobs to
rise in price.
Programming with People
Programming with People
Programming with People
Programming with People
Strategy fails
when other
people are
around &
grab money.
 	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  =	
  base	
  (Pavail)round	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  *	
  mul=plierround	
  
E[gain]	
  	
  
Math: workers
should never wait.
Expected
earnings
after some #
of rounds…
=	
  base	
  (½)round	
  
	
  	
  	
  *	
  mul=plierround	
  
E[gain]	
  	
  
Even odds
somebody
will take the
money…
E[gain]	
  	
  =	
  base	
  (½)round	
  
	
  	
  	
  *	
  2round	
  
Doubling
increases
wage after
each round…
=	
  base	
  	
  	
  
	
  
	
  
E[gain]	
  	
  
Terms
dependent on
rounds
cancel out.
no incentive to wait
=	
  base	
  	
  	
  
	
  
	
  
E[gain]	
  	
  
isGiraffe( )
True 95% confidence
AutoMan
manages
time, $,
quality.
How	
  many	
  giraffes	
  are	
  
in	
  this	
  picture?	
  
k = 3 choices!
AutoMan
handles
“radio
button”
questions
How	
  many	
  giraffes	
  are	
  
in	
  this	
  picture?	
  
k = 3 choices!Risk: Homer &
Bender always guess
How	
  many	
  giraffes	
  are	
  
in	
  this	
  picture?	
  
k = 3 choices!E.g., always choose
first option.
How	
  many	
  giraffes	
  are	
  
in	
  this	
  picture?	
  
k = 3 choices!
To combat this,
AutoMan randomizes
answers.
25 choices!
Which	
  are	
  from	
  Sesame	
  Street?	
  
Kermit	
  the	
  Frog	
  	
  	
  	
  	
  	
  	
  
Spongebob	
  Squarepants	
  
Cookie	
  Monster	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
The	
  Count	
  
Oscar	
  the	
  Grouch	
  	
  ☐	
  
☐	
  
☐	
  
☐	
  
☐	
  
“Checkbox” questions
Which	
  are	
  from	
  Sesame	
  Street?	
  
Kermit	
  the	
  Frog	
  	
  	
  	
  	
  	
  	
  
Spongebob	
  Squarepants	
  
Cookie	
  Monster	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
The	
  Count	
  
Oscar	
  the	
  Grouch	
  	
  þ	
 
þ	
 
þ	
 
þ	
 
þ	
 
25 choices!
Same risk: random respondents
Which	
  are	
  from	
  Sesame	
  Street?	
  
Kermit	
  the	
  Frog	
  	
  	
  	
  	
  	
  	
  
Spongebob	
  Squarepants	
  
Cookie	
  Monster	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
The	
  Count	
  
Oscar	
  the	
  Grouch	
  	
  þ	
 
þ	
 
☐	
  
þ	
 
☐	
  
25 choices!
AutoMan checks each randomly
What	
  does	
  this	
  
license	
  plate	
  say?	
  
36d choices!
XXXXXX
366 choices = !2176782336[A-Z0-9]{6}!
Last question category:
constrained free-text
Which	
  one	
  of	
  these	
  doesn’t	
  belong?	
  
[95%	
  conf.]	
  
AUTOMAN:	
  spawns	
  3	
  tasks	
  @	
  $0.06;	
  30s	
  work	
  	
  
t1	
   t2	
   t3	
  
Example real execution
Which	
  one	
  of	
  these	
  doesn’t	
  belong?	
  
[95%	
  conf.]	
  
AUTOMAN:	
  spawns	
  3	
  tasks	
  @	
  $0.06;	
  30s	
  work	
  	
  
t1	
   t2	
   t3	
  
1m	
  50s	
  
Which	
  one	
  of	
  these	
  doesn’t	
  belong?	
  
[95%	
  conf.]	
  
AUTOMAN:	
  spawns	
  3	
  tasks	
  @	
  $0.06;	
  30s	
  work	
  	
  
t1	
   t2	
   t3	
  
1m	
  50s	
  
2m	
  30s	
  
Which	
  one	
  of	
  these	
  doesn’t	
  belong?	
  
[95%	
  conf.]	
  
AUTOMAN:	
  spawns	
  3	
  tasks	
  @	
  $0.06;	
  30s	
  work	
  	
  
t1	
   t2	
   t3	
  
1m	
  50s	
  
2m	
  30s	
  
2m	
  50s	
  
Which	
  one	
  of	
  these	
  doesn’t	
  belong?	
  
[95%	
  conf.]	
  
AUTOMAN:	
  spawns	
  3	
  tasks	
  @	
  $0.06;	
  30s	
  work	
  	
  
t1	
   t2	
   t3	
  
1m	
  50s	
  
2m	
  30s	
  
2m	
  50s	
  Inconclusive!	
  
Which	
  one	
  of	
  these	
  doesn’t	
  belong?	
  
[95%	
  conf.]	
  
AUTOMAN:	
  spawns	
  3	
  more	
  tasks	
  
t1	
   t2	
   t3	
   t4	
   t5	
   t6	
  
Which	
  one	
  of	
  these	
  doesn’t	
  belong?	
  
[95%	
  conf.]	
  
AUTOMAN:	
  spawns	
  3	
  more	
  tasks	
  
t1	
   t2	
   t3	
   t4	
   t5	
   t6	
  
7m	
  
Which	
  one	
  of	
  these	
  doesn’t	
  belong?	
  
[95%	
  conf.]	
  
AUTOMAN:	
  spawns	
  3	
  more	
  tasks	
  
t1	
   t2	
   t3	
   t4	
   t5	
   t6	
  
18m	
  50s	
  
7m	
  
Which	
  one	
  of	
  these	
  doesn’t	
  belong?	
  
[95%	
  conf.]	
  
AUTOMAN:	
  spawns	
  3	
  more	
  tasks	
  
t1	
   t2	
   t3	
   t4	
   t5	
   t6	
  
7m	
  
18m	
  50s	
  
51m	
  
Timeout: double pay and time
Which	
  one	
  of	
  these	
  doesn’t	
  belong?	
  
[95%	
  conf.]	
  
AUTOMAN:	
  spawn	
  1	
  more	
  task	
  @	
  $0.12,	
  60s	
  work	
  
t1	
   t2	
   t3	
   t4	
   t5	
   t6	
   t7	
  
Which	
  one	
  of	
  these	
  doesn’t	
  belong?	
  
[95%	
  conf.]	
  
AUTOMAN:	
  spawn	
  1	
  more	
  task	
  @	
  $0.12,	
  60s	
  work	
  
t1	
   t2	
   t3	
   t4	
   t5	
   t6	
   t7	
  
1h	
  9m	
  50s;	
  
cost	
  =	
  $0.36	
  
AUTOMAN:	
  5	
  out	
  of	
  6	
  
	
  ⇒	
  95%	
  confidence;	
  
return	
  	
  	
  
read_plate( )
More sophisticated function:
12.2%	
  
[Maryland	
  State	
  Highway	
  Administra=on]	
  
Success rate of real system!
Easy under optimal conditions
More complex in general
“Difficult” set of plates
Easier to read than CAPTCHAs!
Real task as posted on MTurk
Workflow: pictures to strings
def is_car(img_url: String) =
a.RadioButtonQuestion { q =>
q.budget = 1.00
q.confidence = 0.95
q.text = “Is this a car?”
q.image_url = img_url
q.options = List(
a.Option('yes, ”Yes"),
a.Option('no, ”No”)
)
}
Actual AutoMan code:
def get_plate_text(img_url: String) =
a.FreeTextQuestion { q =>
q.text = ”What does this plate
say?"
q.image_url = img_url
q.pattern = "XXXXXYYY”
}
Actual AutoMan code:
t1 t2 t3 t3 t4 t5 t6 t7 t8
"Is this a vehicle?"
start end
$0.06
post tasks
w1:
yes
w2:
yes
w3:
yes
3 answers
w4:
yes
1 answer
w5:
yes
Task 1
Task 2
Task 3
Task 4
Task 5
1 answer
"What does the license plate say?"
unanimous
agreement!
post tasks
$0.06
workers
disagree!
2 answers post tasks
Task 8
Task 9
timeout!
$0.12$0.06
post tasks
X
cancelled!
1 answer
end
767JKF	
  yes	
  
w6:
767JFK
w7:
767JKF
Task 6
Task 7
w8:
767JKF
Task
10
Task
11
Example execution
MediaLab	
  LPR	
  database	
  	
  
“extremely	
  dif-icult”	
  dataset	
  
144	
  plates	
  
Accuracy:	
  91.6%	
  
Average	
  cost:	
  12.08	
  cents	
  
Latency:	
  <	
  2	
  minutes	
  per	
  image	
  
	
  	
  	
  	
  >12.2%!	
  
AutoMan evaluation
www.automan-­‐lang.org	
  
AUTOMAN:	
  
Programming	
  with	
  People	
  
read_plate( )
def read_plate(url:
String) =
a.FreeTextQuestion { q =>
q.text = ”What does this
plate say?”
q.image_url = url
q.pattern = "XXXXXYYY”
}
Dan	
  Barowy,	
  Charlie	
  Curtsinger,	
  Emery	
  Berger,	
  Andrew	
  McGregor	
  
1 of 85

Recommended

Linux Profiling at Netflix by
Linux Profiling at NetflixLinux Profiling at Netflix
Linux Profiling at NetflixBrendan Gregg
1M views84 slides
Performance by
PerformancePerformance
PerformanceCary Millsap
205 views47 slides
Py ohio by
Py ohioPy ohio
Py ohioNate Taggart
988 views129 slides
Relaxing Join and Selection Queries - VLDB 2006 Slides by
Relaxing Join and Selection Queries - VLDB 2006 SlidesRelaxing Join and Selection Queries - VLDB 2006 Slides
Relaxing Join and Selection Queries - VLDB 2006 Slidesrvernica
505 views32 slides
Clean code & design patterns by
Clean code & design patternsClean code & design patterns
Clean code & design patternsPascal Larocque
4.1K views37 slides
When will you deliver that? by
When will you deliver that?When will you deliver that?
When will you deliver that?Leonardo Bittencourt
52 views23 slides

More Related Content

Similar to Programming with People

CS106 Lab 3 - Modulus by
CS106 Lab 3 - ModulusCS106 Lab 3 - Modulus
CS106 Lab 3 - ModulusNada Kamel
113 views26 slides
Федор Поляков (Looksery) “Face Tracking на мобильных устройствах в режиме реа... by
Федор Поляков (Looksery) “Face Tracking на мобильных устройствах в режиме реа...Федор Поляков (Looksery) “Face Tracking на мобильных устройствах в режиме реа...
Федор Поляков (Looksery) “Face Tracking на мобильных устройствах в режиме реа...Provectus
1.1K views14 slides
Checking the Open-Source Multi Theft Auto Game by
Checking the Open-Source Multi Theft Auto GameChecking the Open-Source Multi Theft Auto Game
Checking the Open-Source Multi Theft Auto GameAndrey Karpov
310 views17 slides
Promises are so passé - Tim Perry - Codemotion Milan 2016 by
Promises are so passé - Tim Perry - Codemotion Milan 2016Promises are so passé - Tim Perry - Codemotion Milan 2016
Promises are so passé - Tim Perry - Codemotion Milan 2016Codemotion
404 views64 slides
Top 10 C# projects errors found in 2016 by
Top 10 C# projects errors found in 2016Top 10 C# projects errors found in 2016
Top 10 C# projects errors found in 2016PVS-Studio
58 views7 slides
The Unicorn's Travel to the Microcosm by
The Unicorn's Travel to the MicrocosmThe Unicorn's Travel to the Microcosm
The Unicorn's Travel to the MicrocosmAndrey Karpov
291 views16 slides

Similar to Programming with People(20)

CS106 Lab 3 - Modulus by Nada Kamel
CS106 Lab 3 - ModulusCS106 Lab 3 - Modulus
CS106 Lab 3 - Modulus
Nada Kamel113 views
Федор Поляков (Looksery) “Face Tracking на мобильных устройствах в режиме реа... by Provectus
Федор Поляков (Looksery) “Face Tracking на мобильных устройствах в режиме реа...Федор Поляков (Looksery) “Face Tracking на мобильных устройствах в режиме реа...
Федор Поляков (Looksery) “Face Tracking на мобильных устройствах в режиме реа...
Provectus 1.1K views
Checking the Open-Source Multi Theft Auto Game by Andrey Karpov
Checking the Open-Source Multi Theft Auto GameChecking the Open-Source Multi Theft Auto Game
Checking the Open-Source Multi Theft Auto Game
Andrey Karpov310 views
Promises are so passé - Tim Perry - Codemotion Milan 2016 by Codemotion
Promises are so passé - Tim Perry - Codemotion Milan 2016Promises are so passé - Tim Perry - Codemotion Milan 2016
Promises are so passé - Tim Perry - Codemotion Milan 2016
Codemotion404 views
Top 10 C# projects errors found in 2016 by PVS-Studio
Top 10 C# projects errors found in 2016Top 10 C# projects errors found in 2016
Top 10 C# projects errors found in 2016
PVS-Studio58 views
The Unicorn's Travel to the Microcosm by Andrey Karpov
The Unicorn's Travel to the MicrocosmThe Unicorn's Travel to the Microcosm
The Unicorn's Travel to the Microcosm
Andrey Karpov291 views
Loop's definition and practical code in C programming by DharmaKumariBhandari
Loop's definition and  practical code in C programming Loop's definition and  practical code in C programming
Loop's definition and practical code in C programming
Cc code cards by ysolanki78
Cc code cardsCc code cards
Cc code cards
ysolanki78424 views
Gearmanpresentation 110308165409-phpapp01 by longtuan
Gearmanpresentation 110308165409-phpapp01Gearmanpresentation 110308165409-phpapp01
Gearmanpresentation 110308165409-phpapp01
longtuan1K views
AtlasCamp 2015: JIRA Service Desk: Scale your team with build-it-yourself aut... by Atlassian
AtlasCamp 2015: JIRA Service Desk: Scale your team with build-it-yourself aut...AtlasCamp 2015: JIRA Service Desk: Scale your team with build-it-yourself aut...
AtlasCamp 2015: JIRA Service Desk: Scale your team with build-it-yourself aut...
Atlassian1.9K views
C Programming Interview Questions by Gradeup
C Programming Interview QuestionsC Programming Interview Questions
C Programming Interview Questions
Gradeup1.3K views
The SAM Pattern: State Machines and Computation by Jean-Jacques Dubray
The SAM Pattern: State Machines and ComputationThe SAM Pattern: State Machines and Computation
The SAM Pattern: State Machines and Computation
Jean-Jacques Dubray1.1K views
cbse 12 computer science investigatory project by D. j Vicky
cbse 12 computer science investigatory project  cbse 12 computer science investigatory project
cbse 12 computer science investigatory project
D. j Vicky1.7K views
cbse 12 computer science investigatory project by D. j Vicky
cbse 12 computer science investigatory project  cbse 12 computer science investigatory project
cbse 12 computer science investigatory project
D. j Vicky167 views
Dealing with combinatorial explosions and boring tests by Alexander Tarlinder
Dealing with combinatorial explosions and boring testsDealing with combinatorial explosions and boring tests
Dealing with combinatorial explosions and boring tests
NUS-ISS Learning Day 2018-How to train your program to play black jack by NUS-ISS
NUS-ISS Learning Day 2018-How to train your program to play black jackNUS-ISS Learning Day 2018-How to train your program to play black jack
NUS-ISS Learning Day 2018-How to train your program to play black jack
NUS-ISS132 views
Building a Generic Search Screen using Dynamic SQL by Michael Rosenblum
Building a Generic Search Screen using Dynamic SQLBuilding a Generic Search Screen using Dynamic SQL
Building a Generic Search Screen using Dynamic SQL

More from Emery Berger

Doppio: Breaking the Browser Language Barrier by
Doppio: Breaking the Browser Language BarrierDoppio: Breaking the Browser Language Barrier
Doppio: Breaking the Browser Language BarrierEmery Berger
1K views104 slides
Dthreads: Efficient Deterministic Multithreading by
Dthreads: Efficient Deterministic MultithreadingDthreads: Efficient Deterministic Multithreading
Dthreads: Efficient Deterministic MultithreadingEmery Berger
1.2K views45 slides
Stabilizer: Statistically Sound Performance Evaluation by
Stabilizer: Statistically Sound Performance EvaluationStabilizer: Statistically Sound Performance Evaluation
Stabilizer: Statistically Sound Performance EvaluationEmery Berger
17.2K views152 slides
DieHarder (CCS 2010, WOOT 2011) by
DieHarder (CCS 2010, WOOT 2011)DieHarder (CCS 2010, WOOT 2011)
DieHarder (CCS 2010, WOOT 2011)Emery Berger
540 views59 slides
Operating Systems - Advanced File Systems by
Operating Systems - Advanced File SystemsOperating Systems - Advanced File Systems
Operating Systems - Advanced File SystemsEmery Berger
974 views21 slides
Operating Systems - File Systems by
Operating Systems - File SystemsOperating Systems - File Systems
Operating Systems - File SystemsEmery Berger
1K views20 slides

More from Emery Berger(20)

Doppio: Breaking the Browser Language Barrier by Emery Berger
Doppio: Breaking the Browser Language BarrierDoppio: Breaking the Browser Language Barrier
Doppio: Breaking the Browser Language Barrier
Emery Berger1K views
Dthreads: Efficient Deterministic Multithreading by Emery Berger
Dthreads: Efficient Deterministic MultithreadingDthreads: Efficient Deterministic Multithreading
Dthreads: Efficient Deterministic Multithreading
Emery Berger1.2K views
Stabilizer: Statistically Sound Performance Evaluation by Emery Berger
Stabilizer: Statistically Sound Performance EvaluationStabilizer: Statistically Sound Performance Evaluation
Stabilizer: Statistically Sound Performance Evaluation
Emery Berger17.2K views
DieHarder (CCS 2010, WOOT 2011) by Emery Berger
DieHarder (CCS 2010, WOOT 2011)DieHarder (CCS 2010, WOOT 2011)
DieHarder (CCS 2010, WOOT 2011)
Emery Berger540 views
Operating Systems - Advanced File Systems by Emery Berger
Operating Systems - Advanced File SystemsOperating Systems - Advanced File Systems
Operating Systems - Advanced File Systems
Emery Berger974 views
Operating Systems - File Systems by Emery Berger
Operating Systems - File SystemsOperating Systems - File Systems
Operating Systems - File Systems
Emery Berger1K views
Operating Systems - Networks by Emery Berger
Operating Systems - NetworksOperating Systems - Networks
Operating Systems - Networks
Emery Berger1.4K views
Operating Systems - Queuing Systems by Emery Berger
Operating Systems - Queuing SystemsOperating Systems - Queuing Systems
Operating Systems - Queuing Systems
Emery Berger3.7K views
Operating Systems - Distributed Parallel Computing by Emery Berger
Operating Systems - Distributed Parallel ComputingOperating Systems - Distributed Parallel Computing
Operating Systems - Distributed Parallel Computing
Emery Berger1.7K views
Operating Systems - Concurrency by Emery Berger
Operating Systems - ConcurrencyOperating Systems - Concurrency
Operating Systems - Concurrency
Emery Berger2.1K views
Operating Systems - Advanced Synchronization by Emery Berger
Operating Systems - Advanced SynchronizationOperating Systems - Advanced Synchronization
Operating Systems - Advanced Synchronization
Emery Berger1.9K views
Operating Systems - Synchronization by Emery Berger
Operating Systems - SynchronizationOperating Systems - Synchronization
Operating Systems - Synchronization
Emery Berger2.8K views
Processes and Threads by Emery Berger
Processes and ThreadsProcesses and Threads
Processes and Threads
Emery Berger1.8K views
Virtual Memory and Paging by Emery Berger
Virtual Memory and PagingVirtual Memory and Paging
Virtual Memory and Paging
Emery Berger17.9K views
Operating Systems - Virtual Memory by Emery Berger
Operating Systems - Virtual MemoryOperating Systems - Virtual Memory
Operating Systems - Virtual Memory
Emery Berger3.9K views
MC2: High-Performance Garbage Collection for Memory-Constrained Environments by Emery Berger
MC2: High-Performance Garbage Collection for Memory-Constrained EnvironmentsMC2: High-Performance Garbage Collection for Memory-Constrained Environments
MC2: High-Performance Garbage Collection for Memory-Constrained Environments
Emery Berger849 views
Vam: A Locality-Improving Dynamic Memory Allocator by Emery Berger
Vam: A Locality-Improving Dynamic Memory AllocatorVam: A Locality-Improving Dynamic Memory Allocator
Vam: A Locality-Improving Dynamic Memory Allocator
Emery Berger1.8K views
Quantifying the Performance of Garbage Collection vs. Explicit Memory Management by Emery Berger
Quantifying the Performance of Garbage Collection vs. Explicit Memory ManagementQuantifying the Performance of Garbage Collection vs. Explicit Memory Management
Quantifying the Performance of Garbage Collection vs. Explicit Memory Management
Emery Berger1.7K views
Garbage Collection without Paging by Emery Berger
Garbage Collection without PagingGarbage Collection without Paging
Garbage Collection without Paging
Emery Berger870 views
DieHard: Probabilistic Memory Safety for Unsafe Languages by Emery Berger
DieHard: Probabilistic Memory Safety for Unsafe LanguagesDieHard: Probabilistic Memory Safety for Unsafe Languages
DieHard: Probabilistic Memory Safety for Unsafe Languages
Emery Berger1.1K views

Recently uploaded

20231123_Camunda Meetup Vienna.pdf by
20231123_Camunda Meetup Vienna.pdf20231123_Camunda Meetup Vienna.pdf
20231123_Camunda Meetup Vienna.pdfPhactum Softwareentwicklung GmbH
49 views73 slides
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue by
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueShapeBlue
63 views15 slides
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava... by
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...ShapeBlue
74 views17 slides
Business Analyst Series 2023 - Week 4 Session 7 by
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7DianaGray10
110 views31 slides
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... by
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...ShapeBlue
48 views17 slides
"Surviving highload with Node.js", Andrii Shumada by
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada Fwdays
49 views29 slides

Recently uploaded(20)

CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue by ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
ShapeBlue63 views
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava... by ShapeBlue
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
ShapeBlue74 views
Business Analyst Series 2023 - Week 4 Session 7 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7
DianaGray10110 views
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... by ShapeBlue
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
ShapeBlue48 views
"Surviving highload with Node.js", Andrii Shumada by Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays49 views
NTGapps NTG LowCode Platform by Mustafa Kuğu
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform
Mustafa Kuğu287 views
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue120 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson142 views
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool by ShapeBlue
Extending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPoolExtending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPool
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool
ShapeBlue56 views
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue113 views
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... by ShapeBlue
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
ShapeBlue69 views
Future of AR - Facebook Presentation by Rob McCarty
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentation
Rob McCarty54 views
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... by ShapeBlue
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
ShapeBlue52 views
The Power of Heat Decarbonisation Plans in the Built Environment by IES VE
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built Environment
IES VE67 views
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading... by The Digital Insurer
Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker50 views
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online by ShapeBlue
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
ShapeBlue154 views
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue by ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
ShapeBlue134 views
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ... by ShapeBlue
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
ShapeBlue121 views

Programming with People