FreezeMessenger

An advanced Instant Messaging platform implemented through a REST-like API, PHP, a generic database access layer, and a Bootstrap-powered primary interface that displays information without page navigation. Notable features:

  • Event streams provide functionality for getting new messages, being informed of new messages in watched rooms, tracking which users are currently typing a message (and when users go offline), and more. Plus, most of this functionality works if event streams are disabled.
  • Redis, Postgres, and Apache Kafka can be used for the lowest possible event stream latency.
  • Users may, if allowed, create their own rooms and open direct messages with other users. Rooms can permissioned to only allow specific users and specific usergroups.
  • Files are easily uploaded, and thumbnails are generated for inline message display.
  • Integration with PHPBB and vBulletin is supported, as is single-sign on with Google, Twitter, Facebook, Steam, and Reddit.
  • In addition to fallback disk caching, APC, Memcached, and Redis can all be used for blazing fast cache performance, used to optimise the performance for checking usage rights, flood detection, and more.
  • Compatible with MySQL, PostgreSQL, and SQL Server databases. Supports fulltext message searching with all three.

My Experience

Web Development

I have 10 years of full-stack web development experience, starting from when I was in highschool, with skills including PHP, Laravel, and Java EE on the backend, Javascript and Typescript for frontend scripting, and CSS and Bootstrap for frontend styling.

Application Development

I am a skilled application developer, experienced with C, C++, and Java, and have written multiple applications with JavaFX, including the JavaFX frontend for FreezeMessenger.

Mentorship

I have always tried to help people learn and succeed, and was a supplemental instructor at Normandale Community College and frequent tutor throughout my time in college.

Joseph is highly knowledgeable about web development. He is capable of quickly understanding his clients’ needs and constantly delivers results on time and at a great value. He has in-depth knowledge of web programming and is able to design aesthetically-pleasing website templates. I highly recommend Joseph. [Check out Sean’s website!]

Sean Cooper, Author of Burn Your Mortgage seancooperwriter@gmail.com

Reversi/Othello

A simple Reversi/Othello game, written originally in Java EE and later ported to PHP/Laravel. Uses Bootstrap for presentation, and implements move hinting, end-game checking, and the standard rules of Reversi/Othello.

As a bonus, this Reversi game supports custom board sizes!

Connect with Me

MirrorReader

A reader for Heritrix (archive.org) site archives created with the MirrorWriter module.

It can read archives stored in .zip, .rar, .tar.bz2, and .tar.gz archives, though .rar is the only recommended format in most situations. (It can also, of-course, read the normal directories written by MirrorWriter.)

MirrorReader also comes with its own limited spider, which scans the HTML of all files in an archive, looking for and downloading broken links.

Console Blackjack in C

A simple yet highly configurable console blackjack implementation in C. Features:

  1. Supports multiple decks, and keeps track of the cards left in the deck (so, you know, if you wanna practise card counting, here’s a great opportunity).
  2. To establish rhythm, the game will pause between cards being dealt and actions.
  3. Multiple hands can be played, and splits are fully implemented. You could play a thousand hands at once, if you wanted to!
  4. Custom multipliers can be specified for blackjacks, surrenders, and doubling.
  5. For less experienced players, card counts can be shown between hands.
  6. Your won/lost money will be saved to disk at program exit.