Skip to main content

Why do the lights dim during a wind storm?

It's windy in Seattle this evening with gusts of 45-50 mph predicted over night. With the snow and freezing rain of last week there were some 250,000 residents without power and the local power utilities do great work in restoring service as quickly as possible in rather unpleasant conditions.

Back to tonight, as often happens during windy weather, the power stays on but the lights dim, brighten and flash at random intervals. The reason for this, it turns out, is the autorecloser, a device which complements protection devices like circuit breakers by restoring a breaker if the fault is purely transient (e.g. a falling branch temporarily short circuits a power line on its way from tree to ground).

Residential customers in areas fed by affected overhead power lines can occasionally see the effects of an autorecloser in action. If the fault affects the customer's own distribution circuit, they may see one or several brief, complete outages followed by either normal operation (as the autorecloser succeeds in restoring power after a transient fault has cleared) or a complete outage of service (as the autorecloser exhausts its retries). If the fault is on an adjacent circuit, the customer may see several brief "dips" (sags) in voltage as the heavy fault current flows into the adjacent circuit and is interrupted one or more times. A typical manifestation would be the dip, or intermittent black-out, of domestic lighting during an electrical storm. Autorecloser action may result in electronic devices losing time settings, losing data in volatile memory, halting, restarting, or suffering damage due to power interruption. Owners of such equipment may need to protect electronic devices against the consequences of power interruptions.

• −    − •    − • •    − • − −     − − −    • −    • − •    • − • •    •    − • − −

Legacy incentives - How Can A Free Conference Call Be Free?

A great article titled How Can A Free Conference Call Be Free? describes how apparently free conference calling services fund themselves. The article does a good job explaining how an old law which made reasonable sense in 1996 has now formed a loophole whereby termination fees (the payments big carriers make to small telco providers) can today be used to cover the cost of running a service (and profit!) in a geographic area not covered by major telcos.

Although not exactly the case here, it reminds me of an excellent MetaFilter comment:

If you are not paying for it, you're not the customer; you're the product being sold.

In this case, that's probably partially true too. Are these calls being recorded? Is your voice data being resold? (I haven't checked the terms for the various services but it might provide a nice supplemental income stream). But the bottom line is that these services are not really free, it's just that you, along with every other customer of the big carriers, have already subsidized their existence.

• −    − •    − • •    − • − −     − − −    • −    • − •    • − • •    •    − • − −

Weekly link roundup

Random things shared on Twitter from the week: * "Since 1978, something like 500 million people have risen out of poverty" The Secret Document That Transformed China http://t.co/5YpaRQUR * http://t.co/IYVhPakD * How to be Relentlessly Resourceful (a practical guide) http://t.co/uvB7Kldy via @zite * 2011: The 9th hottest year on record http://t.co/hkEXjwn8 via @zite * Thought on activation energy and the benefits to adoption of reducing the 'hump' http://t.co/QeKKXS0G * Testing a sitemap with bash, sed and curl http://t.co/uo21ungh * RT @carlmilner: Russian Rocket Factory looks like the abandoned Core to @starwars's Death Star http://t.co/gxTy5dJw http://t.co/cptaf9Ll * Thoughtful read: China Will Overtake the US in Computing…Maybe, Someday… http://t.co/VQ9sGD04 * Amazing map offers an inventory of all the trees in the US http://t.co/xOjSbU9C via @zite * Programming styles: Marines vs. Boy Scouts http://t.co/Q7piJSfC via @zite * You are bitching about the wrong things when you read an article about science http://t.co/kgLvkvce via @zite * Newly discovered molecule has potential to offset climate change and cool the planet http://t.co/nNSGxNXh via @zite * A 14-year-old could build 1998's Google using her Dad's credit card... http://t.co/JImEID9Y * Richard Feynman on Why Questions http://t.co/MvqdUknL * Big Data Analytics: Trends to Watch For in 2012 http://t.co/4wAWAW9t via @zite * Make Maps People Want to Look At http://t.co/gCOQXZnp via @zite * Career of the Future: Data Scientist (INFOGRAPHIC) http://t.co/u72kV8U3 via @zite

• −    − •    − • •    − • − −     − − −    • −    • − •    • − • •    •    − • − −

Showing latest tweets in a static web page

This site is hosted as static files served out of S3 so there's no server side processing going on. Any dynamic functionality must either by iframed in from another server or handled in Javascript. The tweets shown on the right are an example of the latter.

This is actually quite easy to do: 1. Use jQuery which makes Javascript programming much easier. Include a reference to the jQuery script in the page header. 1. Load up the latest tweets from the Twitter API in JSON format. 1. Translate data to HTML and render.

First we'll set up the container into which the content will be rendered on the main page:

