Skip to content

Latest commit

 

History

History
97 lines (79 loc) · 7.73 KB

README.md

File metadata and controls

97 lines (79 loc) · 7.73 KB

David Gilman's personal projects and interests

Software projects

  • Co-founder and full stack developer.
  • Implemented the entire website. Used the Flask web framework, PostgreSQL database, lxml XML/HTML parser and GraphViz technologies.
  • Implemented a novel content generation system that gives SEO-friendly, textual content to all pages.
  • Implemented internal SEO best practices over the entire website and designed an internal SEO style guide.
  • Implemented a spreadsheet-oriented data collection and review system built on a homemade application framework on top of Python's asyncio library. Wrote asyncio wrappers for the Google Spreadsheet API, PostgreSQL and internal REST APIs.
  • Rewrote the entire front end on the AMP Framework to optimize mobile performance, page size and search ranking.
  • Wrote a Python asyncio wrapper library around the gspread Google Spreadsheet API library.
  • In addition to wrapping the existing API wrote lots of useful logic around managing credentials, rate throttling and error handling and retries.
  • Documented everything.
  • Published the package to PyPI and set up continuous integration and deployment with Travis CI.
  • Click anywhere on the map to see where your poop goes (the downstream flow of sewers from your location)!
  • Scraped the city of Omaha's sanitary sewer data into a PostGIS database and built a Flask web app around it.
  • Coming to a city near you soon! If your city has public sewer data let me know and I'll add it.

Inger

  • Link not available - ask for details!
  • Written in Python with the Flask web framework, SQLite3 database and Leaflet.js mapping library.
  • Project included a web scraping component, a data processing and statistical aggregation component and a growing, gigabyte+ SQLite database.
  • Several interesting and educational experiences with performance tuning.
  • A new Flask backend and Angular 9 frontend built over the old Inger database.
  • Continuous deployment set up with GitHub actions to run frontend and backend tests and lints, create a PEX image and a Docker container, push the container to Google Cloud and deploy to a Google Cloud Compute Engine instances on every push to master.
  • Solid test coverage on the Flask backend.
  • Implemented a web scraper for Charlotte-area animal shelters that tweets the newest pets in shelters. Used the Python, lxml and SQLite3 technologies.
  • Python library providing a cross-platform API for file extended attributes. Works on MacOS X, Linux and FreeBSD.
  • SCOTUSwars is an interactive exploration of Supreme Court cases states have filed against one another.
  • Implemented in Python and plain JavaScript.
  • Co-maintainer. Did ongoing maintenance on the library including the Python 2 to 3 transition.
  • File system browser written in the Flask web framework. Has some neat features around bandwidth usage measurement.
  • Python asyncio application that echoes group chat conversations between chat networks.
  • Python library that abstracts over xattr APIs on Linux, MacOS X, FreeBSD and NetBSD.

Writing

Other websites

Packaging work

  • Converted the build system to CMake, got CI and CD working on Windows, MacOS X and Linux with TravisCI and Appveyor
  • Built Debian packages for ngx_brotli in GitHub Actions and hosted on GitHub Releases
  • Contributor and package maintainer to the MacPorts package manager.
  • Enabled curl's support for HTTP compression. MacPorts actually pre-dates curl's support for HTTP compression and nobody thought to add it until I saw it was missing a decade+ later.
  • Got the Debian packaging building and publishing to GitHub via travis.ci.

Miscellaneous work

GitHub profiles

I prefer to keep a separate account for each employer to keep proprietary company code off of my personal machines. You should too!