Friday, September 25, 2009

Shopbot joinery

I tried my first joinery on the shopbot today. It's a concept for a sideboard to foot joint for a bed. I recessed the post 1/8" deeper than the plywood to give it a sense of depth when assembled, but I'm still deciding whether I like the effect. Maybe with a very gentle roundover on the post edges.

Here are my Sketchup, PartWorks and Shopbot partfiles. The partfiles are written for a 1/4" bit.

The raised sections of the post need a little rounding off at the tip to accommodate the 1/4" radius in the mating part; I should probably fix that in the sketchup model before I do any more of those. Also, in partworks, I relieved the plywood path by 0.030" so it had enough clearance to fit. I like how the fit came out with that amount of clearance.



Friday, September 04, 2009

squid reverse proxy (aka website accelerator) on ubuntu hardy

We had a bunch of machines all hitting the same URLs on www.example.com, so we put up a squid reverse proxy on ourcache.example.com so that http://www.example.com/foo/bar would get served and cached by http://ourcache.example.com/foo/bar

sudo apt-get install squid squid-cgi # squid-cgi enables the cache manager web interface

Edit /etc/squid/squid.conf. It's very well documented, and we only had to modify a few lines from the default ubuntu hardy config:

Allow other local machines to use our cache:

acl our_networks src 10.42.42.0/24
http_access allow our_networks

instead of the default of:

http_access allow localhost

Have the cache listen on port 80 and forward all requests to www.example.com:

http_port 80 defaultsite=www.example.com
cache_peer www.example.com parent 80 0 no-query originserver

In our case, we wanted to cache pages that included "GET parameters" in the URL, such as http://www.example.com/search?query=foo (which is something you should only do in special cases):

# enable logging of the full URL, so you can see what's going on (though it's a potential privacy risk to your users)
strip_query_terms off

Comment out the lines that exclude cgi-bin and GET parameter URLs from being cached:

#acl QUERY urlpath_regex cgi-bin \?
#cache deny QUERY

Then we went to: http://localhost/cgi-bin/cachemgr.cgi to see how well our cache was working (blank login and password by default).

After doing an "/etc/init.d/squid restart", we found that we could hit http://ourcache.example.com/foo/bar.html and get http://www.example.com/foo/bar.html, as expected.

Saturday, August 22, 2009

Dell Mini 10 slow with Ubuntu Netbook Remix

The Ubuntu Netbook Remix worked great with my Dell Mini 10, but the menu panel was horribly slow. Turns out it's just the "netbook-launcher" process itself, which eats up 100% CPU for some reason.

Fixing the problem is easy: go back to the traditional ubuntu menus with System... Preferences... Main Menu. (Updating to psb graphics also fixed the problem.)

Accelerated video on Dell Mini 10 with Ubuntu Netbook Remix

Update 4: Wow, this netbook sucks, mainly due to the intel graphics. (I've also had a miserable time with my other intel netbooks). The driver broke again, so I've been using it with the painfully slow vesa driver, which at least makes it stable.

Update 3: The netbook-launcher process is horribly slow when using non-accelerated graphics. If you just want to fix that without bothering with the accelerated graphics hack, just disable the netbook launcher.

Update 2: A magic incantation in xorg.conf fixes the lockups:

Option "AccelMethod" "EXA"
Option "DRI" "off"
Option "MigrationHeuristic" "greedy"

Update: I'm getting frequent system freezes. I suspect it's the video driver, so I'm going to downgrade back to the VESA driver and see if it improves.

After the install, I only got 800x576 video in xorg, using the non-accelerated VESA driver.

Based on these instructions, I added the Poulsbo graphics drivers:

Edit /etc/apt/sources.list (for example, by running "sudo gedit /etc/apt/sources.list") and add these two lines to the file:

deb http://ppa.launchpad.net/ubuntu-mobile/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/ubuntu-mobile/ppa/ubuntu jaunty main

Then,

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C6598A30
sudo apt-get update
sudo apt-get install xserver-xorg-video-psb
sudo apt-get install poulsbo-driver-2d poulsbo-driver-3d

Rebooting, I got errors about "First SDVO output reported failure to sync or input is not trainded!!!" and "This driver currently needs DRM to operate." This bug report suggests that it has to do with the kernel version. The suggested fix worked:

apt-get install psb-kernel-source

Wednesday, August 05, 2009

Behavioral Confirmation (and behavioral compensation) part II

I found a much better discussion of behavioral confirmation on Google Books: The Social Construction of Reality, pp. 395-399.

Behavioral Confirmation happens when your expectations about how someone will act actually cause them to act that way. Sociologists have performed a bunch of clever experiments to prove that this is a real and significant effect. Here's how the author describes one experimental setup:

"Fifty-one male and fifty-one female undergraduates at the University of Minnesota participated, for extra course credit, in what had been described as a study of the "processes by which people become acquainted with each other." These individuals interacted in male-female dyads in a getting-acquainted situation in which they could hear but not see each other( a telephone conversation). Before initiating the conversation, the male member of each dyad received a Polaroid snapshot of his female interaction partner. These photographs, which had been prepared in advance and assigned at random to dyads, identified the target as either physically attractive (attractive-target condition) or physically unattractive (unattractive-target condition). Each dyad engaged in a ten-minute unstructured telephone conversation that was tape-recorded. Each participant's voice was recorded on a separate channel of the tape. In order to assess the extent to which the actions of the female targets provided behavioral confirmation of the male perceivers' stereotypes, twelve observer-judges listened to the tape recordings of the getting-acquainted conversations. The observer-judges were unaware of the experimental hypotheses and knew nothing of the actual or perceived physical attractiveness of the individual whom they heard on the tapes. They heard only those tape tracks containing the female participants' voices. Nine other observer-judges listened to and rated only the male perceivers' voices."

Not only did the judges find that the men treated the women differently based on the mens' biases, but the women unconsciously conformed to those biases!

Analysis of the observer-judges' ratings of the tape recordings of the conversations indicated that female targets who (unbeknown to them) were perceived to be physically attractive (as a consequence of random assignment to the attractive-target experimental condition) actually came to behave in a friendly, likeable, and sociable manner. This behavioral confirmation was discernible even by outside observer-judges who knew nothing of the actual or perceived physical attractiveness of the target individuals.

In this demonstration of behavioral confirmation in social interaction, the "beautiful" people became "good" people, not because they necessarily possessed the socially valued dispositions that had been attribuvted to them, but because the actions of the perceivers, which were based on their stereotyped beliefs, had erroneously confirmed and validated these attributions.

As the author, Mark Snyder, puts it: "They treated their targets as sociable or unsociable persons, and, indeed, these targets came to behave in a sociable or unsociable fashion."

Sunday, July 26, 2009

Phoebe in Wonderland

Great movie! And it's one of the rare movies that it satisfies the Bechdel Test.

Friday, July 17, 2009

Move the cursor from the command line in fvwm using FvwmCommand

In the holodeck, I sometimes forget to move the mouse pointer to the corner of the screen before I unplug the keyboard. Here's how to do it remotely if you use fvwm (or fvwm2) as your window manager:

$ ssh whatever

$ export DISPLAY=:0.0

$ FvwmCommand 'CursorMove -100 -100'

Note that the quotes are important; otherwise it gets confused about the -.