Last week, I was doing some routine maintenance on my VPS (which I should definitely do more often, as well as writing some more blog posts) and I noticed that one of my cron jobs that backed up some files to Tarsnap was incorrect and silently failing. Now, I could modify this simple Bash script to shoot off an email to me whenever something happens. But I was feeling a bit creative and didn’t want to just write a few lines of Bash and be done with it.
As any software engineer is prone to do, I wanted to build something a bit more cool. That’s when I figured out that this would be the perfect chance to finally do something useful with Notifo. Notifo is an awesome service that provides real-time notifications to a number of devices, in particular to iPhones (although their list of supported devices seems to be rapidly expanding). I’ve been using Notifo just for setting up simple timed reminders and to get notified of replies and mentions from Twitter using push.ly. Getting notifications in real-time of failures would be something great to have.
Using Ruby,, Sinatra and the Notifo gem, I quickly whipped up a small app called Fail Notifier. Basically it’s a service where any application / server can make a simple HTTP POST to where Fail Notifier is running, and it will relay the message to the user in real-time using Notifo. Simple, but very useful. The best thing is that you can use it anywhere to notify you about anything from any app, programming language, server, or anything else that can make a simple HTTP request. For example, I have Fail Notifier installed on my VPS (nginx and the recently-released cURL about some failures, and I also have some notifications for very important background tasks in a Rails app.
Of course, Fail Notifier is entirely open-source for you to do with it as you please. Feel free to fork the code on Github and hack away to your hearts content.
As many other developers, I’ve been experimenting with the different “NoSQL” data stores. Most of them are really great, like Redis, Tokyo Cabinet and CouchDB. My favorite so far, however, is MongoDB. I think it hits the sweet spot between a normal relational databases and key-value stores. After a while playing around MongoDB, I decided to do something with it. That something that I did is called MongoShort.
MongoShort is a very simple URL shortening service, written with Sinatra and MongoDB. I originally wrote this little app to be used as part of a larger Rails application. However, it was mostly done as a way to do something with MongoDB. Particularly, I wanted to start using the awesome MongoMapper library. It’s really a breeze to use all these tools together, and it makes developing small apps on Ruby really fun. I hope someone can grab a copy of MongoShort and learn a bit of the basics of these wonderful tools.
Go fork MongoShort on GitHub now!
Note: Unfortunately, due to some lack of time, plus a large amount of spam comments being targeted at that site, I decided to take it down. Hopefully in the near future I’ll be able to continue this small side-project.
I recently deployed a small Rails app I built in a weekend, called RubyEveryday. In it, I’m posting one article a day about any Ruby-related news, whether it be current news or some code snippets of work I’ve done. My goal is to have it updated every single day, so it should be relatively fresh. Go check it out now, and follow the site’s updates on Twitter. Oh, and don’t forget to follow me on Twitter, too.
Don’t worry, I’m not shutting this blog yet. This will continue to be my main writing source for whatever is on my mind in the techology world, so keep an eye out for new stuff coming your way soon.
Well, it’s been a lot of hard work over the last couple of months (which can explain my absence on this blog), but myself and the company I’m working for finally launched the Beta version of our site on the Internet! The is BarterQuest, and it’s a really great trading site. Okay, so I might be slightly biased, as I spent the last five and a half months working on this. But really, BarterQuest is a trading site like no other I’ve seen around, which really got me excited to come work here in the first place.
We built some cool features to make the entire trading experience fun and much different from the other sites that have similar functionality:
- We have a home-grown Matching Engine, which takes all items that users have and want, and generates trading offers for you automatically, so you don’t need to be spending time browsing all over the site looking for stuff you want.
- You not only can trade with one person, you’ll also be able to trade with multiple people. For example, User #1 has something User #2 wants, but User #2 doesn’t have anything User #1 wants. But don’t fret! User #3 has exactly what User #1 wants, and wants what User #2 has. So our system sets up a trade between all three individuals – each user getting what they wanted. Pretty neat, if I say so myself.
- While we can only trade Goods for the time being, we will soon add trading for Services and Real Estate as well. Have a beach house you won’t be using for the month of August? Trade that lost time with someone who offers Home Repair services! This will open new ways of trading like you never imagined before.
This is only the beginning, but I’m real excited for what’s to come. You can go visit and register right now! During this Beta Testing period, all trading activity on the site is totally free. Not only that, if you complete a successful trade during the Beta Testing period, you’ll be able to use our site free for an entire year! Really, it’s a win-win situation, so what are you waiting for?