Monday, November 1, 2010

Photo updates

I must confess that reading photography blogs and forums has been much more influential than any conventional advertising could be. Here's what I've bought so far:

Film processing

I mailed out two sets of film for processing: one to York Photo and the other to Snapfish. It turns out the prices I'd listed were out of date - they're actually 0.23 (24 exp) or 0.17 (36 exp) per photo, which is still cheaper than Snapfish by $1 per roll.

The Snapfish mailer is nicer (tear-resistant plastic vs. wrinkly paper) and their order form is better laid-out and easier to understand. I mailed the York envelope out on Saturday and the Snapfish one today, so we can compare turnaround times. In the end, I expect it'll come down to the quality of their prints and, more importantly, their scans.

On a side note, I got $50 of free scans from ScanCafe, so I'll probably be doing 4000 dpi scans for all these negatives.

Close-up filters

I got a set (+1,+2,+4) of close-up lenses from Adorama. They're unbranded but seem okay to me. Then again, any distortion would have to be pretty extreme to be noticeable at the viewfinder.

On my current lens (Nikon 28-80mm, f/3.5-5.6 AF-D) the normal close focus overlaps the far focus with the +4 close-up lens, which seems to render the other lenses useless except for stacking onto the +4. So I'd say that buying a single +10 close-up lens would probably be a better idea than buying this set.

A new lens

I bought a Nikon 50mm f/1.8 AF-D lens off eBay for $90 with shipping. Hasn't arrived yet, but I'm excited. It's 2 stops faster than my zoom lens (f/4.5 at 50mm), so I should be able to take pictures of my aquarium at 1/30 shutter speed with ISO 400 film. It should also have nicer bokeh than my zoom lens, which turns out-of-focus points of light into slightly asymmetric donuts.

Of course, the downside is that it's a fixed focal length. I think I'll have to use it for a while before I can say how much of a constraint that turns out to be.

Sunday, October 31, 2010

Palo Alto Foothills Park

We went to Palo Alto Foothills Park yesterday afternoon. We were actually trying to go to the Pearson-Arastradero preserve, but ended up here instead. It was fortunate SC still has a Palo Alto address on her driver's license, otherwise they wouldn't have let us in.

There was a pond full of fuzzy stem plants (and 3 canoefuls of Boy Scouts). And ducks.

SC thought I had a particularly awkward shooting pose. I'm planning on sending the film to Snapfish for processing, so it'll probably be a few weeks before we find out how those pictures turn out.


I thought this hill was pretty interesting - trees and brush on the left, yellowed grass on the right. Is it the sun? This photo was also taken in HDR mode on the iPhone - the colors became muted and there's a halo around the hill, but neither the bright sky nor the dark leaves got washed out.


It was pretty awesome how colorful these were. 

I used Windows Live Photo Gallery (what a mouthful!) to stitch together four photos for this panoramic. The software's not bad; I think the problem here was the auto-exposure settings on the camera.

And as we were heading out, we saw this deer carcass in a clearing by the road. I hope it was mountain lions.

Saturday, October 30, 2010

Rasbora update

Saw some interesting behavior in two of our rasboras today:


That's the big fish (two-stripe fish), chasing around one of the smaller fish, possibly trying to mate with her and probably doing it wrong. I took this video on my iPhone 4 - the camera on it is pretty slick.

Thursday, October 28, 2010

The pumpkin pie succumbs to mold!

After eating less than half the pie over the last few days, it has succumbed to mold, which is rather disappointing. Next time, we'll refrigerate. Or maybe get some calcium propionate.

Monday, October 25, 2010

Pumpkin pie

After our failed trip to the Half Moon Bay pumpkin festival, we bought a pumpkin at Safeway with the intention of making pie. Turns out those Jack-o-lantern pumpkins are different from those typically used for making pie (i.e., larger, more watery, less sweet, and grainier).

Still, we went ahead and made pie following this recipe. We made a graham cracker crust and used fresh ginger and only 1 can of evaporated milk (I didn't realize that it's so different from condensed milk!), but otherwise followed it exactly. If you're wondering what the Cateye bike light is doing in the photo below, it's how we look into our oven, for there is no window nor light in there.


It turned out quite nice! We drained a lot of liquid out of the pumpkin puree just by letting it sit on a colander for awhile and stirring occasionally. It was still quite soupy after mixing in the evaporated milk, but it firmed up in the oven. It's quite spicy, but I guess that is what one expects from pumpkin pie. Compared to pumpkin pie we've gotten at stores, it's fluffier and less sweet, both of which are positives in my mind.

Thursday, October 21, 2010

Heat is on!

Housing turned on the heat today. Now we can't figure out how to turn it off! The thermostat in the kitchen seems to work to regulate the kitchen/living room heater, but the bedroom heater seems to be on constitutively. I did find this handy link for instructions on how to adjust the heater settings, though! Having the heat on has caused a drastic increase in the humidifier output rate, which was expected. Now we'll really see if it's effective.

