Zachary King
  • Home
  • Blog
  • Programming Projects
    • Games
    • Python
  • Digital Artwork
  • About
  • Home
  • Blog
  • Programming Projects
    • Games
    • Python
  • Digital Artwork
  • About

Oink - CLI Budgeting Tool

View @GitHub

Picture
Picture
Oink is a command-line application for budgeting. I forked Oink from geekforbrains@github when it was an infant, with barely any implementation at all. With Oink, you can create multiple accounts that you would like to manage budgets for. You create monthly budgets and link them to an account. Next, you record transactions and if a budget category is specified, the budget for that month is affected accordingly. Lastly, you can generate reports with Oink in the format of plain-text, HTML, CSV, and PDF; these reports detail account information such as total balance, monthly income, monthly expenses, transaction history, budget results, and more.

When you install Oink, a ~/.oink/ configuration directory is created; in this directory you can customize global color settings for the interface such as headers, input prompts, informational output, error output, warning output, and more. All Oink data is stored in a user-specified location in a SQLite database (I recommend storing in a Dropbox, Drive, or other cloud folder). Oink is one of my most recent projects and I have many more plans for it--one being to create a Django web application version, which would be hosted on AWS (Amazon Web Services) and provide graphical web interfaces and easier access.

Pyncil - Python-Exclusive IDE

View @GitHub

Pyncil - Python IDE
Pyncil is the last GUI text editor I built. Pyncil was written in Python and uses the PyQt4 library. I wrote Pyncil with an IDE (Integrated Development Environment) approach in mind, which I decided to focus towards the Python language. The entire application is written in Python, which further honors my bias towards the language. 

Features of Pyncil include, but are not limited to, the a toggle-able line number bar, syntax highlighting, auto indenting/unindenting, and script execution. Pyncil is very customizable; although I wrote the application to be used primarily for Python, custom syntax highlighters can be written for other languages with ease (I provided a basic C++ one). Furthermore, themes can easily be created and edited by the user via the preferences menu; these themes are stored as INI files and are therefore also easily editable in their raw form.

Pyrite - Advanced Text Editor

[Full: Download] [Build: Download] [View @GitHub]

Picture
Pyrite was my second text editor, and was also created with Python. Pyrite utilizes the wxPython library for its GUI elements. I wrote Pyrite to be a more advanced text editor than my first (which is not on this page), and so one of the primary goals I had for it was syntax highlighting. I achieved custom user-defined syntax highlighting via a settings.xml file; in this XML file the user can define tags for different languages such as Python, C++, etc. and then specify the item (comments, functions, etc.) and a hexidecimal color code.

FTP Client (Command Line Interface)

View @GitHub

Picture
Picture
This is a simple FTP (File Transfer Protocol) command-line client I made with Python in my early developer/student days. This simple CLI offers basic file explorer options for your remote storage hosts. Two useful features I implemented were the ability to upload and download files easily; the commands for these are a bit more welcoming to users than wget and scp Bash commands which you might be familiar with. 

I wrote this program with Python, and the primary functionality of this program comes from the FTP built-in module for Python.

FTP Client (Graphical User Interface)

View @GitHub

Picture
This is a (very) quick and dirty implementation of a GUI (Graphical User Interface) wrapper I made for the previously mentioned FTP (File Transfer Protocol) client I made in Python. This application uses the built-in Python Tkinter library to construct a simple GUI, but retains the same functionality and usage design as the CLI (Command-Line Interface) version.

Gmailer

View @GitHub

Picture
Another application I made in my infant Python/programmer days. This is a basic GUI program made for sending emails, using the SMTP built-in library for Python. I wrote this application in Python and utilized the Tkinter library for GUI elements. Unfortunately, this will not function properly if you have two-factor authentication enabled on your account.

SMS Application (Graphical User Interface)

 View @GitHub

Picture
This application is actually a slight modification to the previously mentioned Gmailer application, and was made around the same time. I learned that through email, we can actually send text (SMS) messages using carrier email domains. For example, an AT&T cell phone can be reached via SMS with an email to <phonenumber>@att.net. This application utilizes this feature to enable users to send SMS messages using their email!

Chat App (Command Line Interface)

View Client @GitHub  |  View Server @GitHub

Picture
One of my very first server/client applications I wrote (again, back in my early programmer days), this is a simple chat application. Both the client and the server are written in Python, using the built-in socket module. Thus, the interactions between client and server are very basic and low-level. 

Stock Scraper

View @GitHub

Picture
This is one of my first web scraper scripts, written in Python. This script uses BeautifulSoup4 to scrape data from Yahoo! Finance. The program retrieves data for a given list of company stock symbols, and then plots them using matplotlib with some added visualizations.

Top 10 Bills Scraper

View @GitHub

Picture
Picture
Another of my first web scraping scripts, this one is a simple scraper for the top 10 bills from congress.gov. The scraper simply retrieves the data from the webpage, and displays it in the console with the bill's ID and title.