Create a Local Copy of a Website with HTTrack

I’ve recently been experimenting with HTTrack, an open-source utility that makes it possible to download a full copy of any website. HTTrack is essentially a web crawler, allowing users to retrieve every page of a website merely by pointing the tool to the site’s homepage.

From the HTTrack homepage:

“[HTTrack] allows you to download a World Wide Web site from the Internet to a local directory, building recursively all directories, getting HTML, images, and other files from the server to your computer. HTTrack arranges the original site’s relative link-structure.”

I thought I’d share my experience with it.
Read more on Create a Local Copy of a Website with HTTrack…

Task Management & Clearer Thinking with MindNode and OmniFocus

Consulting can be hectic. Working with a huge variety of languages, frameworks, devices, and humans is an amazing and invigorating way to spend the day, but keeping all of the relationships, interfaces, and syntaxes straight can be a tall order.

Over the last few years, I’ve tried a slew of task management strategies to stay productive and sane at work. MindNode and OmniFocus are two that stuck. Here’s why: Read more on Task Management & Clearer Thinking with MindNode and OmniFocus…

How I Test CSS

At Atomic, we practice Test-Driven Development for all the code we can, from single functions to entire stacks. But there’s one kind of code we’ve long neglected testing: CSS. We rarely have coverage of it, and we often discover bugs and style regressions long after they were introduced. We’re not alone. Most software developers don’t do CSS testing. It’s tough to assert that a website looks the way you want.

I’ve wrestled with the problem of CSS testing for a long time, and I have two suggestions for catching style problems early. Read more on How I Test CSS…

Ember.js Validations the Easy (and Fast!) Way

Almost all modern single-page web applications need to receive and validate data. Often, this is in the form of user inputs, but it can also be data derived from sources that we have no control over. In this post, I will describe Ember-CP-Validations, a fantastic Ember.js validation library that I have used to make writing Ember validations very easy, and also very fast. Read more on Ember.js Validations the Easy (and Fast!) Way…

Product Review: Sense Sleep Tracker by Hello

I love sleep. I also love data. Recently, I was in the process of doing some competitive analysis for the design of some upcoming sleep tracking features in our customer Neurometrix’s Quell mobile app, and I came across Hello’s Sense sleep tracker. I was intrigued, so I bought one. This is my Sense sleep tracker review after using for almost four months.

Read more on Product Review: Sense Sleep Tracker by Hello…

Pitfalls to Avoid When Moving from Clojure to ClojureScript

I’ve been excited about ClojureScript, its community, and the new tools and libraries that have been appearing, but I’ve only recently started working with it. Using ClojureScript to power a web (or mobile) client to a Clojure backend service seems really compelling. It’d allow for easily sharing code or logic between the different components, as well as a well-designed implementation of modern UI development, via Om Next. It’s also a fun and enjoyable language.

However, while exploring ClojureScript, I’ve run into some areas that left me feeling frustrated. Read more on Pitfalls to Avoid When Moving from Clojure to ClojureScript…

Property-Based Testing for Serialized Data Structures

When I first heard about property-based testing, my instincts told me it was too academic to be of practical use. But, as is often the case in the art of software, my gut reaction failed to appreciate the value of something new.

I originally felt the same way about functional programming, so I guess I can’t trust my gut very much when it comes to new concepts. To quote Nick Hornby, “Between you and me, I have come to the conclusion that my guts have s— for brains.” I’ve recently stumbled into some great ways to get real-world value out of property-based testing.
Read more on Property-Based Testing for Serialized Data Structures…

SSL Certificate Expiration Checker

IT Operations teams frequently have the responsibility to ensure that SSL certificates for various websites are valid and renewed on a regular basis. While SSL certificate vendors often provide reminders and warnings when the certificates are about to expire, this is not always effective–especially when a variety of different SSL vendors have been used, or different parties are responsible for purchasing and maintaining the certificate.

To prevent SSL certificate expirations from going unnoticed, I wrote an application that checks the certificates from a variety of sites and ensures that they will remain valid for a certain number of days in the future.
Read more on SSL Certificate Expiration Checker…

loading…