My Software Code
By EricMesa
- 5 minutes read - 952 wordsI believe in open source and giving back to the community so here are my programs.
You can visit my Github Profile page or browse by categories below.
Atmel CPU Chips
Cornell Projects
During my undergrad at Cornell, I worked with Rich West to create software in C for the Atmel programmable CPU. We released our software to the general public under the GNU GPL license.
Our first program was to use the Atmel to create a reaction time timer, accurate to within 1 millisecond. We used the Atmel and a 2x16 LCD screen. You can access it on Github.
For Project 2 we had to simulate cricket calls with the Atmel. Output was through a spliced RCA cable to a black and white tv. We had to taken in different parameters as entered through a keypad of frequency, chirp length, chirp silence, and others. For use in further labs, Rich developed a keypad library.
You can access it on Github.
For Project 3 we created a security system which consisted of an end user typing username and code into the keypad and a security guard accessing the system over RS232 serial cable using Window’s Hyperterm. For this project, use the the updated keyboard files from here. In the project code removing the #define EXTRA_CREDIT will make it the base 4-digit code system, otherwise it is a username/password system. The keypad page for this lab explains how to use it for typing letters.
You can access it on Github.
Here is our final project for the class - a web server on an Atmel Mega32!! Below I have linked to the main C file as well as a zip containing all of the files necessary. Enjoy it!
You can access it on Github.
The report we submitted for class. Much of this is covered in comments in the main C file
Arduino
BBQ Thermosta t - An Arduino Controlled Thermostat. More info at: https://hackaday.io/project/166703-bbq-thermostat
Bash Scripts
I have moved these to my github page as well as adding in a few other bash utilities. Check that out here
flac2ogg - have flac files you want turned into ogg files? All you need is oggenc and this script. It is currently bare bones and barely interactive, but I hope to update it in the near future
ripDVDaudio - I learned the hard way that ripping audio from vob files is a pain in the arse - especially because they use the a52 codec. Well, no biggie. With my script, mplayer, lame, and a52 decoding software you can have that soundtrack in no time. Great for movies like Snatch where you can just listen to the lines and crack up without having to see the accompanying visuals.
Python
Soundex Utility
Sure, some of the genealogy sites have Soundex conversions built-in, but what if you need to figure out the Soundex codes for your surname and don’t have internet access? Or what if you just want this module to then search your family surnames for similar soundex codes? Then use my code!
soundex.py will give you the soundex code generation code. This is currently just a verbatim copy from the code provided in “Dive into Python” by Mark Pilgrim. I may update or toy with it in the future
soundex_me.py - run this file to get a nice interactive interface for using the conversion code in soundex.py. You need to download BOTH of these files and put them in the same directory. Then run this one by typing python soundex_me.py
Find out about Soundexing and Genealogy at http://www.avotaynu.com/soundex.html
Pydvdauthor
I was looking for a way to create a DVD with chapters on Linux after my windows program went kaput! So I wrote a program to create the XML file dvdauthor nees to create the DVD file structure. (now on Github!)
Games with Pygame
These games were created by modifying the code from Linux Format Magazine. (now on Github! (for some of them anyway))
PyInvaders - Space Invaders clone
PyRacer - 80s-style arcade racing game
PyShifter - a tile-shifting puzzle
PyHanoi - Tower of Hanoi game
Amortization Calculator
Python Amortization Calculator
A blog post about an older version I did with QML for the GUI.
Last.fm top 3 artists to Twitter
Lastfmtwitter - post your top 3 artists to twitter.
Snap-in-Time
A script for btrfs backups to create hourly snapshots and backups and cull the snapshots and backups. Get it on Github. Don’t know what that is? Check out my blog post.
**ELDonation Tracker
**
A utility to provide data for Extra Life live streams.
mqtt2db
Python project to take mqtt data and put it into databases.
Go (golang)
Dreamhost
dreamhostapi - for accessing the Dreamhost API
dreamhost_dns_go - it will take a list of domains and make them match the outside IP of the computer on which it runs.
Misc
lastfmmastodon - post your top weekly artists to your Mastodon account
nasa_bg_dl - download the NASA image of the day to use for your desktop background
C#
Unity Games
Text101
A Choose Your Own Adventure-style game. Part of a 2D Udemy class project.
Tilevania
A 2D tilemap platformer made in Unity while following the GameDev.TV Unity 2D Class
Glitch Garden
A Plants Vs Zombies clone from my Udemy Class
Laser Defender
A Galaxian/Galaga clone from a Unity 2D Udemy Class I’m taking
Block Destroyer
An arkanoid or brick breaker clone from the Unity class I’m taking
Web-Based
Monty Hall page where you can test the Monty Hall “Paradox” by running through it many times over. A description of the Monty Hall “Paradox” is available off that page.
Vietnamese Zodiac / Chinese Zodiac - enter your birth year and find out what animal you are.