Creating a simple REST API with Vatican.js

A couple of weeks ago, I released to the inter-world my take at what a microframework for creating API’s should look like. I called it Vatican.js.
I got some interesting responses, but mostly, because of the name, so I thought I’d write a little post explaning how to go about creating a REST API from scratch using Vatican.
Continue reading

Fork me on GitHub
Tagged , ,

Last few days for Packt’s 2000th -Buy one get one Free Campaign

2000th-Book-Home-Page-Banner

They got IT covered

Get a move on! That’s right, Packt has had a Buy one get one Free Campaign for all of their e-books since March 18th  to commemorate their 2000th published title: “Learning Dart”.

And to celebrate, they’re going to be giving away a free e-book to everyone go buys  one.

From their press release:

David Maclean, Managing Director explains `It’s not by chance that this book is our 2000th title. Our customers and community drive demand and it is our job to ensure that whatever they’re working on, Packt provides practical help and support.

At Packt we understand that sometimes our customers want to learn a new programming language pretty much from scratch, with little knowledge of similar language concepts. Other times our customers know a related language fairly well and therefore want a fast-paced primer that brings them up to a competent professional level quickly.

That’s what makes Packt different: all our books are specifically commissioned by category experts, based on intensive research of the technology and the key tasks.’

 

So, stop what you’re doing and get your new e-book now!

Tagged ,

Node.js::Getting around Github’s Raw resources limitations

It’s a very common scenario: you finally find the file you’re looking for to start using on your website (be it a jquery plugin, an angular directive, or whatever you can include on your website) on Github, navigate to that file, hit the “raw” link and then copy the URL.

But when you try it on your site, it won’t work… , you check the Network tab on your favourite browser and you see that the resource is being interpreted as a plain text file, so your browser doesn’t know what to do with it.

Not cool Github! (well, to be fair, I don’t think they intended their site to act as a CDN).

I’ll quickly go over two solutions to this problem…

Continue reading

Tagged , , , ,

Review – Google Maps JavaScript API Cookbook

A few weeks ago, I was asked by the PackT publisher to review one of their recent books: “Google Maps JavaScript API Cookbook”. Here is what I think of it:

The book

Google Maps Javascript API Cookbook“Google Maps JavaScript API Cookbook” is relatively a short book, it’s full of, like the name of the book suggests, recipes to work with the Google Maps API.
Both authors, Alper Dincer and Balkan Uraz share a MS degree in Geographical Sciences and have over 10 years of experience working on Geographic Information Systems. So it’s safe to say they know their GIS. That being said, this is a programming cookbook, so the quality of the recipes is not assured.
I’ll go over the good and the bad bellow.

Continue reading

Tagged , , , ,

Javascript: Dealing with “callback-soup” without an external library

Whether you’re working on the browser or on the server side, you might’ve run into what I like to call: Callback Soup.

This happens when you start queuing one callback after the other. This is very common when you’re dealing with asynchronous code (AJAX calls, or regular IO on Node.js for instance).

When this happens, we end-up with code that looks like this:

function mainFunction() {
   getData(function(err, result) {
      getMoreData(result, function(err2, moreResults) {
          finallyGetLastData({first: result, second: moreResults}, function(err3, finalResults) {
               //Do something with all the results here...
          });
      });
   });
}

Error handling left out for simplicity reasons
Continue reading

Tagged , ,

Makiavelo:: Now with Migrations!

That’s right! The latest code from Makiavelo just got a new feature: migrations.

In my never ending journey of re-inventing the wheel, a.k.a building my own web framework for PHP, I’ve recently updated the code with a new feature, migrations.
Whether you implement this feature like Rails does or anyother way, it is important to have a way to control the changes to the database in a way that allows to easily go back and forth between them. It is always a plus to have record of each change done to the database, I think it helps maintainability.
Continue reading

Tagged , ,

PHP::Makiavelo writing a simple blog Part II

On my previous post I talked about the basic steps needed to start up our mini-blog project on Makiavelo.

Now I’ll talk about the few lines of code needed to get the controllers ready and the configuration needed to setup the virtual host on Apache.

Let’s get down to business, shall we?

Continue reading

Tagged , ,

PHP::Writing a simple blog in Makiavelo Part I

Makiavelo is a new PHP Web Framework that’s in the works, you can find out more about it here.
I think that the best way to learn a about a new framework, is to create something that actually works with it, so I’ll go over a simple “blogging” application that will cover the basics:

  • Using the command line to create entities
  • Setting up basic user authentication
  • Basic html formatting
  • Apache configuration required to setup our virtual host.

So, lets go over the example….(I’ll assume you’ve been to the GitHub page and read the docs). In part I, I’ll cover:

  1. Setting up database
  2. Setting up entities
  3. Messing with routes
    Continue reading
Tagged , ,

How to REST and not die trying – Writing API’s the REST way

I’ve been interacting with APIs for several years now, I’ve seen good things, and I’ve seen bad things. I’ve seen quite a lot of XML with SOAP, and I’ve seen a lot of JSON with REST APIs.

I’m not ashamed (maybe I should be) to say that the few times I had to write my own, they were actually inside the “bad” bag.
So when I was faced with the task of creating a mid-size API to be used from a mobile device, I decided to read up a bit on how to do it properly for once.

So, lets get down to business.
Continue reading

Tagged , ,

The anatomy of a jQuery plugin: a case study

Back to the bloging world after a while, I’ll start by writing about jQuery plugins, a subject that even though is pretty straight forward, I think not many people dare to tackle.
I’m not a particular fan of the jQuery library, but I’m not a hater either. Hey, it’s not the silver bullet for all my JS problems, but it has been a savior several times in the past.

I’ll go over the basics of creating a new plugin going over the code of a plugin I wrote myself in order to understand the process a bit better: FieldSplitter.
Continue reading

Tagged , ,