Blog

Will Faught

March 2015

Tiwanaku

I love old ruinous monoliths like these.

Will Faught

1 minute

Churches Built With Ruins

Much of the readily accessible masonry at the ruin was used to construct the Catholic church in the village. This seems to have happened a lot across the world. So many treasures and artifacts ruined by building churches. Pity.

Will Faught

1 minute

Evolver

I just rewatched Evolver. I saw it once long ago, in high school. Somehow, I remember a dumb quotation from it, where a scientist tried to give a voice command to a killer robot to shut it down: “Alpha command sequence! Shutdown! Phoenix eight! Delete! Delete!” I was curious whether I actually remembered it correctly. Turns out I did. Of all things, what a dorky thing to remember!

Will Faught

1 minute

Google, Our Patron Saint Of The Closed Web | Sealed Abstract

Drew Crawford on Google’s application for the .dev domain: Let’s talk about a domain that’s near and dear to my heart, .dev. Wouldn’t it be great to have a domain for content targeted at software developers? So that you could actually get a domain name for www.[your-side-project].dev? Instead abusing the .io domain which is officially for the British Indian Ocean Territory. Alas, Google does not think much of that plan. Under their shell company “Charleston Road Registry Inc.

Will Faught

2 minutes

February 2015

Why Do My Backed Up Files Appear Smaller On Backblaze Than On My Mac?

Backblaze on how OS X displays file sizes: Starting with Mac OS X 10.6, Apple calculates disk storage using decimal (base 10) math: 1 KB is 1,000 bytes 1 MB is 1,000,000 bytes or 1,000 KB 1 GB is 1,000,000,000 bytes or 1,000 MB Backblaze’s restore browser, Windows, and Mac OS X 10.5 and earlier all use binary (base 2) math: 1 KB is 1,024 bytes 1 MB is 1,048,576 bytes or 1,024 KB 1 GB is 1,073,741,824 bytes or 1,024 MB Why on Earth would they use base 10?

Will Faught

1 minute

Tell Congress To Put An Expiration Date On Unconstitutional Bulk Surveillance

If you want to encourage as many people as possible to participate in sending their personal information over the Internet, at least provide SSL security. Terrible.

Will Faught

1 minute

Lenovo Breaks Web Security On Its Recent Laptops To Inject Ads

The Electronic Frontier Foundation: News broke last night that Lenovo has been shipping laptops with a horrifically dangerous piece of software called Superfish, which tampers with Windows’ cryptographic security to perform man-in-the-middle attacks against the user’s browsing. This is done in order to inject advertising into secure HTTPS pages, a feature most users don’t want implemented in the most insecure possible way. Inexcusable and egregious.

Will Faught

1 minute

Nixon’s Undelivered Moon Landing Failure Speech

Moving piece.

Will Faught

1 minute

More To The Nintendo 64 Logo Than Meets The Eye

So clever.

Will Faught

1 minute

Betable Is Hiring

Betable — where I work — is looking to hire a senior software engineer in San Francisco: Rubicon Media (Betable) has an opening for Senior Software Engineer in San Francisco, CA to Research, design, develop, and test operating systems-level software for business and general computing applications. Master’s in Computer Science, Engineering or related technical field followed by 7 years progressive post-baccalaureate experience in job offered or software engineering-related occupation. Experience must include:

betable hiring software engineering

Will Faught

1 minute

What Doesn’t Seem Like Work?

Paul Graham on knowing what you want to do: Few people know so early or so certainly what they want to work on. […] If something that seems like work to other people doesn’t seem like work to you, that’s something you’re well suited for. And: The stranger your tastes seem to other people, the stronger evidence they probably are of what you should do.

Will Faught

1 minute

HTTP/2

A real HTTP 2.0 effort: HTTP/2 is a replacement for how HTTP is expressed “on the wire.” It is not a ground-up rewrite of the protocol; HTTP methods, status codes and semantics will be the same, and it should be possible to use the same APIs as HTTP/1.x (possibly with some small additions) to represent the protocol. The focus of the protocol is on performance; specifically, end-user perceived latency, network and server resource usage.

http web

Will Faught

1 minute

Apache Mesos

Apache Mesos abstracts CPU, memory, storage, and other compute resources away from machines (physical or virtual), enabling fault-tolerant and elastic distributed systems to easily be built and run effectively. Mesos is built using the same principles as the Linux kernel, only at a different level of abstraction. The Mesos kernel runs on every machine and provides applications (e.g., Hadoop, Spark, Kafka, Elastic Search) with API’s for resource management and scheduling across entire datacenter and cloud environments.

