Saturday, November 17, 2007

photographic technology mashup

I recently had a chance to experiment with making digital negatives and using them for contact printing with platinum/palladium emulsions.

Above is a quick scan of one of the images, to give you some idea of what one looks like - although it does not do justice to the final print.

This was something I've been wanting to experiment with since I first heard about using imagesetters for this purpose, but just never got to it.

 Recently, Ron Reeder taught a workshop on the subject at Photographic Center Northwest, so I couldn't resist any longer. Given my background in digital printing and photography in general, it was an easy way to build on both of these experiences and create something new. The workshop itself was two days long - the first day covering the theory and calibration process, the second day generating negatives and printing them.

The technology is elegantly simple: you take the image you want to print, apply transfer functions to it to map its density range into the range of the print emulsion, then generate a full-sized negative onto translucent film. (Its the determination of these transfer functions, the calibration process, that adds to the complexity. But being able to do this step on a computer makes this task far easier than working with film - as photographers who used this technique in the 19th century did! I'm certainly not complaining!)

This negative is then used to make contact prints in the wet lab. For this workshop, we were using hand-applied emulsion that's sensitive to UV light - approximately 5 minute exposures, then "developed" and "cleared". This process is using chemicals I'm not used to handling in the darkroom, but which are not particularly noxious or otherwise dangerous to handle. The result after washing is an archival print, with all the smooth gradations that only a contact print makes easy, perhaps slightly soft but not in a bad way.

This same technique can be applied to other historical and modern printing processes, cyanotypes and albumen prints are something I'd like to try, and even modern silver gelatin prints can be created, with some variations. I'll probably experiment with silver a bit first, because I have to build UV light box in order to work with many of the other techniques.
I can work with silver now - I still have a functional wet lab setup (which admittedly does not get used much these days.)

A good starting point for this technology, as well as some wonderful images created using it, are available at Ron Reeder's,  site.

Thursday, October 25, 2007

catching up on this week

this week started out bad - i got completely derailed from my integration work into investigating customer issues with a new release. I must have burned 2.5 days nailing this stupid thing down. the usual problems getting things setup and reproduced - and of course the debug build didn't show the problem. eventually i found it - a measly little off-by-one error where one of my predecessors compensated for the null byte of a C string twice. In just the right circumstances, the source string would exactly fill the allocated storage, and attempts to copy out that extra byte caused an access fault. first i had to decode the algorithm though - turns out its some hashing variation from Sedgewick - it completely avoids compacting in return for quick response. I just wonder how quick it is now compared to the more standard implementations such as STL. And of course this is legacy code with no test cases.

iPhone Tech Talk on Tuesday was moderately interesting. Much of the technical material now available online, at least in video format, but it was good to have some discussion around it. I thought the UI portion was particularly good - advice for general UI design, with a slant toward mobile devices.
Very customer-centric and conceptual - sometimes develoers et al have a hard time with drilling down into "features" a bit early.

Also, we had a good trails-planning session last week, and should have some awesome work planned for Grand Forest East this weekend. Come help! see for details.

Oh, also last week, SeaJUG hosted Daniel Shore talking about Agile Development implementation, quite a good discusson on both the technical and structural/social aspects of implementing any agile methodology.

Sunday, October 14, 2007


things are kind of busy as usual, have the following projects going on recently:

on the technical side:

Learning about ASP.NET 2.0 Http pipeline, and how to insert modules into it. Pretty slick, and a lot easier than writing ISAPI filters in C. I've been working on an authentication layer for a legacy application using this stuff, and there's a minimum of hacks required.

Trying to learn enough DreamWeaver to maintain an existing school web site, and enough CSS to apply it to a revamped design.
So far so good, thanks in part to DW providing basic CSS templates I can hit the ground running.
Its all pretty static content, all client-side, but there are monthly meeting updates that need to get posted, so it changes enough I want to make it easier. Already I've gotten rid of the tables, and all the little pixel-GIF hacks (and replaced them with CSS pixel hacks I guess!)

Have to read another chapter of the Erlang book this week - Mnesia database is next.

on the local side:

a good walkthrough on Grand Forest East yesterday. Trying to get a feel for future maintenance work and possible reroutes.
Nothing firm yet - current goal though is to "overlay" a new trail network on the old one, providing something easier to maintain and more suitable for all users. None of it is easy, but over the years both volunteers and staff have put a lot of time into maintaining the old trail network, that started out as logging roads of course. Now if we could just get some of the many equestrians who use those trails to help out...

attended the North Madison open house. sheesh, you'd think it would not be a big deal to widen a shoulder on the uphill side, and install a pedestrian path on the other. There seem to be a couple of arguments against it,including "preserving the rural ambience" and 'keeping it safer by keeping it narrow". My thought is that there are enough walkers, joggers, and cyclists that keeping this arterial as a no-shoulder road is foolish, not safer. Its only preserving the "rural ambience" for people driving, those of us to walk or cycle along it just put up with it. Frankly, I think much of the energy is being driven by people who, over the years, have incorporated part of the existing right-of-way into an extension of their own property, and now don't want to give it back. Everyone seems afraid to say it, but given the folks who attended this meeting and were the most loudly opposed, it seems pretty obvious. In any case, its time to realize that if we want to build a safe route for someone other than auto drivers, roads have to change to accomodate multiple users safely.

enough for now.

Monday, September 24, 2007

trails update

on Saturday, 9/22, we had our first trails work party under the new 'regime'. no last-minute phone calls to remind people. no signage put out several days before to drum up local support (and guide people). no phone calls to the Park District staff. Oh, and competition from local soccer leagues.

so guess what happened? Three people showed up. Parks staff forgot. Combined with myself and Ed (the other crew leader) that makes five of us, working with whatever tools we brought, which wasn't a lot!

end result: we got a good amount of work done - finishing up the sides & surface of the trail from the main junction down to the Fort Ward fence. Maybe its better that so few showed up, we got to work in a couple of clusters, and move quickly.
also we had a chance to complain about staff once more forgetting about our regularly-scheduled work party. Even after they signed up on the mailing list.

For those of you who need a reminder or want to know where the next one is located: its always 4th Sat of the month - signup for email on

Tuesday, September 11, 2007

when is Blowfish valid?

apart from the usual weird technical problems this week (GUID changes, encrypting ASP.NET credentials, Cocoa/WebKit/Java interactions on Panther) I've got to figure out what's wrong with a C-based implementation of Blowfish, and how to make it right AND make it match the results of the "official" Java implementation. It seems to work correctly with a "known vectors' test case, and round-tripping works, but the results don't match the Java version. Block-cipher, sensitive to the endian-ness of the machine, character representation, all probably contribute to obfuscating the problem. i need to start with a reference implementation I think.

trails all over

two trails-related mtgs this week, the first of the Trails Advisory Committee (TAC) for Fall 2007, the second an open house sponsored by the Non-Motorized Transportation Committee (NMTC). Both mtgs lightly attended (we are having awfully nice weather after all.)

The NMTC showed maps of potential trail corridors, for addition to the City GIS so that they show up during future development projects, before they get a house built smack in the middle. A lot of trails have disappeared over the years, but there still is a loosely-connected mesh. The NMTC is working to identify what's there, and help determine where best to add new trails to offer better connectivity throughout. (sounds like a network doens't it! next we'll be talking about the graph topology...)

As for the TAC mtg, we are at some sort of inflection point I think. Apparently when the old District dissolved and transferred to the new District, they passed along the entire reporting structure of the citizen advisory committees over to the staff, who
seem to have a decidely different take on the role of volunteers advising them.

What happens next depends upon both staff and TAC members. Since the new staff have taken over, we've had several points of contention - and each time they've revolved around the construction of a trail that had not been reviewed. Often this was at the urging of someone "higher-up" and the resulting trail violated both the existing trail standards (such as they are) as well as the model of low-maintenance trails we've been attempting to develop.

The most recent occurrence of this is the weird little trail that was punched through at the old Lovgreen Road gravel pit, supposedly to improve non-motorized access. I don't think we're going to see many cyclists using it for commuting - its way too steep, has a 90 degree turn halfway down the slope and a 180 degree turn at the bottom. I'll give them credit - they built one helluva culvert - we'll see whether its enough to deal with the runoff on that slope.

Much of the TAC work has been to go in afterwards and fix things, and its getting a little tiring. Sometimes they're more than a volunteer group can manage effectively using manual labor. its one thing to fix up historical trails, half of which were old logging roads or jeep roads anyway, but to find new ones built w/o regard to topography or aesthetics is very frustrating.

As a TAC member, and as a citizen, I've asked informally for a trail-building protocol, and was flatly denied by staff during this meeting, although staff then did promise to try and work with us. Exactly which trail is so important to build "right now" that it needs to be built w/o design review and/or community input, I'm not quite sure. Okay, i'm being cynical.
Maybe this will work out with an "informal" protocol, but given the past incidents I have my doubts.
If not, I guess the next step is to petition the Board or the City Council to establish a formal design review process - and that probably really will slow things down!

In the meantime, next work project continues at Fort Ward Hill trail, and supposedly a design process is going to start in Grand Forest East this winter.

Saturday, August 18, 2007

local political & blog scene heating up!

I guess its just the coming election - but we're suddenly seeing a lot of blog activity locally. I count at least 4 actively covering Bainbridge Island and its diverse politics. Attack ads in the local newspaper, stealth telephone campaigns, mailers and well-funded but "cheap-looking" hand-painted signs seem to be the tools of the local property-rights/anti-environmental/anti-govt camp (seems to be a vendetta - they don't propose their own candidate); while so far doorbelling and support letters are used by the candidates themselves. Gee, which do you think will be most effective in a campaign? I hope not the attack ads, although it certainly worked in national elections.

