Los Angeles, California, USA
E-mail: billf at jovial dot com
I've been a software enginner/computer programmer since a little before the
days of the Apple ][. I think the first program I wrote that was semi-widely
distributed was “Oscarlocator,” which I wrote around 1978 to track the
OSCAR 7 satellite.
I joined Javasoft/Sun Microsystems, initially on the
HotJava Browser project.
I was there for over a decade, and helped create parts of the Java
platform, especially on consumer devices. I've also worked as a software
engineer at Disney, Google, and at Celtis Technologies in France.
A technical resume is available here
My parents were both computer programmers, and they both used the
JOVIAL computer language.
My mother started programming in
1951 on the SEAC
computer. In 1961 she used JOVIAL for an
experimental air traffic control system at
My father started programming in 1955. In 1959 he joined the team that created
He went on to work on one of the first timesharing systems, JTS (Jovial Time
You can read more about JOVIAL and my parents' pioneering computer work
I'm a volunteer instructor with
Girls Who Code, teaching
arrange guest speakers to serve as female role models, and I try to give
some insights about encapsulation, software design, and software as
I volunteered with Video the
Vote in 2006, using the power of video and YouTube to document any
voting irregularities there might be
in the 2006 mid-term elections. I was even
interviewed by CNN
in connection with this! Here's a
writeup of my day as a “citizen-journalist.”
I've done work with Project Hope
in Nablus, Palestine.
I started with teaching in refugee camps
over the summer of 2003. In 2006, I started making videos, under the
I wrote the Java chapters of the
Architect of the framework introduced in that book:
a framework to help manage and animate
graphical elements in Blu-ray Java. Started the hdcookbook open-source
community. Check out the other software in the
HD Cookbook Project.
Heap Analysis Tool Prototype (HAT).
This is a prototype tool to explore object topologies and find
unintentional object retention problems in Java Programs. It was
eventually extended and incorporated into JDK 1.6.
In The Media
As mentioned under volunteering, I started the
website. It includes a short video about
of Hope”. I also had about 23 seconds of fame in a
about Video the Vote.
This being a vanity website, I guess I'll also mention the
time I was on ESPN SportsZone,
and my appearance on the front page of UCLA's
Bruin Newspaper, in a story about some street theater put on by
AFI Digital Content Lab/eTV Workshop
In 2002, I participated in the American Film Institute's
enhanced TV workshop, and had a lot of fun making
go splat over an episode of I Love Lucy. In 2004, I worked with the
adult literacy project, which was very rewarding.
DVB World Articles
- DVB World, June 18 2006 [pdf], “GEM Glitters in the Heart”,
page 4. This is an article on DVB-MHP and DVB-GEM's place in the
Blu-Ray Disc specification.
World, March 5, 2003 [pdf], “DVB'S GEM, Bringing MHP's sparkle to the US
and beyond”, page 4. This is an article from the early days of GEM,
when it was in the process of being adopted for US Cable and in Japan.
- JavaOne 2010: Systems
Architecture is not Network Topology: Connecting the Consumer Device
- JavaOne 2009: Creating Games
for Blu-ray Disc in BD-Java
- JavaOne 2008: Java Technology
for Blu-ray and TV: Creating your own Blu-ray Java Discs
- JavaOne 2005: Java Technology Goes to the
Movies: Java Technology in Next-Generation Optical Disc Formats
- JavaOne 2000: Java TV API technical overview. I spoke about the
application of Java TV technology in interactive television.
- JavaOne 1999, update
on issues related to Java and real-time.
- JavaOne 1999, hosted a BoF session on Resource Management on Small Devices
- JavaOne 1998: Reducing Memory
Usage of Java Applications: Lessons from the Battlefield. This was a
talk about memory usage of Java programs, and how
to eliminate object retention problems. It introduced the HAT tool,
- JavaOne 1997: “HotJava Browser.” I spoke about customizing the
browser, custom protocol handlers, and using RMI.
Older Articles and Other Works
- My 1989 Masters Thesis from UC Berkeley,
of Anisotropic Crystal Etching. From my perspective, it was really
about 3D geometrical modeling and 3D computer graphics. A local copy is
- JavaWorld article, 1998: Singletons vs. class (un)loading.
I participated in writing this article
in JavaWorld. By the way, the JLS clarification about class unloading
can be found here.
- JavaWorld article, 1996:
Integrating Java with C++.
This article investigates
integrating C++ code into a Java application. If that
link ever goes away, I kept the first draft
here. The article is
pretty obsolete now... It's based on JDK 1.0.2, before JNI existed.
Slot Car Applet.
This is s a silly Java applet that I wrote as part of an OO class I taught.
It comes with some pretty complete design documentation, and a discussion
of how it fit into the class.
- CASE tool prototype.
I wrote a prototype for a CASE tool called “flower.”
It works, and was a nice exercise in writing a program in Eiffel that
uses Tcl/Tk for the GUI.
- When Sun discontinued personal pages at JavaSoft, I kept my
old JavaSoft homepage. It's
pretty out of date now, though it does have a dashing picture of
me with Hello Kitty, at Sanrio Puroland near Tokyo.