The Three Machines

It’s amazing how well-timed this article is for the things that go on around me right now.  But even if you are not spending most of your days, nights, and weekends building a company at this moment, have a go at it anyway.   Here’s a bit to get you started:

My current hypothesis is that if you are a CEO, focus your organization on the three machines. Product, Customer, and Company. Then, have a direct report own one of them. If you have a sub-scale leadership team (e.g. you are three founders and four other employees), as CEO you can own one, but not more than one. As you get bigger (probably greater than 20 employees), hopefully now you have enough leadership to have one person own each, but recognize that if someone is being ineffective as a leader of one of the machines, you will have to replace them in that role (either by firing them or re-assigning them).

 

Google and HTTPS

Here are some interesting news on the subject of Google and HTTPS:

In support of our work to implement HTTPS across all of our products (https://www.google.com/transparencyreport/https/) we have been operating our own subordinate Certificate Authority (GIAG2), issued by a third-party. This has been a key element enabling us to more rapidly handle the SSL/TLS certificate needs of Google products.

As we look forward to the evolution of both the web and our own products it is clear HTTPS will continue to be a foundational technology. This is why we have made the decision to expand our current Certificate Authority efforts to include the operation of our own Root Certificate Authority. To this end, we have established Google Trust Services (https://pki.goog/), the entity we will rely on to operate these Certificate Authorities on behalf of Google and Alphabet.

The process of embedding Root Certificates into products and waiting for the associated versions of those products to be broadly deployed can take time. For this reason we have also purchased two existing Root Certificate Authorities, GlobalSign R2 and R4. These Root Certificates will enable us to begin independent certificate issuance sooner rather than later.

We intend to continue the operation of our existing GIAG2 subordinate Certificate Authority.

If you need a bit of help putting this into perspective, this Hacker News thread has your back:

You can now have a website secured by a certificate issued by a Google CA, hosted on Google web infrastructure, with a domain registered using Google Domains, resolved using Google Public DNS, going over Google Fiber, in Google Chrome on a Google Chromebook. Google has officially vertically integrated the Internet.

Choosing the “best software”

Julia Evans has a nice blog post about choosing the “best software”.  Here is my favorite part:

So, let’s talk about another way to think about making decisions than “what is the Best Thing in this situation”.

I run an event series called “lightning talks and pie”. At the most recent one, Ines Sombra gave a talk about capacity planning. In it, she said that there are 3 reasons you might want to change something about your system:

  1. It’s too expensive
  2. It’s too difficult to operate (humans spend a ton of time worrying about it)
  3. It’s not doing the job it’s supposed to

I find these 3 criteria a lot easier to reason about than the “Choose The Best Thing” framework.

She provides some examples on how to apply this thinking, as well as how to deal with tradeoffs and limitations.

HTML Canvas Tutorial

Skilled.co put together this HTML Canvas Tutorial, which covers the HTML 5 <canvas> functionality, that allows web developers to draw all sorts of graphics on the fly, using JavaScript.  The tutorial is available for download in PNG and PDF formats, as well as on the webpage, and it covers the following:

  • Shapes
  • Styles and color
  • Text
  • Images
  • Transformations
  • Compositing and clipping
  • Animation
  • Pixel manipulation
  • Hit regions and accessibility

It also provides a few useful tips, inspiration, and links to other resources.

What’s the best framework for building mobile apps?

It’s been a while (a few years actually) since I looked at building a mobile application.  I don’t have the need to build one now, but I like keeping an eye on what’s going on that domain.

Even back when I was involved with mobile applications, the better approach was to use a framework, rather than building the app from scratch.  The frameworks that existed at the time would help with building a cross-platform (Android, iOS, Windows Mobile, etc) application, and have a better integration with the mobile’s hardware and features (touchscreen, networking, vibration, camera, etc.)

As with many other cutting edge technologies, things move very fast and things get outdated pretty quickly.  So it was interesting to read – What’s the best framework for building mobile apps? – which covers today’s options.  Some of the solutions survived the last few years, some didn’t, and there are a few new ones.  The frameworks covered in the article are:

The article is a good quick overview of what’s out there and why to pick one over the other.