Skip to content

Latest commit

 

History

History
200 lines (138 loc) · 10.2 KB

README.md

File metadata and controls

200 lines (138 loc) · 10.2 KB

About Me

This is a landing page for my GitHub profile, to help you navigate my repos. If you are overwhelmed by the dozens of repositories listed on my profile, you are in the right place. I'll also link here when applying for jobs, so that recruiters / hiring managers don't have to go digging through my profile to find useful information about how I write code and communicate on projects.

I intend for this page to be comprehensive, so if you are looking for some repo in particular, a search for the repo name should bring you to the right place.

Table of Contents

Repos

My Projects

These are open source projects that I have started, with the intent to be used more widely (though some may still be incomplete).

Name / Link Description
Big Gollum A rails app that lets you make, browse, edit, and eventually control permission to gollum wikis. Created by @oponder, I became co-maintainer after helping develop it, and later the project was given to me.
Codeception Data Selector A Codeception extension to automatically select data from DB based on certain conditions.
Emacs Auto Formatter An Emacs plugin to automatically format code according to user preferences. Still WIP.
Emacs Org EBS An Emacs Org-Mode implementation of Joel Spolsky's Evidence-Based Scheduling.
Git Kraken Boards Exporter A Python script to export data from GitKraken Glo Boards using their API.
git-rstash A simple Git extension to transfer stashes to and from remote repositories.
ledger-autobot A bot to automatically run ledger-autosync and submit a Pull Request with the result. Currently delaying work on this until I can automate the download of OFX files from banks that don't support OFX Direct Connect.
sqrl-qt Beginning of project to implement a desktop client for SQRL. No recent activity due to lack of time, and other higher priorities, but may come back to eventually.
XP to Emerald Plugin Plugin for the Bukkit Minecraft server to allow users to convert XP to Emeralds and back again. Not updated recently for same reasons as above. Original commit in 2012 (!), and it needs some major refactoring, but It Works! ™️

Distribution of 3rd Party Code

These repos were for the most part not developed by me, but I packaged up existing code to make it easier to distribute for my needs.

Misc

Placeholders

These projects are not very far along in their development, and are mainly here as placeholders for things I want to do in the future.

Examples and Interview Projects

These are projects that were written either for fun or as part of an interview, and are published here to give examples of how I write and manage code.

Name / Link Description
Java Chess App Example project I created in Java while still in school. Not updated much since then.
rpn-calculator A command-line Reverse Polish Notation (RPN) calculator, written as part of the On-Site interview process.

Personal Configs

These are personal config files and scripts for various programs. While I publish them here on GitHub, I don't expect them to be used widely (though I have no problem if they are). The more likely use is someone may be looking for a solution to a specific problem and find it in one of these repos.

Name / Link Description
emacs-init Public portion of my configuration for Emacs.
git-template Template for new .git folders.
i3wm-config My config for the i3 window manager
scott-script Various Bash scripts that I use. Some of them may be useful for wider audiences, but those should probably be extracted to separate repos eventually.
scott-server-scripts Same as above but for scripts that I only need on servers.

Third Party Projects (Forks)

Below are some selected contributions to third party projects. Most forks are made with the intent to submit PRs against upstream, but I'll note here if they have any other uses.

ledger-autosync

Source
https://github.com/egh/ledger-autosync
Fork
https://github.com/501st-alpha1/ledger-autosync
Source Description
Synchronize your ledger-cli files with your bank.

From the README:

ledger-autosync is a program to pull down transactions from your bank and create ledger transactions for them. It is designed to only create transactions that are not already present in your ledger files (that is, it will deduplicate transactions). This should make it comparable to some of the automated synchronization features available in products like GnuCash, Mint, etc. In fact, ledger-autosync performs OFX import and synchronization better than all the alternatives I have seen.

My contributions:

  • Match autosync payee

    New feature to allow renaming payees to a more reasonable value in Ledger files, but still match with what bank says they are. Discussed design of feature prior to implementation, in issue #25. Also added automated test for new functionality.

  • Get adjusted memo

    Follow-up to above PR, allowing matching to be applied to MEMO OFX field if bank uses that instead of NAME. Again discussed design prior in issue #71.

  • Add argument to specify ofxclient config file

    Small change to allow specifying which config file to use, so I didn't have to edit the hardcoded path of $HOME/ofxclient.ini every time.

  • Opened various other issues that I didn't implement solutions for myself (at least, not yet); see here.

ledgercalc

Source
https://github.com/artisancomputer/ledgercalc
Fork
https://github.com/501st-alpha1/ledgercalc
Source Description
multifunction + variables RPN calculator for ledger

ledgercalc is a Python script to perform simple calculations on Ledger balances.

My contributions:

  • Allow filtering transactions by payee

    Added ability to filter transactions included in balance by payee, rather than only using raw account balance. Discussed improvments in PR comments; now waiting on owner to merge.

Formatting, typos, and misc small fixes

Because no pull request is too small!

Other

TODO: Add repos.

Contributing

If you see a missing repo, feel free to open an issue, or if you can guess where the repo should be, open a pull request.