My job (real job) sometimes requires me to calculate mortgage payments or lookup loan amortization schedules. I often just google “Mortgage Calculator” and just pick one of the results on the first page. After visiting and using several of the these top results I was underwhelmed. They tended to be hard to understand and usually did not display the results in an easy to consume format. I decided that I wanted to try and build something better. So was born the inspiration for my next project, the MortgageVista mortgage calculator.
Over a year and a half later, a lot of significant effort, and numerous revisions, the calculator is finally to a state that I feel it is ready for release. In reality I see the current version more as a minimum viable product than a fully finished and polished version. But, I think it prudent to release it out into the wild and see if I see any success/demand before pouring anymore time into the project.
Absurdly as it may sound, this project started out as a competition between me and my brother to see who could make the most successful website with just 24 hours. Yes, that very same project took me over a year and a half to get it this far (on a side note my brother has not yet finished his project either so I guess I won the competition). It is important to note that the scope of the project has increased significantly since that 24 hour competition, also, I was very busy with work and life [spent 3 and a half months backpacking Europe]. Needless to say this has never been a full time endeavor, but I do estimate I put at least three or four hundred hours into the calculator by the end of it. [I really do wonder how long it would take a seasoned web developer to complete something similar].
For better or worse, the mortgage calculator will be the next installment to my growing list of web properties. I do have hope that the internet world will find the tool to be useful (and hopefully shareable too). It includes several different modes so people can simply explore/visualize a single mortgage, compare two different mortgages, or examine early payoff scenarios for their home loan. The tool offers numerous display options and was built so I might be able to easily expand it should it prove to generate a lot of traffic. Also, the state of the calculator is saved into a bookmarkable URL. I feel this to be a very significant feature as it will allow users to save the details of the mortgages they are working with or give them the ability to create a link that they can share with others to show them specific mortgage details or information. Please let me know if you have any feedback or find any bugs with the site.
Just throwing this out there for anyone who might be experiencing some crazy PHP errors that don’t make any sense. I have been away from PHP for a while but started working on little project that requires a php back-end. But, right from the get-go I was getting some really simple errors that I knew could not be the issue (such as “unexpected end of file” or simple syntax errors for unexpected strings etc.) At first I thought it might be that I was just a little rusty on the php syntax, but could not figure out what was going on and could not get anything to work. The files I was working with were extremely small and it was obvious the syntax was correct, but the weird errors were persisting. Thing was they were were all occurring at line 1, which was puzzling at the time, but I didn’t give it much thought (which should have been a huge red flag to me). So, it turns out my editor of choice (Notepad++) was only inserting a CR (carriage return) and not the full CRLF (carriage return line feed) not quite sure why this behavior was happening (or why PHP engine could not figue it out), but as soon as I replaced the CRs with CRLFs everything started working as expected. I did not investigate this all the way, but I am assuming this probably has something to do with how my host has PHP configured or something simple like that, but for the uninitiated this can really perplexing (and incredibly frustrating). So, the take away here is if you are having some unexplainable PHP errors that are all occurring on line one, maybe check out what you are using for your EOL (end of line) characters and see if that is the issue.
I came across a little jquery plug-in that I found quite nifty and thought it deserved a shout out. The plug-in is called Transit and can be found here: http://ricostacruz.com/jquery.transit/ The plug-in not only makes css transformations a breeze the end animations produced are incredibly smooth. It is very simple and straightforward to use. Anybody already familiar with jquery .animate() will be able to pick it up with little or no effort. As of version 0.9.12 the minified file is only about 8kb. I built a little game using the plug-in (game to be released publicly in a post to come) and was very pleased with the outcome. I really couldn’t be more happy with the the whole thing with the and figured I would little post it here so A: I can remember it personally and also B: give the project a bit of love so hopefully development will continue.
I am just writing this down for the sake of my own personal sanity. I just spent way too much time trying to trouble shoot why I could not bind a click event to a checkboxes in jquery. This post here gave me a clue what I was doing wrong. If by chance you are having a similar issue make sure that the element you are trying to bind to is already created and part of the DOM or it will not work and you will be left befuddled why exactly nothing is happening (at least I was).
For my next project I am working on achieving a web 2.0 look/feel and wanted to include shadows and gradients. I came across a css gradient generator tool that I absolutely love and made my life easier so I thought I would post it here really quick. You can find it here: http://www.colorzilla.com/gradient-editor/
This morning I decided to do a quick update on my Diablo website. I have not touched the site for a while and thought it would be a painless little update. Problem was I could not get the app to work in my local test environment. The app is hosted on the google app engine and in the GAE SDK I kept on getting this error “”No module named lxml.html”. I fooled around with my app.yaml for a bit trying to see if somehow that was the issue, it wasn’t. I was worried that somehow I corrupted my test environment or something like that because I know I had it working at some time in the past. It was driving me batty.
And once again stack overflow saves the day.
Per this post here: lxml.html error Turns out that the windows distro for python 2.7 does not include the lxml library. I am not sure why my Python installation no longer had the library as it was working in the recent past. I am wondering if with my most recent google app engine SDK update I re-installed Python. Either way, if you are getting a similar error the easy solution suggested by one of the posters in the above stack overflow is to install lxml from the below site.
So, I have come to the realization that I may not have the best ability to pick projects that end up being significant sources of income. In light of this realization, a few months ago I decided it was time to try and to a few “speed” projects rather than invest monumental amounts of time on a single project that more than likely will have lackluster resulted. While in theory this idea seems to make sense, in practice I am afraid once again I fell short of the mark.
While trying to find some decent rates for a personal HSA (health savings accounts) accounts, I found that useful online resources were few and far between. I decided that this might be a perfect niche opportunity to not only track and compare the interest rates offered by different custodians (something I was doing anyways), but also hopefully create a quick little site that others would find useful. I imagined the adsense keywords related to a health savings account site would be higher paying and the structure/layout of the site could be extremely simple and easy. All in all I judged it would be a lightning quick sprint of a project that would have some income generating potential.
I judged wrong (at least on the “lightning quick sprint of a project “ part). If you like, take a look at it here: While I am extremely happy with the final product, I logged about 66 hours so far getting it up and running. I started out using a Google doc spreadsheet as the database as I believed this would be fairly easy to maintain. Realizing that the maintenance of such a site would be significant, as an afterthought I decided to try and integrate with Amazon Mechanical Turk to try and crowdsource a lot of the nitty gritty upkeep. But I failed to account for how long this integration would take, and then how much I actually would have to pay to get the quality upkeep I was looking for. So, in the end, after taking all the time to integrate, I decided that the original spreadsheet idea was a much better idea and switched back (of course I deleted most of the previous versions so I had to rewrite much of it from scratch again). This took much longer than expected. In short, some of the takeaway lessons from the project are: I need to do a better job planning out my projects from the get go, and also I need to keep all of the past revisions (even if I don’t think I am going to end up re-using them).
So despite being disappointed by the much longer than expected time frame, I think the site turned out looking pretty good and could be quite useful for anyone looking to compare rates on HSA account. If by any chance you are looking for for a HSA account check the site out here: HSA Rates As of yet there is next to no traffic to the site and of course this means as of yet it has not produced any real income. I am hopeful however that as the site gets indexed and gets some backlinks it will help improve income rate and bring me closer to my goal.
So, I it took me some time figuring this one out and figured would write it down so I won’t forget For one of my projects I was trying to add rounded corners to individual table cells. However, it was not working as expected and it was not clear to me why. I came across a hint found here in this post: http://stackoverflow.com/questions/10904075/table-header-with-rounded-corners-and-border Turns out the trick is that you must add: “border-collapse: separate;” to your table or trying to round your individual table cells will not function as expected.
Here is a nifty little trick I found on a post from StackOverflow. I usually prefer to “relatively” position elements in my pages so that I can have a more fluid designs. However relatively positioned elements are not taken out of the normal flow of the document and so often I am left with a big ugly blank space where they would normally be found. This can lead to all sorts of issues especially when you try and relatively position every element thereafter to cover the ever growing blank spaces. Here is a novel solution that will create a 0 height 0 width pseudo-relative element to wrap around a absolutely positioned element to give you a relative reference point that will not leave that dreaded big blank space.
<div style=”position: relative; width: 0; height: 0″>
<div style=”position: absolute; left: 100px; top: 100px”>
Hi there, I’m 100px offset from where I ought to be, from the top and left.
Taken From: http://stackoverflow.com/questions/6040005/relatively-position-an-element-without-it-taking-up-space-in-document-flow
For several months I have been trying out two different small time ad networks to see if they were viable methods to produce extra income. The first one (Adbrite) went out of business after about ($10 of income over about a year). The second one (Project Wonderful) I really did like the idea and service, but after about a year of having their ads run on a few of my sites, my total income from them is around $8. So in the end It looks like they were not even worth the time I spent installing their ads.
Also, just for archival purposes, (as I am not actively tracking the changes in my overall income per hour) currently I estimate I have earned about $0.91 per hour I have invested in this experiment.