assorted-commits Mailing List for Assorted projects (Page 66)
Brought to you by:
yangzhang
You can subscribe to this list here.
| 2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(9) |
Dec
(12) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2008 |
Jan
(86) |
Feb
(265) |
Mar
(96) |
Apr
(47) |
May
(136) |
Jun
(28) |
Jul
(57) |
Aug
(42) |
Sep
(20) |
Oct
(67) |
Nov
(37) |
Dec
(34) |
| 2009 |
Jan
(39) |
Feb
(85) |
Mar
(96) |
Apr
(24) |
May
(82) |
Jun
(13) |
Jul
(10) |
Aug
(8) |
Sep
(2) |
Oct
(20) |
Nov
(31) |
Dec
(17) |
| 2010 |
Jan
(16) |
Feb
(11) |
Mar
(17) |
Apr
(53) |
May
(31) |
Jun
(13) |
Jul
(3) |
Aug
(6) |
Sep
(11) |
Oct
(4) |
Nov
(17) |
Dec
(17) |
| 2011 |
Jan
(3) |
Feb
(19) |
Mar
(5) |
Apr
(17) |
May
(3) |
Jun
(4) |
Jul
(14) |
Aug
(3) |
Sep
(2) |
Oct
(1) |
Nov
(3) |
Dec
(2) |
| 2012 |
Jan
(3) |
Feb
(7) |
Mar
(1) |
Apr
|
May
(1) |
Jun
|
Jul
(4) |
Aug
(5) |
Sep
(2) |
Oct
(3) |
Nov
|
Dec
|
| 2013 |
Jan
|
Feb
|
Mar
(9) |
Apr
(5) |
May
|
Jun
(2) |
Jul
(1) |
Aug
(10) |
Sep
(1) |
Oct
(2) |
Nov
|
Dec
|
| 2014 |
Jan
(1) |
Feb
(3) |
Mar
(3) |
Apr
(1) |
May
(4) |
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
| 2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
| 2016 |
Jan
(1) |
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
| 2017 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
(5) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(2) |
| 2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <yan...@us...> - 2008-01-30 05:49:44
|
Revision: 277
http://assorted.svn.sourceforge.net/assorted/?rev=277&view=rev
Author: yangzhang
Date: 2008-01-29 21:49:48 -0800 (Tue, 29 Jan 2008)
Log Message:
-----------
reformatted
Modified Paths:
--------------
configs/trunk/src/ssh/config
Modified: configs/trunk/src/ssh/config
===================================================================
--- configs/trunk/src/ssh/config 2008-01-30 05:49:17 UTC (rev 276)
+++ configs/trunk/src/ssh/config 2008-01-30 05:49:48 UTC (rev 277)
@@ -5,101 +5,113 @@
# StrictHostKeyChecking no
+Host hadoop-gate
+ HostName 64.88.164.202
+ HostKeyAlias 64.88.164.202
+ LocalForward 54022 10.1.131.188:22
+ LocalForward 50030 10.1.131.190:50030
+ DynamicForward 51080
+
+Host hadoop
+ HostName localhost
+ Port 54022
+ HostKeyAlias 10.1.131.188
+
Host pdos
- HostName pdos.csail.mit.edu
- User yang
+ HostName pdos.csail.mit.edu
+ User yang
Host sn
- HostName sn002.datapository.net
- User yang
+ HostName sn002.datapository.net
+ User yang
Host cd3
- HostName cartel-dev3.csail.mit.edu
- User root
+ HostName cartel-dev3.csail.mit.edu
+ User root
Host cd2
- HostName cartel-dev2.csail.mit.edu
- User root
+ HostName cartel-dev2.csail.mit.edu
+ User root
Host golf
- HostName golf
- User root
+ HostName golf
+ User root
Host ath
- HostName athena.dialup.mit.edu
- User y_z
+ HostName athena.dialup.mit.edu
+ User y_z
Host zs
- HostName zs.ath.cx
- User yang
+ HostName zs.ath.cx
+ User yang
# Rohan K
Host kr
- HostName krang.eecs.harvard.edu
- User yang
+ HostName krang.eecs.harvard.edu
+ User yang
# Bret Hull
Host lv
- HostName livermore.csail.mit.edu
- User yang
+ HostName livermore.csail.mit.edu
+ User yang
Host pubmgr-cvs
- HostName pubmgr.cvs.sourceforge.net
- User yangzhang
+ HostName pubmgr.cvs.sourceforge.net
+ User yangzhang
Host pubmgr
- HostName pubmgr.sourceforge.net
- User yangzhang
+ HostName pubmgr.sourceforge.net
+ User yangzhang
Host shell-sf
- HostName shell.sourceforge.net
- User yangzhang
+ HostName shell.sourceforge.net
+ User yangzhang
Host db
- HostName db.csail.mit.edu
- User yang
+ HostName db.csail.mit.edu
+ User yang
Host nms
- HostName nms.csail.mit.edu
- User yang
+ HostName nms.csail.mit.edu
+ User yang
Host hv
- HostName harvard.csail.mit.edu
- User yang
- ForwardX11 yes
+ HostName harvard.csail.mit.edu
+ User yang
+ ForwardX11 yes
Host cs
- HostName login.csail.mit.edu
- User yang
- ForwardX11 yes
+ HostName login.csail.mit.edu
+ User yang
+ ForwardX11 yes
# Jacob Scott
Host on
- HostName orange-ninja.mit.edu
- User yang
+ HostName orange-ninja.mit.edu
+ User yang
Host lin
- HostName linerva.mit.edu
- User y_z
- ForwardX11 yes
+ HostName linerva.mit.edu
+ User y_z
+ ForwardX11 yes
Host athcs
- HostName athena.csail.mit.edu
- User y_z
- ForwardX11 yes
+ HostName athena.csail.mit.edu
+ User y_z
+ ForwardX11 yes
Host home
- HostName zs.ath.cx
- User yang
- ForwardX11 yes
+ HostName zs.ath.cx
+ User yang
+ ForwardX11 yes
Host ocf
- HostName apocalypse.ocf.berkeley.edu
- User yangsta
+ HostName apocalypse.ocf.berkeley.edu
+ User yangsta
Host oasis
- HostName catenova.org
- User oasis
+ HostName catenova.org
+ User oasis
#
# retired, but kept here as a quick reference
@@ -107,51 +119,51 @@
## from G to OCF
#Host g2ocf
-# HostName apocalypse.ocf.berkeley.edu
-# User yangsta
-# RemoteForward 8822 localhost:22
+# HostName apocalypse.ocf.berkeley.edu
+# User yangsta
+# RemoteForward 8822 localhost:22
#
## from G to harvard
#Host g2hv
-# HostName harvard.csail.mit.edu
-# User yang
-# RemoteForward 8822 localhost:22
+# HostName harvard.csail.mit.edu
+# User yang
+# RemoteForward 8822 localhost:22
#
## from G to home (Foster City)
#Host g2yv
-# HostName yv.ath.cx
-# User yang
-# RemoteForward 8822 localhost:22
+# HostName yv.ath.cx
+# User yang
+# RemoteForward 8822 localhost:22
#
## from G to dell600 laptop
#Host g2ew
-# HostName ew.ath.cx
-# User yang
-# RemoteForward 8822 localhost:22
-# RemoteForward 8888 localhost:8888
-# RemoteForward 24800 localhost:24800
+# HostName ew.ath.cx
+# User yang
+# RemoteForward 8822 localhost:22
+# RemoteForward 8888 localhost:8888
+# RemoteForward 24800 localhost:24800
#
## from laptop to G (if necessary; after g2*)
#Host g
-# HostName localhost
-# User yangzhang
-# Port 8822
-# NoHostAuthenticationForLocalhost yes
-# LocalForward 8888 localhost:8888
-# LocalForward 24800 localhost:24800
-# ForwardX11 yes
+# HostName localhost
+# User yangzhang
+# Port 8822
+# NoHostAuthenticationForLocalhost yes
+# LocalForward 8888 localhost:8888
+# LocalForward 24800 localhost:24800
+# ForwardX11 yes
#
## from ocf to G (after g2ocf)
#Host ocf2g
-# HostName localhost
-# User yangzhang
-# Port 8822
-# NoHostAuthenticationForLocalhost yes
-# LocalForward apocalypse.ocf.berkeley.edu:8823 localhost:22
-# #LocalForward apocalypse.ocf.berkeley.edu:8888 localhost:8888
-# LocalForward apocalypse.ocf.berkeley.edu:24800 localhost:24800
+# HostName localhost
+# User yangzhang
+# Port 8822
+# NoHostAuthenticationForLocalhost yes
+# LocalForward apocalypse.ocf.berkeley.edu:8823 localhost:22
+# #LocalForward apocalypse.ocf.berkeley.edu:8888 localhost:8888
+# LocalForward apocalypse.ocf.berkeley.edu:24800 localhost:24800
#
## G
#Host fl
-# HostName fl.ath.cx
-# User yangzhang
+# HostName fl.ath.cx
+# User yangzhang
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yan...@us...> - 2008-01-30 05:49:12
|
Revision: 276
http://assorted.svn.sourceforge.net/assorted/?rev=276&view=rev
Author: yangzhang
Date: 2008-01-29 21:49:17 -0800 (Tue, 29 Jan 2008)
Log Message:
-----------
disabled custom key bindings for org-mode because they interfered with defaults that were actually important
Modified Paths:
--------------
configs/trunk/src/emacs/yang.el
Modified: configs/trunk/src/emacs/yang.el
===================================================================
--- configs/trunk/src/emacs/yang.el 2008-01-30 05:48:40 UTC (rev 275)
+++ configs/trunk/src/emacs/yang.el 2008-01-30 05:49:17 UTC (rev 276)
@@ -120,11 +120,11 @@
;; refill long lines
;; (add-hook 'org-mode-hook 'refill-mode)
-;; custom keys
-(add-hook 'org-mode-hook
- (lambda ()
- (define-key org-mode-map [(tab)] [M-right M-right])
- (define-key org-mode-map [S-iso-lefttab] [M-left M-left])))
+;; custom keys TODO
+;; (add-hook 'org-mode-hook
+;; (lambda ()
+;; (define-key org-mode-map [(tab)] [M-right M-right])
+;; (define-key org-mode-map [S-iso-lefttab] [M-left M-left])))
;; highlight-parentheses
(require 'highlight-parentheses)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yan...@us...> - 2008-01-30 05:48:41
|
Revision: 275
http://assorted.svn.sourceforge.net/assorted/?rev=275&view=rev
Author: yangzhang
Date: 2008-01-29 21:48:40 -0800 (Tue, 29 Jan 2008)
Log Message:
-----------
added reminder for profile
Added Paths:
-----------
configs/trunk/TODO
Added: configs/trunk/TODO
===================================================================
--- configs/trunk/TODO (rev 0)
+++ configs/trunk/TODO 2008-01-30 05:48:40 UTC (rev 275)
@@ -0,0 +1 @@
+mv bashrc.bash into here from shell-tools
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yan...@us...> - 2008-01-30 05:48:14
|
Revision: 274
http://assorted.svn.sourceforge.net/assorted/?rev=274&view=rev
Author: yangzhang
Date: 2008-01-29 21:48:19 -0800 (Tue, 29 Jan 2008)
Log Message:
-----------
added java settings
Modified Paths:
--------------
configs/trunk/src/vim/plugin/_yang.vim
Modified: configs/trunk/src/vim/plugin/_yang.vim
===================================================================
--- configs/trunk/src/vim/plugin/_yang.vim 2008-01-30 05:47:58 UTC (rev 273)
+++ configs/trunk/src/vim/plugin/_yang.vim 2008-01-30 05:48:19 UTC (rev 274)
@@ -155,6 +155,7 @@
au BufNewFile,BufRead *.map setf map
" temporaries
autocmd BufEnter *.{c,cc,cpp,cxx,h} setlocal cindent expandtab softtabstop=4 shiftwidth=4 tabstop=8
+autocmd BufEnter *.java setlocal cindent noexpandtab softtabstop=4 shiftwidth=4 tabstop=4
" autocmd GDB
au BufEnter *.gdb set ft=gdb
" autocmd hxx, cxx
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yan...@us...> - 2008-01-30 05:47:54
|
Revision: 273
http://assorted.svn.sourceforge.net/assorted/?rev=273&view=rev
Author: yangzhang
Date: 2008-01-29 21:47:58 -0800 (Tue, 29 Jan 2008)
Log Message:
-----------
added reminders for .profile
Modified Paths:
--------------
configs/trunk/setup-defaults.bash
configs/trunk/setup-yang.bash
Added Paths:
-----------
configs/trunk/src/profile
Modified: configs/trunk/setup-defaults.bash
===================================================================
--- configs/trunk/setup-defaults.bash 2008-01-29 08:11:33 UTC (rev 272)
+++ configs/trunk/setup-defaults.bash 2008-01-30 05:47:58 UTC (rev 273)
@@ -16,3 +16,4 @@
install .bashrc default.bashrc
install .emacs default.emacs
install .vimrc default.vimrc
+# TODO install .profile default.profile
Modified: configs/trunk/setup-yang.bash
===================================================================
--- configs/trunk/setup-yang.bash 2008-01-29 08:11:33 UTC (rev 272)
+++ configs/trunk/setup-yang.bash 2008-01-30 05:47:58 UTC (rev 273)
@@ -20,3 +20,4 @@
install .Xdefaults Xdefaults
install .synergy.conf synergy.conf
install .unison unison
+# TODO figure out a place to put the .profile
Added: configs/trunk/src/profile
===================================================================
--- configs/trunk/src/profile (rev 0)
+++ configs/trunk/src/profile 2008-01-30 05:47:58 UTC (rev 273)
@@ -0,0 +1,2 @@
+# TODO: set PATH, etc. here and not in .bashrc.... (or maybe both, in a common
+# source file; find out whether bash's typically source profile as well)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yan...@us...> - 2008-01-29 08:11:38
|
Revision: 272
http://assorted.svn.sourceforge.net/assorted/?rev=272&view=rev
Author: yangzhang
Date: 2008-01-29 00:11:33 -0800 (Tue, 29 Jan 2008)
Log Message:
-----------
Modified Paths:
--------------
sandbox/trunk/src/java/NullPointerCast.java
Modified: sandbox/trunk/src/java/NullPointerCast.java
===================================================================
--- sandbox/trunk/src/java/NullPointerCast.java 2008-01-29 08:08:16 UTC (rev 271)
+++ sandbox/trunk/src/java/NullPointerCast.java 2008-01-29 08:11:33 UTC (rev 272)
@@ -1,6 +1,7 @@
public class NullPointerCast {
- public static void main(String[] args) {
- Integer x = null;
- int y = x;
- }
+ public static void main(String[] args) {
+ Integer x = null;
+ // This line causes a NullPointerException.
+ int y = x;
+ }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yan...@us...> - 2008-01-29 08:08:18
|
Revision: 271
http://assorted.svn.sourceforge.net/assorted/?rev=271&view=rev
Author: yangzhang
Date: 2008-01-29 00:08:16 -0800 (Tue, 29 Jan 2008)
Log Message:
-----------
added null pointer cast
Added Paths:
-----------
sandbox/trunk/src/java/NullPointerCast.java
Added: sandbox/trunk/src/java/NullPointerCast.java
===================================================================
--- sandbox/trunk/src/java/NullPointerCast.java (rev 0)
+++ sandbox/trunk/src/java/NullPointerCast.java 2008-01-29 08:08:16 UTC (rev 271)
@@ -0,0 +1,6 @@
+public class NullPointerCast {
+ public static void main(String[] args) {
+ Integer x = null;
+ int y = x;
+ }
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yan...@us...> - 2008-01-22 10:56:07
|
Revision: 270
http://assorted.svn.sourceforge.net/assorted/?rev=270&view=rev
Author: yangzhang
Date: 2008-01-22 02:55:58 -0800 (Tue, 22 Jan 2008)
Log Message:
-----------
added flushing
Added Paths:
-----------
sandbox/trunk/src/java/Flushing.java
Added: sandbox/trunk/src/java/Flushing.java
===================================================================
--- sandbox/trunk/src/java/Flushing.java (rev 0)
+++ sandbox/trunk/src/java/Flushing.java 2008-01-22 10:55:58 UTC (rev 270)
@@ -0,0 +1,17 @@
+import java.io.*;
+public class Flushing {
+ public static void main(String[] args) throws Exception {
+ // Try piping stdout to a file. Notice that as this is running,
+ // everything is flushed. So it seems autoFlushing is on by default.
+ for (int i = 0; i < 3; i++) {
+ System.out.println("hello, world");
+ Thread.sleep(1000);
+ }
+ // Same with this one, obviously (autoFlush here is on).
+ PrintWriter writer = new PrintWriter(System.out, true);
+ for (int i = 0; i < 3; i++) {
+ writer.println("goodbye, world");
+ Thread.sleep(1000);
+ }
+ }
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yan...@us...> - 2008-01-21 07:22:45
|
Revision: 269
http://assorted.svn.sourceforge.net/assorted/?rev=269&view=rev
Author: yangzhang
Date: 2008-01-20 23:22:45 -0800 (Sun, 20 Jan 2008)
Log Message:
-----------
added timebench
Added Paths:
-----------
sandbox/trunk/src/java/TimeBench.java
Added: sandbox/trunk/src/java/TimeBench.java
===================================================================
--- sandbox/trunk/src/java/TimeBench.java (rev 0)
+++ sandbox/trunk/src/java/TimeBench.java 2008-01-21 07:22:45 UTC (rev 269)
@@ -0,0 +1,50 @@
+public class TimeBench {
+
+ public static void main(String[] args) {
+ // On my dual-core Intel machine, millis is *faster* than nano, despite the
+ // fact that FreeNode folk told me nano was more accurate (perhaps it is
+ // once you get to that granularity, but the cost of invocation is twice as
+ // high):
+ //
+ // $ for i in {1..10}; do java TimeBench; done
+ // 213
+ // 416283169
+ // 210
+ // 427611823
+ // 211
+ // 425782976
+ // 211
+ // 416913721
+ // 213
+ // 419326076
+ // 209
+ // 415857948
+ // 209
+ // 415659440
+ // 210
+ // 410968289
+ // 212
+ // 421450138
+ // 216
+ // 417043555
+ //
+ // Furthermore, I verified using strace, that none of these produces
+ // syscalls.
+
+ {
+ long t = System.currentTimeMillis(), t0 = System.currentTimeMillis();
+ for (int i = 0; i < 1000000; i++)
+ t = System.currentTimeMillis();
+ System.out.println(t - t0);
+ }
+
+ {
+ long t = System.nanoTime(), t0 = System.nanoTime();
+ for (int i = 0; i < 1000000; i++)
+ t = System.nanoTime();
+ System.out.println(t - t0);
+ }
+
+ }
+
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yan...@us...> - 2008-01-20 19:24:54
|
Revision: 268
http://assorted.svn.sourceforge.net/assorted/?rev=268&view=rev
Author: yangzhang
Date: 2008-01-20 11:24:54 -0800 (Sun, 20 Jan 2008)
Log Message:
-----------
fixed filetype detection
Modified Paths:
--------------
configs/trunk/src/vim/plugin/_yang.vim
Modified: configs/trunk/src/vim/plugin/_yang.vim
===================================================================
--- configs/trunk/src/vim/plugin/_yang.vim 2008-01-20 18:26:49 UTC (rev 267)
+++ configs/trunk/src/vim/plugin/_yang.vim 2008-01-20 19:24:54 UTC (rev 268)
@@ -126,10 +126,17 @@
set winaltkeys=no
set wrapscan " TODO ???
+" Enable plugins and indentation based on filetypes. We must first deactivate
+" filetype detection because "filetype * on" is the instant when vim crawls
+" the indent/ and ftplugin/ directories in the current rtp. However, if this
+" is already on, then the command will do nothing. In fact, this is already
+" likely to be on (due to default or platform-specific configurations).
+" Hence, we need to turn it off to force vim to see the files in our current
+" rtp.
+filetype off
+filetype plugin indent on
" AUTOCOMMANDS ----------------------------------------------------------------
-" makes this enable plugins and indentation based on file types
-filetype plugin indent on
" binaries
augroup Binary
au!
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yan...@us...> - 2008-01-20 18:26:47
|
Revision: 267
http://assorted.svn.sourceforge.net/assorted/?rev=267&view=rev
Author: yangzhang
Date: 2008-01-20 10:26:49 -0800 (Sun, 20 Jan 2008)
Log Message:
-----------
added Sam's bib
Added Paths:
-----------
bib/trunk/sam.bib
Added: bib/trunk/sam.bib
===================================================================
--- bib/trunk/sam.bib (rev 0)
+++ bib/trunk/sam.bib 2008-01-20 18:26:49 UTC (rev 267)
@@ -0,0 +1,2594 @@
+%% DJA's bibtex file
+
+%% Daniel Abadi's publications in bibtex format
+
+%% Conference and Journal Papers
+
+@inproceedings{abadi-rdf,
+ title = "Scalable Semantic Web Data Management Using Vertical Partitioning",
+ year = "2007",
+ booktitle = "VLDB",
+ address = "Vienna, Austria",
+ venue = "VLDB",
+ pdfURL = "http://web.mit.edu/dna/www/abadirdf.pdf",
+ author = {Daniel J. Abadi and Adam Marcus and Samuel R. Madden and Kate Hollenbach},
+ abstract = "Efficient management of RDF data is an important factor in realizing the Semantic Web vision. Performance and scalability issues are becoming increasingly pressing as Semantic Web technology is applied to real-world applications. In this paper, we examine the reasons why current data management solutions for RDF data scale poorly, and explore the fundamental scalability limitations of these approaches. We review the state of the art for improving performance for RDF databases and consider a recent suggestion, 'property tables'. We then discuss practically and empirically why this solution has undesirable features. As an improvement, we propose an alternative solution: vertically partitioning the RDF data. We compare the performance of vertical partitioning with prior art on queries generated by a Web-based RDF browser over a large-scale (more than 50 million triples) catalog of library data. Our results show that a vertical partitioned schema achieves similar performance to the property table technique while being much simpler to design. Further, if a column-oriented DBMS (a database architected specially for the vertically partitioned case) is used instead of a row-oriented DBMS, another order of magnitude performance improvement is observed, with query times dropping from minutes to several seconds.",
+ pdfKB = "246",
+ publicationtype = "Conference Paper",
+}
+
+@inproceedings{hstore,
+ author = {Michael Stonebraker and Samuel R. Madden and Daniel J. Abadi and Stavros Harizopoulos and Nabil Hachem and Pat Helland},
+ title = {The End of an Architectural Era (It's Time for a Complete Rewrite)},
+ booktitle = {VLDB},
+ year = {2007},
+ address = {Vienna, Austria},
+ venue = "VLDB",
+ pdfURL = "http://web.mit.edu/dna/www/vldb07hstore.pdf",
+ abstract = "In previous papers, some of us predicted the end of 'one size fits all' as a commercial relational DBMS paradigm. These papers presented reasons and experimental evidence that showed that the major relational RDBMS vendors can be outperformed by 1-2 orders of magnitude by specialized engines in the data warehouse, stream processing, text, and scientific database markets. Assuming that specialized engines dominate these markets over time, the current relational DBMS code lines will be left with the business data processing (OLTP) market and hybrid markets where more than one capability is required. In this paper we show that current RDBMSs can be beaten by nearly two orders of magnitude in the OLTP market as well. The experimental evidence comes from comparing a new OLTP prototype, H-Store, which we have built at M.I.T., to a popular RDBMS on the standard transactional benchmark, TPC-C. We conclude that current RDBMS code lines, while attempting to be a 'one size fits all' solution, in fact, excel at nothing. Hence, they are 25 year old legacy code lines that should be retired in favor of a collection of 'from scratch' specialized engines. The DBMS vendors (and research community) should start with a clean sheet of paper and design systems for tomorrow's requirements, not continue to push code lines and architectures designed for yesterday's needs.",
+ pdfKB = "444",
+ publicationtype = "Conference Paper",
+}
+
+@inproceedings{abadi-cidr,
+ author = {Daniel J. Abadi},
+ title = {Column Stores for Wide and Sparse Data},
+ booktitle = {CIDR},
+ year = {2007},
+ address = {Asilomar, CA, USA},
+ venue = "CIDR",
+ pdfURL = "http://web.mit.edu/dna/www/abadicidr07.pdf",
+ abstract = "While it is generally accepted that data warehouses and OLAP workloads are excellent applications for column-stores, this paper speculates that column-stores may well be suited for additional applications. In particular we observe that column-stores do not see a performance degradation when storing extremely wide tables, and column-stores handle sparse data very well. These two properties lead us to conjecture that column-stores may be good storage layers for Semantic Web data, XML data, and data with GEM-style schemas.",
+ pdfKB = "156",
+ publicationtype = "Conference Paper",
+}
+
+@inproceedings{cstore-mat,
+ author = {Daniel J. Abadi and Daniel S. Myers and David J. DeWitt and Samuel R. Madden},
+ title = {Materialization Strategies in a Column-Oriented {DBMS}},
+ booktitle = {ICDE},
+ year = {2007},
+ address = {Istanbul, Turkey},
+ pages = {466--475},
+ venue = "ICDE",
+ pdfURL = "http://web.mit.edu/dna/www/abadiicde2007.pdf",
+ abstract = "There has been renewed interest in column-oriented database architectures in recent years. For read-mostly query workloads such as those found in data warehouse and decision support applications, column-stores have been shown to perform particularly well relative to row-stores. In order for column-stores to be readily adopted as a replacement for row-stores, however, they must present the same interface to client applications as do row stores, which implies that they must output row-store-style tuples. Thus, the input columns stored on disk must be converted to rows at some point in the query plan, but the optimal point at which to do the conversion is not obvious. This problem can be considered as the opposite of the projection problem in row-store systems: while row-stores need to determine where in query plans to place projection operators to make tuples narrower, column-stores need to determine when to combine single-column projections into wider tuples. This paper describes a variety of strategies for tuple construction and intermediate result representations and provides a systematic evaluation of these strategies.",
+ pdfKB = "327",
+ publicationtype = "Conference Paper",
+}
+
+@inproceedings{cstore-perf,
+ author = {Stavros Harizopoulos and Velen Liang and Daniel J. Abadi and Samuel R. Madden},
+ title = {Performance Tradeoffs in Read-Optimized Databases},
+ booktitle = {VLDB},
+ year = {2006},
+ pages = {487--498},
+ address = {Seoul, Korea},
+ venue = "VLDB",
+ pdfURL = "http://web.mit.edu/dna/www/VLDB06.pdf",
+ abstract = "Database systems have traditionally optimized performance for write-intensive workloads. Recently, there has been renewed interest in architectures that optimize read performance by using column-oriented data representation and light-weight compression. This previous work has shown that under certain broad classes of workloads, column-based systems can outperform row-based systems. Previous work, however, has not characterized the precise conditions under which a particular query workload can be expected to perform better on a column-oriented database. In this paper we first identify the distinctive components of a read-optimized DBMS and describe our implementation of a high-performance query engine that can operate on both row and column-oriented data. We then use our prototype to perform an in-depth analysis of the tradeoffs between column and row-oriented architectures. We explore these tradeoffs in terms of disk bandwidth, CPU cache latency, and CPU cycles. We show that for most database workloads, a carefully designed column system can outperform a carefully designed row system, sometimes by an order of magnitude. We also present an analytical model to predict whether a given workload on a particular hardware configuration is likely to perform better on a row or column-based system.",
+ pdfKB = "354",
+ publicationtype = "Conference Paper",
+ }
+
+@inproceedings{cstore-comp,
+ author = {Daniel J. Abadi and Samuel R. Madden and Miguel Ferreira},
+ title = {Integrating Compression and Execution in Column-Oriented Database Systems},
+ booktitle = {SIGMOD},
+ year = {2006},
+ address = {Chicago, IL, USA},
+ pages = {671--682},
+ venue = "SIGMOD",
+ pdfURL = "http://web.mit.edu/dna/www/abadisigmod06.pdf",
+ abstract = "Column-oriented database system architectures invite a re-evaluation of how and when data in databases is compressed. Storing data in a column-oriented fashion greatly increases the similarity of adjacent records on disk and thus opportunities for compression. The ability to compress many adjacent tuples at once lowers the per-tuple cost of compression, both in terms of CPU and space overheads. In this paper, we discuss how we extended C-Store (a column-oriented DBMS) with a compression sub-system. We show how compression schemes not traditionally used in row-oriented DBMSs can be applied to column-oriented systems. We then evaluate a set of compression schemes and show that the best scheme depends not only on the properties of the data but also on the nature of the query workload.",
+ pdfKB = "265",
+ publicationtype = "Conference Paper",
+}
+
+@inproceedings{reed,
+ author = {Daniel J. Abadi and Samuel R. Madden and Wolfgang Lindner},
+ title = {REED: Robust, Efficient Filtering and Event Detection in Sensor Networks},
+ booktitle = {VLDB},
+ year = {2005},
+ address = {Trondheim, Norway},
+ pages = {769--780},
+ venue = "VLDB",
+ pdfURL = "http://web.mit.edu/dna/www/abadivldb05.pdf",
+ abstract = "This paper presents a set of algorithms for efficiently evaluating join queries over static data tables in sensor networks. We describe and evaluate three algorithms that take advantage of distributed join techniques. Our algorithms are capable of running in limited amounts of RAM, can distribute the storage burden over groups of nodes, and are tolerant to dropped packets and node failures. REED is thus suitable for a wide range of event-detection applications that traditional sensor network database and data collection systems cannot be used to implement.",
+ pdfKB = "292",
+ publicationtype = "Conference Paper",
+}
+
+@inproceedings{cstore,
+ author = {Michael Stonebraker and Daniel J. Abadi and Adam Batkin and Xuedong Chen and Mitch Cherniack and Miguel Ferreira and Edmond Lau and Amerson Lin and Samuel R. Madden and Elizabeth J. O'Neil and Patrick E. O'Neil and Alexander Rasin and Nga Tran and Stan B. Zdonik},
+ title = {{C-Store: A Column-Oriented DBMS}},
+ booktitle = {VLDB},
+ year = {2005},
+ address = {Trondheim, Norway},
+ pages = {553--564},
+ venue = "VLDB",
+ pdfURL = "http://web.mit.edu/dna/www/vldb.pdf",
+ abstract = "This paper presents the design of a read-optimized relational DBMS that contrasts sharply with most current systems, which are write-optimized. Among the many differences in its design are: storage of data by column rather than by row, careful coding and packing of objects into storage including main memory during query processing, storing an overlapping collection of column-oriented projections, rather than the current fare of tables and indexes, a non-traditional implementation of transactions which includes high availability and snapshot isolation for read-only transactions, and the extensive use of bitmap indexes to complement B-tree structures. We present preliminary performance data on a subset of TPC-H and show that the system we are building, C-Store, is substantially faster than popular commercial products. Hence, the architecture looks very encouraging.",
+ pdfKB = "170",
+ publicationtype = "Conference Paper",
+}
+
+@inproceedings{borealis,
+ author = {Daniel J. Abadi and Yanif Ahmad and Magdalena Balazinska and Ugur Cetintemel and Mitch Cherniack and Jeong-Hyon Hwang and Wolfgang Lindner and Anurag S. Maskey and Alexander Rasin and Esther Ryvkina and Nesime Tatbul and Ying Xing and Stan B. Zdonik},
+ title = {The Design of the Borealis Stream Processing Engine},
+ booktitle = {CIDR},
+ year = {2005},
+ address = {Asilomar, CA, USA},
+ venue = "CIDR",
+ pdfURL = "http://web.mit.edu/dna/www/cidr05.pdf",
+ abstract = "Borealis is a second-generation distributed stream processing engine that is being developed at Brandeis University, Brown University, and MIT. Borealis inherits core stream processing functionality from Aurora and distribution functionality from Medusa. Borealis modifies and extends both systems in non-trivial and critical ways to provide advanced capabilities that are commonly required by newly-emerging stream processing applications. In this paper, we outline the basic design and functionality of Borealis. Through sample real-world applications, we motivate the need for dynamically revising query results and modifying query specifications. We then describe how Borealis addresses these challenges through an innovative set of features, including revision records, time travel, and control lines. Finally, we present a highly flexible and scalable QoS-based optimization model that operates across server and sensor networks and a new fault-tolerance model with flexible consistency-availability trade-offs.",
+ pdfKB = "143",
+ publicationtype = "Conference Paper",
+}
+
+@misc{aurora,
+ author = {Daniel J. Abadi and Don Carney and Ugur Cetintemel and Mitch Cherniack and Christian Convey and Sangdon Lee and Michael Stonebraker and Nesime Tatbul and Stan B. Zdonik},
+ title = {Aurora: A New Model and Architecture for Data Stream Management},
+ howpublished = {VLDB Journal, 12(2)},
+ month = {September},
+ year = {2003},
+ pages = {120--139},
+ venue = {VLDB Journal},
+ pdfURL = "http://web.mit.edu/dna/www/vldb095.pdf",
+ abstract = "This paper describes the basic processing model and architecture of Aurora, a new system to manage data streams for monitoring applications. Monitoring applications differ substantially from conventional business data processing. The fact that a software system must process and react to continual inputs from many sources (e.g., sensors) rather than from human operators requires one to rethink the fundamental architecture of a DBMS for this application area. In this paper, we present Aurora, a new DBMS currently under construction at Brandeis University, Brown University, and M.I.T. We first provide an overview of the basic Aurora model and architecture and then describe in detail a stream-oriented set of operators.",
+ pdfKB = "984",
+ publicationtype = "Journal Article",
+}
+
+%% Technical Reports
+
+@techreport{barton-benchmark,
+ title = {Using The Barton Libraries Dataset As An RDF Benchmark},
+ number = {MIT-CSAIL-TR-2007-036},
+ institution = {MIT},
+ year = {2007},
+ author = {Daniel J. Abadi and Adam Marcus and Samuel R. Madden and Kate Hollenbach},
+ pdfURL = "http://web.mit.edu/dna/www/bench.pdf",
+ abstract = "This report describes the Barton Libraries RDF dataset and Longwell query benchmark that we use for our recent VLDB paper on Scalable Semantic Web Data Management Using Vertical Partitioning",
+ pdfKB = "357",
+ publicationtype = "Technical Report",
+}
+
+%% Demonstrations
+
+@misc{sensor-stream-integration,
+ author = {Daniel J. Abadi and Wolfgang Lindner and Samuel R. Madden and Jorg Schuler},
+ title = {An Integration Framework for Sensor Networks and Data Stream Management Systems},
+ howpublished = {Demonstration. VLDB},
+ year = {2004},
+ pages = {1361--1364},
+ address = {Toronto, Canada},
+ venue = "VLDB",
+ pdfURL = "http://web.mit.edu/dna/www/vldb04.pdf",
+ abstract = "This demonstration shows an integrated query processing environment where users can seamlessly query both a data stream management system and a sensor network with one query expression. By integrating the two query processing systems, the optimization goals of the sensor network (primarily power) and server network (primarily latency and quality) can be unified into one quality of service metric.",
+ pdfKB = "116",
+ publicationtype = "Demonstration",
+}
+
+@misc{aurora-demo,
+ author = {Daniel J. Abadi and Don Carney and Ugur Cetintemel and Mitch Cherniack and Christian Convey and Christina Erwin and Eddie Galvez and Matt Hatoun and Jeong-Hyon Hwang and Anurag S. Maskey and Alexander Rasin and A. Singer and Michael Stonebraker and Nesime Tatbul and Ying Xing and R. Yan and Stan B. Zdonik},
+ title = {Aurora: A Data Stream Management System},
+ howpublished = {Demonstration. SIGMOD},
+ year = {2003},
+ pages = {666-666},
+ address = {San Diego, CA, USA},
+ venue = "SIGMOD",
+ pdfURL = "http://web.mit.edu/dna/www/AuroraDemo.pdf",
+ abstract = "Streams are continuous data feeds generated by such sources as sensors, satellites, and stock feeds. Monitoring applications track data from numerous streams, filtering them for signs of abnormal activity, and processing them for purposes of filtering, aggregation, reduction, and correlation. Aurora is a general-purpose data stream manager that is being designed and implemented (at Brandeis University, Brown University, and M.I.T.) to efficiently support a variety of real-time monitoring applications.",
+ pdfKB = "151",
+ publicationtype = "Demonstration",
+}
+
+@misc{vcoko,
+ author = {Daniel J. Abadi and Mitch Cherniack},
+ title = {Visual COKO: A Debugger for Query Optimizer Development},
+ howpublished = {Demonstration. SIGMOD},
+ year = {2002},
+ address = {Madison, Wisconsin},
+ pages = {617--617},
+ venue = "SIGMOD",
+ pdfURL = "http://web.mit.edu/dna/www/vcoko.pdf",
+ abstract = "Query optimization generates plans to retrieve data requested by queries. Query rewriting, which is the first step of this process, rewrites a query expression into an equivalent form to prepare it for plan generation. COKO-KOLA introduced a new approach to query rewriting that enables query rewrites to be formally verified using an automated theorem prover. KOLA is a language for expressing term rewriting rules that can be 'fired' on query expressions. COKO is a language for expressing query rewriting transformations that are too complex to express with simple KOLA rules. COKO is a programming language designed for query optimizer development. Programming languages require debuggers, and in this demonstration, we illustrate our COKO debugger: Visual COKO. Visual COKO enables a query optimization developer to visually trace the execution of a COKO transformation. At every step of the transformation, the developer can view a tree-display that illustrates how the original query expression has evolved.",
+ pdfKB = "111",
+ publicationtype = "Demonstration",
+}
+
+%% Theses
+
+@misc{abadi-anaphora,
+ author = {Daniel J. Abadi},
+ title = {Comparing Domain-Specific and Non-Domain-Specific Anaphora Resolution Techniques},
+ howpublished = {Cambridge University MPhil Dissertation},
+ year = {2003},
+ pdfURL = "http://web.mit.edu/dna/www/FinalMPhil.pdf",
+ abstract = "Three different pronominal anaphora resolution techniques are examined. The first two techniques compare traditional salience-based approaches when different amounts of syntactic information are available. The improvement in pronoun resolution precision is quantified when a large scale grammar is used to extract detailed syntactic information rather than inferring this information robustly using pattern matching. The third technique uses domain knowledge instead of syntactic information to resolve pronouns. The domain knowledge required for this algorithm can be automatically acquired from a database backend schema representation of the domain. Each of these three techniques is evaluated separately, and then the domain-specific and non-domain-specific algorithms are combined and evaluated.",
+ pdfKB = "164",
+ publicationtype = "Thesis",
+}
+
+@misc{abadi-ugrad-thesis,
+ author = {Daniel J. Abadi},
+ title = {Visual COKO: A Debugger for Query Optimizer Development},
+ howpublished = {Brandeis University Senior Honors Thesis},
+ year = {2002},
+ pdfURL = "http://web.mit.edu/dna/www/VisualCOKOThesis.pdf",
+ abstract = "Query optimization generates plans to retrieve data requested by queries, and query rewriting (rewriting a query expression into an equivalent form to prepare it for plan generation) is typically the first step. COKO-KOLA introduced a new approach to query rewriting that enables query rewrites to be formally verified using an automated theorem prover. KOLA is a language for expressing rewriting rules that can be fired on query expressions. COKO is a language for expressing query rewriting transformations that are too complex to express with simple KOLA rules. COKO is a programming language designed for query optimizer development. Programming languages require debuggers, and this paper describes a COKO debugger: Visual COKO. Visual COKO enables a query optimization developer to visually trace the execution of a COKO transformation. At every step of the transformation, the developer can view a tree-display that illustrates how the original query expression has evolved. Rule-based query rewriting and the COKO-KOLA project are described for background. Then the COKO syntax is summarized from the point of view of the COKO programmer using an example query transformation that converts query predicates to conjunctive normal form. Visual COKO is described and instructions for its use are presented. Finally, a description of its implementation is given.",
+ pdfKB = "132",
+ publicationtype = "Thesis",
+}
+
+
+@inproceedings{james-reserve,
+ Year = {2001},
+ Title = {Habitat monitoring: Application driver for wireless communications technology},
+ Booktitle = {{ACM SIGCOMM} Workshop on Data Communications in Latin America and the Caribbean},
+ Author = {A. Cerpa and J. Elson and D.Estrin and L. Girod and M. Hamilton and and J. Zhao}}
+
+@misc{xmlql,
+ Year = {1998},
+ Title = {{XML-QL}: A Query Language for {XML}},
+ Author = {A. Deutsch and M. Fernandez and D. Floresc and , A. Levy and D. Suciu},
+ Note = {http://www.w3.org/TR/NOTE-xml-ql}}
+
+@inproceedings{doubly-pipelined,
+ Month = {December},
+ Year = {1991},
+ Title = {Dataflow Query Execution in a Parallel Main-Memory Environment},
+ Pages = {68-77},
+ Booktitle = {Proc. of the International Conference on Parallel and Distributed Information Systems ({PDIS}},
+ Author = {A.N. Wilschut and P.M.G Apers}}
+
+@inproceedings{storm-petrels,
+ Year = {2002},
+ Title = {Wireless Sensor Networks for Habitat Monitoring},
+ Booktitle = {{ACM Workshop on Sensor Networks and Applications}},
+ Author = {Alan Mainwaring and Joseph Polastre and Robert Szewczyk and David Culler}}
+
+@inproceedings{awoo-tos,
+ Month = {July},
+ Year = {2001},
+ Title = {A Transmission Control Scheme for Media Access in Sensor Networks},
+ Booktitle = {ACM Mobicom},
+ Author = {Alec Woo and David Culler}}
+
+@inproceedings{parallel-agg-wisc,
+ Year = {1995},
+ Title = {Adaptive Parallel Aggregation Algorithms},
+ Booktitle = {ACM SIGMOD},
+ Author = {Ambuj Shatdal and Jeffrey Naughton}}
+
+@manual{postgres-manual,
+ Organization = {UC Berkeley},
+ Year = {1995},
+ Title = {The POSTGRES95 User Manual},
+ Optnote = {http://www.uoi.gr/services/noc/documentation/postgress/pg95user.html},
+ Author = {Andrew Yu and Jolly Chen}}
+
+@inproceedings{p2prouting,
+ Month = {July},
+ Year = {2002},
+ Title = {Routing Indices For Peer-to-Peer Systems},
+ Booktitle = {ICDCS},
+ Author = {Arturo Crespo, Hector {Garcia-Molina}}}
+
+@inproceedings{gupta-aggs,
+ Year = {1995},
+ Title = {Aggregate Query Processing in Data Warehousing Environments},
+ Booktitle = {VLDB},
+ Author = {Ashish Gupta and Venky Harinarayan and Dallan Quass}}
+
+@inproceedings{loop-detectors,
+ Year = {1998},
+ Title = {Vehicle Reidentification and Travel Time Measurement Using the Existing Loop Detector Infrastructure},
+ Booktitle = {Transportation Research Board},
+ Author = {Ben Coifman}}
+
+@inproceedings{mit-span,
+ Month = {July},
+ Year = {2001},
+ Title = {Span: An Energy-Efficient Coordination Algorithm for Topology Maintenance in Ad-Hoc Wireless Networks},
+ Booktitle = {ACM MobiCom},
+ Author = {Benjie Chen and Kyle Jamieson and Hari Balakrishnan and Robert Morris}}
+
+@inproceedings{dquob,
+ Year = {2000},
+ Title = {{dQUOB}: Managing Large Data Flows Using Dynamic Embedded Queries},
+ Booktitle = {Proceedings of High Performance Distributed Computing},
+ Author = {Beth Plale and Karsten Schwan}}
+
+@inproceedings{timeseriessequence,
+ Month = {May},
+ Year = {1994},
+ Title = {Fast Subsequence Matching in Time-Series Databases},
+ Pages = {419-422},
+ Booktitle = {Proceedings of the ACM SIGMOD 1994},
+ Author = {C. Faloutsos and M. Ranganathan and Y. Manolopoulos}}
+
+@article{monmasidney,
+ Journal = {Mathematics of Operations Research},
+ Year = {1979},
+ Title = {Sequencing with SeriesParallel Precedence Constraints},
+ Author = {C. L. Monma and J.B. Sidney}}
+
+@article{cbe-hvac,
+ Year = {2002},
+ Title = {{Multi-Sensor Single Actuator Control of HVAC Systems}},
+ Booktitle = {Internation Conference for Enhanced Building Operations},
+ Author = {C. Lin and C. Federspiel and D. Auslander}}
+
+@inproceedings{streamjoin,
+ Year = {2000},
+ Title = {Streamjoin: a generic database approach to support the class of stream-oriented applications},
+ Pages = {83-91},
+ Booktitle = {Database Engineering and Applications Symposium},
+ Author = {C. Nippl and R. Rantzau and B. Mitschang}}
+
+@article{approx-caching,
+ Journal = {SIGMOD},
+ Year = {2002},
+ Title = {Best Effort Cache Sychronization with Source Cooperation},
+ Author = {C. Olston and J.Widom}}
+
+@inproceedings{lottery-scheduler,
+ Year = {1994},
+ Title = {Lottery Scheduling: Flexible Proportional-Share Resource Management},
+ Address = {Monterey CA (USA)},
+ Pages = {1--12},
+ Booktitle = {Proceedings of the Symposium on Operating Systems Design and Implementation},
+ Author = {Carl Waldspurger and William Weihl}}
+
+@book{traffic-engineering,
+ Year = {1994},
+ Title = {Traffic and Highway Engineering for Developments},
+ Address = {Oxford},
+ Publisher = {Blackwell Scientific Publications},
+ Author = {Carol Ashley}}
+
+@inproceedings{directed-diffusion,
+ Month = {August},
+ Year = {2000},
+ Title = {Directed Diffusion: A Scalable and Robust Communication Paradigm for Sensor Networks},
+ Address = {Boston, {MA}},
+ Booktitle = {{MobiCOM}},
+ Author = {Chalermek Intanagonwiwat and Ramesh Govindan and Deborah Estrin}}
+
+@unpublished{ucla-aggregation,
+ Year = {2001},
+ Title = {Impact of network density on data aggregation in wireless sensor networks},
+ Author = {Chalermek Intanagonwiwat and Deborah Estrin and Ramesh Govindan and John Heidemann},
+ Note = {ICDCS-22},
+ Month = {November}}
+
+@unpublished{UW-api,
+ Year = {2001},
+ Title = {{UW-API: A Network Routing Application Programmer's Interface}},
+ Author = {P. Ramanathan and K. Saluja and K-C. Wang and T. Clouqueur},
+ Note = {Draft version 1.0},
+ Month = {January}}
+
+@inproceedings{aodv,
+ Year = {1999},
+ Title = {Ad-hoc On-Demand Distance Vector Routing},
+ Booktitle = {{Workshop on Mobile Computing and Systems Applications}},
+ Author = {Charles E. Perkins and Elizabeth M. Royer}}
+
+@misc{xbow,
+ Title = {Wireless Sensor Networks (Mica Motes)},
+ Author = {Crossbow, Inc.},
+ Note = {http://www.xbow.com/Products/Wireless{\_}Sensor{\_}Networks.htm}}
+
+@inproceedings{uclasensors,
+ Month = {May},
+ Year = {2001},
+ Title = {Instrumenting the World with Wireless Sensor Networks},
+ Address = {Salt Lake City, Utah},
+ Booktitle = {International Conference on Acoustics, Speech, and Signal Processing ({ICASSP} 2001)},
+ Author = {D. Estrin and L. Girod and G. Pottie and M. Srivastava}}
+
+@techreport{dstottstreamsoverview,
+ Year = {1989},
+ Title = {Stream Databases},
+ Institution = {UCLA},
+ Author = {D. Stott Parker},
+ Note = {Final Report for NSF Grant IRI 89-17907}}
+
+@article{nj-data-report,
+ Journal = {Data Engineering Bulletin},
+ Year = {1997},
+ Title = {The {New Jersey} Data Reduction Report},
+ Number = {4},
+ Pages = {3-45},
+ Author = {Daniel Barbar\'a and William DuMouchel and Christos Faloutsos and Peter J. Haas and Joseph M. Hellerstein and Yannis E. Ioannidis and H.V. Jagadish and Theodore Johnson and Raymond T. Ng and Viswanath Poosala and Kenneth A. Ross and Kenneth C. Sevcik},
+ Volume = {20}}
+
+@inproceedings{dewitt-bandjoin,
+ Year = {1991},
+ Title = {An Evaluation of Non-Equijoin Algorithms},
+ Address = {Barcelona, Spain},
+ Booktitle = {Proceedings of the 17th Conference on Very Large Databases},
+ Author = {David DeWitt and Jeffrey Naughton and Donovan Schneider}}
+
+
+@article{active-networks,
+ Journal = {{IEEE Communications}},
+ Year = {1997},
+ Title = {A Survery of Active Network Research},
+ Author = {David L. Tennenhouse and Jonathan M. Smith and W. David Sincoskie and David J. Wetherall and Gary J. Minden}}
+
+@unpublished{deepak-paper,
+ Year = {2002},
+ Title = {Complex Behavior at Scale: An Experimental Study of Low-Power Wireless Sensor Networks},
+ Author = {Deepak Ganesan and Bhaskar Krishnamachari and Alec Woo and David Culler and Deborah Estrin and Stephen Wickera},
+ Note = {Under submission. Available at: http://lecs.cs.ucla.edu/~deepak/PAPERS/empirical.pdf},
+ Month = {July}}
+
+@misc{deepak-sim,
+ Month = {January},
+ Year = {2002},
+ Title = {Network Dynamics in Rene Motes},
+ Author = {Deepak Ganesan},
+ Howpublished = {PowerPoint Presentation}}
+
+@article{kossman-survey,
+ Journal = {ACM Computing Surveys},
+ Year = {2000},
+ Title = {The State of the Art in Distributed Query Processing},
+ Author = {Donald Kossman}}
+
+@techreport{triggerman,
+ Month = {December},
+ Year = {1997},
+ Title = {{TriggerMan: An Asynchronous Trigger Processor as an Extension to an Object-Relational DBMS}},
+ Number = {97-024},
+ Institution = {University of Florida},
+ Author = {Eric Hanson and Nabeel Al Fayoumi and Chris Carnes and Mohktar Kandil and Huisheng Liu and Ming Lu and J.B Park and Albert Vernon}}
+
+@article{ariel-96,
+ Journal = {IEEE Transactions on Knowledge and Data Engineering},
+ Year = {1996},
+ Title = {The Design and Implementation of the Ariel Active Database Rule System},
+ Month = {February},
+ Number = {1},
+ Pages = {157-172},
+ Author = {Eric N. Hanson},
+ Volume = {8}}
+
+@inproceedings{fad,
+ Year = {1987},
+ Title = {{FAD}, a Powerful and Simple Database Language},
+ Booktitle = {VLDB},
+ Author = {Fran\c{c}ois Bancilhon and Ted Briggs and Setrag Khoshafian and Patrick Valduriez}}
+
+@unpublished{sensorvis-classproj,
+ Year = {2000},
+ Title = {Traffic Sensor Data Visualzation},
+ Author = {Francis Li and Sam Madden and Megan Thomas},
+ Note = {Project Report. http://www.cs.berkeley.edu/~mct//infovis/project/traffic.html},
+ Month = {December}}
+
+@article{graefe-survey,
+ Journal = {ACM Computing Surveys},
+ Year = {1993},
+ Title = {Query Evaluation Techniques for Large Databases},
+ Number = {2},
+ Pages = {73-170},
+ Author = {Goetz Graefe},
+ Volume = {25}}
+
+@article{pottie-sensornets,
+ Journal = {Communications of the {ACM}},
+ Year = {2000},
+ Title = {Wireless Integrated Network Sensors},
+ Month = {May},
+ Number = {5},
+ Pages = {51 - 58},
+ Author = {Greg Pottie and William Kaiser},
+ Volume = {43}}
+
+@misc{xpath,
+ Year = {November 1999},
+ Title = {{XML} Path Language ({XPath}) Version 1.0},
+ Author = {J. Clark and S. DeRose},
+ Note = {http://www.w3.org/TR/xpath}}
+
+@misc{hellerstein99interactive,
+ Year = {1999},
+ Author = {J. Hellerstein and R. Avnur and A. Chou and C. Olston and V. Raman and T. Roth and C. Hidber and P. Haas},
+ Text = {Hellerstein, J., Avnur, R., Chou, A., Olston, C., Raman, V., Roth, T., Hidber, C., and Haas, P. Interactive data analysis with CONTROL. , 32(8), 1999.}}
+
+@inproceedings{smartdust,
+ Month = {August},
+ Year = {1999},
+ Title = {Mobile Networking for Smart Dust},
+ Address = {Seattle, {WA}},
+ Booktitle = {Proceedings of Fifth {ACM} Conf. on Mobile Computing and Networking ({MOBICOM}))},
+ Author = {J. M. Kahn and R. H. Katz and K. S. J. Pister}}
+
+@inproceedings{rmtp,
+ Year = {1996},
+ Title = {{RMTP: A Reliable Multicast Transport Protocol}},
+ Pages = {1414-1424},
+ Booktitle = {{INFOCOM}},
+ Author = {J.C. Lin and S. Paul}}
+
+@mastersthesis{jhill-mthesis,
+ Year = {2000},
+ Title = {A Software Architecture to Support Network Sensors},
+ School = {UC Berkeley},
+ Author = {Jason Hill}}
+
+@inproceedings{tos,
+ Month = {November},
+ Year = {2000},
+ Title = {System Architecture Directions for Networked Sensors},
+ Booktitle = {ASPLOS},
+ Author = {Jason Hill and Robert Szewczyk and Alec Woo and Seth Hollar and David Cullerand Kristofer Pister}}
+
+@inproceedings{niagara-partial-results,
+ Month = {May},
+ Year = {2000},
+ Title = {Architecting a Network Query Engine for Producing Partial Results},
+ Booktitle = {Workshop on the Web and Databases ({WebDB})},
+ Author = {Jayavel Shanmugasundaram and Kristin Tufte and David DeWitt and Jeffrey Naughton and David Maier}}
+
+@inproceedings{sensortimesync,
+ Month = {April},
+ Year = {2001},
+ Title = {Time Synchronization for Wireless Sensor Networks},
+ Booktitle = {Proceedings of the 2001 International Parallel and Distributed Processing Symposium ({IPDPS}), Workshop on Parallel and Distributed Computing Issues in Wireless and Mobile Computing},
+ Author = {Jeremy Elson and Deborah Estrin}}
+
+@inproceedings{osdi-timesync,
+ Year = {2002},
+ Title = {Fine-Grained Network Time Synchronization Using Reference Broadcasts},
+ Booktitle = {OSDI},
+ Author = {Jeremy Elson and Lewis Girod and Deborah Estrin}}
+
+@inproceedings{niagara-sigmod2000,
+ Year = {2000},
+ Title = {{NiagaraCQ}: A Scalable Continuous Query System for Internet Databases},
+ Booktitle = {Proceedings of the ACM SIGMOD},
+ Author = {Jianjun Chen and David DeWitt and Feng Tian and Yuan Wang}}
+
+@inproceedings{data-cube,
+ Month = {February},
+ Year = {1996},
+ Title = {Data Cube: A Relational Aggregation Operator Generalizing Group-By, Cross-Tab, and Sub-Total},
+ Booktitle = {ICDE},
+ Author = {Jim Gray and Adam Bosworth and Andrew Layman and Hamid Pirahesh}}
+
+@inproceedings{mit-spin,
+ Optaddress = {Seattle, {WA}},
+ Year = {1999},
+ Title = {Adaptive Protocols for Information Dissemination in Wireless Sensor Networks},
+ Booktitle = {{MobiCOM}},
+ Author = {Joanna Kulik and Wendi Rabiner and Hari Balakrishnan}}
+
+@inproceedings{gehrke-correlated-aggs,
+ Month = {May},
+ Year = {2001},
+ Title = {On Computing Correlated Aggregates Over Continual Data Streams},
+ Address = {Santa Barbara, {CA}},
+ Booktitle = {Proceedings of the {ACM SIGMOD} Conference on Management of Data},
+ Author = {Johannes Gehrke and Flip Korn and Divesh Srivastava}}
+
+@inproceedings{ucla-naming,
+ Month = {October},
+ Year = {2001},
+ Title = {Building efficient wireless sensor networks with low-level naming},
+ Booktitle = {SOSP},
+ Author = {John Heidemann and Fabio Silva and Chalermek Intanagonwiwat and Ramesh Govindan and Deborah Estrin and Deepak Ganesan}}
+
+@inproceedings{online-agg,
+ Month = {May},
+ Year = {1997},
+ Title = {Online Aggregation},
+ Address = {Tucson, {AZ}},
+ Pages = {171-182},
+ Booktitle = {Proceedings of the ACM SIGMOD},
+ Author = {Joseph M. Hellerstein and Peter J. Haas and Helen Wang}}
+
+@article{control,
+ Journal = {IEEE Computer},
+ Year = {1999},
+ Title = {Interactive data analysis with {CONTROL}},
+ Month = {August},
+ Number = {8},
+ Author = {Joseph M. Hellerstein and Ron Avnur and Andy Chou and Christian Hidber and Chris Olston and Vijayshankar Raman and Tali Roth and Peter J. Haas},
+ Volume = {32}}
+
+@unpublished{telegraph-icde,
+ Title = {The Design of Telegraph: An Adaptive Dataflow System for Streams of Networked Data},
+ Author = {Joseph M. Hellerstein and Michael J. Franklin and Sirish Chandrasekaran and Amol Deshpande and Nick Lanham and Sam Madden and Vijayshankar Raman and Fred Reiss and Mehul Shah},
+ Note = {Submitted for Publication}}
+
+@article{jmh-thesis,
+ Journal = {TODS},
+ Year = {1998},
+ Title = {Optimization Techniques for Queries with Expensive Methods},
+ Number = {2},
+ Pages = {113-157},
+ Bibsource = {DBLP, http://dblp.uni-trier.de},
+ Author = {Joseph M. Hellerstein},
+ Volume = {23}}
+
+@article{Telegraph,
+ Journal = {IEEE Data Engineering Bulletin},
+ Year = {2000},
+ Title = {Adaptive Query Processing: Technology In Evolution},
+ Number = {2},
+ Pages = {7-18},
+ Author = {Joseph M. Hellerstein and Michael J. Franklin and Sirish Chandrasekaran and Amol Deshpande and Kris Hildrum and Sam Madden and Vijayshankar Raman and Mehul Shah},
+ Volume = {23}}
+
+@article{approx-qp-wavelets,
+ Journal = {VLDB Journal},
+ Year = {2001},
+ Title = {Approximate query processing using wavelets},
+ Author = {K. Chakrabarti and M. Garofalakis and R. Rastogi and K. Shim},
+ Volume = {10}}
+
+@inproceedings{calvert-esp,
+ Year = {2002},
+ Title = {Lightweight Network Support for Scalable End-to-End Services},
+ Booktitle = {{ACM SIGCOMM}},
+ Author = {Kenneth Calvert and James Griffioen and Su Wen}}
+
+@inproceedings{nasa-microclimates,
+ Year = {2000},
+ Title = {Sensor Web for {\it In Situ} Exploration of Gaseous Biosignatures},
+ Booktitle = {IEEE Aerospace Conference},
+ Author = {Kevin A. Delin and Shannon P. Jackson}}
+
+@inproceedings{nested-online-agg,
+ Year = {1999},
+ Title = {Online Feedback for Nested Aggregate Queries with Multi-Threading},
+ Booktitle = {VLDB},
+ Author = {Kian-Lee Tan and Cheng Hian Goh and Beng Chin Ooi}}
+
+@article{opencq-1999,
+ Journal = {IEEE Knowledge and Data Engineering},
+ Year = {1999},
+ Title = {Continual queries for internet-scale event-driven information delivery},
+ Author = {L. Liu and C. Pu and W. Tang},
+ Note = {Special Issue on Web Technology}}
+
+@inproceedings{self-configurable,
+ Month = {August},
+ Year = {2000},
+ Title = {An Architecture for Building Self-Configurable Systems},
+ Address = {Boston},
+ Booktitle = {{MobiHOC}},
+ Author = {Lakshminarayanan Subramanian and Randy H.Katz}}
+
+@inproceedings{approx-qp,
+ Year = {2001},
+ Title = {Approximate Query Processing: Taming the Terabytes! (tutorial)},
+ Booktitle = {VLDB},
+ Author = {M. Garofalakis and P. Gibbons}}
+
+@article{Ingres,
+ Journal = {ACM Transactions on Database Systems},
+ Year = {1976},
+ Title = {The design and implementation of {INGRES}},
+ Month = {September},
+ Number = {3},
+ Pages = {189-222},
+ Author = {M. Stonebraker and E. Wong and P. Kreps},
+ Volume = {1}}
+
+@article{postgres-rules,
+ Journal = {Communications of the ACM},
+ Year = {1991},
+ Title = {{The POSTGRES Next-Generation Database Management System}},
+ Number = {10},
+ Pages = {78-92},
+ Author = {M. Stonebraker and G. Kemnitz},
+ Volume = {34}}
+
+@inproceedings{tribeca,
+ Month = {June},
+ Year = {1998},
+ Title = {Tribeca: A System for Managing Large Databases of Network Traffic},
+ Address = {New Orleans, {LA}},
+ Booktitle = {Proceedings of the {USENIX} Annual Technical Conference},
+ Author = {Mark Sullivan and Andrew Heybey}}
+
+@article{ubicomp,
+ Journal = {Communications of the {ACM}},
+ Year = {1993},
+ Title = {Some Computer Science Problems In Ubiquitous Computing},
+ Month = {July},
+ Author = {Mark Weiser}}
+
+@techreport{gribblethreads,
+ Month = {April},
+ Year = {2000},
+ Title = {A Design Framework for Highly Concurrent Systems},
+ Number = {UCB/CSD-00-1108},
+ Institution = {UC Berkeley},
+ Author = {Matt Welsh and Steven D. Gribble and Eric A. Brewer and David Culler},
+ Note = {http://www.cs.berkeley.edu/~mdw/papers/events.pdf}}
+
+@inproceedings{xfilter-vldb2000,
+ Month = {September},
+ Year = {2000},
+ Title = {Efficient Filtering of {XML} Documents for Selective Dissemination of Information},
+ Booktitle = {International Conference on Very Large Data Bases},
+ Author = {Mehmet Altinel and Michael Franklin}}
+
+@inproceedings{datacutter,
+ Month = {March},
+ Year = {2000},
+ Title = {{DataCutter}: Middleware for Filtering Very Large Scientific Datasets on Archival Storage Systems},
+ Booktitle = {Proceedings of the 2000 Mass Storage Systems Conference},
+ Publisher = {{IEEE} Computer Society Press},
+ Author = {Michael Beynon and Renato Ferreira and Tahsin Kurc and Alan Sussman and Joel Saltz}}
+
+@article{carey-topn,
+ Journal = {Data Engineering Bulletin},
+ Year = {1997},
+ Title = {Processing Top N and Bottom N Queries},
+ Number = {3},
+ Pages = {12-19},
+ Author = {Michael J. Carey and Donald Kossman},
+ Volume = {20}}
+
+@inproceedings{telemetry,
+ Month = {August},
+ Year = {2000},
+ Title = {The Cricket Location-Support System},
+ Booktitle = {{MOBICOM}},
+ Author = {Nissanka B. Priyantha and Anit Chakraborty and Hari Balakrishnan}}
+
+@inproceedings{locationpred,
+ Month = {June},
+ Year = {1999},
+ Title = {{DOMINO: Databases fOr MovINg Objects tracking}},
+ Address = {Philadelphia, {PA}},
+ Optpages = {547-549},
+ Optpublisher = {ACM Press},
+ Booktitle = {ACM SIGMOD},
+ Author = {Ouri Wolfson and A. Prasad Sistla and Bo Xu and Jutai Zhou and Sam Chamberlain}}
+
+@inproceedings{selinger-optimizer,
+ Year = {1979},
+ Title = {Access path selection in a relational database management system},
+ Address = {Boston, {MA}},
+ Pages = {23-34},
+ Booktitle = {Proceedings of the {ACM SIGMOD} Conference on Management of Data},
+ Author = {P. Selinger and M. Astrahan and D. Chamberlin and R. Lorie and T. Price}}
+
+@inproceedings{cougar-hk2001,
+ Month = {January},
+ Year = {2001},
+ Title = {Towards Sensor Database Systems},
+ Booktitle = {Conference on Mobile Data Management},
+ Author = {P.Bonnet and J.Gehrke and P.Seshadri}}
+
+@article{sensorsnextwave,
+ Journal = {Communications of The {ACM}},
+ Year = {1997},
+ Title = {Sensors: The Next Wave of Innovation},
+ Month = {February},
+ Number = {2},
+ Pages = {92 - 97},
+ Author = {Paul Saffo},
+ Volume = {40}}
+
+@inproceedings{larson-preagg,
+ Year = {2002},
+ Title = {Data Reduction by Partial Preaggregation},
+ Booktitle = {ICDE},
+ Author = {Per-{\r A}ke Larson}}
+
+@inproceedings{ripple-join,
+ Month = {June},
+ Year = {1999},
+ Title = {Ripple Joins for Online Aggregation},
+ Address = {Philadelphia, {PA}},
+ Pages = {287-298},
+ Booktitle = {Proceedings of the ACM SIGMOD},
+ Author = {Peter J. Haas and Joseph M. Hellerstein}}
+
+@unpublished{pal-mate,
+ Title = {Mat\'{e}: A Tiny Virtual Machine For Sensor Networks},
+ Author = {Philip Levis and David Culler},
+ Note = {Submitted for Publication},
+ Eyear = {2002}}
+
+@inproceedings{praveen-sequence,
+ Year = {1996},
+ Title = {The Design and Implementation of a Sequence Database Systems},
+ Booktitle = {{VLDB}},
+ Author = {Praveen Seshadri and Miron Livny and Raghu Ramakrishnan}}
+
+@inproceedings{energy-efficient-opt,
+ Month = {September},
+ Year = {1993},
+ Title = {Query Optimization in Mobile Environments},
+ Pages = {1-17},
+ Booktitle = {Workshop on Foundations of Models and Languages for Data and Objects},
+ Author = {R. Alonso and S. Ganguly}}
+
+@inproceedings{stream,
+ Year = {2003},
+ Title = {Query Processing, Approximation and Resource Management in a Data Stream Management System},
+ Booktitle = {CIDR},
+ Author = {R. Motwani and J. Window and A. Arasu and B. Babcock and S.Babu and M. Data and C. Olston and J. Rosenstein and R. Varma}}
+
+@inproceedings{dbms-nomadic,
+ Month = {June},
+ Year = {1993},
+ Title = {Database System Issues in Nomadic Computing},
+ Address = {Washington DC},
+ Booktitle = {ACM SIGMOD},
+ Author = {Rafael Alonso and Henry F. Korth}}
+
+@book{dbms-book,
+ Year = {2000},
+ Title = {Database Management Systems},
+ Edition = {2nd},
+ Publisher = {McGraw-Hill Higher Education},
+ Author = {Raghu Ramakrishnan and Johannes Gehrke}}
+
+@inproceedings{kbz-opt,
+ Year = {1986},
+ Title = {Optimization of Nonrecursive Queries},
+ Isbn = {0-934613-18-4},
+ Pages = {128-137},
+ Booktitle = {VLDB},
+ Author = {Ravi Krishnamurthy and Haran Boral and Carlo Zaniolo}}
+
+@inproceedings{mitsensors,
+ Month = {October},
+ Year = {2000},
+ Title = {An Architecture for a Power-Aware Distributed Microsensor Node},
+ Booktitle = {{IEEE} Workshop on Signal Processing Systems ({SiPS} '00)},
+ Author = {Rex Min and Manish Bhardwaj and Seong-Hwan Cho and Amit Sinha and Eugene Shih and Alice Wang and Anantha Chandrakasan}}
+
+@inproceedings{sadri-sequence-opt,
+ Month = {May},
+ Year = {2001},
+ Title = {Optimization of Sequence Queries in Database Systems},
+ Address = {Santa Barbara, CA},
+ Booktitle = {Proceedings of the ACM SIGMOD Symposium on Principles of Database Systems ({PODS})},
+ Author = {Reza Sadri and Carlo Zaniolo and Amir Zarkesh and Jafar Adibi}}
+
+@book{tsql-spec,
+ Year = {1995},
+ Title = {The TSQL2 Temporal Query Language},
+ Editor = {Richard T. Snodgrass},
+ Publisher = {Kluwer Academic Publisher},
+ Altauthor = {Ilsoo Ahn, Gad Ariav, Don Batory, James Clifford, Curtis E. Dyreson, Ramez Elmasri, Fabio Grandi, Christian S. Jensen, Wolfgang Kafer, Nick Kline, Krishna Kulkarni, T. Y. Cliff Leung, Nikos Lorentzos, John F. Roddick, Arie Segev, Michael D. Soo and Suryanarayana M. Sripada}}
+
+@inproceedings{eddy,
+ Month = {May},
+ Year = {2000},
+ Title = {Eddies: Continuously Adaptive Query Processing},
+ Address = {Dallas, {TX}},
+ Pages = {261-272},
+ Booktitle = {Proceedings of the ACM SIGMOD},
+ Author = {Ron Avnur and Joseph M. Hellerstein}}
+
+@inproceedings{composite-events,
+ Year = {1994},
+ Title = {Composite events for active databases: Semantics, contexts and detection.},
+ Booktitle = {VLDB},
+ Author = {S. Chakravarthy and V. Krishnaprasad and E. Anwar and S. K. Kim}}
+
+@article{srm,
+ Journal = {{IEEE Transactions on Networking}},
+ Year = {1997},
+ Title = {A Reliable Multicase Framework for Light-weight Sessions and Application Level Framing},
+ Number = {6},
+ Pages = {784-803},
+ Author = {S. Floyd and V. Jacobson and C. Liu and S. McCanne and L. Zhang},
+ Volume = {5}}
+
+@article{pimpmadden,
+ Journal = {Pimpin' Hard},
+ Year = {2000},
+ Title = {Return of Mack Daddy},
+ Author = {Sam Madden}}
+
+@inproceedings{sensors-icde,
+ Year = {2002},
+ Title = {Fjording the Stream: An Architechture for Queries over Streaming Sensor Data},
+ Booktitle = {ICDE},
+ Author = {Samuel Madden and Michael J. Franklin}}
+
+@unpublished{cacq-classproj,
+ Year = {2001},
+ Title = {Eddies for Continuous Queries},
+ Author = {Samuel Madden},
+ Note = {Project Report. http://www.cs.berkeley.edu/~madden/286report.pdf},
+ Month = {May}}
+
+@misc{nest-slides,
+ Month = {October},
+ Year = {2001},
+ Title = {Aggregation in Sensor Networks},
+ Author = {Samuel Madden and Rob Szewczyk},
+ Note = {PowerPoint Presentation. http://www.cs.berkeley.edu/~madden/aggslides.ppt}}
+
+@inproceedings{tag,
+ Year = {2002},
+ Title = {{TAG: A Tiny AGgregation Service for Ad-Hoc Sensor Networks}},
+ Booktitle = {OSDI},
+ Author = {Samuel Madden and Michael J. Franklin and Joseph M. Hellerstein and Wei Hong}}
+
+@misc{tinydb,
+ Title = {{TinyDB} Web Page},
+ Author = {Samuel Madden and Wei Hong and Joseph M. Hellerstein and Michael Franklin},
+ Note = {http://telegraph.cs.berkeley.edu/tinydb}}
+
+@misc{cougar,
+ Title = {{Cougar} Web Page},
+ Note = {\url{http://www.cs.cornell.edu/database/cougar/}}
+}
+
+@inproceedings{wmcsa,
+ Year = {2002},
+ Title = {Supporting Aggregate Queries Over Ad-Hoc Wireless Sensor Networks},
+ Booktitle = {WMCSA},
+ Author = {Samuel Madden and Robert Szewczyk and Michael Franklin and David Culler}}
+
+@inproceedings{czerwinski-mobicom99,
+ Organization = {ACM},
+ Year = {1999},
+ Title = {An Architecture for a Secure Service Discovery Service},
+ Address = {Seattle, {WA}},
+ Booktitle = {Proceedings of Fifth {ACM} Conf. on Mobile Computing and Networking ({MOBICOM})},
+ Author = {Steven Czerwinski and Ben Zhao and Todd Hodes and Anthony Joseph and Randy H. Katz}}
+
+@article{chaudhuri-preds,
+ Journal = {TODS},
+ Year = {1999},
+ Title = {Optimization of Queries with User-Defined Predicates},
+ Number = {2},
+ Pages = {177-228},
+ Bibsource = {DBLP, http://dblp.uni-trier.de},
+ Author = {Surajit Chaudhuri and Kyuseok Shim},
+ Volume = {24}}
+
+@inproceedings{motwani-median,
+ Month = {May},
+ Year = {2000},
+ Title = {Computing the Median with Uncertainty},
+ Address = {Portland, OR},
+ Booktitle = {ACM Symposium on the Theory of Computing},
+ Author = {T. Feder and R. Motwani and R. Panigraphy and C.Olston and J.Widom}}
+
+@inproceedings{querying-mobile,
+ Year = {1992},
+ Title = {Querying in highly mobile distributed environments},
+ Address = {Vancouver, Canada},
+ Booktitle = {VLDB},
+ Author = {T. Imielinski and B.R. Badrinath}}
+
+@article{xjoin,
+ Journal = {IEEE Data Engineering Bulletin},
+ Year = {2000},
+ Title = {{XJoin}: A Reactively-Scheduled Pipelined Join Operator},
+ Pages = {27-33},
+ Author = {T. Urhan and M. Franklin}}
+
+@inproceedings{QScramble,
+ Year = {1998},
+ Title = {Cost-Based Query Scrambling for Initial Delays},
+ Booktitle = {Proceedings of the ACM SIGMOD},
+ Author = {Tolga Urhan and Michael J. Franklin and Laurent Amsaleg}}
+
+@inproceedings{umd-preemptive,
+ Month = {July},
+ Year = {2001},
+ Title = {Preemptive Routing in Ad Hoc Networks},
+ Booktitle = {ACM MobiCom},
+ Author = {Tom Goff and Nael Abu-Ghazaleh and Dhananjay Phatak and Ridvan Kahvecioglu}}
+
+@article{ibakari-opt,
+ Journal = {TODS},
+ Year = {1984},
+ Title = {On the Optimal Nesting Order for Computing N-Relational Joins},
+ Number = {3},
+ Pages = {482-502},
+ Bibsource = {DBLP, http://dblp.uni-trier.de},
+ Author = {Toshihide Ibaraki and Tiko Kameda},
+ Volume = {9}}
+
+@article{juggle,
+ Journal = {The VLDB Journal},
+ Year = {2002},
+ Title = {Online Dynamic Reordering},
+ Number = {3},
+ Author = {V. Raman and B. Raman and J. M. Hellerstein},
+ Volume = {9}}
+
+@inproceedings{adaptive-adhoc,
+ Year = {1997},
+ Title = {A Highly Adaptive Distributed Routing Algorithm for Mobile Wireless Networks},
+ Booktitle = {{INFOCOM}},
+ Author = {Vincent D. Park and M. Scott Corson}}
+
+@inproceedings{ucla-mac,
+ Year = {2002},
+ Title = {An Energy-Efficient {MAC} Protocol for Wireless Sensor Networks},
+ Booktitle = {{IEEE Infocom}},
+ Author = {Wei Ye and John Heidemann and Deborah Estrin}}
+
+@inproceedings{larson-eager-agg,
+ Year = {1995},
+ Title = {Eager Aggregation and Lazy Aggregation},
+ Booktitle = {VLDB},
+ Author = {Weipeng P. Yan and Per {\r A}ke Larson}}
+
+@inproceedings{mit-ins,
+ Month = {December},
+ Year = {1999},
+ Title = {The Design and Implementation of an Intentional Naming System},
+ Booktitle = {ACM SOSP},
+ Author = {William Adjue-Winoto and Elliot Schwartz and Hari Balakrishnan and Jeremy Lilley}}
+
+@inproceedings{cougar-sigmodrecord,
+ Month = {September},
+ Year = {2002},
+ Title = {The Cougar Approach to In-Network Query Processing in Sensor Networks},
+ Booktitle = {SIGMOD Record},
+ Author = {Y. Yao and J. Gehrke}}
+
+@inproceedings{tukwila,
+ Year = {1999},
+ Title = {An Adaptive Query Execution System for Data Integration},
+ Booktitle = {Proceedings of the ACM SIGMOD},
+ Author = {Zachary G. Ives and Daniela Florescu and Marc Friedman and Alon Levy and Daniel S. Weld}}
+
+@inproceedings{cornell-compression,
+ Year = {2001},
+ Title = {Query Optimization In Compressed Database Systems},
+ Booktitle = {ACM SIGMOD},
+ Author = {Zhiyuan Chen and Johannes Gehrke and Flip Korn}}
+
+@misc{atmel-datasheet,
+ Title = {{Atmel ATMega 128 Microcontroller Datasheet}},
+ Author = {{Atmel Corporation}},
+ Howpublished = {http://www.atmel.com/atmel/acrobat/doc2467.pdf}}
+
+@misc{CHP,
+ Title = {Traffic Incident Information Page},
+ Author = {{California Highway Patrol}},
+ Note = {http://cad.chp.ca.gov/}}
+
+@unpublished{cbe-page,
+ Title = {Wireless Measurement and Control of the Indoor Environment in Buildings},
+ Author = {{Center for The Built Environment}},
+ Note = {Web Page. http://www.cbe.berkeley.edu/RESEARCH/briefs-Wireless.htm}}
+
+@misc{earvision,
+ Title = {Battery Power Chart},
+ Author = {{Creative Hearing Solutions, Inc.}},
+ Howpublished = {http://www.earvision.com/batterychart.shtml}}
+
+@misc{radio-datasheet,
+ Title = {{RFM TR1000 Datasheet}},
+ Author = {{RFM Corporation}},
+ Note = {http://www.rfm.com/products/data/tr1000.pdf}}
+
+@misc{glaser-earthquakes,
+ Month = {November},
+ Year = {2001},
+ Title = {Smart Buildings Admit Their Faults},
+ Howpublished = {Web Page},
+ Author = {{UC Berkeley}},
+ Note = {{Lab Notes: Research from the College of Engineering, UC Berkeley}. http://coe.berkeley.edu/labnotes/1101.smartbuildings.html}}
+
+@manual{mag-datasheet,
+ Organization = {Honeywell, Inc.},
+ Title = {{Magnetic Sensor Specs HMC1002}},
+ Note = {http://www.ssec.honeywell.com/magnetic/spec{\_}sheets/specs{\_}1002.html}}
+
+@book{systolic-processing,
+ Year = {1992},
+ Title = {Introduction to Parallel Algortihms and Architectures},
+ Publisher = {Morgan Kaufmann Publishers},
+ Altauthor = {F. Thomas Leighton}}
+
+@manual{accel-datasheet,
+ Organization = {Analog Devices, Inc.},
+ Title = {ADXL202E: Low-Cost 2 g Dual-Axis Accelerometer},
+ Note = {http://products.analog.com/products/info.asp?product=ADXL202}}
+
+@manual{figaro-ds,
+ Organization = {Figaro, Inc.},
+ Title = {TGS-825 - Special Sensor For Hydrogen Sulfide},
+ Note = {http://www.figarosensor.com}}
+
+@manual{sql92,
+ Organization = {ANSI},
+ Year = {1992},
+ Title = {SQL Standard},
+ Note = {X3.135-1992}}
+
+@inproceedings{MatiasVW98,
+ Year = {1998},
+ Title = {Wavelet-Based Histograms for Selectivity Estimation},
+ Address = {Seattle, Washington},
+ Pages = {448-459},
+ Booktitle = {SIGMOD},
+ Author = {Yossi Matias and Jeffrey Scott Vitter and Min Wang}}
+
+@inproceedings{MatiasVW00,
+ Year = {2000},
+ Title = {Dynamic Maintenance of Wavelet-Based Histograms},
+ Address = {Cairo, Egypt},
+ Pages = {101-110},
+ Booktitle = {VLDB},
+ Publisher = {Morgan Kaufmann},
+ Author = {Yossi Matias and Jeffrey Scott Vitter and Min Wang}}
+
+@inproceedings{faginpods01,
+ Year = {2001},
+ Title = {Optimal Aggregation Algorithms for Middleware},
+ Address = {Santa Barbara, CA},
+ Booktitle = {PODS},
+ Author = {Ronald Fagin and Amnon Lotem and Moni Naor}}
+
+@inproceedings{kh01,
+ Year = {2001},
+ Title = {Wavelets and their Applications in Databases},
+ Address = {Heidelberg, Germany},
+ Booktitle = {ICDE},
+ Author = {Daniel Keim and Martin Heczko}}
+
+@article{daubechies98,
+ Year = {1998},
+ Title = {Wavelet transforms that map integers to integers},
+ Number = {3},
+ Pages = {332--369},
+ Author = {R. Calderbank and I. Daubechies and W. Sweldens and B.-L. Yeo},
+ Volume = {5}}
+
+@article{lifting,
+ Journal = {SIAM J. Math. Anal.},
+ Year = {1997},
+ Title = {The lifting scheme: {A} construction of second generation wavelets},
+ Number = {2},
+ Pages = {511-546},
+ Author = {W. Sweldens},
+ Volume = {29}}
+
+@inproceedings{waveletguarantees,
+ Year = {2002},
+ Title = {Wavelet Synopses with Error Guarantees},
+ Address = {Madison, WI},
+ Pages = {476-487},
+ Booktitle = {Proc. ACM SIGMOD 2002},
+ Author = {Minos Garofalakis and Phillip B. Gibbons}}
+
+@techreport{leonov,
+ Year = {1997},
+ Title = {An efficient algorithm for a closed set of Boolean operations on polygonal regions in the plane},
+ Institution = {A.P. Ershov Institute of Informatics Systems},
+ Author = {Michael V. Leonov and Alexey G. Nitikin},
+ Note = {Preprint 46 (In Russian.) English translation available at http://home.attbi.com/~msleonov/pbpaper.html.}}
+
+@techreport{leonov-long,
+ Year = {1997},
+ Title = {An efficient algorithm for a closed set of Boolean operations on polygonal regions in the plane},
+ Institution = {A.P. Ershov Institute of Informatics Systems},
+ Author = {Michael V. Leonov and Alexey G. Nitikin},
+ Note = {Preprint 46 (In Russian.)}}
+
+@unpublished{polygon-libraries,
+ Title = {Comparison of the algorithms for polygon Boolean operations},
+ Author = {Michael Leonov},
+ Note = {Web Page: http://home.attbi.com/~msleonov/pbcomp.html}}
+
+@techreport{zhao-aggregation,
+ Month = {September},
+ Year = {2003},
+ Title = {Computing Aggregates for Monitoring Wireless Sensor Networks},
+ Number = {02-773},
+ Institution = {USC},
+ Author = {Jerry Zhao and Ramesh Govindan and Deborah Estrin}}
+
+@misc{estrin-slides,
+ Title = {Embedded Networked Sensing for Enviromental Monitoring},
+ Author = {Deborah Estrin},
+ Note = {Keynote, circuits and systems workshop. Slides available at http://lecs.cs.ucla.edu/~estrin/talks/CAS-JPL-Sept02.ppt}}
+
+@article{malik-segmentation,
+ Journal = {International Journal of Computer Vision},
+ Year = {2001},
+ Title = {Contour and Texture Analysis for Image Segmentation},
+ Number = {1},
+ Pages = {7-27},
+ Author = {Jitendra Malik and Srege Belognie and Thomas Leung and Jianbo Shi},
+ Volume = {43}}
+
+@inproceedings{acqp,
+ Year = {2003},
+ Title = {The Design of an Acquisitional Query Processor For Sensor Networks},
+ Booktitle = {ACM SIGMOD},
+ Author = {Samuel Madden and Michael J. Franklin and Joseph M. Hellerstein and Wei Hong},
+}
+
+@inproceedings{DeepakHotNets,
+ Year = {2002},
+ Title = {DIMENSIONS: Why do we need a new Data Handling architecture for Sensor Networks?},
+ Address = {Princeton, New Jersey},
+ Booktitle = {Proceedings of the First Workshop on Hot Topics In Networks ({HotNets-I})},
+ Author = {Deepak Ganesan and Deborah Estrin and John Heidemann}}
+
+@inproceedings{BWRC-pico,
+ Year = {2002},
+ Title = {PicoRadios for Wireless Sensor Networks: The Next Challenge in Ultra-Low-Power Design},
+ Address = {San Francisco, CA},
+ Booktitle = {Proceedings of the International Solid-State Circuits Conference},
+ Author = {{J. Rabaey, et al}}}
+
+@article{UW-tracking,
+ Journal = {IEEE Signal Processing Magazine},
+ Year = {2002},
+ Title = {Detection, Classification and Tracking of Targets in Distributed Sensor Networks},
+ Month = {Mar},
+ Number = {2},
+ Author = {Dan Li, Kerry Wong, Yu Hen ...
[truncated message content] |
|
From: <yan...@us...> - 2008-01-20 09:09:19
|
Revision: 266
http://assorted.svn.sourceforge.net/assorted/?rev=266&view=rev
Author: yangzhang
Date: 2008-01-20 01:09:21 -0800 (Sun, 20 Jan 2008)
Log Message:
-----------
added pdos to redir
Modified Paths:
--------------
personal-site/trunk/Makefile
Modified: personal-site/trunk/Makefile
===================================================================
--- personal-site/trunk/Makefile 2008-01-20 08:26:37 UTC (rev 265)
+++ personal-site/trunk/Makefile 2008-01-20 09:09:21 UTC (rev 266)
@@ -37,8 +37,9 @@
scp -o CompressionLevel=9 -r out/* lin:www/
publish-redir: $(REDIR)
- scp -o CompressionLevel=9 $(REDIR) cs:public_html/
- scp -o CompressionLevel=9 $(REDIR) ocf:public_html/
+ scp $(REDIR) cs:public_html/
+ scp $(REDIR) ocf:public_html/
+ scp $(REDIR) pdos:public_html/
clean:
rm -rf out
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yan...@us...> - 2008-01-20 08:26:33
|
Revision: 265
http://assorted.svn.sourceforge.net/assorted/?rev=265&view=rev
Author: yangzhang
Date: 2008-01-20 00:26:37 -0800 (Sun, 20 Jan 2008)
Log Message:
-----------
added redirect page
Modified Paths:
--------------
personal-site/trunk/Makefile
Added Paths:
-----------
personal-site/trunk/src/redir.txt
Modified: personal-site/trunk/Makefile
===================================================================
--- personal-site/trunk/Makefile 2008-01-20 08:06:49 UTC (rev 264)
+++ personal-site/trunk/Makefile 2008-01-20 08:26:37 UTC (rev 265)
@@ -2,13 +2,21 @@
PLAIN := out/plain.html
DARK := out/dark.html
INDEX := out/index.html
+REDIR := out-redir/index.html
-all: $(INDEX) $(PLAIN) $(DARK) out/dark.css
+all: $(INDEX) $(PLAIN) $(DARK) $(REDIR) out/dark.css
svn export --force static out
out:
mkdir -p out
+out-redir:
+ mkdir -p out-redir
+
+$(REDIR): src/redir.txt out-redir
+ pandoc -s -S --tab-stop=2 -c http://www.mit.edu/~y_z/plain.css \
+ src/redir.txt -o $(REDIR)
+
out/dark.css: src/dark.css
cpp -P -CC -traditional-cpp $^ $@
@@ -28,5 +36,11 @@
publish: all
scp -o CompressionLevel=9 -r out/* lin:www/
+publish-redir: $(REDIR)
+ scp -o CompressionLevel=9 $(REDIR) cs:public_html/
+ scp -o CompressionLevel=9 $(REDIR) ocf:public_html/
+
clean:
rm -rf out
+
+.PHONY: clean
Added: personal-site/trunk/src/redir.txt
===================================================================
--- personal-site/trunk/src/redir.txt (rev 0)
+++ personal-site/trunk/src/redir.txt 2008-01-20 08:26:37 UTC (rev 265)
@@ -0,0 +1,5 @@
+% Yang Zhang
+% Yang Zhang
+
+My homepage is currently at
+<a href="http://www.mit.edu/~y_z/">http://www.mit.edu/~y_z/</a>.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yan...@us...> - 2008-01-20 08:06:47
|
Revision: 264
http://assorted.svn.sourceforge.net/assorted/?rev=264&view=rev
Author: yangzhang
Date: 2008-01-20 00:06:49 -0800 (Sun, 20 Jan 2008)
Log Message:
-----------
adjusted image
Modified Paths:
--------------
personal-site/trunk/src/index.txt
Modified: personal-site/trunk/src/index.txt
===================================================================
--- personal-site/trunk/src/index.txt 2008-01-20 06:41:51 UTC (rev 263)
+++ personal-site/trunk/src/index.txt 2008-01-20 08:06:49 UTC (rev 264)
@@ -1,9 +1,11 @@
% Yang Zhang
% Yang Zhang
-
+<img src="me.jpg" alt="Tim the Beaver and me" style="border: 20px solid; border-color: white; float: right;"/>
+<!--  -->
<a name="about"></a>
+
About me
--------
@@ -17,6 +19,7 @@
[UC Berkeley]: http://berkeley.edu/
<a name="contact"></a>
+
Contact information
-------------------
@@ -47,6 +50,7 @@
</div>
<a name="projects"></a>
+
Publicly released projects
--------------------------
@@ -83,6 +87,7 @@
- [Assorted Projects](http://assorted.sf.net/): my code dump
<a name="classes"></a>
+
MIT classes
-----------
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yan...@us...> - 2008-01-20 06:41:46
|
Revision: 263
http://assorted.svn.sourceforge.net/assorted/?rev=263&view=rev
Author: yangzhang
Date: 2008-01-19 22:41:51 -0800 (Sat, 19 Jan 2008)
Log Message:
-----------
added stuff to sandbox
Added Paths:
-----------
sandbox/trunk/src/bash/zombie-processes/
sandbox/trunk/src/bash/zombie-processes/README
sandbox/trunk/src/bash/zombie-processes/child
sandbox/trunk/src/bash/zombie-processes/parent
sandbox/trunk/src/hs/PiCalc.hs
sandbox/trunk/src/hs/compilation/
sandbox/trunk/src/hs/compilation/HelloWorld.hs
sandbox/trunk/src/hs/compilation/Makefile
sandbox/trunk/src/tex/code-figure.tex
Added: sandbox/trunk/src/bash/zombie-processes/README
===================================================================
--- sandbox/trunk/src/bash/zombie-processes/README (rev 0)
+++ sandbox/trunk/src/bash/zombie-processes/README 2008-01-20 06:41:51 UTC (rev 263)
@@ -0,0 +1,5 @@
+Run `parent &` which forks `child` then becomes `sleep`. Keep an eye on `ps f`.
+
+`child` exits first, but since the `sleep` in `parent` does not query for its
+status (via `wait` or `waitpid`), `child` is left hanging as a `zombie` (until
+`parent` exits)
Added: sandbox/trunk/src/bash/zombie-processes/child
===================================================================
--- sandbox/trunk/src/bash/zombie-processes/child (rev 0)
+++ sandbox/trunk/src/bash/zombie-processes/child 2008-01-20 06:41:51 UTC (rev 263)
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+exec sleep 5
Property changes on: sandbox/trunk/src/bash/zombie-processes/child
___________________________________________________________________
Name: svn:executable
+ *
Added: sandbox/trunk/src/bash/zombie-processes/parent
===================================================================
--- sandbox/trunk/src/bash/zombie-processes/parent (rev 0)
+++ sandbox/trunk/src/bash/zombie-processes/parent 2008-01-20 06:41:51 UTC (rev 263)
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+./child &
+exec sleep 10
Property changes on: sandbox/trunk/src/bash/zombie-processes/parent
___________________________________________________________________
Name: svn:executable
+ *
Added: sandbox/trunk/src/hs/PiCalc.hs
===================================================================
--- sandbox/trunk/src/hs/PiCalc.hs (rev 0)
+++ sandbox/trunk/src/hs/PiCalc.hs 2008-01-20 06:41:51 UTC (rev 263)
@@ -0,0 +1,224 @@
+{-# OPTIONS -fglasgow-exts #-}
+module Main (main) where
+
+{-
+I didn't write this. Someone on #haskell dug up an old pi calc impl of
+theirs.
+-}
+
+import Control.Concurrent hiding (forkIO)
+import Control.Concurrent.MVar
+import Control.Concurrent.Chan
+import Control.Exception
+import Prelude hiding (putStrLn,(||),catch)
+import qualified Control.Concurrent (forkIO)
+import qualified Prelude (putStrLn)
+import System.IO.Unsafe (unsafePerformIO)
+import Data.Dynamic
+import Control.Monad (liftM)
+
+main = return ()
+
+globalLock :: MVar ()
+globalLock = unsafePerformIO $ newMVar ()
+
+putStrLn :: String -> IO ()
+putStrLn s = do
+ takeMVar globalLock
+ threadDelay 100
+ Prelude.putStrLn s
+ putMVar globalLock ()
+
+children :: MVar [MVar ()]
+children = unsafePerformIO (newMVar [])
+
+forkIO io = do
+ mvar <- newEmptyMVar
+ tID <- Control.Concurrent.forkIO (io `finally` putMVar mvar ())
+ childs <- takeMVar children
+ putMVar children (mvar:childs)
+ return tID
+
+waitForChildren = do
+ (mvar:mvars) <- takeMVar children
+ putMVar children mvars
+ takeMVar mvar
+ waitForChildren
+
+type Channel = Chan Dynamic
+
+{-# NOINLINE chanTyCon #-}
+chanTyCon = mkTyCon "Chan"
+
+{-# NOINLINE rationalTyCon #-}
+rationalTyCon = mkTyCon "Rational"
+
+instance Typeable Channel where
+ typeOf _ = mkAppTy chanTyCon [typeOf (undefined :: Dynamic)]
+
+instance Typeable Rational where
+ typeOf _ = mkAppTy rationalTyCon []
+
+instance Eq Dynamic where
+ a == b | Just (a :: Integer) <- fromDynamic a, Just b <- fromDynamic b = a == b
+ | Just (a :: Rational) <- fromDynamic a, Just b <- fromDynamic b = a == b
+ | otherwise = False
+
+instance Num Dynamic where
+ a + b = toDyn $ fromD a + (fromD b :: Integer)
+ a - b = toDyn $ fromD a - (fromD b :: Integer)
+ a * b = toDyn $ fromD a * (fromD b :: Integer)
+ negate a = toDyn $ negate (fromD a :: Integer)
+ signum a = toDyn $ signum (fromD a :: Integer)
+ abs a = toDyn $ abs (fromD a :: Integer)
+ fromInteger = toDyn
+
+instance Fractional Dynamic where
+ a / b = toDyn $ fromD a / (fromD b :: Rational)
+ recip a = toDyn $ recip (fromD a :: Rational)
+ fromRational = toDyn
+
+q :: Typeable a => a -> Dynamic
+q = toDyn
+
+
+p :: Typeable a => Dynamic -> a
+p = fromD
+
+(&) :: Typeable a => a -> [Dynamic] -> [Dynamic]
+infixr 9 &
+x & xs = toDyn x : xs
+
+fromD :: Typeable a => Dynamic -> a
+fromD d = case fromDynamic d of
+ Just a -> a
+ Nothing -> error ("type error: "++show d)
+
+newPrim :: ([Dynamic] -> IO a) -> IO Dynamic
+newPrim prim = do
+ chan <- newChan
+ forkIO (getChanContents chan >>= mapM_ (prim . fromD))
+ return (toDyn chan)
+
+newBinPrim :: (Typeable a, Typeable b, Typeable c) =>
+ (a -> b -> c) -> IO Dynamic
+newBinPrim (op :: a -> b -> c) = do
+ chan <- newChan
+ forkIO (getChanContents chan >>= mapM_ (prim . fromD))
+ return (toDyn chan)
+ where prim [a, b, out] = do
+ let x = (fromD a :: a) `op` (fromD b :: b) :: c
+ out![toDyn x]
+
+startOpsServices = do
+ add <- newBinPrim ((+) :: Integer -> Integer -> Integer)
+ sub <- newBinPrim ((-) :: Integer -> Integer -> Integer)
+ mul <- newBinPrim ((*) :: Integer -> Integer -> Integer)
+ div <- newBinPrim (div :: Integer -> Integer -> Integer)
+ return (add,sub,mul,div)
+
+startPrintService :: IO Dynamic -- print
+startPrintService = newPrim (\[s] -> putStrLn (fromD s))
+
+startPrintIntegerService :: Dynamic -> IO Dynamic -- printInteger
+startPrintIntegerService print
+ = liftM head $ new $ \printInteger -> printInteger?* \[i] -> print![q (show (p i :: Integer))]
+
+startEitherServices :: IO [Dynamic] -- [either,left,right]
+startEitherServices = new $ \either left right ->
+ (either?* \[l,r,lr] -> lr![l,r]) ||
+ (left?* \[v,out] -> new $ \l' -> (l'?* \[l,r] -> l![v]) || out![l']) ||
+ (right?* \[v,out] -> new $ \r' -> (r'?* \[l,r] -> r![v]) || out![r'])
+
+startRefServices :: IO [Dynamic] -- [newRef,emptyRef]
+startRefServices = new $ \newRef emptyRef ->
+ (newRef?* \[v,out] -> new $ \r ack ->
+ (r? \m@[get,put] -> put![v,ack] || ack? \[] -> out!m) ||
+ emptyRef![r]) ||
+ (emptyRef?* \[out] -> new $ \get put cell ->
+ (get?* \[out] -> cell? \[v] -> cell![v] || out![v]) ||
+ (put? \[v,ack] -> cell![v] || ack![] ||
+ (put?* \[v,ack] -> cell? \_ -> cell![v] || ack![])) ||
+ out![get,put])
+
+captureChannels :: (Dynamic -> IO a) -> IO [Dynamic]
+captureChannels p = do
+ chan <- newChan
+ forkIO (p (toDyn chan) >> return ())
+ cs <- readChan chan
+ return (fromD cs)
+
+-- P | Q
+-- use like p || q
+infixr 0 ||
+(||) :: IO a -> IO b -> IO ()
+p || q = forkIO (q >> return()) >> p >> return ()
+-- p || q = forkIO (p >> return()) >> forkIO (q >> return()) >> return ()
+
+-- new chan
+-- use like new $ \chan -> ...
+-- new :: (Channel -> IO a) -> IO Channel
+-- new p = do chan <- newChan; p chan; return chan
+
+--------------------------------------------------------------------------------
+{-
+
+ --Tips--
+
+ Functional Processes
+
+ let (x,y) = F(a,b) in P ==>
+ new $ \r -> (f![a,b,q r]) || (r? \[x,y] -> P)
+ e.g.
+ let x = add (a,b) in p![x]
+ new $ \r -> (add![a,b,r]) || (r? \[x] -> p![x])
+ or simplifying (tail-calling of sorts)
+ add![a,b,p]
+
+ Encoding Recursion
+
+ def X(a) = P;Y(b) = Q in W ==>
+ new $ \x y -> (x?* \[a] -> P) || (y?* \[b] -> Q) || W
+ e.g.
+ def inc(x) = printInteger![x] >> inc(x+1) in inc(0)
+ new $ \inc -> (inc?* \[x] -> printInteger![x] >> add![1,x,q inc]) ||
+ (inc![0])
+
+ "Higher-Order Processes"
+
+ x![P] || x? \[P] -> Q
+ (new $ \w -> (x![w]) || (w? \x -> P)) || (x? \[w] -> Q)
+ e.g.
+ x![new $ \y -> y? \x -> print!x] || (x? \[z] -> p z![q "foo"])
+ (new $ \y -> x![y] || y? \x -> print!x) || (x? \[z] -> p z[q "foo"]
+-}
+
+class NewChannel a where
+ new :: a -> IO [Dynamic]
+
+instance NewChannel (IO a) where
+ new p = forkIO (p >> return ()) >> return []
+
+instance (NewChannel a) => NewChannel (Dynamic -> a) where
+ new p = do chan <- newChan; chans <- new (p (toDyn (chan :: Channel))); return (toDyn chan:chans)
+
+-- f![arg1 arg2]
+-- use like f![q arg1, q arg2]
+infix 8 !
+(!) :: Dynamic -> [Dynamic] -> IO ()
+chan ! x = writeChan (fromD chan) (toDyn x)
+
+-- f?x = e
+-- use like chan? \x -> e
+infix 8 ?
+(?) :: Dynamic -> ([Dynamic] -> IO a) -> IO ()
+chan ? p = do v <- readChan (fromD chan); p (fromD v); return ()
+
+-- f?*x = e
+-- use like chan?* \x -> e
+infix 8 ?*
+(?*) :: Dynamic -> ([Dynamic] -> IO a) -> IO ()
+chan ?* p = getChanContents (fromD chan) >>= mapM_ (\x -> forkIO (p (fromD x) >> return()))
+
+--------------------------------------------------------------------------------
+
Added: sandbox/trunk/src/hs/compilation/HelloWorld.hs
===================================================================
--- sandbox/trunk/src/hs/compilation/HelloWorld.hs (rev 0)
+++ sandbox/trunk/src/hs/compilation/HelloWorld.hs 2008-01-20 06:41:51 UTC (rev 263)
@@ -0,0 +1,2 @@
+module Main where
+main = putStrLn "hello world!"
Added: sandbox/trunk/src/hs/compilation/Makefile
===================================================================
--- sandbox/trunk/src/hs/compilation/Makefile (rev 0)
+++ sandbox/trunk/src/hs/compilation/Makefile 2008-01-20 06:41:51 UTC (rev 263)
@@ -0,0 +1,14 @@
+all: HelloWorld
+ ghc -ddump-ds HelloWorld.hs
+
+HelloWorld: HelloWorld.hs
+ ghc -o HelloWorld HelloWorld.hs
+
+HelloWorld.s: HelloWorld.hs
+ ghc -S -o HelloWorld.s HelloWorld.hs
+
+HelloWorld.hc: HelloWorld.hs
+ ghc -C -o HelloWorld.hc HelloWorld.hs
+
+clean:
+ rm *.hi *.o *.out *.s *.hc HelloWorld
Added: sandbox/trunk/src/tex/code-figure.tex
===================================================================
--- sandbox/trunk/src/tex/code-figure.tex (rev 0)
+++ sandbox/trunk/src/tex/code-figure.tex 2008-01-20 06:41:51 UTC (rev 263)
@@ -0,0 +1,198 @@
+\documentclass{article}
+
+\usepackage{algorithm}
+\usepackage{amsmath}
+\usepackage{algorithmicx,algpseudocode}
+\usepackage{fancyvrb}
+\usepackage{listings}
+\usepackage{setspace}
+
+\newcommand{\proc}[1]{{\textsc{#1}}}
+\newcommand{\var}[1]{{\emph{#1}}}
+
+\begin{document}
+
+\subsection{Fancy Verbs}
+
+A demo of using fancy verbs.
+
+\SaveVerb{x}=another=
+This is a \Verb|fancy_vrb|. Here's \UseVerb{x}.
+
+\DefineShortVerb{\|}
+The function |camera_global_prioritization|.
+
+Fancier features:
+\begin{Verbatim}[frame=single, commandchars=\\\{\},
+ codes={\catcode`$=3 \catcode`^=7} %$
+]
+Simple math is fine, $ \frac{1}{\sqrt{z}}, but math becomes quirky!$
+\end{Verbatim}
+
+
+\begin{SaveVerbatim}{sql}
+SELECT a, b
+EVERY n [SECONDS]
+BUFFER IN buffername
+\end{SaveVerbatim}
+
+\UseVerbatim{sql}
+
+\begin{Verbatim}
+select * from r where a = 0;
+\end{Verbatim}
+
+%% The following don't work, despite the indirections of saving verbs
+%% and saving boxes.
+%%
+%% \fbox{\UseVerbatim{sql}}
+%%
+%% \newsavebox{\mybox}
+%%
+%% \begin{lrbox}{\mybox}
+%% \UseVerbatim{sql}
+%% \end{lrbox}
+%%
+%% \fbox{\usebox{\mybox}}
+
+\setbox0=\vbox{
+%\begin{minipage}
+\begin{verbatim}
+verbatim stuff
+\end{verbatim}
+%\end{minipage}
+}
+
+\fbox{\box0}
+
+\subsection{Math}
+
+Minipages in math:
+\begin{align}
+x = \begin{minipage}{1in}
+I'm in a minipage.
+\end{minipage}
+\end{align}
+
+\subsection{Algorithms}
+
+|algorithmicx| obsoletes |algorithmic|, and is the one I currently
+default to. Another worth considering is |algorithm2e|.
+
+See example figures.
+
+\begin{figure}
+\caption{Pseudocode for a global prioritization scheme.}
+\label{f:global}
+\fbox{
+\begin{minipage}{\textwidth}
+\begin{algorithmic}[1]
+\Procedure{CameraGlobalPrioritization}{\var{query points},
+ \var{summary grids}}
+\ForAll{$g \in \var{summary grids}$}
+\State $\var{scores}[g] \leftarrow
+\begin{cases}
+ 1, & \begin{minipage}{3in}
+ $\forall q \in \var{query points}$, no car previously
+ answered $q$ and $\proc{Distance}(\var{g.center}, q) < \var{threshold}$
+ \end{minipage} \\
+ 0, & \text{otherwise}
+\end{cases}$
+\EndFor \\
+\Return \var{summary grids}
+\EndProcedure
+\end{algorithmic}
+\end{minipage}
+}
+\end{figure}
+
+\begin{figure}
+\fbox{
+\begin{minipage}{\textwidth}
+\begin{algorithmic}[1]
+\Procedure{Bisect}{\var{tuples}}
+
+\State $\var{segs} \leftarrow \text{empty priority queue of segments,
+ ordered by segment length}$
+
+\State push \proc{New-Segment}(\var{tuples} sorted by time) onto
+\var{segs}
+
+\While{\proc{Not-Empty}(\var{segs})}
+
+\State $\var{seg} \leftarrow \proc{Pop-Min}(\var{segs})$
+
+\State add \proc{Midpoint}(\var{seg}) to output buffer
+
+\If{$\proc{Num-Tuples}(\var{seg}) > 1$}
+
+\State push \proc{Left}(\var{seg}) and \proc{Right}(\var{seg}) onto
+\var{segs}
+
+\EndIf
+\EndWhile
+\EndProcedure
+\end{algorithmic}
+\end{minipage}
+}
+\caption{Pseudocode for \texttt{bisect} delivery function.}
+\label{f:bisect}
+\end{figure}
+
+\subsection{Listings}
+
+I don't know how to change the font to something less ugly, escape to
+TeX, etc.
+
+\lstset{language=sql}
+
+\begin{lstlisting}
+SELECT * FROM r WHERE a = 0;
+\end{lstlisting}
+
+%\DeclareOption{singlespace}{
+% \typeout{Single spaced}
+% \def\mystretch{1}}
+%
+\newcommand{\sqlquery}[1]{{
+ % \setlength\baselinestretch{1.0}
+ \begin{samepage}
+ % \setlength\parskip{.1\baselineskip}
+ % \small
+ %
+ % \renewcommand\baselinestretch{1.0}
+ \hspace{0in}\parbox{\textwidth}{
+ \begin{singlespace}
+ \setlength\parindent{-.2in}
+ \texttt{#1}
+ \end{singlespace}
+ }
+ % \normalsize
+ % \renewcommand\baselinestretch{1.0}
+ \end{samepage}
+}}
+
+\sqlquery{
+SELECT * \\
+FROM my\_table \\
+WHERE ;
+}
+
+\subsection{Simple demo}
+
+This figure seems to work, but you better not uncomment the fbox!
+
+\begin{figure}
+% \fbox{
+\begin{minipage}{\textwidth}
+\begin{Verbatim}[frame=single, commandchars=\\\{\},
+ codes={\catcode`$=3\catcode`^=7}]
+hello, world! $ \forall x$
+\end{Verbatim}
+\end{minipage}
+% }
+\caption{Pseudocode for a global prioritization scheme.}
+\label{f:global}
+\end{figure}
+
+\end{document}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yan...@us...> - 2008-01-20 06:41:21
|
Revision: 262
http://assorted.svn.sourceforge.net/assorted/?rev=262&view=rev
Author: yangzhang
Date: 2008-01-19 22:41:25 -0800 (Sat, 19 Jan 2008)
Log Message:
-----------
tweak
Modified Paths:
--------------
configs/trunk/src/vim/plugin/_yang.vim
Modified: configs/trunk/src/vim/plugin/_yang.vim
===================================================================
--- configs/trunk/src/vim/plugin/_yang.vim 2008-01-20 06:41:09 UTC (rev 261)
+++ configs/trunk/src/vim/plugin/_yang.vim 2008-01-20 06:41:25 UTC (rev 262)
@@ -129,8 +129,7 @@
" AUTOCOMMANDS ----------------------------------------------------------------
" makes this enable plugins and indentation based on file types
-filetype plugin on
-filetype indent on
+filetype plugin indent on
" binaries
augroup Binary
au!
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yan...@us...> - 2008-01-20 06:41:03
|
Revision: 261
http://assorted.svn.sourceforge.net/assorted/?rev=261&view=rev
Author: yangzhang
Date: 2008-01-19 22:41:09 -0800 (Sat, 19 Jan 2008)
Log Message:
-----------
added darcs ignore of tex output
Modified Paths:
--------------
configs/trunk/src/darcs/boring
Modified: configs/trunk/src/darcs/boring
===================================================================
--- configs/trunk/src/darcs/boring 2008-01-20 06:40:42 UTC (rev 260)
+++ configs/trunk/src/darcs/boring 2008-01-20 06:41:09 UTC (rev 261)
@@ -1,2 +1,8 @@
-^_whizzy_.*_tex$
+_whizzy_.*
\.aux$
+\.bbl$
+\.blg$
+\.lof$
+\.log$
+\.lot$
+\.toc$
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yan...@us...> - 2008-01-20 06:40:36
|
Revision: 260
http://assorted.svn.sourceforge.net/assorted/?rev=260&view=rev
Author: yangzhang
Date: 2008-01-19 22:40:42 -0800 (Sat, 19 Jan 2008)
Log Message:
-----------
added bib bullet
Modified Paths:
--------------
assorted-site/trunk/index.txt
Modified: assorted-site/trunk/index.txt
===================================================================
--- assorted-site/trunk/index.txt 2008-01-20 06:38:46 UTC (rev 259)
+++ assorted-site/trunk/index.txt 2008-01-20 06:40:42 UTC (rev 260)
@@ -56,6 +56,7 @@
- Wallpaper Tools: tools for managing wallpapers as they are being rotated
through (done)
- Miscellanea
+ - Bibliography: my pan-paper BibTeX; stalling until ZDB happens! (active)
- Subtitle adjuster: for time-shifting SRTs (done)
- Programming Problems: my workspace for solving programming puzzles
(hiatus)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yan...@us...> - 2008-01-20 06:38:42
|
Revision: 259
http://assorted.svn.sourceforge.net/assorted/?rev=259&view=rev
Author: yangzhang
Date: 2008-01-19 22:38:46 -0800 (Sat, 19 Jan 2008)
Log Message:
-----------
added bib
Added Paths:
-----------
bib/
bib/trunk/
bib/trunk/yang.bib
Added: bib/trunk/yang.bib
===================================================================
--- bib/trunk/yang.bib (rev 0)
+++ bib/trunk/yang.bib 2008-01-20 06:38:46 UTC (rev 259)
@@ -0,0 +1,8 @@
+@inproceedings{xstream-icde08,
+ author = "Lewis Girod and Yuan Mei and Ryan Newton and Stanislav
+ Rost and Arvind Thiagarajan and Hari Balakrishnan
+ and Samuel Madden",
+ title = "{XStream: A Signal-Oriented Data Stream Management System}",
+ booktitle = {Proc. ICDE},
+ year = 2008,
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yan...@us...> - 2008-01-20 06:37:33
|
Revision: 258
http://assorted.svn.sourceforge.net/assorted/?rev=258&view=rev
Author: yangzhang
Date: 2008-01-19 22:37:38 -0800 (Sat, 19 Jan 2008)
Log Message:
-----------
added subprobe
Modified Paths:
--------------
object-codegen/trunk/src/gen.scala
Modified: object-codegen/trunk/src/gen.scala
===================================================================
--- object-codegen/trunk/src/gen.scala 2008-01-20 06:37:34 UTC (rev 257)
+++ object-codegen/trunk/src/gen.scala 2008-01-20 06:37:38 UTC (rev 258)
@@ -1,10 +1,10 @@
-package genio
+package objgen
/**
* recursive types not welcome here. punks
*/
-object GenIo {
+object ObjGen {
case class Type(name: String, fieldStr: String, children: Array[Type]) {
val fields =
if (fieldStr.length > 0)
@@ -23,6 +23,7 @@
Type("RoutingRecs", "ArrayList<Rec> recs"),
Type("Ping", "long time, NodeInfo info"),
Type("Pong", "long time"),
+ Type("Subprobe", "long time, short nid, byte type"),
Type("Measurements", "Array<short> probeTable, Array<byte> inflation"),
Type("MemberPoll", ""),
Type("PeeringRequest", "")
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yan...@us...> - 2008-01-20 06:37:28
|
Revision: 257
http://assorted.svn.sourceforge.net/assorted/?rev=257&view=rev
Author: yangzhang
Date: 2008-01-19 22:37:34 -0800 (Sat, 19 Jan 2008)
Log Message:
-----------
added makefile
Added Paths:
-----------
object-codegen/trunk/src/Makefile
Added: object-codegen/trunk/src/Makefile
===================================================================
--- object-codegen/trunk/src/Makefile (rev 0)
+++ object-codegen/trunk/src/Makefile 2008-01-20 06:37:34 UTC (rev 257)
@@ -0,0 +1,18 @@
+SRC := gen.scala commons/*.scala
+CLASSPATH := bin
+CLASS := objgen.ObjGen
+TARGET := $(CLASSPATH)/$(subst .,/,$(CLASS)).class
+
+all: $(TARGET)
+
+$(TARGET): $(SRC)
+ mkdir -p $(CLASSPATH)
+ fsc -d $(CLASSPATH) $^
+
+run: $(TARGET)
+ scala -cp $(CLASSPATH) $(CLASS)
+
+clean:
+ rm -rf $(CLASSPATH)
+
+.PHONY: run clean
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yan...@us...> - 2008-01-20 06:36:55
|
Revision: 256
http://assorted.svn.sourceforge.net/assorted/?rev=256&view=rev
Author: yangzhang
Date: 2008-01-19 22:37:00 -0800 (Sat, 19 Jan 2008)
Log Message:
-----------
added nounset
Modified Paths:
--------------
shell-tools/trunk/src/bash-commons/common.bash
shell-tools/trunk/src/daemon-ctl.bash
shell-tools/trunk/src/trash.bash
Modified: shell-tools/trunk/src/bash-commons/common.bash
===================================================================
--- shell-tools/trunk/src/bash-commons/common.bash 2008-01-20 06:36:17 UTC (rev 255)
+++ shell-tools/trunk/src/bash-commons/common.bash 2008-01-20 06:37:00 UTC (rev 256)
@@ -4,11 +4,12 @@
# TODO reorganize the functions here
# TODO clean up the logging functions
-if [[ "$1" != '-n' ]] ; then
+if [[ "${1:-}" != '-n' ]] ; then
set -o errexit
+ set -o nounset
fi
-if [[ $xtrace ]] ; then
+if [[ "${xtrace:-}" ]] ; then
set -o xtrace
fi
Modified: shell-tools/trunk/src/daemon-ctl.bash
===================================================================
--- shell-tools/trunk/src/daemon-ctl.bash 2008-01-20 06:36:17 UTC (rev 255)
+++ shell-tools/trunk/src/daemon-ctl.bash 2008-01-20 06:37:00 UTC (rev 256)
@@ -6,7 +6,7 @@
. common.bash
usage="
-$command [OPTIONS] COMMAND [OPTIONS]
+$cmd_name [OPTIONS] COMMAND [OPTIONS]
Options: TODO WRITE OPTIONS
"
@@ -62,7 +62,7 @@
"$@" > "$stderr" &
elif [[ "$stdout" == "$stderr" ]] ; then
mkdir -p "$( dirname "$stdout" )"
- $save_exit "$@" >& "$stdout" &
+ ${save_exit:-} "$@" >& "$stdout" &
else
mkdir -p "$( dirname "$stdout" )"
mkdir -p "$( dirname "$stderr" )"
@@ -86,7 +86,6 @@
{
# TODO not using mktemp; this is to run on OE
pid_pipe="${TMP:-/tmp}/$$.pipe"
- echo "$pid_pipe"
mkfifo "$pid_pipe"
exit-monitor "$@" >& /dev/null &
pid="$( < "$pid_pipe" )"
Modified: shell-tools/trunk/src/trash.bash
===================================================================
--- shell-tools/trunk/src/trash.bash 2008-01-20 06:36:17 UTC (rev 255)
+++ shell-tools/trunk/src/trash.bash 2008-01-20 06:37:00 UTC (rev 256)
@@ -5,11 +5,7 @@
. common.bash
-if [[ ! "$TRASHDIR" ]] ; then
- TRASHDIR="$HOME/trash"
-fi
-
+: "${TRASHDIR:="$HOME/trash"}"
dir="$TRASHDIR/$(date)"
-
mkdir -p "$dir"
mv "$@" "$dir"
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yan...@us...> - 2008-01-20 06:36:13
|
Revision: 255
http://assorted.svn.sourceforge.net/assorted/?rev=255&view=rev
Author: yangzhang
Date: 2008-01-19 22:36:17 -0800 (Sat, 19 Jan 2008)
Log Message:
-----------
quote for bash strings
Added Paths:
-----------
shell-tools/trunk/src/quote.py
Added: shell-tools/trunk/src/quote.py
===================================================================
--- shell-tools/trunk/src/quote.py (rev 0)
+++ shell-tools/trunk/src/quote.py 2008-01-20 06:36:17 UTC (rev 255)
@@ -0,0 +1,8 @@
+#!/usr/bin/env python
+# vim:et:sw=2:ts=2
+import sys
+
+def quote(s):
+ return r'"%s"' % s.replace('\\', r'\\').replace('"', r'\"').replace('$', r'\$')
+
+print ' '.join( map( quote, sys.argv[1:] ) )
Property changes on: shell-tools/trunk/src/quote.py
___________________________________________________________________
Name: svn:executable
+ *
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yan...@us...> - 2008-01-20 06:32:45
|
Revision: 254
http://assorted.svn.sourceforge.net/assorted/?rev=254&view=rev
Author: yangzhang
Date: 2008-01-19 22:32:49 -0800 (Sat, 19 Jan 2008)
Log Message:
-----------
added battlecode 2007 bullet; fixed subversion repo link
Modified Paths:
--------------
assorted-site/trunk/index.txt
Modified: assorted-site/trunk/index.txt
===================================================================
--- assorted-site/trunk/index.txt 2008-01-20 06:32:13 UTC (rev 253)
+++ assorted-site/trunk/index.txt 2008-01-20 06:32:49 UTC (rev 254)
@@ -33,6 +33,7 @@
- Simple object code generation (iogen): currently targets Java
serialization, emphasizing compactness, speed, and simplicity (done)
- BattleCode composer: express and mix strategies quickly (planning)
+ - BattleCode 2007, Team Little: our work for the 2007 competition (done)
- TopCoder tools: crawl TopCoder rankings to analyze players. Currently only
produces language statistics. (done)
- Simple Pre-Processor (spp): tiny implementation of cpp's _object-like
@@ -75,6 +76,7 @@
mini-project of mine
- [TinyOS](http://tinyos.net/): SF-hosted project I've been involved in
+[the Subversion repository]: https://assorted.svn.sourceforge.net/svnroot/assorted
[browse the code repository]: https://assorted.svn.sourceforge.net/svnroot/assorted
<!--
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yan...@us...> - 2008-01-20 06:32:09
|
Revision: 253
http://assorted.svn.sourceforge.net/assorted/?rev=253&view=rev
Author: yangzhang
Date: 2008-01-19 22:32:13 -0800 (Sat, 19 Jan 2008)
Log Message:
-----------
added profiling of worker threads!
Modified Paths:
--------------
python-afx/trunk/src/afx/threads.py
Modified: python-afx/trunk/src/afx/threads.py
===================================================================
--- python-afx/trunk/src/afx/threads.py 2008-01-20 06:31:46 UTC (rev 252)
+++ python-afx/trunk/src/afx/threads.py 2008-01-20 06:32:13 UTC (rev 253)
@@ -5,12 +5,13 @@
from commons import log
from commons.threads import synchronized
from Queue import Queue
-from threading import Lock, Thread
+from threading import Lock, Thread, currentThread
import socket
from functools import partial, wraps
from contextlib import closing
-import os
+from os import environ
from sys import exc_info
+from cProfile import runctx
import af
@@ -26,8 +27,8 @@
info = partial( log.info, __name__ )
error = partial( log.error, __name__ )
-itc_port = 17777 if 'ITC_PORT' not in os.environ \
- else int( os.environ[ 'ITC_PORT' ] )
+itc_port = 17777 if 'ITC_PORT' not in environ \
+ else int( environ[ 'ITC_PORT' ] )
p = None
@@ -66,20 +67,27 @@
debug( 'pool accepted' )
def worker():
- debug( 'starting worker' )
- while True:
- msg = i.get()
- if msg is stop_msg: break
- resultbuf, func, args, kwargs = msg
- result, exc = None, None
- try:
- result = func( *args, **kwargs )
- except:
- t, v, tb = exc_info()
- exc = t, v, tb.tb_next
- o.put( ( resultbuf, result, exc ) )
- s.send( 'x' ) # assuming socket.send is thread-safe
- debug( 'stopping worker' )
+ def real_worker():
+ debug( 'starting worker' )
+ while True:
+ msg = i.get()
+ if msg is stop_msg: break
+ resultbuf, func, args, kwargs = msg
+ result, exc = None, None
+ try:
+ result = func( *args, **kwargs )
+ except:
+ t, v, tb = exc_info()
+ exc = t, v, tb.tb_next
+ o.put( ( resultbuf, result, exc ) )
+ s.send( 'x' ) # assuming socket.send is thread-safe
+ debug( 'stopping worker' )
+ if environ.get( 'PYPROF', '' ) != '':
+ try: outpath = environ['PYPROF'] % currentThread().getName()
+ except: real_worker()
+ else: runctx( 'real_worker()', locals(), globals(), outpath )
+ else:
+ real_worker()
with self.lock:
if not self.stopped:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|