Downloading a list of URLs automatically
I recently needed to download a bunch of files from Amazon S3, but I didn't have direct access to the bucket — I only had a list of URLs.
Surreal CMS acquires PageLime
Nearly a decade ago, I launched my first SaaS application. It was a new take on content management — a hosted CMS that reads/writes directly to a web server and uses class attributes to define content regions.
Rebuilding your Spotlight index in macOS
I use Spotlight more than I like to admit, usually for launching apps. Recently, some of my apps and files stopped appearing — even ones I access frequently.
Thoughts on AMP
Some time ago, a user asked about Google AMP support. At the time, I didn't know much about AMP aside from it made pages load faster on mobile devices. It sounded neat.
JSON Feed
JSON Feed is a lot like RSS, except instead of XML it's formatted with JSON. It's a rather new spec, introduced just last week, but it's been getting some major coverage and a number of applications have already started supporting it.
Postleaf: reimagined
It's been about nine months since Postleaf debuted as a simple, beautiful, open source, PHP blogging platform. The initial version was well-received, landing an article on TechCrunch and making its way to #1 for the day on Product Hunt. (Thank you so much, everyone!)
Thoughts on uploads
Uploads management is a concept I've always struggled with in Postleaf, but it's a necessary evil. Users have to be able to view and delete files they upload; but at the same time, I've never felt that it should be an integral part of the app.
Importing plain CSS files with Sass
When I first started using Sass, there was one thing that drove me crazy about it compared to Less. For some reason, including a plain CSS file just wasn't something the compiler wanted to do:
Determining your app's base directory in Node.js
Determining your app's base dir (or document root if you're from a PHP background) isn't as straight forward as you'd think in Node. Here's a little trick to get a globally available reference to your app's root directory.
Hashing Passwords with Node.js and bcrypt
The bcrypt library on NPM makes it really easy to hash and compare passwords in Node. If you're coming from a PHP background, these are roughly equivalent to password_hash() and password_verify().