Page 1 of 5912345...1020...Last »

Fri, 27 Nov 2015


— SjG @ 1:48 pm

(This is a post from the end of September. I didn’t finish writing it then, but recent events made me revisit it).

I just finished reading Camp and Community: Manzanar and the Owens Valley, an oral history compiled in the mid 1970s by Jessie A. Garrett and Ronald C. Larson. Unlike many of the oral histories of Manzanar, these interviews are not of internees. Rather, this is a collection of interviews of twenty some odd people who lived and worked in the area. Some of them worked at the camp itself (including one director of the camp), while some had no connection to it at all.

It’s a fascinating read. Not unexpectedly, people often contradict one another and the memories are rife with inconsistencies, but it paints a picture of a small, relatively isolated community being confronted with substantial change and influx of outsiders (both within the camp and with the outside personnel the camp required). The change was an economic boon in a lean time, and it brought outside attention to the area. Both of these factors affected the attitudes of the community.

There is a strong impression that some people’s feelings changed in the twenty-five to thirty years between when the events took place and the interviews occurred.

Among the people whose opinions changed against the internment, there were all of the expected explanations: it wasn’t actually so bad, some of the the internees came voluntarily, it was for their own protection, the internment was a fait accompli and there was nothing to be done, there were legitimate mutual threats against America and Japanese Americans so this was sadly necessary, and so on. Among the people who supported the internment then and now, the arguments were also the expected ones: it was war, these were people of suspect loyalty, internees were treated better than the Japanese would treat Americans, to do otherwise would be to invite disaster.

One theme, as valid today as any time, is that fear is easily stirred up and manipulated to make people do things they would ordinarily oppose. Several of the interviewed people reflected on the fact that American citizens were unconstitutionally stripped of their rights, but excused it because there was a foreign threat to the country. It was also clear that the sense of “otherness” was key. Many of the people interviewed said they’d never seen (much less met) a person of Japanese descent before the establishment of the camp.

Another theme is essentially the William Goldman adage to “follow the money.” People like newspaperman Manchester Boddy helped establish the camps — and profited greatly on buying up the property of Japanese-Americans at firesale prices when they had twenty-four hours to liquidate their belongings before being shipped out.

Some of the defenses of the creation of Manzanar are true. People were afraid. We were at war. The imperial Japanese army was terrible and cruel to captured peoples. And yet, even if true, these are irrelevant. If our rights as Americans are subject to revocation when we’re afraid, then they’re not rights. If our answer to enemy cruelty is cruelty, then we’re no different than our enemy. If we can strip citizens of their freedom and property just because they look different than the majority, then we descend into mob rule and our lofty appeals to our ideals are just so much hot air.

Wed, 11 Nov 2015

Mac Ports and X-Code Command-line tools

— SjG @ 1:59 pm

I was setting up a new Mac with Mac Ports… and ran into a weird problem.

First, installed Xcode from the App store. Took a long time, but was done. I mistakenly thought it had installed the command-line tools, because now I could run commands like “svn” from the command line. The Department of Tautologies reminds you that some command-line tools are command-line tools, and others are not.

So I tracked down my build problem to the fact that command-line tools were not installed. Following every guide everywhere, I typed:
xcode-select --install
But instead of the expected glorious dialog box and installation, I got the virtually-un-Googlable error:
xcode-select: error: no developer tools were found, and no install could be requested (perhaps no UI present), please install manually from ''.

To make a long story short, the problem was that I ran the xcode-select as root. Eventually, I found that running it as an ordinary user worked as expected.

After that, command-line tools are properly installed, and ports work as God intended them to.

There are a lot of deceptive distractions out there.
Typing, for example, xcode-select -p returns the correct /Applications/ path that you’d expect.
Similarly, the error in the port build was that the directory /usr/include does not exist.
Don’t be deceived. These are lies!

Sun, 18 Oct 2015

Yii mystery on Mac

— SjG @ 3:07 pm

I upgraded the Mac to Yosemite a year or so ago. Yesterday, I wanted to do some development on a project that I’d been idly thinking about. Unfortunately, it required a dependency in a package I’d installed via Mac Ports. I tried to upgrade it, but got an error that I was compiling for the wrong Darwin version. This means I haven’t actually updated any of my Ports since upgrading to Yosemite! For shame.

Rather than fix Mac Ports for Yosemite, and then again when I upgrade to El Capitan, I decided it was time to do that upgrade and then fix it. I went through and did so, and upgraded all my ports, and it all seemed to go well. I went from PHP 5.3 to PHP 5.5, and MySQL from 5.1 to 5.5, and it went without a snag — the web server came up and my old configuration was good, databases same. Everything seemed sweet and easy!