cluster management

Will Faught

1 minute

Kubernetes By Google

Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions. Using the concepts of “labels” and “pods”, it groups the containers which make up an application into logical units for easy management and discovery. Cool idea. I wonder how long Google uses stuff like this before it sees the light of day?

cluster management

Will Faught

1 minute

“I’m Brianna Wu, And I’m Risking My Life Standing Up To Gamergate”

The sexism and harassment that Brianna Wu and others like her are experiencing is chilling. Why are the authorities doing nothing about the illegal acts?

gamergate

Will Faught

1 minute

CoreOS

While looking into Docker I discovered CoreOS. This also looks very interesting: CoreOS is designed to be a modern, minimal base to build your platform. Allows for very quick PXE/iPXE booting. Utilizes an active/passive dual-partition scheme to update the OS as a single unit instead of package by package. This makes each update quick, reliable and able to be easily rolled back. Applications on CoreOS run as Docker containers. Containers provide maximum flexibility in packaging and can start in milliseconds.

computing

Will Faught

1 minute

Comparing Virtual Machines And Linux Containers Performance

Containers unsurprisingly perform better than virtual machines: The results show that Docker equals or exceeds KVM performance in every case tested. For CPU and memory performance KVM and Docker introduce a measurable but negligible overhead, although for I/O intensive applications both require tuning. Containerization can be IaaS as well as PaaS: Conventional wisdom (to the extent such a thing exists in the young cloud ecosystem) says that IaaS is implemented using VMs and PaaS is implemented using containers.

computing

Will Faught

1 minute

Senate Republicans Propose Nixing Filibuster For Supreme Court Nominees

Sens. Lamar Alexander (R-TN) and Mike Lee (R-UT) proposed a rule change Feb. 4 to abolish the filibuster for Supreme Court nominees. The proposal would allow approval of Supreme Court nominees with a simple majority. This would be so…sensible! I wonder what the motivation or context for this is?

Will Faught

1 minute

Swatch To Release Smartwatch Within Three Months

Swatch Group CEO Nick Hayek has in the past expressed skepticism toward smartwatches, and once said the company’s high-end watches were effectively smartwatches because they “make you look smart.” This guy gets it.

funny

Will Faught

1 minute

Announcing Docker Machine, Swarm, And Compose For Orchestrating Distributed Apps

Docker seems like a really cool idea. I’d never heard of Linux control groups before learning about Docker. I’m interested to know how it works exactly, and why a Docker “runtime” is needed. The last company I worked for built VM images with Vagrant, and while this was pretty cool, they were huge and onerous and the tools for creating and deploying them were clunky and difficult to automate. These lightweight containers seem like a much better solution.

Will Faught

1 minute

What Causes A Video To Go Viral?

Great ending.

Will Faught

1 minute

The Geneva Convention And Medics

According to the Geneva Convention, knowingly firing at a medic wearing clear insignia is a war crime.

interesting

Will Faught

1 minute

January 2015

SOA Facts

One person successfully described SOA completely, and immediately died.

Will Faught

1 minute

YouTube’s Onerous New Terms For Musicians

Zoe Keating: My Google Youtube rep contacted me the other day. They were nice and took time to explain everything clearly to me, but the message was firm: I have to decide. I need to sign on to the new Youtube music services agreement or I will have my Youtube channel blocked. But: Is such control too much for an artist to ask for in 2015? It’s one thing for individuals to upload all my music for free listening (it doesn’t bother me).

Will Faught

1 minute

The Subtle Art Of Not Giving A Fuck

Mark Manson on not giving a fuck: The point is, most of us struggle throughout our lives by giving too many fucks in situations where fucks do not deserve to be given. We give a fuck about the rude gas station attendant who gave us too many nickels. We give a fuck when a show we liked was canceled on TV. We give a fuck when our coworkers don’t bother asking us about our awesome weekend.

Will Faught

2 minutes

Reporters Fumbling The Name Eyjafjallajokull

English TV reporters fumbling the pronunciation of the name of the Icelandic volcano Eyjafjallajokull. So funny!

Will Faught

1 minute

Bicameralism

The Founding Fathers of the United States also favoured a bicameral legislature. The idea was to have the Senate be wealthier and wiser. The Senate was created to be a stabilising force, elected not by mass electors, but selected by the State legislators. Senators would be more knowledgeable and more deliberate—a sort of republican nobility—and a counter to what Madison saw as the “fickleness and passion” that could absorb the House.

Will Faught

1 minute

