# HG changeset patch # User Steve Losh # Date 1261610371 18000 # Node ID dad1fb1655ec58dcb8715ed8cd8c1ab2f3db9e9a # Parent 079bb082d4ec1e14e991ab9905c93c73be413f67 Add some articles to have some content to play with. diff -r 079bb082d4ec -r dad1fb1655ec content/blog/2008/02/microsoft-entourage-applescript-frustration.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/content/blog/2008/02/microsoft-entourage-applescript-frustration.html Wed Dec 23 18:19:31 2009 -0500 @@ -0,0 +1,44 @@ +{% extends "_post.html" %} + +{% hyde + title: "Entourage + Applescript = Frustration" + created: 2008-02-21 15:25:45 +%} + + +{% block article %} + +I've been working on a project lately to automate the setup of some rules and +schedules in Microsoft Entourage. This isn't the easiest thing in the world +because Entourage doesn't really support AppleScript for creating rules or +schedules (though it does an admirable job in a lot of other areas). + +We've resorted to GUI scripting to get the job done. This basically means +we're telling our script to click button X, wait a bit, put "abc" in text +field Y, click button Z, etc. This is painful, fragile and slow but it does +what we need in all but one case. + +That case is selecting a folder. The folder list dialog that pops up doesn't +seem to use any of Apple's UI components which makes GUI scripting it nearly +impossible. Only "nearly" though, because there's a way to get around it: the +keyboard. AppleScript can type into a window by sending a series of key codes. +You can select something from the folder list by typing its name, which means +that as long as you know the name (we do) you can select it. Almost. + +There's one more snag: selection by typing will only ever select the first +item in the list. This means that if you want to select "Inbox" and both the +"On My Computer" list and the "youremail@server.com" list are open, you can +only get the first Inbox. Oh, and good luck predicting which one will show up +first. It seemed to be different each time I opened the window. + +Once again the keyboard comes to our rescue. A simple (and excruciatingly +ugly) fix is to make sure that the only account listing that's open is the one +we want. How can we do that? Send an up arrow key code 50 times to move to the +beginning of the list, then left and down codes 50 times. This collapses the +entire tree. Then just type the name of the account to select it, send the +right arrow code to expand the tree, and type the folder name to select it. + +It's painful, but it works. If anyone has a better solution please let me know +so I can rip this monstrosity out of my code and try to forget about it. + +{% endblock %} \ No newline at end of file diff -r 079bb082d4ec -r dad1fb1655ec content/blog/2008/04/shooting-girl-jam.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/content/blog/2008/04/shooting-girl-jam.html Wed Dec 23 18:19:31 2009 -0500 @@ -0,0 +1,158 @@ +{% extends "_post.html" %} + +{% hyde + title: "Shooting Girl Jam" + created: 2008-04-29 18:31:16 +%} + + +{% block article %} + +GirlJamSaturday-5383 + +This past weekend (April 25-28) was [Northeast Girl Jam][] in Rochester, New +York. Girl Jam is a swing dancing workshop weekend that focuses on classes for +the followers. It was a huge success; we had a lot of people attend and +everyone seemed to have a great time. The dances had a ton of energy and the +late night parties were wonderful (as always). + +I took a bunch of photographs over the course of the weekend, mostly during +the performances and competitions. Once I posted them I got a bunch of +questions asking me how I did it, so I figured I'd write here about it in more +detail. I used different techniques each day so I'll go through them one by +one. + +Friday +------ + +My goal for the first two nights was to get images with the dancers sharp +enough to recognize but with enough blur to convey the feeling of movement and +energy in the room. I started playing with this technique at the blues parties +in the past and I think I'm really starting to get the hang of it. + +GirlJamFriday-4873 + +On Friday I only had one of my flashes with me, so I had to make some +tradeoffs. I bounced the flash from the ceiling to get more even lighting +(directional light from a bare flash is usually too harsh), but since the +ceilings in Tango Cafe are so high it took a lot of power. I wound up shooting +at ISO 1600 and 3200 for most of the night so that my flash could be on a +lower power setting and fire faster. Even at that ISO the noise isn't really +that bad since the photos are exposed well (thanks to the flash). This photo +was shot at ISO 3200 and I don't think the noise distracts from the image much +at all. + +GirlJamFriday-4943 + +I was using a wide angle lens (18mm) so that I could get entire bodies into +the frame. One of the things I love about Lindy Hop is that it really uses the +entire body which this photo really shows off. Cropping off huge parts of +people in every single shot makes that much harder to see. I set the aperture +to about f/4 and that gave me enough depth of field to get most things in +focus at 18mm. I set the shutter speed depending on the amount of ambient +light; it varied from 1/30 to 1/4 or so. + +GirlJamFriday-5007 + +The trick that really made a difference in taking good photos is that once I +set the exposure I stopped looking at the camera entirely. I didn't review my +shots as I took them and I didn't even look through the viewfinder to compose. +Using a wide lens meant that I could just point the camera in the general +direction of the dancers and still get them. I took this photo at the late +night and the camera was held against my ribs as I did. + +Why did I do that? I can perfectly compose an image but if the dancers aren't +doing something interesting it's going to be a boring photo. I've been dancing +long enough that I'm starting to be able to predict when something cool will +happen in a dance, but that only works if I'm paying complete attention to it. +Messing with the camera distracts me and I can only get the most obvious +moments. Ignoring the camera and watching the dancers means I can pick up more +subtle parts of the dance and capture those (as well as the obvious ones). + +Saturday +-------- + +On Saturday I brought along two flashes to the dance and had Sergey hold one +while I held the other (thanks Sergey!). Two flashes means twice as much +light, which means I can shoot with recycle times twice as fast and have more +even light coverage. + +GirlJamSaturday-5379 + +Since I was able to shoot twice as many photos I was able to experiment with +getting up close. Using a wide angle lens let me get most of the dancers in +the frame when super close and allowed me to play around with really +interesting perspectives. This photo is one of my favorites from the weekend. +Getting really close to Nina means that the distance between her and Carl is +exaggerated and adds to the sense of tension. Once again, the flashes freeze +the dancers and the ambient light burns in a bit of blur to add some movement. +This photo was also shot at ISO 1600 but the noise is definitely not the main +focus of this picture. As long as you don't underexpose noise is usually not a +problem in these kind of photos. + +GirlJamSaturday-5349 + +Not only did I try getting up close, I also tried varying my angle more than I +usually do. I usually brace the camera against my ribs when taking these kinds +of photos for a few reasons: + +* It's a safe height that will get the whole dancer in the frame. +* My ribs are vertical and so aligning the camera with them means that it's not wildly tilted up or down and I don't accidentally get ceiling- or floor-only photos. +* It keeps the camera close to my body where it's much less likely to be whacked by a stray limb. + +Getting lower and higher gives me different perspectives that can have really +nifty results. The problem is that it's much harder to know if the subject is +completely (or even mostly) in the frame when the camera is in an awkward +position. To get a photo like this I probably shot four or five at strange +angles that I deleted. + +One other fun thing to notice: you can see Sergey holding the flash right to +the left of her hips. I probably could have cloned out the flare in Photoshop +but I don't think it really detracts from the image much at all. + +Sunday +------- + +GirlJamSunday-5647 + +On Sunday I shot at a few of the workshops since there wasn't a dance. A +workshop has a very different feeling than a dance and so I didn't want to try +the same approach as the other two nights. Instead of using flash and a wide +lens I switched to a fast normal lens (my 50mm f/1.4). The light coming +through the windows was bright enough that I was able to shoot at around 1/60 +at f/2 or f/2.8 and ISO 800 or 1600. + +Once again the noise isn't much of a problem because the photos are exposed +well as this picture shows. The shutter speed is just slow enough to get some +blur at the ends of the limbs but not enough to lose all detail. + +GirlJamSunday-5512 + +Since I was using a normal lens instead of a wide angle I had to mostly +abandon the idea of getting big group photos and instead try to capture +individual people as they learned. Using a wide aperture let me isolate the +people from the sea of arms and legs in the backgrounds and gave the images a +soft quality that helps reflect the feeling of the afternoon. + +I really like the soft-yet-directional light that came from the big stained +glass windows combined with the overhead lights. Lately I've been using flash +a lot in my photography and it was fun to get back to using natural light. I'm +going to try to practice with it more in the near future. + +Overall +------- + +Northeast Girl Jam was awesome. I had a great time dancing and photographing +and got to see a lot of old friends (and meet new ones). If you're sad you +missed it there's another event in Rochester next month: [Stompology][]. It's +a weekend of solo jazz and Charleston workshops and awesome swing dances. + +If you'd like to see the rest of the photos I took this weekend I posted them +on [Flickr][]. Feel free to comment here or there; advice/questions/comments +are always appreciated! + +[Flickr]: http://flickr.com/photos/sjl7678/collections/72157604785390431/ +[Stompology]: http://stompology.com/ +[Northeast Girl Jam]: http://jojojackson.com/NEGJ/Home.html + +{% endblock %} \ No newline at end of file diff -r 079bb082d4ec -r dad1fb1655ec content/blog/2008/08/on-leading.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/content/blog/2008/08/on-leading.html Wed Dec 23 18:19:31 2009 -0500 @@ -0,0 +1,89 @@ +{% extends "_post.html" %} + +{% hyde + title: "On Leading" + created: 2008-08-01 15:28:33 +%} + + +{% block article %} + +For those of you that don't know, one of the things I do with my free time is +dancing. I've been swing dancing (Lindy Hop) for about five years, blues +dancing for a year or so, and recently started learning tango. All of these +dances are improvised partner dances and so rely heavily on leading and +following. People do make routines but at least 95% of it is unrehearsed +social dancing with partners you might have never met. + +As a male I'm usually in the role of leader, though I do try to follow when I +get the chance. I've learned a lot over the years so I'm going to write a few +posts about leading, and this is the first. I'm going to use the traditional +pronouns to make things easier to read, but everything applies to both genders +in both roles. + +Beginning +----- + +When a guy is first taught how to swing dance (or blues, or tango; everything +I'm saying applies to all three) he's usually taught that his main job is to +lead. This sounds obvious, but it's a lot for a beginner to take in. He has to +learn the footwork and ingrain it into his memory so it becomes automatic, +which takes some time. The next step is learning individual moves: not only +how to do them himself but also how to lead a follower to do them at the same +time. It takes coordination and most of all practice. + +Leading at this point involves clearly showing the follower where she should +go and what she should do. "Placing the follower's weight" is a concept that's +a bit tricky but very useful. If a leader isn't clear in his leading the +follower won't be able to follow him unless she "cheats" and just does what +she knows he wants her to do (because she's danced with him before and so +knows what he's trying to do). This falls apart when the leader dances with a +new partner. Without leading and following swing dancing just doesn't work, so +leading clearly is the main role of a beginner guy. + +Moving On +----- + +Let me take a second to explain something I see happen very often with leaders +that take classes and progress nicely in their skill. Once the leader gets the +basics down pat and starts learning more moves, there seems to be a tendency +to learn things that let him show off. The followers get to really shine in +Lindy Hop quite a bit, so it's only natural for the guys to want to measure up +and look cool themselves. Unfortunately I think this gets in the way of my +next idea. + +I think once a leader reaches a point where he's comfortable with the +structure of the dance and has a repertoire of moves and vocabulary of +movements, his role changes. His job is no longer "lead." His role becomes +*"lead the follower you are dancing with right now."* + +Every follower is different. Every single one has a different level of +experience, a different style, and a different personality (as it relates to +dancing). If the leader simply leads every dance the same way, those dances +are not as good as they could be. An "advanced" leader leading a beginner +follower in a lot of complicated movements she's not capable of following yet +turns into a complete mess. He goes away from the dance feeling bored or +frustrated (or worse, arrogant) and she goes away feeling confused, +discouraged or angry. This is not a good thing. + +Paying attention to the follow's level is critical. I'm not saying "only do +moves that the follower has learned and can easily follow." Pushing the +follower slightly beyond her comfortable, "automatic" level is wonderful and +helps her immensely; but going totally over her head and confusing the hell +out of her just so he can show off (to her or others) is obnoxious. This also +works in reverse: followers, please challenge your leaders but be mindful of +their skill. + +Experience isn't the only difference between followers. Each follower has her +own style that won't always fit perfectly with the leader's personal style. +Adjusting his style to mesh better with hers makes the connection between +partners so much better, which makes the dance that much more fun. This also +works both ways. Followers are generally better at "listening" to their +partner because it's their main job; if a lead makes an effort to really +listen to the follow and change his leading to incorporate her ideas, +personality, style and level it makes an enormous difference. + +The point I'm trying to make is that "leading" a follower is not just leading. +It's paying attention to the follower and leading *her*. + +{% endblock %} \ No newline at end of file diff -r 079bb082d4ec -r dad1fb1655ec layout/skeleton/_base.html --- a/layout/skeleton/_base.html Wed Dec 23 18:09:01 2009 -0500 +++ b/layout/skeleton/_base.html Wed Dec 23 18:19:31 2009 -0500 @@ -36,7 +36,7 @@ steve losh / {{ page.title }} - + - +
{% block content %}{% endblock %}
diff -r 079bb082d4ec -r dad1fb1655ec layout/skeleton/_innerlisting.html --- a/layout/skeleton/_innerlisting.html Wed Dec 23 18:09:01 2009 -0500 +++ b/layout/skeleton/_innerlisting.html Wed Dec 23 18:19:31 2009 -0500 @@ -2,11 +2,11 @@ {% block all %} {%spaceless%} - + {%endspaceless%} {% endblock %} \ No newline at end of file diff -r 079bb082d4ec -r dad1fb1655ec layout/skeleton/_listing.html --- a/layout/skeleton/_listing.html Wed Dec 23 18:09:01 2009 -0500 +++ b/layout/skeleton/_listing.html Wed Dec 23 18:19:31 2009 -0500 @@ -1,7 +1,7 @@ {% extends "skeleton/_base.html"%} {% block content %} -
+
{% for node in page.node.walk %} {% include "skeleton/_innerlisting.html" %} {% endfor %}