Check out my book
on server deployment

Invoicing from the command line

Are you a freelancer? You don’t need to leave your command line to create invoices for your clients. InvoicePrinter is a Ruby library for producing PDF invoices without too much hassle. If you haven’t seen it before, you can read more about it in the announcement or its GitHub page. With the upcoming 1.1.0 release (currently as release candidate) a command line executable is included so you can now use command line to invoice your clients. No need to learn Ruby, just pass the data in the familiar JSON format! Here is how to create your first invoices. Continue reading “Invoicing from the command line”

How to keep hash keys untouched by ActiveModel::Serializer

At work we use ActiveModel::Serializer to serialize ActiveRecord objects into JSON:API-like responses for our APIs. The problem is that ActiveModel::Serializer is clever enough to dasherize our hash keys (so they can be accessed as properties instead of [] brackets syntax) and our hash keys are actually real keys that we have to serve untouched. Continue reading “How to keep hash keys untouched by ActiveModel::Serializer”

InvoicePrinter 1.1.0 will bring A4 page size support, command line client and more

Not so long ago I announced first stable release of InvoicePrinter. I wanted to say that the API is stable and people to experiment with it. I am happy¬† to see that the project got already over 3 hundred stars and 20 forks. Wow, thanks! This kind of support motivates me to work on the next version more intensively.¬† Speaking of which… here is what’s coming in 1.1.0 release. Continue reading “InvoicePrinter 1.1.0 will bring A4 page size support, command line client and more”

Trusted SSL certificates with Let’s Encrypt and NGINX

letsencrypt.org is the new awesomeness that happened to SSL on the web. Forget over-priced trusted certificates or self-signed certs for your side & pro bono projects. Try trusted SSL in seconds for free instead :). If you choose to use Let’s Encrypt I want to show you what needs to be done on a pretty average Fedora VPS with NGINX server and how to avoid certbot errors like urn:acme:error:unauthorized and urn:acme:error:unknownHost. Continue reading “Trusted SSL certificates with Let’s Encrypt and NGINX”

Building international invoices with InvoicePrinter 0.0.9

From the start I wanted an unobstructive and flexible API for InvoicePrinter. This flexibility enables anyone to make international duo-lingual invoices without any special i18n API provided. But the truth is I had something a bit better in mind from the beginning and in 0.0.9 I am including something new suited for the job. Continue reading “Building international invoices with InvoicePrinter 0.0.9”