Accidental Tech Podcast On Golang

An interesting take on Golang from someone looking for a better server language. It starts about five minutes in and ends at the first ad.

golang technology

Will Faught

1 minute

The 6 Pillars Of Steve Jobs’s Design Philosophy

Cliff Kuang: Steve Jobs’s talent lay in taking what he learned and absorbing it with a manic intensity, so that his principles didn’t just inform him; they consumed him. Jobs was both lucky and smart in that all of the lessons he got were additive–that is, you could fit them all together in a single, coherent design philosophy. Compare that to what happens when you engage with someone who has definite opinions about design, but no real philosophy behind it: It’s a maddening experience because the definition of what works and what doesn’t, what’s good and what’s not, can change so often in different circumstances.

Will Faught

1 minute

December 2014

Effectively Managing Memory At Gmail Scale

Garbage collection pauses can ruin the feel of your application by introducing jank. Never seen “jank” used as a noun before. Good article.

Will Faught

1 minute

North Korea Hit With Internet Outage Days After Being Linked To Sony Hack

The hack could cost Sony as much as $100 million, which would go toward the investigation OK… …repairing or replacing computers, OK… and enhancing the company's cyber defenses Bullshit. Replacing inadequate security with security you should have had in the first place isn’t a cost forced on them by the hackers; it’s an additional investment they chose not to make before this, and now they are because it’s obvious to everyone that their security is bad.

Will Faught

1 minute

November 2014

Bash Prompt

