Java Virtual Machine Specification
Java Virtual Machine Specification
Computer
Accelerator: using data parallelism to program GPUs for general-purpose uses
Proceedings of the 12th international conference on Architectural support for programming languages and operating systems
Interpreting the data: Parallel analysis with Sawzall
Scientific Programming - Dynamic Grids and Worldwide Computing
Dryad: distributed data-parallel programs from sequential building blocks
Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007
MapReduce: simplified data processing on large clusters
Communications of the ACM - 50th anniversary issue: 1958 - 2008
Pig latin: a not-so-foreign language for data processing
Proceedings of the 2008 ACM SIGMOD international conference on Management of data
The Clojure programming language
DLS '08 Proceedings of the 2008 symposium on Dynamic languages
TurKit: tools for iterative tasks on mechanical Turk
Proceedings of the ACM SIGKDD Workshop on Human Computation
The anatomy of a large-scale social search engine
Proceedings of the 19th international conference on World wide web
OSDI'08 Proceedings of the 8th USENIX conference on Operating systems design and implementation
Soylent: a word processor with a crowd inside
UIST '10 Proceedings of the 23nd annual ACM symposium on User interface software and technology
CrowdDB: answering queries with crowdsourcing
Proceedings of the 2011 ACM SIGMOD International Conference on Management of data
Real-time crowd control of existing interfaces
Proceedings of the 24th annual ACM symposium on User interface software and technology
Parameter adjustment in Bayes networks. the generalized noisy OR-gate
UAI'93 Proceedings of the Ninth international conference on Uncertainty in artificial intelligence
Collaboratively crowdsourcing workflows with turkomatic
Proceedings of the ACM 2012 conference on Computer Supported Cooperative Work
Communications of the ACM
Strategies for crowdsourcing social data analysis
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
CommunitySourcing: engaging local crowds to perform expert work via physical kiosks
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
CrowdScape: interactively visualizing user behavior and output
Proceedings of the 25th annual ACM symposium on User interface software and technology
Proceedings of the 3rd Annual ACM Web Science Conference
AutoMan: a platform for integrating human-based and digital computation
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Knowledge acquisition and the rise of social machines
International Journal of Human-Computer Studies
CrowdLang: a programming language for the systematic exploration of human computation systems
SocInfo'12 Proceedings of the 4th international conference on Social Informatics
Proceedings of the 2013 conference on Computer supported cooperative work
Proceedings of the VLDB Endowment
Proceedings of the 22nd international conference on World Wide Web
Proceedings of the 26th annual ACM symposium on User interface software and technology
TaskGenies: Automatically Providing Action Plans Helps People Complete Tasks
ACM Transactions on Computer-Human Interaction (TOCHI)
Hi-index | 0.02 |
We present Jabberwocky, a social computing stack that consists of three components: a human and machine resource management system called Dormouse, a parallel programming framework for human and machine computation called ManReduce, and a high-level programming language on top of ManReduce called Dog. Dormouse is designed to enable cross-platform programming languages for social computation, so, for example, programs written for Mechanical Turk can also run on other crowdsourcing platforms. Dormouse also enables a programmer to easily combine crowdsourcing platforms or create new ones. Further, machines and people are both first-class citizens in Dormouse, allowing for natural parallelization and control flows for a broad range of data-intensive applications. And finally and importantly, Dormouse includes notions of real identity, heterogeneity, and social structure. We show that the unique properties of Dormouse enable elegant programming models for complex and useful problems, and we propose two such frameworks. ManReduce is a framework for combining human and machine computation into an intuitive parallel data flow that goes beyond existing frameworks in several important ways, such as enabling functions on arbitrary communication graphs between human and machine clusters. And Dog is a high-level procedural language written on top of ManReduce that focuses on expressivity and reuse. We explore two applications written in Dog: bootstrapping product recommendations without purchase data, and expert labeling of medical images.