Recent Updates

I realize it’s been a while since I’ve had any sort of update whatsoever. Main reason is I got a new job as a Software Developer. Finally!


I’ve been learning Grails and AngularJS, and after having done extensive work for almost a year with primarily AngularJS, I’ve decided to re-write my Magic the Gathering webapp as well as my Diablo 3 character sheet (in addition to including more features in it). AngularJS’s two-way databinding makes things SOOO much easier.


And I’ve also started a new project: a chrome app to be able to control Philips Hue (and, if feasible by myself, other compatible products).


So, updates may not come that frequently, but they’re happening behind the scenes. I’ll likely post another update once I reach some sort of milestone with one of my projects.



Diablo 3 Character Sheet

Development Status: Stable – Beta

Click here for the Change Log (NYI).

Click here for a list of planned features / work remaining (NYI).

Click here to go to the web app.

Main Features:

  • Pure HTML5 / CSS3 / Javascript web application
  • Permalink to specific characters
  • Item hover details
  • In-game details window
  • Link to skill calculator / official profile
  • Click stat to highlight gear that has it

Development Notes:

I wasn’t too impressed with the “live” character profile (specifically the lack of details), so I decided to try making my own. The official API is broken for the most part (no ETA on when it’s fixed, seems like a low priority), so I’m trying getting the stats from both the API and from the gear itself…but it’s only as accurate as what’s reported.

Status update

New Job!

Development has been pretty much non-existent for a couple months now. Putting forth focused effort on developing web applications that I could add to my resume paid off and I got a job as a Software Developer (primarily using Groovy / Grails, which is new to me). Since then, I’ve been more formally introduced to Linux, Git and Jira for bug tracking.


With my recently acquired experience, I’ve spent the last two weekends getting a 64-bit Ubuntu 14.04 LTS virtual machine up and running at home for local development. I created a bitbucket account and a repository for hosting my website projects and made my initial commit this morning. Now I can do development without pushing every subversion change I was making locally and checking it on my website (curse you cross-origin ajax requests!)
Now all I need to do is find a new hosting provider that supports git. I’m currently looking at A2Hosting which has git, wordpress and mantis bug tracker “pre-installed” (1-click install available). It also has unlimited addon domains so I can roll out some of these web applications as “stand-alone” applications. But really, I’m mainly looking forward to being able to use git and have some form of bug tracking solution in place for when I, or in rare cases another user, discovers a bug. Then I’ll be able to fix it!


Development will be relatively slow in the foreseeable future (especially for “new” projects) as it requires a new host so I’ll mainly be confined to bug-fixing / completing partially implemented features. I expect by the end of the year, I’ll have successfully transition from WestHost to a new provider and be up and running with git and my local development machine.

Medication Reminder

Development Status: Active – Beta

Click here for the Change Log.

Click here for a list of planned features / work remaining.

Click here to go to the web app.

Main Features: (implemented or pending)

  • Pure HTML5 / CSS3 / Javascript web application (compatible with computers and most smartphones)
  • HTML5 localstorage for offline usage
  • Medication repetition similar to Google Calendar event repetition
  • Auto-complete pre-populated with ~1500 prescribed medications
    • Generic and Brand Name
  • History of actual time medication was taken
  • Scheduled notification reminders to take medication – Planned (dependent on PhoneGap’s capabilities)

Development Notes:

This is my first project using Subversion for version control, and I’m glad to have it up and running. Now I can work on this project (and future projects) from anywhere. The change log will also be populated by the Subversion commit comments…hopefully.
This project started off as a proposition from my sister, which I agreed to; realizing it would not only give me more experience developing web applications but also another project to include on a resume and serve as an example of work.
I quickly implemented an idea of a simple one-touch method to let the app know you’ve taken a medication, found here. (Click the “Add Pill” button, give it any name and click “Add”, then click the check icon to see it record the timestamp)
From there I began researching HTML/Javascript based event calendars but was unable to find anything free that completely met my needs. I first tried FullCalendar (see attempt here), but that did not have built in support for repetitions. I glanced at an iCalendar implementation (since iCal is a standardized format with support for repetitions) but it was only for generating iCal events without any actual calendar rendering.
Then I settled on jQueryUI’s datepicker. I was able to change it to a fluid layout sized calendar and populate the days with information. Even though FullCalendar could already do this, I wasn’t able to quickly figure out how to implement repetitions using their format whereas with jQuery UI’s datepicker, there was no format so I could use whatever method I was using to keep track of the data.
With the calendar view decided, the last major hurdle was implementing repeating events. Not knowing what format to use, I decided to mimic Google’s Calendar repetition, which worked quite well. For storage, I’m simply keeping track of any event IDs associated with a particular date.
Just about all that’s left is touching up the user interface (adding success / warning / error CSS classes and fixing errors in the expected logical flow of the user interface) and then I’m ready to convert it to a PhoneGap app to try implementing scheduled notifications.