I really like the Bash prompt I use now. It’s just a $ followed by a space. The $ is green if $? is zero and red otherwise. If the current working directory is in a Git repository, the name of the checked-out branch appears before the $ in blue with a space in between. Red, green, blue. Simple and elegant. It’s great. function customprompt { EXITSTATUS="$?" BOLD="\[\033[1m\]" RED="\[\033[1;31m\]" GREEN="\[\033[1;32m\]" BLUE="\[\033[1;34m\]" OFF="\[\033[m\]" BRANCH=$(__git_ps1 | tr -d ‘( )’) if [ !

computing

Will Faught

1 minute

Apple Pay In Safari

I hope Apple adds Apple Pay support to Mobile Safari so I can pay for stuff on the web easily and securely. It would be great if they could figure out how to get the trackpad to double as Touch ID too.

Will Faught

1 minute

Steam Fall Sale

Damn you, Steam, for making me give you money! Today I bought: VVVVVV, $1.24 To The Moon, $3.49 Don’t Starve, $3.74 La-Mulana, $2.99 Dust: An Elysian Tail, $2.99 Kairo, $0.99 Company of Heroes 2, $9.99 Counter-Strike: Global Offensive, $7.49 Dead Island Collection, $7.49 The Vanishing of Ethan Carter, $11.99 A Story About My Uncle, $3.24 So many indie, downloadable, and new games I hadn’t heard of before. When will I ever have time to play all of these?

Will Faught

1 minute

Sell Your IPhone To People

You make a lot more money selling your old iPhone to people than to businesses like Gazelle if the phone is in good condition. I just sold my iPhone 5 for $320 to someone I met through Craigslist at a Starbucks near my home. Gazelle would have given me $170. That’s almost double! This was my process: I searched Craigslist for similar phones to learn roughly what the price should be ($300), then added $100 in case that was too low.

Will Faught

1 minute

Helpful Error

ERROR: Could not find a valid gem ‘wkpdf’ (>= 0) in any repository ERROR: Possible alternatives: wkpdf Lovely.

Will Faught

1 minute

July 2014

Log Structured Storage

A useful data storage data structure for fast writes and free read locks. Cassandra uses something like it.

Will Faught

1 minute

Zone Improvement Plan

The term ZIP, an acronym for Zone Improvement Plan, is properly written in capital letters and was chosen to suggest that the mail travels more efficiently, and therefore more quickly (zipping along), when senders use the code in the postal address. I don’t think I ever knew it was an acronym.

random

Will Faught

1 minute

June 2014

“Only Apple”

John Gruber: Apple, Google, and Microsoft each offer all three things: devices, services, and platforms. But each has a different starting point. With Apple it’s the device. With Microsoft it’s the platform. With Google it’s the services. And thus all three companies can brag about things that only they can achieve. What Cook is arguing, and which I would say last week’s WWDC exemplified more so than at any point since the original iPhone in 2007, is that there are more advantages to Apple’s approach.

apple daring fireball technology world

Will Faught

1 minute

The Glasgow Haskell Compiler

An interesting overview of the Glasgow Haskell Compiler. I had no idea about some of this stuff. On optimizing the performance of trivial functions: If every use of such a function really required a function call, efficiency would be terrible. One solution is to make the compiler treat certain functions specially; another is to use a pre-processor to replace a “call” with the desired inline code. All of these solutions are unsatisfactory in one way or another, especially as another solution is so obvious: simply inline the function.

computing

Will Faught

3 minutes

Go Export Syntax

Go FAQ: The case-for-visibility rule is unlikely to change however; it’s one of our favorite features of Go. This is one of my least favorite features. Variables are so ugly: strconv.Itoa. Yuck.

computing

Will Faught

1 minute

Go Isn’t So Parallel After All

Effective Go: The current implementation of the Go runtime will not parallelize this code by default. It dedicates only a single core to user-level processing. An arbitrary number of goroutines can be blocked in system calls, but by default only one can be executing user-level code at any time. It should be smarter and one day it will be smarter […] So, at best, the default Go runtime can be called non-blocking, but not parallel.

computing

Will Faught

1 minute

Why Is A Minute Divided Into 60 Seconds, An Hour Into 60 Minutes, Yet There Are Only 24 Hours In A Day?

A fascinating explanation of the origin of the modern units of time. Also: Seconds were once derived by dividing astronomical events into smaller parts, with the International System of Units (SI) at one time defining the second as a fraction of the mean solar day and later relating it to the tropical year. This changed in 1967, when the second was redefined as the duration of 9,192,631,770 energy transitions of the cesium atom.

reading

Will Faught

1 minute

May 2014

Apartment Ad Annoyances

If you’re going to advertise an apartment for rent, be sure to: Provide an email address. I don’t want to wait until you’re awake or not eating dinner to contact you. Show large pictures of the interior, including the bedrooms and bathrooms. Mention if there are fewer dedicated parking spaces than there are bedrooms. Mention if there is no microwave.

living

Will Faught

1 minute

Cool URIs Don’t Change

Tim Berners-Lee: There is a crazy notion that pages produced by scripts have to be located in a “cgibin” or “cgi” area. This is exposing the mechanism of how you run your server. You change the mechanism (even keeping the content the same ) and whoops - all your URIs change. […] […] “cgi-bin” and “oldbrowse” and “.pl” all point to bits of how-we-do-it-now. Says the page ending in .html.

computing

Will Faught

1 minute

April 2014

Float Binary Representation

Produce the binary representation of a float f where 0 < f < 1. Examples: binary(.5) produces 1 binary(.25) produces 01 binary(.75) produces 11 binary(.875) produces 111 Python 2.7: def binary(f): if not (0 < f < 1): raise ValueError('Must be greater than 0 and less than 1') symbols = [] while f > 0: f2 = f - 2 if f2 >= 1: symbols.append(1) f = f2 - 1 else: symbols.

computing

Will Faught

1 minute

Print Equilateral Diamonds

Examples: X X X X X X X X X X X X X X X X X X X X X X X X X Python: def diamond(height): if height % 2 == 0: raise ValueError('height must be odd') half_height = height / 2 for row in xrange(height): if row <= half_height: indent = half_height - row else: indent = row - half_height if row <= half_height: fill = 0 if row == 0 else row - 2 - 1 else: fill = 0 if row == height - 1 else (height - 1 - row) - 2 - 1 left = '%sX' % (' ' - indent) right = '%sX' % (' ' - fill) if fill else '' print left + right

computing

Will Faught

1 minute

November 2013

Epic Comeback

From Wikipedia: Umehara started becoming famous internationally from the YouTube video clips of his match in the Losers bracket final in Evolution Championship Series 2004’s Street Fighter III: 3rd Strike competition where he made a dramatic comeback against Justin Wong’s Chun-Li. In the final round of match 1, Umehara’s Ken was down to his last pixel of vitality. At this point, any special attack would knock Umehara’s character out if connected, since special attacks deal chip damage even when blocked.

playing

Will Faught

2 minutes

No Nobel Prize For Math

I first heard this story from Dr. Vakalis during a computer science lecture at Cal Poly in San Luis Obispo. He’s an excellent and funny story teller, and I really enjoyed this one, so I was disappointed to find out that it’s probably not true. Too bad!

reading

Will Faught

1 minute

October 2013

Because I’m A Twentysomething

Jessica at Today Was Meaningful: don’t change your journey so that it matches someone elses. we need to walk different paths so the whole world can be explored. revel in the differences. and enjoy where you are. here. right here. Great advice.

reading

Will Faught

1 minute

π