computing

Will Faught

August 2016

Why Some Diversity Thinkers Aren’t Buying Tech Industry’s ‘Pipeline’ Excuses

“Diversity thinkers”? Who comes up with that terminology? The pipeline is a valid argument because that’s exactly what’s happening. Anyone who disagrees ought to first take a look in the mirror: have you ever bought your kid a gender-specific toy? A doll for a girl? An action figure for a boy? Because if so, that’s the problem right there. The problem is you. The problem is social. The problem is parents holding their girls back by only giving them “girly” things.

coding computation computer science computers computing feminism npr planet money programming tech technology

Will Faught

1 minute

June 2015

1Password Is Ready For John The Ripper

Time to crack 1Password passphrases by number of words in the passphrase: 3: 2 days, 17 hours 4: 58 years 5: 449,528 years 6: 3.5 billion years 7: 27 trillion years 1Password uses PBKDF2 to achieve this. They recommended four or five words per passphrase in 2013.

computing security

Will Faught

1 minute

Toward Better Master Passwords

I’ve been making my passwords all wrong. You can find Diceware here.

computing security

Will Faught

1 minute

February 2015

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

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

June 2014

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

May 2014

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

September 2013

Friction

Ben Thompson: With the loss of friction, there is necessarily the loss of everything built on friction, including value, privacy, and livelihoods. And that’s only three examples! The Internet is pulling out the foundations of nearly every institution and social more that our society is built upon. His blog is really good.

computing

Will Faught

1 minute

VirtualBox

I’m glad to see a viable open source virtual machine.

computing

Will Faught

1 minute

August 2013

Use Mprotect To Change Memory Page Permissions

I never knew this is how it’s done.

computing

Will Faught

1 minute

July 2013

Primary, Secondary, And Tertiary Directories

Linux distributions should stop separating things into the three directory hierarchies at /, /usr, and /usr/local. Just put all the binaries in /bin, all the libraries in /lib, etc. Why can’t that work? There’s no need to have files on separate partitions nowadays; it’s not like it’s running on a toaster. Probably.

computing

Will Faught

1 minute

OpenSUSE Boot And Shutdown Scripts

If you want to run scripts on OpenSUSE when booting or shutting down, use /etc/init.d/boot.local and /etc/init.d/halt.local.

computing

Will Faught

1 minute

July 2008

The Cloud

I’m going to puke if I read about “the cloud” or “cloud computing” one more time. It’s become popular in the past half year but it doesn’t describe anything new. Sometimes the computer tech industry has more ridiculous fads than fashion.

cloud computing fad life reflections

Will Faught

1 minute

π