Chovy's Blog

Web Development with Node.js, PHP, Javascript, and HTML5


Example of $resource in Angular.js with update and save using a resolver.

I had some issues trying to understand how to use a resolver (for edit view) and $resource to do both a POST (save) and a PUT (update) method call to an API.

Here is an example plurk:

Here is the route, the edit path uses a resolver to pass ‘thing’ object/promise back to the edit.html view before the page loads — this is to prepopulate the form:


Setup email forwarding with Postfix on Debian

As you are probably aware, setting up a fully functional email server is a daunting task to say the least.

On my dedicated server I wanted to have simple email forwarding for email aliases on my domain. For example would forward to my Gmail account. I didn’t want to jump through the hoops to setup a fully functional SMTP/Inbox/Imap email server when all I needed was a forwarding address at my custom domain.

Here are the steps, which takes around 10 minutes.

More info can be found here:


Make samba create files with usable group permissions

I am using Samba as my file server at home and connecting to it from two different users on their own macbook laptops. The Debian server has a share directory in /var/share that either myself or any other user on the system can connect to and create files or directories in. We all want to be able to edit each others files in addition to adding or removing directories and files as well, regardless of who created or owns them.

First, I created a directory in /var/share that is owned by one user, with group of “users”. All users with access to this share are members of the ‘users’ group on the file server.


Dumping a mysql or mongo database for offsite backups

If you’re doing offsite backups of your file system, AS YOU SHOULD BE, you should also dump your database periodically and include those in your offsite backups.

Here is a simple bash script that will create a timestamped sql/gzip file of all your databases using mysqldump. You can use this file to import back into a database should you need to restore later.

First you need to install the mysql client libraries (debian):

…this should provide the mysqldump binary we will be using in the script below:


Testing a node.js express app with Mocha and Should.js

I’ve been doing more Test Driven Development the past few months with my node.js application code base.

With my latest project, I decided to get started early with writing tests. While skeptical at first, I have to admit it does save quite a bit of effort in debugging and peace of mind when it comes to the stability of the code.

There are a few options with Node.js, but I decided to use the Mocha framework and Should.js for testing my models and libraries.