A Comprehensive Guide to Backup for Home and Small Office

I’ve been pondering over writing this article for a very long time, unsure about public interest since cloud backup solutions are ubiquitous now and simple to set up. However, in the light of recent cloud failures, I figured it’s time to share my 20+ years of experience in backup for small companies.

code
javascript

Easy human-readable date difference

This article presents a very simple method to show things like “20 seconds ago” or “3 weeks ago” or any other arbitrary date difference expressed in human-readable form in Javascript without relying on libraries like moment.js. The method applies to other programming languages as well, but may need adjustments depending on their quirks.

people
nginx

Improving nginx integration with CloudFlare

Using CloudFlare for its firewall capabilities has undeniable benefits, but it’s not as foolproof and transparent as one may think. In this post I’ll explain how to configure nginx on your server for better integration and security.

code
php

How to create chess diagrams with PHP

In this post, I’ll show you how to generate chess diagrams on the server using PHP. The diagrams are cached automatically and served directly next time they’re requested.

python

Using Python to batch rename email files

This little tutorial is intended for those learning Python and demonstrates a number of features, including OS-independent file manipulation, email parsing, string formatting and error handling.

webmaster

Batch minify & gzip new files only with some date tricks

With everybody using grunt.js for linting, css compilation and minification nowadays, I wanted to make a simple experiment and see if I could do the same using a plain batch file – in Windows no less. Turns out some things are very easy and some quite tricky.

nginx

Smart generation of Gzip files for nginx

As the complexity of today’s sites increases, so are the challenges to keep the site loading fast and bandwidth usage low. Minified scripts, concatenated CSS, image sprites and even hand-crafted static html are used for speedy delivery. This article discusses some less-known features of nginx that can lead to significant speed increase.

java

Replacing Union Platform Default Derby Datasource with MySQL Server

Union Platform is a powerful and easy-to-use multiplayer server written in Java. By default it uses an embedded Derby database. In this article I’ll show you how you can replace this datasource with a MySQL one and how to process the database with minimum downtime.

photoshop

Photoshop tricks: Solving common photography problems using Image Stacks

Have you ever wanted to take a noiseless landscape shot in low light but didn’t have a tripod with you? Got frustrated while trying to get a macro shot into perfect focus? Or have you ever tried to photograph some landmark but those pestering tourists kept getting into view?

photography

The Best 3 Photo RAW Converters of 2013

While most casual photographers still shoot in JPEG, there’s no denying that RAW gives unparalleled control. And what’s really exciting is that with each new generation of software, the processing becomes even more powerful, allowing one to revisit old photos and get even more “punch” out of them. In this article I’ll review the best new RAW processors: Adobe Lightroom 4, DXO 8 and Capture One Pro 7

php

Correct Name Capitalization in PHP

One annoying scenario is when you let users enter their names and then you need to output their names nicely, for example in a newsletter. Some users simply enter their names in upper/lowercase, but obviously when you address them you can’t do the same. On the other hand PHP’s ucfirst() and ucwords() functions are too naive for proper capitalization.