Ha! Sweet and easy with software? Not so fast, buckeroo! Working on another project, I found that Yii was crashing — but only from the command line!
exception 'CDbException' with message 'CDbConnection failed to open the DB connection: could not find driver' in /Users/samuelg/project/unicorn_rainbows/framework/db/CDbConnection.php:399

I quickly through a page up with phpinfo(), and saw that all the usual suspects were valid:

  • I was running the PHP I thought I was (Mac Ports version 5.5, not the built-in Mac OS version)
  • It was using the php.ini file I thought it was (in /opt/local/etc/php55/)
  • PDO was installed
  • PDO’s MySQL driver was installed
  • PHP’s configured recognized the drivers
  • Paths to any config files were correct
  • Ports were all normal
  • Default path to MySQL socket file was correct

Of course, this all makes sense, because my web pages that access the database were working.

So why not from Yii’s console program from the command line?

A quick php -version revealed the problem. It wasn’t the database configuration at all! Well, not exactly.
samuelg$ php --version
PHP 5.6.14 (cli) (built: Oct 15 2015 16:20:41)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies

Wait, what? PHP 5.6? But… how?

samuel$ port installed | grep php
php55-mysql @5.5.30_0+mysqlnd (active)
php55-sqlite @5.5.30_0 (active)
php56 @5.6.6_0+libedit
php56 @5.6.14_0+libedit (active)

Yup, somehow, I’d installed some PHP 5.6 packages as well!

To solve the problem quickly, I uninstalled PHP 5.6. I could have upgraded everything to 5.6 (or just inactivated them, I suppose), but I just wanted to work on my original problem, not spend my day on system configuration.

Tue, 29 Sep 2015


— SjG @ 9:14 pm

The Quagg Wedding Chapel has had a cheap wireless doorbell system, and over time the plastic case for the button itself got corroded and ugly.

Aha! This looks like a good Saturday project!

So, I disassembled the plastic button to get at the actual circuit board. Then I selected some nice wood stock and measuring devices, and started designing.

As mentioned before, my primary fabrication/making tool here is my Nomad 883 CNC device. I create my designs using Moment of Inspiration (MoI), convert them to GCode using MeshCAM, and carve them from wood, plastic, or metal with the Nomad.

First, I cut the heart-shaped button piece. This was cut from a piece of recovered Red Oak (the plank had spent some years being a wine barrel). As you can see, to prevent the cut-out piece from breaking free and rattling around before the surface was completely carved, I left some connector supports. They were cut away later.
Next is the main body of the piece, cut from the lighter wood (I think it may be ash). This is a two-sided cut: the basic shape of the button holder is the one side, and the hollowed out interior with areas for the button and circuit board is the other. There are elaborate means that can be used to make a very precise two-sided cut (Carbide 3D sells their recommended “flip-jig”, which is accurate to around 1/100th of an inch, but I don’t have one). For this project, however, the alignment of the two sides only needed to be within a millimeter or two, so I did it mostly by eyeball.
You can see there were two attempts here. The first time, I used an 0.0625″ ball cutter. The thin cut around the edge got clogged with chips, and skipped. The second attempt, I used an 0.125″ ball cutter and vacuumed a few times during the process.
Next, I flipped the piece, and did the hollowing cut. This used an 0.125″ end mill. I’m not positive I know what this lighter wood is — I set the carving parameters for as a soft wood, but I think perhaps I should have chosen hardwood. The feed-rate of the cut (the speed that the cutting bit moves) was a little too aggressive. Part of the way through the finishing phase, the cutter bound briefly and the servos skipped, resulting in an aborted cut. The carving was mostly complete and still usable, however. The damaged areas are on the inside of the hollowed pocket, so they aren’t visible when it’s all assembled. I figured it was good enough, and didn’t bother to redo the whole process.
I sanded everything down a bit, and tested to see that the button portion had clearance. Yup! It works!
Now I separated the main object from the larger piece using an X-Acto knife. I smoothed the edges, and treated the pieces with polyurethane sealant. I slotted in the circuit board, and it all fit together nicely.
Not shown are the screws and the mounting hardware that loops around the circuit board in the slots by the battery. I added that hardware, and, with a silent mental fanfare, I put it up!
My final conclusion is that it’s kind of ugly, but in a much more homey/craftsy way than the corroded plastic it replaced. And hey! It works!

Sat, 15 Aug 2015

Dinner Party

— SjG @ 5:48 pm

If you were throwing a dinner party, and had a table for eight, a fantastic chef, an unlimited travel budget, and were able to invite seven guests1, who would you invite?

While picking a good table is an impossible challenge, here’s what my first table would look like:

I found coming up with this table such a fun challenge that I will doubtless expand this into a dinner series. Maybe we’ll meet once a month.

Who is coming to your dinner party?

1 I’m making the assumption that the invitation would be so compelling that the guests would all attend. And I’m further limiting this thought experiment to living people.

Filed in:

Page 1 of 5912345...1020...Last »