Algorithm Economy and Containers

Containers (Docker, et al) have been getting all the hype recently.  I’ve played around with these a bit, but I’m not yet convinced this is the next greatest thing for projects that I am involved with currently.  However, it helps to look at these from different perspectives.  Here’s a blog post that ties containers to a new term that I haven’t heard before – algorithm economy.

The “algorithm economy” is a term established by Gartner to describe the next wave of innovation, where developers can produce, distribute, and commercialize their code. The algorithm economy is not about buying and selling complete apps, but rather functional, easy to integrate algorithms that enable developers to build smarter apps, quicker and cheaper than before.

DNS / Whois Record Lookup Tool

Here is yet another DNS / WHOIS record lookup tool.  It’s quick and simple – just type the website’s URL and submit a form.  You’ll get a result with all the DNS records and WHOIS information, all on one page.

The term DNS stands for Domain Name System, the largest digital database which contains all websites information on the internet. Every domain has authoritative DNS server which publishes information about that domain and the name server for the domain.

Our DNS / Whois record lookup tool will grab A, MX, SOA, NS, TXT and Whois records for a domain name.

Best Practices for Designing a Pragmatic RESTful API

An API is a user interface for developers. Put the effort in to ensure it’s not just functional but pleasant to use.

Vinay Sahni has a rather lengthy, detailed, and well-rounded post on how to design a good RESTful API.  It covers pretty much everything from URL structures and parameters, request methods, to error handling, documentation, and coding style.

Common files in PHP packages

Jordi Boggiano looks at some common files in PHP packages, using Packagist as a data source.  There are some interesting metrics in there.  For example:

  • 58% of packages include a src/ directory and 5% a lib/ one. That’s surprisingly low to me, that means a lot have the code simply in the root folder.
  • 4% have a bin/ directory, including some sort of CLI executables.
  • 55% have a LICENSE file, that’s.. pretty disastrous but hopefully a lot of those that don’t at least indicate in the README and composer.json
  • 49% have some file or directory indicating the presence of tests (phpunit.xml & co). I am not sure if this is good or bad news to be honest, that depends on your expectations.

Bad project

CommitStrip nails one of the ways of getting into a bad project …

bad project

I remember reading an interview with Matt Mullenweg (though can’t seem to find a reference now), where he said that this sort of thing happened with Automattic.  People were asking them for commercial support, but they didn’t want to do it, so they started with an insane amount of like $5,000 per month and all of a sudden found themselves with a queue of people outside.

And they were not alone, of course.

How fast has computing become?

Jeff Atwood has an excellent blog post, about the increase in computing powers of the modern CPUs and GPUs and the affects of those on things around us.  In particular – games such as chess and Go, and password cracking.

Every time you see a new video card release, don’t think “slightly nicer looking games” think “wow, hash cracking and AI just got 2× faster … again!”

Fascinating read!

tus.io – open protocol for resumable file uploads

tus.io, in their own words:

People share more and more photos and videos every day. Mobile networks remain fragile however. Platform APIs are a mess and every project builds its own file uploader. There are a thousand one week projects that barely work, when all we need is one real project. One project done right.

We are going to do this right. We aim to solve the problem of unreliable file uploads once and for all. tus is a new open protocol for resumable uploads built on HTTP. It offers simple, cheap and reusable stacks for clients and servers. It supports any language, any platform and any network.