Patrick Niemeyer
pat@work:/home/pat
Learning Java, the first book in the O'Reilly Java series is one of the top-selling Java
books in the industry. Available worldwide in nine languages and used as the text for many University Java courses.
Winner of a 2001 Reader's Choice award.
Source code for the book examples is available on GitHub.
Developed the BeanShell Java Scripting Language.
BeanShell is a Java syntax compatible scripting language used for
scripting extension, configuration, and testing as well as teaching and educational
purposes. BeanShell has been used in hundreds of commercial and open source applications ranging
from financial rules engines to games.
Working with Jay Freeman and Steven Waterhouse at
Orchid Labs Building a
stochastic nanopayment system
on Ethereum, supporting a decentralized bandwidth market and cross-platform,
mobile and desktop VPN application.
Orchid is a fully open source project including
the Orchid VPN server,
mobile and desktop client apps,
and
management dApps.
Worked with Dr. Daniel Kraft and Bruno Bowden at the World Health Organization
to develop the World Health Organization COVID-19 App during the onset of the pandemic in
spring 2020. The app was designed to provide hyper-local and language-localized
information.
IEEE Article - A 'Waze' for COVID-19
Co-founded Present Company with Bob Lee and Janete Perez. Present was a novel,
location-based social network and mobile app with a focus on privacy and womens'
networking.
The entire codebase is now public on the Github repo along with some photos of the team.
Fast Company article,
Cheddar TV interview,
Brit+Co article
ML Experiments
- Several GPT projects including dataset generators for simple arithmetic, string reversal, and basic descriptions of grids of colored squares (similar to the ARC challenge puzzles).
- Compare training an autoencoder on MNIST using a genetic algorithm vs. an evolutionary strategy.
Worked with Karl Stiefvater on his Generative AI, neural style transfer startup: Pikazo.
Scaling and performance. Early experiments with temporally consistent neural style transfer for video.
An article with some experiments in using a VGG object recognition network
trained on faces to guide Memoji (avatar) design by ranking similarity.
Back then we had to use Lua for Torch! :)
This short article is a developer-level introduction to polynomial commitments in Python using the ckzg library.
Some thoughts on dealing with eventual consistency in data and async server calls. A small extension for RxSwift.
Swift Utilities
- j2swift - A minimal Java to Swift transpiler().
- PresentCardScroller is a nice looking card scroller UI in Swift.
- PresentTableViewModel is a simple fluent API for creation of Swift UITableViews using your model and cell classes.
- Easing Functions - Robert Penner's Easing Functions ported to Swift.
This was an experiment in using the depth information from the iPhone camera to
simulate a different lens focal length and perspective distance. The idea was to
give the appearance that the photo was taken from farther away with the same
field of view (producing a "flatter" image), which might be useful for taking selfies.
WebGL shader code.
Worked on advanced analytics and trade desk applications for
Banc of America Securities, Wells Fargo, and PIMCO
financial institutions.
Printable resume pdf.
Expert witness source code review, analysis, and testimony in cases involving
JPMorgan Chase, Facebook, Google, YouTube, and others.
Details in my Printable resume pdf.
Senior Software Architect, Finance (2001-2005)
Design and systems implementation for
Edward Jones, A.G.Edwards, Federal Reserve Bank of St. Louis.
Printable resume pdf.
3D Printing and OpenSCAD Projects
- OpenSCAD Cup Holder Phone Mount.
- OpenSCAD Press-fit Acrylic Printer Enclosure.
- Hamster Land! - A collection of 3D printable hamster items that I made with my daughter, including an OpenSCAD customizable hamster wheel.
A fun, layout design app I made long ago to help you arrange framed photos on your wall.
I handed off the rights to someone else so I can't post the source, but I think it was
pretty cool and wanted to show it off.
Here's a little video of it made with Final Cut and a GarageBand loop.
A "speedometer" for fidget spinner toys, but more
generally this was a neat visual frequency meter. The (messy code never really intended to be public),
evaluates live high-framerate
video and, in real-time, performs an autocorrelation to estimate frequency
and annotate regions. Here is a little video.
This was a little app that let you control your Philips Hue lights with music and special effects.
It involved reverse engineering the Philips Hue protocol and the UPnP bulb discovery mechanism.
Philips has a proper API now, so I think this code is obsolete.
Sometimes I like to pretend I'm in Star Trek.
A little experiment from the early days of video processing on iOS.
It implemented a "skeletonize" effect on real-time video capture.
This would be easier now with Metal :)
Member of JCP expert groups JSR-274, JSR-223, and JSR-283 which defined new language features
and APIs for the Java programming language including the javax.script API,
Java Content Repository API, and other scripting language standardization efforts.
Home Automation Stuff
- A simple "top" command cli tool for the SPAN.io smart panel.