Speaking of heating, I'm pretty proud that our heating comes from steam generated at a cogen plant on campus (a combined-cycle one at that). Whenever you run a steam turbine, you will need to condense the steam back into water. Cogen means using the district's heating needs as part of that condenser. The primary purpose is to generate steam for heating, but running the steam through a turbine (and while you're at it, using a gas turbine to generate the hot air for boiling the steam) allows you to opportunistically generate electricity at high efficiency. The cogen plant also runs steam-powered chillers to provide process cooling water.

There is much talk, though, of switching to a hot-water district heating system using electric-powered regeneration chillers (heat pumps to simultaneously chill the chilled water and heat the hot water) as part of Stanford's green energy initiative. It would reduce water use from steam leaks and evaporative cooling towers. Whether or not it reduces greenhouse gas emissions will depend on where we buy our electricity from, and the projected costs will depend on the volatility of natural gas prices, so it's hard to say definitely whether it's a good idea, but not taking advantage of this cogen opportunity seems like a waste.

Saturday, October 16, 2010

Helicopter SAS: Overview

This post will be an overview of my helicopter Stability Augmentation System (SAS) project.

The Story



This last spring, I decided to build a stability augmentation system (SAS) for an R/C helicopter, with the goal of giving my dad an easy-to-fly R/C helicopter that still had the coolness factor of a single-rotor design.

I spent the next two months designing, building, and debugging the SAS. I don't think I could have flown the helicopter without the SAS active, but then again I haven't tried.

I did crash it a few times, though, and the unbalanced blades and bent shafts definitely degraded performance. I also broke the landing gear and cyanoacrylated it back together. During my demo for my dad (my family came to town for graduation), I touched down too hard and one side of the landing gear broke, causing the helicopter to flop over onto that side.

My dad took it home; I think he's repaired the crash damage but I don't think he's flown it. So, I haven't been quite successful in that regard. Maybe next time...

The Parts




The SAS is implemented as this foil-shielded box that sits where the original heading-hold gyro used to be. Inside the box are sensors to measure the helicopter's motion and orientation. The lid of the box is the control board that uses those measurements to send stabilizing control signals to the helicopter servos.


Barely visible in this photo is the wireless module taped to the rear strut of the right (starboard?) landing skid. I used the telemetry data extensively during testing and debugging.

Suggestions for Next Time


  • Velocity feedback (optical flow)
  • Heading measurement (magnetometer w/ offset for body-fixed fields)
    • Transformation of cyclic commands from pilot axes to body-fixed axes
  • Different mounting location/method to minimize vibration at accelerometers
  • Don't crash it as much

No pumpkins for us

We were planning to go to the Half Moon Bay pumpkin festival today, but the traffic on highway 92 was ludicrous. The iPhone confirmed that it was stop-and-go all the way to Half Moon Bay. We sat on the onramp for 30 minutes and took the first opportunity we had to make an illegal U-turn and come back home. I'm so glad I don't have to sit in traffic as part of my usual commute...

Friday, October 15, 2010

Tennis racquets

SC and I decided that we should get into tennis because we have a free court right next to our apartment.

Ever the cheapskates, we decided to buy the cheapest ones we could find on eBay. This is what happened:

I wish I had a tennis ball to show the scale, but the point is that they're quite small. The handle is about the right size, so I guess back in the day you had to be more accurate with your swings...

Tuesday, October 12, 2010

Making Solidworks references more resilient

Making references to other parts is often inevitable (or else the alternative is much more work). They often cause problems, though, and after some trial and error this is what I've learned:

  1. Consider using "Intersection curve" on a solid body rather than "convert entities" with a face or edge. It breaks less frequently because Solidworks can still find where the solid body intersects the sketch plane, whereas some common operations will destroy the face/edge that "convert entities" used to refer to.
  2. Avoid splines. Also, the intersection of two curved surfaces or an offset of an ellipse will generally be a spline.
  3. You can use "offset entities" on an entire sketch (rather than selecting sketch elements) if it is a single loop. This way, the offset still works even if you add/delete sketch elements.
  4. Tongue/groove features on mating edges seem especially prone to breaking. So just don't bother with them (suppress them while you change upstream features) until you're ready to send it out to SLA or whatever.
  5. If you define features for a part in the context of an assembly, make sure you that assembly always accompanies that part. As a corollary, if you decide to rename the assembly, do this in Solidworks Explorer, not "Save As...". Otherwise it's very easy for features to become out of context (looks like "-> ?").
  6. Try to plan out part dependencies. If you can create one set of independent parts (that define mating surfaces, critical geometries, etc.) and one set of parts that depend only on those independent parts, you can reduce rebuild times and reduce the likelihood of crashing.
  7. Fillets on complex surfaces break all the time. Don't reference fillet edges.
  8. If you need to make a copy of a surface, "Knit surfaces" fixes small gaps but "Offset surfaces" does not.