Skip to content

rwhitworth/one-hour-projects

Repository files navigation

one-hour-projects

What one hour of work looks like

Projects in this repo were started and "finished" in one hour. At the end of the hour code was uploaded regardless of final state. The goal is to teach myself the ability to create a workable demo in an hour.

I plan to use technologies I am unfamiliar with for these mini projects. Languages I don't know, libraries/toolkits I haven't used, and design patterns, concepts, etc that are foreign to me. This is about learning not about usefulness.

"Completed" Projects

  • 2015-07-09 - Color Clock. A lunchtime project.
  • 2015-07-09 - Canvas Demo, aka, Random Colored Squares.
  • 2015-07-10 - Trivia Crack Cheat demo. Requires Fiddler and FaceBook's version of Trivia Crack. A lunchtime project.
  • 2015-07-10 - get-repos.pl, a script to list github repositories for a user.
  • 2015-07-11 - c3/d3 charts. A 'baby is sleeping' project of less than one hour.
  • 2015-07-19 - Bowling Scores, a C program to calculate a score in 10 pin bowling.
  • 2015-07-20 - Support for long options with getopt, in bash.
  • 2015-07-26 - Commandline handling in C, sans getopt.
  • 2015-07-29 - RLE encode of A-Za-z strings. Decoder partially working. In C. Code updated later to include decoding and converted to a library, available here.
  • 2015-07-30 - Find reddit.com posts in a subreddit (or the 'all' subreddit) that don't contain any punctuation. Inspired by this post.
  • 2015-08-03 - C DLL used in a C# program. A test of C# interop and C DLL building. Uses the STB library for the few functions the DLL exposes.
  • 2015-12-23 - Outdoor burn day detection and email, in bash.

"Completed" Non-Projects

Work toward other open source projects. This sort of work typically took around an hour to complete.

  • 2014-04-07 - Test::SharedFork perl module fixes for installing in Cygwin environment.
  • 2015-05-29 - bash-tap, bash script to add TAP functional testing to bash scripts. Created tests for the bash-tap script (note the irony of a testing library without tests). Implemented bail_out(), note(), and skip() functions.
  • 2015-07-06 - HTTPSScan, bash script to test for HTTPS vulnerabilities on local server. Added function to test for online host before running, removed 2 false positive tests, and updated for Cygwin environment.
  • 2015-07-12 - Capture::Tiny perl module fixes for installing in Cygwin environment.
  • 2015-07-14 - Encode::Locale perl module fixes for installing in a Cygwin environment.
  • 2015-07-23 - WWW::Shorten::Qurl perl module fixes for new API format required for Qurl. Also identified the Qurl service as no longer functional, and opened an issue with upstream module author to advise of the situation. Fixes to local github repo not pushed upstream.
  • 2015-08-01 - STB library license text needed updated, so a pull request was made. This pull request was sent as a fix to issue 155 opened by the library author.
  • 2015-08-04 - STB library wouldn't compile under Visual Studio 2015. This pull request adds required #include and #define statements.
  • 2015-08-06 - Cleaned up existing code for solving a few Project Euler problems. Written in perl and hosted in my project-euler github repo. Verified all entries are working and run in a few seconds or less.
  • 2015-08-14 - Created builds of the latest MPIR library with Visual Studio 2015. Opened a pull request to make the binaries available upstream. Also added source code to github repository to keep up with licensing requirements.
  • 2015-08-14 - Updated Nini library to compile in .Net 4.6 (in Visual Studio 2015). Pull request to send changes upstream.
  • 2015-10-04 - Added tests for Text::CSV to cover the is_missing() function. The function does not currently work as designed but was unoticed due to a lack of tests.
  • 2015-10-04 - Added tests for HTTP::Message to improve code coverage. Also resolves a bug with how data is encoded and helps catch errors.
  • 2015-12-21 - Updated Pathfinder build process for the Cygwin environment and verified tests on a new platform.
  • 2016-07-25 - Updated README.md for monkey_type Ruby gem to include better 'getting started' steps for new users.
  • 2016-08-05 - Fuzzed lz77 source code and found 10 unique inputs that cause the decompression code to crash.

Future project ideas

  • php detect similar JPEG images
  • autoit automate Windows software
  • powershell to use .net classes to encrypt/decrypt, or compress, or maybe an md5sum for Windows
  • C# screensaver, starting with the time-server codebase
  • C# charting, using Microsoft's solution perhaps?