I hope that after the election some of these people remain actively involved. There is (and probably always has been) a lot of crap that goes on, some of it intentional, some of it simply naive. There are real issues to sort out, implications understood, decisions made.

Here's an example that bugs me at the moment: a planned boardwalk & trail linking a neighborhood to Winslow and the Ferry just disappeared off the table.
provides a picture and info.
What happened to this? I've worked with members of the NMTP and the TAC for a couple of years now, helping to site and scope this potential link. Its been discussed at several TAC meetings. The City has known about it, and supposedly budgeted for it. City wetlands experts were brought in. Permit issues were discussed and resolved. The whole project was a no-brainer: just a simple matter of finding the money for the boardwalk. Not cheap of course.

In a recent TAC meeting, when asked about this project, Park District staff claimed to have never heard of it, and questioned the need for it anyway. Case closed. Nothing to see here. WTF? First off, the City was supposed to be funding it as it was a non-motorized link. And its been discussed several times in open public meetings. So, what's happening here? At this point I don't think people really forgot, althought its certainly possible. Perhaps their workload just exceeded their capacity/funding and so they decided to reprioritize projects themselves? Unfortunately with an active volunteer community and neighborhood groups, that's neither fair nor just. But I guess what it comes down to is that we don't really know. One month this project was one the list of work to be done, awhile later its gone. Who made that decision and why?

