Skip to content

dgilman/about_me

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 

Repository files navigation

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!

About

My personal projects and interests

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published