Space Oddity

Easy to laugh this off or to get pizzy about space junk, but cannot underestimate the significance of what happened today – humans launched a Tesla into space blasting Bowie on infinite repeat, using a rocket many times larger than anything we’ve launched for decades, for a fraction the cost of what NASA launches cost, *and* brought two out of three of its booster rockets back for a perfect (and simultaneous!) landing, ready for re-use. And we got a view from the Tesla-in-space streamed live on YouTube as it all went down. Humans are awesome, and Mars just got a whole lot closer.

Great pics in the Guardian coverage.

Alexa, Shut Up!

Listening to a mother talking about how her 11-yr-old daughter was rude to Amazon Alexa, yelling “Shut up!” at it. Mother admonished her for being rude. Child: “Gosh mom, it’s just a robot, it’s not like it’s an AI or something.” In other words, child makes clear distinction that AI has “real” emotions and that we shouldn’t hurt its feelings, while a simple robot does not. Amazing times.

Año Nuevo – Elephant Seals, Costanoa

Spent a couple of days off the grid at Año Nuevo state park with families. The first evening, Amy and I found ourselves trudging across 1/2 mile of dunes to meet the sun just as it kissed the horizon of the sea. With a light haze blowing through the sand and tall grasses, scenery was mystical and perfect. Elephant Seals unfortunately weren’t very active when we were there – just sunbathing blobs, but neat to see anyway. Wrapped up with a hike in the foothills beneath Big Basin. Recharged!

Costanoa Sunset Beach Hike

Costanoa Sunset Beach Hike

Steve Bollman Pescadero

Elephant Seals @ Año Nuevo

Lots more in this Flickr set

A Nanosecond Per Foot

It takes light takes about a nanosecond to travel a foot. So if you’re sitting four feet away from me, I’m seeing you as you were 4 billionths of a second ago. Meanwhile, Earth light takes four years to get to Alpha Centauri. So for anyone on a planet in Alpha Centauri watching Earth TV, it would appear that we still have an adult president in office.

Marvin Pontiac: The Asylum Tapes

“I thought people would be up in arms about pretending to be a black person,” Lurie said in a 2008 interview, “but people were more upset that I pretended to be an insane person.” –2013 John Lurie interview at eMusic

Something seemed fishy about the amazing 1998 The Legendary Marvin Pontiac ‎– Greatest Hits release, on Strange & Beautiful Music. Who was this madman with the lyrical genius of Dylan meets Robyn Hitchcock meets crazy-guy-on-the-corner-by-the-bodega, and where did he come from? How did such an incredible record emerge whole cloth from an artist none of us had ever heard of? Then his biography turned up online, claiming that Pontiac had been:

The son of an African father from Mali and a white Jewish mother from New Rochelle, New York. The father’s original last name was Toure but he changed it to Pontiac when the family moved to Detroit, believing it to be a conventional American name … When his mother was institutionalized in 1936, the father returned and brought the young boy to Bamako, Mali where Marvin was raised until he was fifteen. The music that he heard there would influence him forever.

Plausible? Almost sorta kinda. But why did Pontiac’s voice sound like a more blues-drenched version of New York jazz musician/painter/actor John Lurie (Lounge Lizards)? Oh… because Pontiac was Lurie! Realizing that the whole Pontiac thing was a ruse didn’t diminish the magnetism of that record for me though – it amplified it if anything. Went looking for more, but that was it — just the one audio scrapbook.

Until now. Pontiac (who was supposed to have been killed by a bus in 1977!) just dropped a follow-up recording, The Asylum Tapes, allegedly recorded on a donated 4-track deck while he was confined in the Esmerelda State Mental Institution. This time it’s Lurie solo (the first collection was recorded with John Medeski, Billy Martin, G. Calvin Weston, Marc Ribot), but it’s raw, weird, soulful and full of demented wonder.

