As Web developers we are sticklers for website details. That's why I always look at the copyright year, often found in the footer of a page.
Whenever I go to ...
Here at Imaginary Landscape, we are frequently tasked with spinning up new cloud servers for our clients. Once a new server is online, we usually follow up by provisioning ...
As Web developers we are sticklers for website details. That's why I always look at the copyright year, often found in the footer of a page.
Whenever I go to ...
Django-RQ is a Django integration with RQ, a Redis-based Python queuing library. This post is a step-by-step guide on how to set up a queue with Django-RQ plus how to make it a daemon process on a server (to always run in the background).
In February 2017, Google announced its plans to discontinue its Google Site Search product. Those clients of Imaginary Landscape who had relied on Google to provide their users with a search engine service for their website looked to us for a new solution. Finding no obvious equivalent replacement, we decided to create our own website scraper and accompanying search app.
This is the third and final part of a multi-part tutorial covering a simple(ish) setup of a continuous integration/deployment pipeline using Drone.io:0.5. Since ...
Like eating Brussels sprouts, everyone knows that keeping software current is good for you. But getting clients to actually upgrade regularly is hard. Why is that?
Update 2017.11: Since this article was released in 2016, Letsencrypt has simplified its install process. This article has been updated to address those changes.
You may have heard of ...
Imaginary Landscape is proud to announce its selection as a Chicago Top Web Developer by Clutch, an independent ratings and review company.
Clutch’s Leaders Matrix Methodology measures both the ...
The new OWASP Top 10 list of website vulnerabilities has just been released.
Imaginary Landscape is pleased to present a helpful new plugin for the Django Web Framework - The Django Version Viewer!
If ...