- dethe.elza@gmail.com
- Vancouver, BC, Canada
- GitHub: https://github.com/dethe/
- Waterbear: https://waterbearlang.com/
To work at the intersection of learning and tech, helping people to use, rather than be used by, computers and technology.
Overall, my career has been balanced between technology and communication, often in leadership roles. I am very good at communicating technology issues in non-technical terms and teaching complex concepts.
I introduced and taught a class in Web Design in 1996 through Ohio University's Continuing Education program. In 1997 I was a monthly guest on WOUB, the univesity radio station, on the Art of Conversation show, where I would explain technical issues in plain language. From 2000 to 2002 I taught Intro to XML and XML Programming in the University of British Columbia's certificate program.
I have mentored for Ladies Learning Code and Mozilla's Software Carpentry. I co-taught, with Amber Frid-Jimenez, The Web as a Medium of Expression. This was a course we introduced at Emily Carr University to introduce design students to programming, and to introduce them to HTML, CSS, SVG, and JavaScript. It took them from those basics through to building interactive visualizations pulling down data from the web by the end of the term.
For three terms I have mentored 3-10 students per term with Undergraduate Capstone Open Source Projects, with the students working on Waterbear, an open source project I lead to make it easier to learn programming. This is an intensive program with weekly reports and meetings, where the students are expected to put in at least 10 hours a week filing and fixing bugs, implementing new features, and working on a larger term project.
I was for several years the co-host and organizer for the Maker Education Salon, a partnership between Vancouver Maker Fair and Mozilla Hive, which brought educators, librarians, parents, community organizers, makers, and kids together on a quarterly basis, with an annual "Pop-Up" event. This helped all the local folks involved in making and education to learn about each other and build connections.
I enjoy new challenges and love to pass on the lessons I've learned from 20+ years in the tech industry, at companies large and small.
- Richmond, BC
- March 2018 - May 2023
- Digital Services Technician
Help people use the libraries tech services: 3D printers, multimedia digitization stations, scanners, Raspberry Pis, BBC Micro:bits, Makey-Makeys, Lego WeDo and Lego Mindstorms, and more. Teach children aged 6-17 to make their own computer games. Run games that teach cooperation and teamwork.
- Pivoted workshops and clubs to online during the Covid-19 pandemic
- Write Shimmy animation tool and built workshops around it
- Write Moat private file sharing server
- Write multiple games as examples
- Introduce and lead Code Clubs weekly for kids, teens, and adults/seniors
- Lead tabletop role playing games for pre-teens
- Taught Intro to HTML and CSS
- Run Minecraft Club for children aged 6 and older, set up and maintain server
- Co-organized quarterly Maker Expo events for: high school students, fashion, healthcare, and science
- Organized Processing Community Days
- Wrote web apps, games, and augmented reality tools to support teen summer reading programs
- Co-taught Text Adventure Game course, creating a collaborative text adventure webapp
- Taught Game Programming with Pico-8 as a parent/child workshop
- Co-taught Computer Basics for Seniors
- Helped organize community partner events like RoboSports and Under The GUI
- Burnaby, BC
- September 2017 - June 2018
- Instructor
Teach Management Information Systems to both full-time and part-time classes.
- Built lab exercises based on real-world databases, networks, security issues
- Teach Excel and database programming
- Vancouver, BC
- January 2017 - October 2019
- Lead Developer
Team lead and back-end specialist for building 3rd version of this academic collaborative website tracking democratic participation around the world.
- Move database from document-store to Postgres relational DB
- Re-implemented full-text search to instrument for multilingual support
- Mentoring for junior developers
- Technical advising for other aspects of project (online surveys, data repository, etc.)
- Vancouver, BC
- February 2017 - March 2020
- Instructor
Taught introductory and intermediate partner dancing to groups of 20-50.
- Class management, including incorporating many new drop-in students each week
- Lesson planning for 60 and 45 minute lessons for new and returning students (mixed levels)
- Vancouver, BC
- July 2015 - December 2016
- Lead Software Developer
Team lead, mentor, architect for back-end, front-end, ops and infrastructure. Wearer of hats.
- Rebuild site for speedy loading and scalability
- Implement monetization strategy
- Mentoring, code reviews, lunch-and-learns.
- Business advising for small start-up business
- Vancouver, BC
- October 2014 - June 2015
- Senior Software Engineer
Back-end developer and team leader.
- Built simulators for a variety of data sources
- Recruiting, outreach, and training
- Client data integration work
- Vancouver, BC
- February 2014 - September 2014
- Senior Web Developer
Front-end development for the Marketplace team
- Developed for desktop, Android, and FirefoxOS flavours of Marketplace
- Built Hub add-on for Firefox Android to add Marketplace to home screen
- Collaborated on the first Vancouver Mozilla Hive Network Pop-Up
- Vancouver, BC
- September 2013 - December 2013
- Co-instructor (external)
Co-created and co-taught web technologies and programming to 30 design students, taking them through to creating interactive presentations that pulled live data from the web.
- Designed all technical presentations, my co-instructor, Amber Frid-Jimenez, built all design-oriented presentations and content
- Created homework projects and evaluated all students' work with timely feedback
- Built code libraries to make some of the programming exercises more achievable given the constraints of a academic single term
- Vancouver, BC
- August 2012 - December 2013
- Development Lead
Took the Collusion prototype through design, development, and launch as Lightbeam 1.0
- Hired and led design and development team
- Collaborated with Emily Carr University and mentored students to meaningfully contribute to redesign
- Built interactive documentary on privacy / tracking at the Tribeca Film Institute, later expanded to a 7 part series: https://donottrack-doc.com/en/intro/
- Mentored 18 students over three years working on Waterbear as part of Undergraduate Capstone Open Source Projects
- Mentored for Ladies Learning Code and Software Carpentry workshops
- Presented at two Mozfest conferences
- Vancouver, BC
- August 2011 - July 2012
- Director of Development
Architect, build, and manage development of a site to showcase the work of independent video artists at Reelhouse.org.
- Developed code organization tool Obloq (http://github.com/dethe/obloq)
- Developed site from scratch using Node.js and MongoDB
- Hired and trained development team
- Vancouver, BC
- September 2006 - August 2011
- Director of Development
Manage small development team to build photo sharing site Kinzin.com
- Created web-based product builder generating PNG and PDF output
- Built Facebook apps Are You Normal? and These Are My Kids
- Created several jQuery modules to support Kinzin interface
- Vancouver, BC
- April 2006 - September 2006
- Senior Technical Architect
Integrated XML-based collaboration technology (Distributed DOM) into existing xfy XML toolset.
- Collaborate with Tokyo-based team
- Wrapped Xmetal ActiveX component with a full web-based interface
- Vancouver, BC
- April 2002 - March 2006
- Senior Technical Architect
- Continued development of Distributed DOM project started at Enfolding Systems
- Research and support patent applications that resulted in the granting of 4 patents
- Vancouver, BC
- March 2001 - March 2002
- Chief Mad Scientist
- Founding member of company which later sold for $2.35 million
- Designed and implemented client-side GUI development library (Vorta)
- Designed and implemented client-server Distributed Document Object Model (DDOM)
- Designed XML content management appliance
- Researched usability, workflow, through-the-web editing, and aspect-oriented programming issues
- Explored new tools, programming patterns, and integration strategies
- Created new project management tool for Distributed Agile Software Development
- Extended existing tools with new support for XML, such as adding XPath support to Zope
- Wrote successful grant for BC Science Council
- Developed technique to use Xpath for CSS styling selectors
- Vancouver, BC
- July 2000 - September 2002
- Instructor
- Taught XML Concepts introductory class
- Taught Programming XML with XSLT class
- Vancouver, BC
- June 2000 - March 2001
- Client Lead
- Developed through-the-web 3D rendering technology
- Led client-side programming team.
- Researched and reviewed 3-D libraries and techniques applicable to web pages XML-driven 3D for the web
- Vancouver, BC
- June 1999 - June 2000
- Senior Software Developer
- Designed and implemented server-side Java web applications
- Developed e-commerce framework
- Supervised and mentored junior developers
- Built out multi-site testing framework
- Columbus, Ohio
- April 1998 - May 1999
- Member of Technical Staff
- Developed software for managing telephone switches (NetMinder)
- Documented and tested Netminder software
- Reviewed code of other developers
- Mentored developers in Java
- Athens, Ohio
- September 1995 - March 1998
- Network Software Specialist
- Provided university-wide network support for Macintosh platform
- Developed software for dial-up, residential, administrative and faculty networks
- Trained student workers
- Created Macintosh installation software
- Provided telephone support
- Documented internet dial-up connection service
- Programmed banks of dial-up modems
- Part of team that rolled out ethernet campus-wide and off-campus
- Athens, Ohio
- June 1996 - July 1996
- Instructor
- Created and taught introductory HTML course to students from age 16 to 80
- Methods and systems for enabling collaborative authoring of hierarchical documents
- Method and system for enabling collaborative authoring of hierarchical documents with unique node identifications (Pending)
- Method and system for enabling collaborative authoring of hierarchical documents with locking
- Method and system for enabling collaborative authoring of hierarchical documents with versioning (Pending)
- Method and system for enabling collaborative authoring of hierarchical documents with node privileges (Pending)
- Method and system for enabling collaborative authoring of hierarchical documents with associated business logic (Pending)
- Building a community around open source, Facilitator for discussion, Code4LibBC Unconference, 2020
- Temporary file sharing with Moat, Lightweight animation with Shimmy, Advanced markdown with HackMD, Games at the Library, Lightning Talk, Code4LibBC Unconference, 2020
- Code Club for Seniors, Lightning Talk, Code4LibBC Unconference, 2019
- Uses of the Raspberry Pi, Code Club, Richmond Public Library, 2018
- Mavo: Full Featured Websites Without Writing JavaScript, Code and Coffee, Richmond Public Library, 2017
- Please Hold On, We Are Experiencing Technical Difficulties, Technology Training to Enhance Women's Safety, BC Society of Transition Houses, 2016
- Virtuous Cycles: Empowered Learners, Replicating Successful Learning Models, Creative Failure, BC Libraries Conference, 2015
- What to Expect After Graduation, SFU First-Year CS Students, 2013
- Lightbeam AMA, Reddit, 2013
- Lightbeam Launch Keynote, MozFest, 2013
- What's Next: Art and the Future Web: Teaching design students to use the web as a medium of expression, Emily Carr University, 2013
- Should We Teach Children to Program Computers? Rogue Curiousity, 2013
- Webmaker Hack Jam, Mozilla Vancouver, 2013
- Mozilla Foundation Projects, Vancouver Maker Education Meetup, 2013
- Mozilla Foundation Projects, Vancouver Library Cooperative Open Data Camp, 2013
- Webmaker Tools, Vancouver Mini Maker Fair, 2013
- Collusion Update, Mozilla Summit, 2013
- Collusion Overview, Mozilla Foundation All-Hands, 2013
- A Morning Cup of Coffee (Interactive Documentary), Tribeca Film Institute and Ford Foundation 2013
- Collusion: What's coming in 1.0, Mozilla Air, 2013
- Waterbear: Visual Programming for the Web, MozFest 2012
- Waterbear: Visual Programming for the Web, VanJS 2011
- Introducing Waterbear, JSConf 2011
- Social Networking for Small Groups, Bar Camp 2008
- Aesthetic Programming for Kids of all Ages (pdf), Bar Camp 2008
- Visual Programming: Why it matters for Python, Vancouver Python Users Group (VanPyZ) 2008
- Other languages from a Pythonic point of view: Haskell, Ruby, Erlang, Processing (with Paul Prescod and Brett Cannon), VanPyZ 2007
- Take control of your computer with Python and OS X, Bar Camp Vancouver 2007
- Programming OS X with Python, VanPyZ, 2006
- OS X, Python, and Kids, Vancouver Python Workshop 2006
- Community Building with Blogs (with Nancy White), Moose Camp/Northern Voice 2006
- Using Python and Cocoa on OS X, VanPyZ, 2005
- Creating OS X Cocoa Applications Using XML and Python, Vancouver XML Users' Group 2004
- PyGame: Implementing the big ideas from little developers, Vancouver Python Workshop 2004
- Chapter (co-author): DuBot: An Open-Source, Low-Cost Robot for STEM and Educational Robotics (Handbook of Research on Using Educational Robotics to Facilitate Student Learning, 2021)
- Paper (co-author): Designing Participedia: A Collaborative Research Platform (PDC '20: Proceedings of the 16th Participatory Design Conference 2020 - Participation(s) Otherwise - Volume 2, 2020-06)
- Blockcode (chapter): Architecture of Open Source, Vol. 3 (AOSA Books, 2016)
- XML Matters: Lighter than Microformats: Picoformats (IBM developerWorks, 2006-08)
- XML Matters: Up and Atom (IBM developerWorks, proposal accepted, 2006-05)
- XML Matters: Pipestreaming Microformats (IBM developerWorks, 2006-04)
- XML Matters: The web, it ain't just for 2D anymore (IBM developerWorks, 2005-06)
- XML Matters: SVG and the Scriptless Script (IBM developerWorks, 2006-06)
- XML Matters: Beyond the DOM (IBM developerWorks, 2006-06)
- Python Cookbook 2nd Ed.: Building a Python Cocoa GUI Programatically (O'Reilly, 2005-03)
- Browser Evolution: Document Access on the World Wide Web (Master's Thesis 1998-03)
- Digital Flipbook Animation, episode 1: Introduction to Shimmy 2021-01
- Digital Flipbook Animation, episode 2: Principles of Animation 2021-01
- Digital Flipbook Animation, episode 3: Animation Tips and Tricks 2021-02
- Programming for Fun with Scratch, episode 1 Intro to Scratch, implement Pong, how to make sprites jump, 2021-02
- Programming for Fun with Scratch, episode 2 Build a platformer game and import custom graphics, 2021-03
- Programming for Fun with Scratch, episode 3 Build a story game and incorporate sound in our games, 2021-03
- Programming for Fun with Scratch, episode 4 Discuss simulations, build Langton's Ant, look more closely at custom blocks, 2021-03
- Programming for Fun with Scratch, episode 5 Build basis of a top-down adventure game, use the Music extension to play notes, extend it to play chords, 2021-04
- Programming for Fun with Scratch, episode 6 Build Asteroids and look at advanced movement techniques, 2021-04
- Kids can play tabletop games online, episode 1 Getting started with tabletop role-playing games for free or cheap, 2021-03
- Kids can play tabletop games online, episdoe 2 Online privacy and safety for kids 9-12, 2021-03
- Kids can play tabletop games online, episode 3 Role-playing games that are fun for kids 4 and up, and the whole family, 2021-03
- Kids can play tabletop games online, episode 4 Resources to help run a game without a lot of preparation, 2021-04
- Kids can play tabletop games online, episode 5 How to use pre-written modules and other resources to get started quickly, 2021-04
- At your library you can... ...write a pick-your-path adventure! 2021-04
- TurtleLang Text-based language to complement Bloc and demonstrate parsing using Ohm: 2022
- Spectrescope Halloween project to see the ghost inside of you: 2022
- Waterbear Next Re-working of Waterbear visual programming language to fix long-standing issues: 2022 (very preliminatry, ongoing)
- Moonshine Text language for visual programming: 2022 (very preliminatry, ongoing)
- Escape the Library Text adventure game: 2021
- Cody Vandango Teen Summer Reading Program Game, in 7 parts: 2021
- Colour Vector Fields Visualization using Perlin noise, vectors, animation: 2021
- Posenet Video Machine learning, video manipulation: 2020
- JavaScript Text Adventure Game Tutorial for JavaScript for making a game: 2020
- Covid Timekeeping Tiny tool for tracking time during the pandemic
- Sketchdance: Shimmy Simple animation tool for children: 2020
- Bloc Improved (esp. for mobile) version of minimal block language used in 500 Lines book: 2020
- Sketchdance: Moat Secure file sharing for library programs: 2019
- Sketchdance: Garden Collaborative (in both creation and play) text adventure creation tool: 2019
- Magic 8 Ball JavaScript demo project: 2019
- Book City: Superheroes: Alternative Reality Game for Richmond Public Library Teen Summer Reading Club: 2019
- Moon Animated Art project in collaboration with Azlen Elza: 2018
- P5 Video Puzzle Sliding Block Puzzle using Webcam: 2018
- Slitscan Horizontal Video Effect: 2018
- Imagetoy: 2014
- Life: Conway's Game of Life in the canvas: 2014
- Drawing Board Revisited: Rewriting the Drawing Board app for the web: 2014
- Hexaflexagon builder: Web-to-papertoy tool for Open Badges: 2013
- Baffle: Word game for mobile browsers: 2013
- Paley Tiles: Animation tool based on work by Nina Paley: 2013
- Beehive: A simple test of hexagon web layout: 2012
- Everybadge: SVG demo for Open Badges: 2012
- Goodnight Moon: My entry in the CSS1K competition: 2012
- oBloq: Polyglot literate programming: 2011
- I Don't Stop: Experimental audio app for iOS: 2011
- Translink: Vancouver transit for iOS: 2008
- iHypno: Mind control for the rest of us iOS app, 2009
- Pastel Finger: Finger Painting for the iOS, 2010
- Waterbear: Visual programming for the web, 2011-present
- Living Code Weblog: My outlet for ideas, tutorials, jokes, and soapbox grandstanding, January 2001-present
- Sandcastle: A tool for blog-based documentation and brainstorming, 2006
- Conversation Networks Uploader: Pre-processor and UI for conference audio files
- Drawing Board: A tool for simple sketch-based animation, with SVG export, 2005
- Python DocUtils Project: refactored directives code, added new directives, wrote How-To for creating new directives, 2002
- Interactive Hotlist: An early attempt at shared collaborative bookmarking, 1997-1999
- FreeWord: An experimental web-editable outliner, 1997
- Live from Studio B: The Art of Conversation, participated as monthly guest explaining technical issues in plain language, 1997
- Raised over $1000 for Children's Hospital "Balding for Dollars" 2009
- Conceived of and implemented Distributed DOM (DDOM), several patents granted, others still pending on this technology, 2001-2004
- J. Langdon Taylor Scholarship, 1994
- Computer Science Club Scholarship, 1994
- Athens, OH
- M.S., Electrical and Computer Engineering
- March 1998
- Athens, OH
- B.S., Computer Science (Minor in Linguistics)
- November 1995
Available upon request