New Yorker: So what’s Lurie up to with this project? I suppose it’s no more mischievous, really, than an actor singing in character, and many of our most prized artworks goof around with form, testing the permeable membrane between fact and fiction, between art and something else. … Our hunger for the authentic or the unmediated has mostly begotten us a cavalcade of deeply unreliable things, such as Donald Trump, laminate flooring, fake-fake news, artisanal moonshine, and reality television.

Then again:

Reportedly Marvin’s music was the only music that Jackson Pollack would ever listen to while he painted. This respect was not reciprocated.

Not sure The Asylum Tapes will get us any closer to answering hard questions about how Pontiac ended up in the bughouse, but it’s deep, beautiful, soulful, sort of funny, and totally worth your time. Available for streaming on iTunes, Spotify, etc.

Google SheepView

Cool story: The Faroe Islands are so remote, and have such a small population, that Google hadn’t gotten around to doing StreetView there. So citizens took it upon themselves to strap solar-powered cameras to their sizable sheep population, and uploaded the resulting images to Google themselves. Soon after, Google took notice and sent actual StreetView cars and hikers to do the mapping for real.

A Nation-Sized Battery

If you want to power your home entirely on renewables, the general recommendation is to include enough battery storage to keep things running for 3-4 days without any input (no sun, no wind). This fascinating blog post looks at a hypothetical scenario where we wanted to scale this pattern up to supply the entire United States with enough battery to back up a 100% renewable grid.

He does the math, and comes up with a battery size of approximately one cubic mile. Size is not a problem (it would be distributed), but the cost would be around $25 trillion – more than the annual U.S. GDP. And we know of no source in the world capable of supplying enough lead (he uses lead batteries in the though experiment because they’re 85% efficient and are the cheapest form of battery). So there’s some problem solving to do there, and there are problems with the hypothetical – for example the whole nation would never experience a lack of sun or wind for four days, and we could share extra juice around on a well-distributed grid, eliminating the need for this much battery storage. Or we could come to a fantastic battery breakthrough that changes everything. Or … Good read.

A Nation-Sized Battery

Testing Reusable Django Apps with Pytest

Django project dependencies are normally installed with a simple

pip install myapp

But if you want to be a code contributor to a dependency such as a reusable Django app (or if you are writing one), the usual pattern is to:

  1. git clone that app to another directory, outside of your project
  2. From within your project dir, use
    pip install -e /path/to/the/clone

This creates a foo.pth link and/or a foo.egg-link in your project’s virtualenv, rather than copying the code into the project itself, so you can work on the separate repo and have changes reflected in your project in real time.

That’s all well and good, but if you use pytest and need to run tests in the dependency, just running pytest from your project dir won’t find tests that live in the dependency. So can’t you just run pytest from within the dependency’s directory? Not quite – since it’s a Django app, it’s going to assume access to Django itself, and likely to other apps installed in the Django project, such as users. It would be redundant and cumbersome to install Django in the dependency’s directory, and that still wouldn’t solve the problem of access to users etc.

I can’t seem to find mention anywhere of a “best-practice” solution to this dilemma, but after much futzing around and feeling like I must be missing something obvious I tried what should have been plain from the outset:

  1. From the project dir, pip uninstall myapp
  2. From the project dir, create a symlink:
    ln -s /path/to/the/clone myapp
  3. Add myapp to your .gitignore

Now the separate reusable app appears to Django and to pytest like it’s present in the project, while maintaining physical separation between the project and the dependency. Tests run, and there’s no confusion. Just be sure to .gitignore the symlink.

There’s a gotcha to look out for here: Typically, a reusable app called “myapp” will live in a parent folder that’s also called “myapp”. If you make your symlink to the top-level folder, the imports inside it will not work. You’ll want to create your symlink to the inner folder, e.g.:

ln -s /Users/yourname/dev/myapp/myapp .

Unless I’m mistaken about something, a simple symlink (rather than pip install -e appears to be the easiest way to organize the relationship.