Wolfgang Paulus - Bio Information
Bio
Wolf Paulus is an internationally experienced software developer and innovator, dedicated to excellence, and motivated by enthusiasm to trying new things. He is currently focusing on Java, Mac OS X, embedded-systems, and Open Source technologies. In his daytime job as Software Architect and project lead, he works on the LiquidOffice platform, a document routing and workflow solution.
He developed TiffanyScreens
, an innovative presentation sharing tool for peer groups, created the Thinlet rapid application development (RAD) Tool Theodore
, and is the founder and principal developer of the open source XUL Engine SwixML, which
has been included into Sun's java.net community and is used in projects like GlassFish, the open source community based implementation of Java EE 5.
Wolf was awarded "XUL Champion of the Year 2003" by the XUL developer community. He presents frequently at conferences and user groups on topics ranging from Embedded Technology to Declarative Programming, emphasizing UI Generation at Runtime.
Wolf worked in St.Peterburg, Russia, leading a team of Russian engineers creating smart bots, in Frankfurt Germany,
leading Deutsche Bank's development of an electronic banking and security trading application
, and led software component development contracted from Aten Development, Lyon,
France
.
He received a Master's Degree in Computer Science from the University of Paderborn, which has one of the highest ranking computer science programs among universities in Germany, a Specialized Certificate in Embedded Computer Software from the University of California, San Diego, and is a Sun Certified Java Programmer SCJP and Web Component Developer SCWCD. Wolf and his family currently reside in San Diego, California and can be found on the Net at http://wolfpaulus.com.
Conference Presentations
- Turning the Web on its head - let's have the Server call the Client [PDF Slides, 1.9MB]
- Cal State Fullerton 2008 Slides:
We will take the accepted view that a Web-Client calls (via HTTP GET or POST) a server and turn it on its head. Let's have the server call the client. It is really not that far fetched, imaging a scenario where the server when it has determined that something exciting just happened (e.g. the Dow Jones Industrial Avg. Index jumped 100 points) calls the Web Client, instead of clients constantly polling the server (even when the DOW barely moves).
Sounds interesting and a couple of implementation ideas may come to mind. After looking briefly into some xml and binary web service protocols, we will take a closer look at the notification mechanism provided by Java's management extensions and eventually take a really close look at a full featured implementation of the above mentioned problem. Interestingly, even when looking at both, the client and the server part of this solution, there isn't really all that much code to write, which means that even in the little time we have, all the concept and patterns used can be looked at and discussed. The talk also covers a Comet-style protocol and how it can be used with a Tomcat Server and an AJAX client application.
All the code, (client and server) that makes this Stock Quote Client an event consumer, will be shown.
- Cal State Fullerton 2008 Slides:
We will take the accepted view that a Web-Client calls (via HTTP GET or POST) a server and turn it on its head. Let's have the server call the client. It is really not that far fetched, imaging a scenario where the server when it has determined that something exciting just happened (e.g. the Dow Jones Industrial Avg. Index jumped 100 points) calls the Web Client, instead of clients constantly polling the server (even when the DOW barely moves).
- Swixml, XML-based domain-specific language for declaring Java Swing GUIs [PDF Slides, 875KB]
- Desktop Matters Conference Slides: SwiXml is a small GUI generating engine
for Java applications and applets. Graphical User Interfaces
are described in XML documents that are parsed at runtime and rendered into javax.swing objects.
Theoretically, you can look at SwiXml as an XML based domain-specific language, allowing to declare Java Swing GUIs. The Swixml engine will then later at runtime, take a GUI declaration and create that User-Interface on the fly, just like a Web Browser would do with an HTML document.
SwiXml doesn't introduce any new layout managers or component classes. Instead, it operates directly on the Swing component classes using introspection.
- Desktop Matters Conference Slides: SwiXml is a small GUI generating engine
for Java applications and applets. Graphical User Interfaces
are described in XML documents that are parsed at runtime and rendered into javax.swing objects.
- Arduino Fever - PHYSICAL COMPUTING [PDF Slides, 2.8MB]
- The Arduino project was created to provide access to the essence of
digital technologies and has contributed a remarkable set of open-source tools, ideal to conduct courses in electronics prototyping.
Today, more than 20 universities are using Arduino in their programs and engineering classes, several open source communities have
welcomed Arduino as their platform for interfacing the physical world, and the Arduino project has expanded into secondary education
in schools allover Europe.
This talk provides a hands-on introduction to the Arduino platform. We focus on sensors and actuators and take a look at how a computer converts inputs (in the form of sound, light, motion, and other forms) into changing electronic signals that it can interpret. No previous knowledge in electronics is required. However, participants should bring an open mind for a challenging time with a hand full of bytes.
- The Arduino project was created to provide access to the essence of
digital technologies and has contributed a remarkable set of open-source tools, ideal to conduct courses in electronics prototyping.
Today, more than 20 universities are using Arduino in their programs and engineering classes, several open source communities have
welcomed Arduino as their platform for interfacing the physical world, and the Arduino project has expanded into secondary education
in schools allover Europe.
- Declarative Programming, emphasizing UI Generation at Runtime [PDF Slides, 2.0MB]
- Graphical User Interfaces are described in XML documents that are parsed at runtime and rendered into UI-Widgets.
While open-source projects like Thinlet and Swixml focus mainly on the GUI, they are also good examples for how
declarative programming can be done in Java.
The talk ends with a live demonstration of Tiffany Screens, a presentation tool I have written, allowing to share presentations (or any screen content) with peer groups, without requiring a projector. This is not only a very cool and quite unique application, it also applies a lot of the technologies and theories that were covered during the talk.
- Graphical User Interfaces are described in XML documents that are parsed at runtime and rendered into UI-Widgets.
While open-source projects like Thinlet and Swixml focus mainly on the GUI, they are also good examples for how
declarative programming can be done in Java.
- How the Internet works [PDF Slides, 1.5MB]
-
This is talk is a little shady, a little underground, and attendees have been seen wearing
diggnation shirts and even brought beer - brown bag style of course.
However, it's all about "How the Internet works" and while I talk a lot about MAC and IP addresses, TCP, packets, ports, TTL, NAT, and all that, it has always been a lot fun for everyone.
I talk about how applications like iTunes announce shared playlists and why sharing them only works on LANs but not over the Internet - and of course you will see how you can "work around" this .. limitation.
-
This is talk is a little shady, a little underground, and attendees have been seen wearing
diggnation shirts and even brought beer - brown bag style of course.
- Innovate - Tweak, Hack, and Bend Technology [PDF Slides, 2.9MB]
- We will take a small device (available for $100 at Dallas Semiconductor),
about the size of an iPod Shuffle, but capable of executing Java-Byte-Code,
and connect it to a digital toy camera, (available for about $10 on eBay).
Then we are going to write some Java code that we load on to the device and execute and even run some JUnit tests remotely. But be warned, we are targeting an 8-bit processor running at only 40 MHz and its 1MB SRAM serves as file-system, program memory, and runtime heap.
Along the way we may add some more hardware and learn a few things about how CMOS sensors capture image data and how a Bayer-pattern can be used to decode the sensor data.
- We will take a small device (available for $100 at Dallas Semiconductor),
about the size of an iPod Shuffle, but capable of executing Java-Byte-Code,
and connect it to a digital toy camera, (available for about $10 on eBay).
Work Samples and Projects
- Tiffany Screens, 2006 - now
- Cardiff LiquidOffice, 2000 - now
- Swixml, 2003 - now
- Embedded Systems Projects, 2001 - now
- TELEform eForm Solution, 1998
- Deutsche Bank Online Banking, 1996
- Embedded Systems / Medical Devices, 1992
- Embedded Systems Publication, 1991
|
|
|
Subscribe