dad1fb1655ec

Add some articles to have some content to play with.
[view raw] [browse files]
author Steve Losh <steve@stevelosh.com>
date Wed, 23 Dec 2009 18:19:31 -0500
parents 079bb082d4ec
children e030519b448d
branches/tags (none)
files content/blog/2008/02/microsoft-entourage-applescript-frustration.html content/blog/2008/04/shooting-girl-jam.html content/blog/2008/08/on-leading.html layout/skeleton/_base.html layout/skeleton/_innerlisting.html layout/skeleton/_listing.html

Changes

--- /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
--- /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 %}
+
+<a href="http://www.flickr.com/photos/sjl7678/2450406138/" title="GirlJamSaturday-5383 by Steve Losh, on Flickr"><img src="http://farm4.static.flickr.com/3009/2450406138_473b84b17b_m.jpg" width="240" height="161" alt="GirlJamSaturday-5383" class="blog-photo-inline-left" /></a>
+
+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.
+
+<a href="http://www.flickr.com/photos/sjl7678/2449562969/" title="GirlJamFriday-4873 by Steve Losh, on Flickr"><img src="http://farm3.static.flickr.com/2349/2449562969_68c82066e8_m.jpg" width="161" height="240" alt="GirlJamFriday-4873" class="blog-photo-inline-left" /></a>
+
+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.
+
+<a href="http://www.flickr.com/photos/sjl7678/2449565301/" title="GirlJamFriday-4943 by Steve Losh, on Flickr"><img src="http://farm3.static.flickr.com/2186/2449565301_e2491e6b7a_m.jpg" width="240" height="161" alt="GirlJamFriday-4943" class="blog-photo-inline-right" /></a>
+
+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.
+
+<a href="http://www.flickr.com/photos/sjl7678/2450392386/" title="GirlJamFriday-5007 by Steve Losh, on Flickr"><img src="http://farm3.static.flickr.com/2410/2450392386_a61067e07f_m.jpg" width="161" height="240" alt="GirlJamFriday-5007" class="blog-photo-inline-left" /></a>
+
+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.
+
+<a href="http://www.flickr.com/photos/sjl7678/2450405794/" title="GirlJamSaturday-5379 by Steve Losh, on Flickr"><img src="http://farm3.static.flickr.com/2227/2450405794_940545d63d_m.jpg" width="161" height="240" alt="GirlJamSaturday-5379" class="blog-photo-inline-left" /></a>
+
+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.
+
+<a href="http://www.flickr.com/photos/sjl7678/2450404742/" title="GirlJamSaturday-5349 by Steve Losh, on Flickr"><img src="http://farm3.static.flickr.com/2256/2450404742_3d9a3df777_m.jpg" width="161" height="240" alt="GirlJamSaturday-5349" class="blog-photo-inline-right" /></a>
+
+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
+-------
+  
+<a href="http://www.flickr.com/photos/sjl7678/2449592347/" title="GirlJamSunday-5647 by Steve Losh, on Flickr"><img src="http://farm4.static.flickr.com/3066/2449592347_6a17602cd9_m.jpg" width="161" height="240" alt="GirlJamSunday-5647" class="blog-photo-inline-left" /></a>
+
+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.
+
+<a href="http://www.flickr.com/photos/sjl7678/2449590741/" title="GirlJamSunday-5512 by Steve Losh, on Flickr"><img src="http://farm3.static.flickr.com/2076/2449590741_b47a5ced4c_m.jpg" width="161" height="240" alt="GirlJamSunday-5512" class="blog-photo-inline-right" /></a>
+
+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
--- /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
--- 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 @@
                     <a href="/">steve losh</a> <span class="page-title">/ {{ page.title }}</span>
                 </h1>
             </div>
-        
+            
             <div id="nav">
                 <ul>
                     <li><a href="/blog/">Blog</a></li>
@@ -46,7 +46,7 @@
                     <li><a href="/rss/">RSS</a></li>
                 </ul>
             </div>
-        
+            
             <div id="content">
                 {% block content %}{% endblock %}
             </div>
--- 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%}
-<ul id="archives">
+<ol>
     {% for list_page in node.pages %}
         {% ifnotequal list_page node.listing_page %}
             {% if not list_page.exclude %}
-                <li class="archives">
+                <li>
                     <a href="{{ list_page.url }}">
                         {% with list_page.name_without_extension|remove_date_prefix|unslugify as default_title %}
                             {{ list_page.title|default_if_none:default_title }}
@@ -16,6 +16,6 @@
             {%endif%}
         {% endifnotequal %}
     {% endfor %}
-</ul>
+</ol>
 {%endspaceless%}
 {% endblock %}
\ No newline at end of file
--- 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 %}
-    <div id="listing">
+    <div id="section-listing">
         {% for node in page.node.walk %}
             {% include "skeleton/_innerlisting.html" %}
         {% endfor %}