Thursday, August 9, 2007

struggling with authentication, nicely

I've been trying for a way to merge the two worlds of XHR and ASP.NET authentication. Talk about a foot in each camp! I keep getting close, and then it slips away from me again. The power to rebiuld the HTTP processing pipeline would seem to provide a lot of power, yet the otherwise-closed source of FormsAuthenticationModule keeps getting in the way. The insertion of an HttpModule allowing me to intercept its attempts at redirect seemed like the answer, but so far it blindly proceeds anyway.
its late, hopefully I'm just screwing up something.

Wednesday, August 8, 2007

anonymous local blogging

Today i ran actoss another blog started in my community ( It had a first posting questioning the thoroughness and bias of the local print media - they've been going up and down for years and have never been known for their depth of coverage. Great, they'd like to provide detailed, in-depth coverage of stories ignored by local print media. Nothing wrong with that idea.

So then I want to the Profile section, since they're local I figured I might know the authors - when I found the blog creators had decided to remain anonymous. I can see why commentors on a story might want to remain anonymous, but I find the credibility of someone who wants to replace local media a little suspect when I don't know who they are.

I guess we'll see. There are certainly reasons why an author of some pithy piece of local news would want to remain anonymous.
We all have stories we'll only tell over a beer. Is an anonymous blog the place for them? I guess I'll have to create a pseudonym if I want to share any of them now!

Sunday, August 5, 2007

Obligatory first post

I keep putting off "the Blog", although I did start one on .Mac for awhile, but couldn't modify it to suit and didn't keep it going. I keep meaning to setup WordPress, or something like it, on one of the hosting services, but more important things keep coming up. so, here we are.
Flickr, Twitter, and now Blogspot. I'm getting sucked in. you're here too.
Welcome to my world, already in progress.