{% highlight html %}

    Next, let's take a look at the code. This leverages the very handy yet terrifying Linkify snippet by Jeff Roberson for URL extraction and hyperlinking. Thanks, Jeff!

    That's it. When the page has loaded, the AJAX call to the Twitter API is made and a simple bulleted list of tweets is rendered in the page.

    • −    − •    − • •    − • − −     − − −    • −    • − •    • − • •    •    − • − −

    Activation energy

    I can easily recall the first time I learned about the idea of 'activation energy' during a chemistry class in school. While rooted in chemicals, reactions and catalysts, the same metaphor works so well for describing human nature. We understand the final state is better than the current one yet don't like the effort involved in getting there. Crossing over the activation 'hump' is not necessarily the biggest problem a system will face but it'll certainly be an early one.

    Techniques that reduce the height of, and therefore effort needed to overcome, the hump can be easly evaluated. For example, as a business owner I'll happy provide a potential customer with a discount coupon since I'll recoup that loss and still make a profit on the rest of their business.

    By how much can the hump be reduced? Finding an arrangement that can make this hump zero, negative, or at least perceived that, results in potential customers/users 'sliding up the hill' towards adoption. What an enviable position to be in!

    (This post was inspired by my discovery of Github gists, a low effort, high reward mechanism for sharing snippets of code.)

    • −    − •    − • •    − • − −     − − −    • −    • − •    • − • •    •    − • − −

    Testing a sitemap with bash, sed and curl

    During the migration from WordPress to Jekyll I wanted to confirm ensure I didn't break any existing permalinks and leave 404s hanging around. The process is trivial but something I may want to repeat.

    First, download the sitemap.xml.gz output by the All In One SEO WordPress pluging. Crack this XML in a simplistic way and write out all of the known URLs to a simple text file.

    {% highlight bash %} gunzip sitemap.xml.gz grep \ sitemap.xml | sed 's/.*//' | sed 's|||' > sitemap.txt

    Next, create a script testsitemap.sh that reads from stdin and makes an HTTP request for each line and records the HTTP response code.

    {% highlight bash %}

    !/bin/bash

    while read line do response=$(curl --write-out %{http_code} --silent --output /dev/null $line) echo $line '\t' $response sleep 1 done

    Finally, pull the whole thing together and list and 404s.

    {% highlight bash %} cat sitemap.txt | bash testsitemap.sh | grep 404

    • −    − •    − • •    − • − −     − − −    • −    • − •    • − • •    •    − • − −

    Adventures with Jekyll

    When I was younger, I tore down and rebuilt the engine of my 1980 Mini Cooper. While it involved some tools and an instruction manual, understanding the engineering and process was easily within the capabilities of a 17-year-old. With computer controlled, fuel injected engines, I don't think that's even remotely feasible today.

    Over the years I've hosted this site on Blogger, Movable Type, PHP, ASP.NET, and most recently, have been using WordPress to host this blog on andyoakley.com. WordPress been very easy to maintain, cheap to host, and rich in functionality. Overall, I have few complaints, especially given the frequency with which I had been making updates. The only real gripe I had was around page load time which was hovering around 8s! I know there are multiple good caching solutions for WordPress of which I tried several with mixed success.

    I wanted two things: 1. Make the site fast. Optimizing for serve rather than edit. 1. Simplify. Reduce the complexity and get back to an easily-understood rendering model just like a 1980 four cylinder engine.

    As a result this site in now completely delivered as static files. No more database dependency and dramatically reduced scalability concerns. It's also wicked fast. For this purpose I picked Jekyll, a Ruby-based system for taking content and pressing out static HTML. The content itself is served up by Amazon S3 which is both scalable and cheap.

    The migration was very easy. The built-in importer worked well from a wordpress.xml output. Since I hadn't been comment-enabled for a while, the only real server side functionality was the plugin that pulled latest tweets in the right hand bar but that was easy enough to convert to client-side behavior with a little help from jQuery. That's perhaps a topic for another post.

    So far I'm happy.

    • −    − •    − • •    − • − −     − − −    • −    • − •    • − • •    •    − • − −

    HzO: this product sells itself

    From Samsung and Apple looking at new waterproof smartphone tech, I thought this was a great example of how to make an impression. Figure out how your product improves someone else's, demonstrate it, and show them. No explanation needed.

    We showed the Samsung Chairman the technology with a Samsung Galaxy S that we had coated with HZO and he couldn't believe his eyes," a representative of the company told us. "Samsung is really excited by the tech."
    • −    − •    − • •    − • − −     − − −    • −    • − •    • − • •    •    − • − −

    Weekly interesting link roundup

    • −    − •    − • •    − • − −     − − −    • −    • − •    • − • •    •    − • − −

    Primary vs secondary tasks

    Random thought exercise: Are you safer being driven by someone who is doing it as their job (e.g. taxi driver) or by yourself or a friend who drives on an as-needed basis?

    The obvious first question: What is the accident rate for taxis, limos, truck drivers and regular cars? There's a suprisingly relevant result titled Taxicab and Livery Crashes in New York City 2004 which while a little dated does have some good numbers.

    Crash rates are one-third lower for taxicabs and liveries than for other types of vehicles. The crash rate was 4.6 taxicabs involved in reported accidents per million miles traveled and 3.7 liveries involved in reported accidents per million miles traveled, compared with 6.7 vehicles involved in reported accidents per million miles for all vehicles in New York City, in 2004.

    It would be easy to conclude that people who drive all day are simply better at it (see the 10,000 Hour Rule) but that wouldn't be the whole story. The paper goes on to identify a couple of other incentives which would seem to play a much more significant role.

    A different explanation appears to lie behind the drop in livery crashes since 1999. Since 2001, insurance companies that underwrite livery vehicles have more carefully tailored auto insurance premiums to driving records. While the livery industry has for many years had an incentive to drive more safely and reduce insurance costs, the benefits would accrue only to the industry as a whole. Changes in insurance underwriting brought this relationship to the vehicle level, so that drivers with accidentprone records now bear the brunt of higher insurance premiums. This has apparently led to more careful driving among livery drivers

    A great example of the real world impact of a policy refinement. In this case, the tighter alignment of goals (specific drivers rather that fleets/industry being held accountable) looks like a win all round. But is it?