]> git.cworth.org Git - cworth.org/blob - src/talks.mdwn
Add talk from LCA 2008
[cworth.org] / src / talks.mdwn
1 [[meta title="Talks presented by Carl Worth"]]
2
3 # [X Acceleration that Finally Works](lca_2008)
4
5 Meaningful hardware acceleration within the X Window System is
6 becoming a reality. We present the recent state of the art of 2D
7 accelerated rendering with the Intel 965 graphics device showing
8 performance gains up to 900 times faster than software rendering.
9
10 Co-presented with Eric Anholt at [linux.conf.au
11 2008](http://linux.conf.au) in Melbourne, Australia on 2008-01-30.
12
13 # [Co-maintaining cairo: cool community, cool code](guadec_2007)
14
15 A retrospective on the development of the cairo code and community
16 over its 5 year history. Co-presented with Behdad Esfahbod at GUADEC
17 2007 in Birmingham, United Kingdom.
18
19 # [Designing a Library that's Easy to Use](/~cworth/papers/guadec_2006)
20
21 This is something of a case study on the design of the cairo graphics
22 library API with some hint on things to keep in mind or to avoid while
23 doing API design. Presented at GUADEC 2006 in Vilanova i la Geltru,
24 Spain.
25
26 # [An Insider's Guide to cairo](/~cworth/papers/cairo_ddc2005)
27
28 I present details of the internals of the cairo graphics library. The
29 algorithms and components presented include:
30
31   * Stroking a cubic Bézier spline with a circular pen,
32     (Minkowski sums and the convolution of polygonal tracings).
33
34   * Robust, (and efficient) tessellation in the face of
35     limited-precision arithmetic.
36
37   * Careful rasterization algorithms suitable for incremental
38     rendering with no seams, (describing our failed
39     coverage-calculating approach as well as our new point-sampling
40     approach).
41
42   * Compositing (why pre-multiplied alpha is the one true way).
43
44 Presented at the <a href="http://www.desktopcon.org/2005/">Desktop
45 Developers' Conference</a> on 2005-07-19.
46
47 # [Cairo: Making Graphics Easy to Print](/~cworth/papers/cairo_lca2005)
48
49 Free software operating systems have often been accused of having
50 pessimal printing support. Recent infrastructure improvements have
51 largely solved the plumbing problem. But adding print support to
52 applications is still painful. Generally, rendering code must be
53 duplicated which often leads to inconsistencies between display and
54 print output.
55
56 The cairo graphics library is designed to provide high-quality print
57 output with the same API used for rendering to a display. The initial
58 approach toward implementing printing support was to prioritize output
59 fidelity over memory or bandwidth requirements yielding an
60 implementation that achieves consistent print quality through reuse of
61 image-based rendering code. Or we were just lazy and it was easy that
62 way. Either way, it was a pig.
63
64 This paper will discuss recent progress in cairo's printing backends
65 as they develop into first-class citizens. Generating efficient,
66 high-quality print output is complicated because PostScript has an
67 imaging model fundamentally more limited than that of cairo. This and
68 other challenges will be presented along with our solutions.
69
70 Presented at <a href="http://lca2005.linux.org.au/">linux.conf.au
71 2005</a> on 2005-04-22.
72
73 # [On-demand Linux for Power-aware Embedded Sensors](/~cworth/papers/pasta_ols2004)
74
75 We introduce a distributed sensor architecture which enables
76 high-performance 32-bit Linux capabilities to be embedded in a sensor
77 which operates at the average power overhead of a small
78 microcontroller. Adapting Linux to this architecture places increased
79 emphasis on the performance of the Linux power-up/shutdown and
80 suspend/resume cycles.
81
82 Our reference hardware implementation is described in detail. An
83 acoustic beamforming application demonstrates a 4X power improvement
84 over a centralized architecture.
85
86 Presented at the <a href="http://www.linuxsymposium.org/2004">2004
87 Ottawa Linux Symposium</a> in July, 2004.
88
89 # [Cairo: Cross-device Rendering for Vector Graphics](/~cworth/papers/xr_ols2003)
90
91 Cairo provides a vector-based rendering API with output support for
92 the X Window System and local image buffers.  Cairo provides a
93 stateful user-level API with support for the PDF 1.4 imaging
94 model. Cairo provides operations including stroking and filling
95 B&#233;zier cubic splines, transforming and compositing translucent
96 images, and antialiased text rendering.  </p> <p> Cairo, (formerly
97 known as Xr), is available from <a
98 href="http://cairographics.org">http://cairographics.org</a>
99
100 Presented at the <a href="http://www.linuxsymposium.org/2003">2003
101 Ottawa Linux Symposium</a> in July, 2003.
102
103 # [xstroke: Full-screen Gesture Recognition for X](/~cworth/papers/xstroke)
104
105 Some of the challenges in developing a gesture recognition program
106 with a full-screen user-interface. xstroke has been incorporated into
107 the <a href="http://www.handhelds.org">handhelds.org</a> distribution.
108
109 Presented at the <a href="http://www.usenix.org/events/usenix03/">2003
110 Usenix Annual Technical Conference</a> in San Antonio, Texas, June
111 2003.
112
113 # [Synthesizing RTL Hardware from Java Byte Codes](/~cworth/papers/java_synthesis)
114
115 This paper came out of the work I did on my Master's thesis at <a
116 href="http://www.byu.edu">BYU</a>'s <a
117 href="http://splish.ee.byu.edu">Configurable Computing
118 Laboratory</a>. The implementation adds experimental support for
119 synthesis to <a href="http://www.jhdl.org">JHDL</a>.