Job searching... The Developer way
So I am looking for a job at the moment (something in Php if you had not guessed) and got kinda sick of looking at the same jobs on all the different sites. As one would do, I wrote a feed aggregator, over the weekend. Added some logic to it to remove spam and duplicates so there is less running around on all the sites, extract vital information so I could see at a glance what the job is all about and then some geo location so I could see where / how far away it was from me.
When it was starting to come together, I figured it was actually a pretty good idea so started cleaning it up and getting it usable by the “general public”. I wrote it as a plug-in to Infinitas which made it pretty simple as there is already a datasource [1] that can get just about any XML just like a normal Model::find(), and a few other hand things.
To some extent geo location is integrated into Infinitas. The current code base has IP to Country using MaxMind's [2] geo location. They also have IP to City but that was not integrated into Infinitas yet, but is now. If you want to use it though you will need to download the dat file as its around 30mb.
All the heavy lifting is done in the shell, so it will all run on cron jobs once I have the code fine tuned. At the moment its pulling from 6 job sites and can pull a few thousand jobs in a matter of minutes. Sifting through all that data is another matter, which still could do with some optimizing.
Another interesting thing that I did was create a helper for googles static maps.[3] This is very similar to the google charts helper that I did [4] but was much easier. It also includes cache in the form of getting the image and saving it to your server. Google has changed the api limits on the static maps to be user based, where each user can do 5000 images per day, so its not really needed but just think if the are using other sites with the same maps, they will get a little error icon instead of the map. The code is Php5.x.
There is a bit more to all of this so ill put it in some other posts with more details.
- [1] XmlSource.php
- [2] MaxMind geoLocation
- [3] StaticMapHelper
- [4] ChartHelper