<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><description>Musings by Patrick Lenz, who is a stirred mix of entrepreneur, Ruby on Rails and iOS developer, photographer, techbook author, and trainer.

</description><title>patricklenz.net</title><generator>Tumblr (3.0; @patricklenz)</generator><link>http://patricklenz.net/</link><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/patricklenz" /><feedburner:info uri="patricklenz" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://tumblr.superfeedr.com/" /><item><title>Upgrading to Rails 3.0.0.rc</title><description>&lt;p&gt;The release candidate of Rails 3 &lt;a href="http://weblog.rubyonrails.org/2010/7/26/rails-3-0-release-candidate" target="_blank"&gt;released yesterday&lt;/a&gt; contains quite a few surprises for the careless updater from earlier Rails 3 betas (me totally included). As usual, a proper test suite will save your bacon.&lt;/p&gt;

&lt;p&gt;Here is the list of pitfalls I encountered, with an advised solution/workaround where available.&lt;/p&gt;

&lt;h3&gt;Rails 3.0.0.rc requires Bundler 1.0.0.rc&lt;/h3&gt;

&lt;p&gt;Before you start getting weird errors, do yourself a favor and manually install the Bundler gem &lt;em&gt;or&lt;/em&gt; the Rails gem (instead of going through Bundler itself trying to resolve this meta-version-inter-dependency-hell).&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ gem install bundler --pre
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;or install the Rails pre-release manually, since it depends on the Bundler pre-release&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ gem install rails --pre
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This will bite you on your staging/production servers at the very latest. Bundler 1.0.0.rc will also completely make over with your existing &lt;code&gt;Gemfile.lock&lt;/code&gt;, so don’t be surprised to find a completely new (and excitingly readable) format after you &lt;code&gt;bundle install&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;On a related note, &lt;code&gt;bundle install --relock&lt;/code&gt; is gone. I am under the impression that &lt;code&gt;bundle install&lt;/code&gt; (without arguments) will now just default to relocking the bundle if a &lt;code&gt;Gemfile.lock&lt;/code&gt; is detected.&lt;/p&gt;

&lt;h3&gt;Deprecation Warnings&lt;/h3&gt;

&lt;p&gt;Between Beta 4 and the Release Candidate, the Core Team actually snuck in a few extra deprecation warnings that will affect those coming from earlier betas. Newly generated applications (by way of &lt;code&gt;rails new &lt;appname&gt;&lt;/code&gt;) will be generated with the new syntax.&lt;/p&gt;

&lt;p&gt;First of all, you will get “Calling a method in Rails::Application is deprecated” for any and all &lt;code&gt;rake&lt;/code&gt; tasks. The fix goes into your &lt;code&gt;Rakefile&lt;/code&gt; and is very simple. (Please substitute &lt;code&gt;YourAppName&lt;/code&gt; for the actual name of your application.)&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# Old
Rails::Application.load_tasks

# New
YourAppName::Application.load_tasks
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Additionally, running your tests may reveal another deprecation notice to the effect of “You are using the old router DSL which will be removed in Rails 3.1”, with an unhelpful pointer to &lt;code&gt;deprecated_wrapper.rb&lt;/code&gt;. This time, the fix goes into your &lt;code&gt;config/routes.rb&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# Old
YourAppName::Application.routes.draw do |map|
  # ..
end

# New
YourAppName::Application.routes.draw do
  # ..
end
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Spot the difference? And the notice is gone.&lt;/p&gt;

&lt;p&gt;Additionally, there’s an environment-specific way to declare your desire to receive deprecation warnings (or not). These are the recommended settings:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# config/environments/test.rb
config.active_support.deprecation = :stderr

# config/environments/development.rb
config.active_support.deprecation = :log
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Ironically enough, even that will make another warning go away.&lt;/p&gt;

&lt;h3&gt;Content from lib/ isn’t auto-loaded anymore&lt;/h3&gt;

&lt;p&gt;If you rely on libraries in your application’s &lt;code&gt;lib/&lt;/code&gt; sub-directory being auto-loaded when you start using their class names in your code, you need to add a passage to your application’s configuration:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# config/application.rb
module YourAppName
  class Application
    config.autoload_paths += %W(#{config.root}/lib)
    # ..
  end
end
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;ActiveRecord::Base#class_name is gone&lt;/h3&gt;

&lt;p&gt;In a cruft cleaning attempt, &lt;code&gt;ActiveRecord::Base#class_name&lt;/code&gt; has &lt;a href="http://github.com/rails/rails/commit/735a4db6854e73e871e6b01ec003f0670cc5ee14" target="_blank"&gt;been removed&lt;/a&gt;. &lt;strike&gt;You can use &lt;code&gt;ActiveRecord::Base#to_s&lt;/code&gt; as a likely replacement. (Worked in my simple use cases.)&lt;/strike&gt; &lt;strong&gt;Update:&lt;/strong&gt; Jeremy McAnally &lt;a href="http://twitter.com/jm/status/19705717888" target="_blank"&gt;suggested&lt;/a&gt; using &lt;code&gt;ActiveRecord::Base#model_name&lt;/code&gt; as the replacement. Thanks!&lt;/p&gt;

&lt;h3&gt;I18n: Changes to interpolation&lt;/h3&gt;

&lt;p&gt;While we’re waiting for &lt;a href="http://github.com/svenfuchs/rails-i18n" target="_blank"&gt;the official rails-i18n repository&lt;/a&gt; to update most of their language files (or fork away and fix it yourself), please be aware that you will see even more deprecation warnings regarding the interpolation of variables within the translation strings.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# Old
other: 'etwa {{count}} Stunden'

# New
other: 'etwa %{count} Stunden'
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;So it’s just like regular Ruby string interpolation.&lt;/p&gt;

&lt;h3&gt;The returning of the tap&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;Object#returning&lt;/code&gt; has been present in ActiveSupport for quite a while and supported concise constructs where you’re manipulating an object multiple times before finally returning it from the method. Well, &lt;code&gt;Object#returning&lt;/code&gt; is dead, long live &lt;code&gt;Object#tap&lt;/code&gt;, which has a slightly different syntax.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# Old
returning([]) do |output|
  # ..
end.join("\n")

# New
[].tap do |output|
  # ..
end
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Basically, it’s a little cleaner and potentially less confusing with a regular &lt;code&gt;return&lt;/code&gt; statement.&lt;/p&gt;

&lt;h3&gt;Changes to ActiveRecord::Base#update_attribute&lt;/h3&gt;

&lt;p&gt;Last, but by no means least, the underlying implementation of &lt;code&gt;ActiveRecord::Base#update_attribute&lt;/code&gt; &lt;a href="http://github.com/rails/rails/commit/01629d180468049d17a8be6900e27a4f0d2b18c4" target="_blank"&gt;was changed drastically&lt;/a&gt;. On the surface, it’s for the better. But upgrading applications that depend on the old behavior is going to be a major headache and source for very subtle bugs.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;It will only save the attribute it has been asked to save and not all dirty attributes&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you’d been using &lt;code&gt;update_attribute&lt;/code&gt; as a sort of “final call” to changing a potentially protected attribute and then making that save the whole record (with additional dirty fields), this will now only update the field passed to &lt;code&gt;update_attribute&lt;/code&gt; itself and will not go through a regular &lt;code&gt;save&lt;/code&gt; operation. The underlying implementation actually makes a direct SQL call to accomplish this.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;It does not invoke callbacks&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This will get you if you relied on the fact that callbacks indeed fired with the use of &lt;code&gt;update_attribute&lt;/code&gt;. One example would be the usage of the excellent &lt;a href="http://github.com/norman/friendly_id" target="_blank"&gt;friendly_id&lt;/a&gt; plugin that takes care of auto-generating permalink slugs for your models and also has a way to keep those slugs in sync with the fields they’re derived from. If, for some reason, you were to use &lt;code&gt;update_attribute&lt;/code&gt; on said field, the callback to update the slug will not fire and thus the permalink will be out-of-date.&lt;/p&gt;

&lt;p&gt;Keep your eyes open and &lt;a href="http:///contact" target="_blank"&gt;let me know&lt;/a&gt; if you run into other issues or gotchas worth publishing.&lt;/p&gt;

&lt;p&gt;PS: &lt;a href="http://github.com/rails/rails/commit/25215d7285db10e2c04d903f251b791342e4dd6a" target="_blank"&gt;Snowman!&lt;/a&gt; ☃&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/patricklenz/~4/bqkHd0aDUG0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/patricklenz/~3/bqkHd0aDUG0/867830947</link><guid isPermaLink="false">http://patricklenz.net/post/867830947</guid><pubDate>Wed, 28 Jul 2010 00:31:00 +0200</pubDate><category>rails</category><category>bundler</category><category>upgrade</category><feedburner:origLink>http://patricklenz.net/post/867830947</feedburner:origLink></item><item><title>Joe McNally Workshop, London</title><description>&lt;p&gt;I attended &lt;a href="http://joemcnally.com" target="_blank"&gt;Joe McNally&lt;/a&gt;’s lighting workshop at the Business Design Centre in Islington, London on July 23rd. While it wasn’t a hands-on workshop, due to the sheer fact that more than 500 people attended it, but Joe is such an outstanding photographer and trainer that it was still totally worth the journey from Germany.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://farm5.static.flickr.com/4095/4823391354_be3e0c706c_d.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;All in all, it was a whirlwind tour for on-location and studio lighting using mainly small flashes and a variety of light modifiers to achieve the desired looks. The stage setup was simply a white seamless (with an, admittedly, incredibly high ceiling).&lt;/p&gt;

&lt;p&gt;&lt;img src="http://farm5.static.flickr.com/4096/4822771833_766b9aa080_d.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;They brought along two professional models, Anna and Ollie, which were both great and professional and a joy to photograph (I assume.) Anna was especially versatile with her two outfits (more on that below).&lt;/p&gt;

&lt;p&gt;&lt;img src="http://farm5.static.flickr.com/4136/4823391122_7b49595808_d.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;Joe never really got a break since people ran up to the stage in a stampede to have him authograph copies of his books or just discuss all things photography. He barely got out for the hour of lunch-break that was scheduled since people kept on approaching him. He dealt with all that really patiently and professionally, which he gets my highest respect for.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://farm5.static.flickr.com/4140/4823392720_bf06fdff8c_d.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;While Joe shot 90% of all the setups with small flashes (a battery of 4-8 SB-900 flashes on the set all of the time, triggered with an SU-800 or SB-900 on camera using TTL), later on he broke out the bigger lights. In this case, these were Elinchrom Quadra units in a clam shell setup.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://farm5.static.flickr.com/4143/4823393346_4406f0d6ce_d.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;He also used his proven tethering setup, connecting his Nikon D3s to his MacBook Pro using Nikon’s Camera Control Pro software. The MacBook was then connected to two projectors, so the entire audience could actually see the results of Joe’s shooting.&lt;/p&gt;

&lt;p&gt;More behind-the-scenes shots are available in my &lt;a href="http://www.flickr.com/photos/scoop/sets/72157624445060677/" target="_blank"&gt;Flickr Stream&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In summary, it was an intense day spent with one of the most incredible photographers on the face of the earth right now, with a lot of great spirit and entertainment. I’m really looking forward to putting some of the tricks I learned to good use in the months and years to come.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/patricklenz/~4/XMt6vSsDDek" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/patricklenz/~3/XMt6vSsDDek/853369126</link><guid isPermaLink="false">http://patricklenz.net/post/853369126</guid><pubDate>Sat, 24 Jul 2010 11:14:00 +0200</pubDate><category>joe mcnally</category><category>workshop</category><category>photography</category><category>behind-the-scenes</category><feedburner:origLink>http://patricklenz.net/post/853369126</feedburner:origLink></item><item><title>jQuery Visualize: Accessible Charts with HTML5</title><description>&lt;a href="http://www.filamentgroup.com/lab/update_to_jquery_visualize_accessible_charts_with_html5_from_designing_with/"&gt;jQuery Visualize: Accessible Charts with HTML5&lt;/a&gt;: &lt;blockquote&gt;
  &lt;p&gt;The Visualize plugin parses key content elements in a well-structured HTML table, and leverages that native HTML5 canvas drawing ability to transform them into a chart or graph visualization. For example, table row data values serve as chart bars, lines or pie wedges; table headers become value and legend labels; and the title and caption values provide title labels within the image.&lt;/p&gt;
&lt;/blockquote&gt;&lt;img src="http://feeds.feedburner.com/~r/patricklenz/~4/OAYJjIW9mSw" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/patricklenz/~3/OAYJjIW9mSw/844966099</link><guid isPermaLink="false">http://patricklenz.net/post/844966099</guid><pubDate>Thu, 22 Jul 2010 14:28:05 +0200</pubDate><category>jquery</category><category>charts</category><category>accessibility</category><category>graphs</category><category>plugin</category><feedburner:origLink>http://patricklenz.net/post/844966099</feedburner:origLink></item><item><title>Qubits iPad Stand

Along with my iPhone 4 (ordered from the UK...</title><description>&lt;img src="http://29.media.tumblr.com/tumblr_l5ykcbBadr1qah8a2o1_400.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;h3&gt;&lt;a href="http://www.amazon.co.uk/gp/product/B003PHLP36/" target="_blank"&gt;Qubits iPad Stand&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Along with my iPhone 4 (ordered from the UK Apple Store) I received another brilliant accessory for another Apple device in a consolidated shipment from &lt;a href="http://www.borderlinx.com/" target="_blank"&gt;Borderlinx&lt;/a&gt;: The &lt;a href="http://www.amazon.co.uk/gp/product/B003PHLP36/" target="_blank"&gt;Qubits iPad Stand&lt;/a&gt;, which I ordered from Amazon UK after a recommendation by &lt;a href="http://twitter.com/mattgemmell" target="_blank"&gt;@mattgemmell&lt;/a&gt; a while back.&lt;/p&gt;

&lt;p&gt;This thing is truly amazing; it’s sturdy (can’t kick the iPad off easily), quite flexible in the angle of adjustment (works for plain viewing and also at low angles for lots of typing), works with cases (like the excellent &lt;a href="http://www.marware.com/products/iPad/Eco-Vue-for-iPad" target="_blank"&gt;Marware Eco-Vue&lt;/a&gt;) and with the sync cable connected, and at £19 it’s also pretty affordable.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://img.skitch.com/20100722-egtntdbmfunbggy6nd35gnnhqm.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;Here’s the original &lt;a href="http://www.youtube.com/watch?v=lRXixkLskZs" target="_blank"&gt;video from @mattgemmell&lt;/a&gt; that made me buy it in the first place.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/patricklenz/~4/OMBCy8yD1bE" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/patricklenz/~3/OMBCy8yD1bE/844912697</link><guid isPermaLink="false">http://patricklenz.net/post/844912697</guid><pubDate>Thu, 22 Jul 2010 14:07:00 +0200</pubDate><category>ipad</category><category>stand</category><feedburner:origLink>http://patricklenz.net/post/844912697</feedburner:origLink></item><item><title>MoviePeg for iPad</title><description>&lt;a href="http://www.movie-peg.com/"&gt;MoviePeg for iPad&lt;/a&gt;: &lt;p&gt;&lt;a href="http://www.movie-peg.com/" target="_blank"&gt;&lt;img src="http://media.tumblr.com/tumblr_l58gkjB1VU1qz4wz6.jpg" alt=""/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hot on the heels of MoviePeg for iPhone comes MoviePeg for iPad, now available for pre-order.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/patricklenz/~4/2qeMuuycMlY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/patricklenz/~3/2qeMuuycMlY/784698553</link><guid isPermaLink="false">http://patricklenz.net/post/784698553</guid><pubDate>Thu, 08 Jul 2010 11:49:00 +0200</pubDate><category>ipad</category><category>accessories</category><feedburner:origLink>http://patricklenz.net/post/784698553</feedburner:origLink></item><item><title>Queen of Hearts</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_l51d5x6bkm1qah8a2o1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;h3&gt;Queen of Hearts&lt;/h3&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/patricklenz/~4/7PonCZLqN_A" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/patricklenz/~3/7PonCZLqN_A/769241562</link><guid isPermaLink="false">http://patricklenz.net/post/769241562</guid><pubDate>Sun, 04 Jul 2010 15:51:32 +0200</pubDate><category>photography</category><category>gwen</category><feedburner:origLink>http://patricklenz.net/post/769241562</feedburner:origLink></item><item><title>Sitting straight 'bad for backs'</title><description>&lt;a href="http://news.bbc.co.uk/2/hi/6187080.stm"&gt;Sitting straight 'bad for backs'&lt;/a&gt;: &lt;p&gt;BBC News:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;In this study, the patients assumed three different sitting positions: a slouching position, in which the body is hunched forward as if they were leaning over a desk or a video game console, an upright 90-degree sitting position; and a “relaxed” position where they leaned back at 135 degrees while their feet remained on the floor.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I’ve been suffering from worn discs (on the lowest two levels) on and off for more than 10 years now. Most of the time I’m doing okay, other times it’s more pronounced and I can hardly move. Looks like I should’ve used the leaned back position on the &lt;a href="http://www.hermanmiller.com/Products/Aeron-Chairs" target="_blank"&gt;Aeron&lt;/a&gt; much more often.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/patricklenz/~4/A3oDrOr9AqA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/patricklenz/~3/A3oDrOr9AqA/761254144</link><guid isPermaLink="false">http://patricklenz.net/post/761254144</guid><pubDate>Fri, 02 Jul 2010 13:25:00 +0200</pubDate><category>health</category><category>seating</category><category>desk</category><feedburner:origLink>http://patricklenz.net/post/761254144</feedburner:origLink></item><item><title>Phusion Passenger Lite</title><description>&lt;a href="http://blog.phusion.nl/2010/07/01/the-road-to-passenger-3-technology-preview-3-closing-the-gap-between-development-and-production-rethinking-the-word-easy/"&gt;Phusion Passenger Lite&lt;/a&gt;: &lt;p&gt;Hongli Lai:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Phusion Passenger Lite consists of an Nginx core. Nginx is known to be extremely scalable, high-performance and lightweight. You do not need to have Nginx already installed; this is automatically taken care of. You also do not need to have any Nginx experience: Nginx is hidden from the user but its power is automatically utilized.&lt;/p&gt;
&lt;/blockquote&gt;&lt;img src="http://feeds.feedburner.com/~r/patricklenz/~4/dQcWSltrpoM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/patricklenz/~3/dQcWSltrpoM/761247545</link><guid isPermaLink="false">http://patricklenz.net/post/761247545</guid><pubDate>Fri, 02 Jul 2010 13:22:35 +0200</pubDate><category>ruby</category><category>rails</category><category>deployment</category><category>passenger</category><feedburner:origLink>http://patricklenz.net/post/761247545</feedburner:origLink></item><item><title>Summer Girl</title><description>&lt;img src="http://29.media.tumblr.com/tumblr_l4vg998Mud1qah8a2o1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;h3&gt;Summer Girl&lt;/h3&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/patricklenz/~4/5H-sL_qGpbY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/patricklenz/~3/5H-sL_qGpbY/757067934</link><guid isPermaLink="false">http://patricklenz.net/post/757067934</guid><pubDate>Thu, 01 Jul 2010 11:12:45 +0200</pubDate><category>gwen</category><category>photography</category><feedburner:origLink>http://patricklenz.net/post/757067934</feedburner:origLink></item><item><title>"With previous iPhones, it was like dropping a piece of buttered toast — there was a lucky and..."</title><description>“With previous iPhones, it was like dropping a piece of buttered toast — there was a lucky and unlucky side on which it could land. With the iPhone 4, it’s like dropping a piece of toast that’s been buttered on both sides.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;&lt;a href="http://daringfireball.net/2010/06/4" target="_blank"&gt;Daring Fireball: 4&lt;/a&gt;&lt;/em&gt;&lt;img src="http://feeds.feedburner.com/~r/patricklenz/~4/7GnaXrx6vl0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/patricklenz/~3/7GnaXrx6vl0/752502715</link><guid isPermaLink="false">http://patricklenz.net/post/752502715</guid><pubDate>Wed, 30 Jun 2010 07:08:28 +0200</pubDate><feedburner:origLink>http://patricklenz.net/post/752502715</feedburner:origLink></item><item><title>Press the Magic Button</title><description>&lt;a href="http://powazek.com/posts/2522"&gt;Press the Magic Button&lt;/a&gt;: &lt;p&gt;Derek Powazek:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;I propose that blocking people on sites like Twitter or Flickr should not be interpreted as an insult. I propose that it’s simply taking yourself out of someone else’s attention stream.&lt;/p&gt;
&lt;/blockquote&gt;&lt;img src="http://feeds.feedburner.com/~r/patricklenz/~4/y6mr4SU-MP4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/patricklenz/~3/y6mr4SU-MP4/749062179</link><guid isPermaLink="false">http://patricklenz.net/post/749062179</guid><pubDate>Tue, 29 Jun 2010 11:31:49 +0200</pubDate><feedburner:origLink>http://patricklenz.net/post/749062179</feedburner:origLink></item><item><title>Mrs. Croft</title><description>&lt;img src="http://28.media.tumblr.com/tumblr_l4rrq9cE0b1qah8a2o1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;h3&gt;Mrs. Croft&lt;/h3&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/patricklenz/~4/jr8u4DEn0SI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/patricklenz/~3/jr8u4DEn0SI/749058763</link><guid isPermaLink="false">http://patricklenz.net/post/749058763</guid><pubDate>Tue, 29 Jun 2010 11:30:08 +0200</pubDate><category>photography</category><category>alice</category><category>lara croft</category><category>portrait</category><feedburner:origLink>http://patricklenz.net/post/749058763</feedburner:origLink></item><item><title>Dropbox enables sharing of any file or folder</title><description>&lt;a href="http://forums.dropbox.com/topic.php?id=21441&amp;replies=3"&gt;Dropbox enables sharing of any file or folder&lt;/a&gt;: &lt;p&gt;This (beta) feature is currently available in the Dropbox clients 0.8 or higher, which are only distributed via the forums linked here. Those clients will also give you the ability to only sync a portion of your Dropbox to a given client. (A MacBook with SSD not having enough room for your entire music collection, for example.)&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/patricklenz/~4/19_ZHUZAoiw" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/patricklenz/~3/19_ZHUZAoiw/745024148</link><guid isPermaLink="false">http://patricklenz.net/post/745024148</guid><pubDate>Mon, 28 Jun 2010 10:41:36 +0200</pubDate><category>dropbox</category><category>sharing</category><feedburner:origLink>http://patricklenz.net/post/745024148</feedburner:origLink></item><item><title>Wild.</title><description>&lt;img src="http://29.media.tumblr.com/tumblr_l4btbgbSTc1qah8a2o1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;h3&gt;Wild.&lt;/h3&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/patricklenz/~4/0VdPuwhpGMA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/patricklenz/~3/0VdPuwhpGMA/719104631</link><guid isPermaLink="false">http://patricklenz.net/post/719104631</guid><pubDate>Sun, 20 Jun 2010 20:42:52 +0200</pubDate><category>Gwen</category><category>photography</category><feedburner:origLink>http://patricklenz.net/post/719104631</feedburner:origLink></item><item><title>Time to change

Recent happenings will make for some interesting...</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_l3wf7xjuyw1qah8a2o1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;h3&gt;Time to change&lt;/h3&gt;

&lt;p&gt;Recent happenings will make for some interesting times for the remainder of 2010 and beyond.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/patricklenz/~4/TgZBmE1TkoM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/patricklenz/~3/TgZBmE1TkoM/690460446</link><guid isPermaLink="false">http://patricklenz.net/post/690460446</guid><pubDate>Sat, 12 Jun 2010 15:45:49 +0200</pubDate><category>photography</category><category>casio</category><category>g-shock</category><category>watch</category><feedburner:origLink>http://patricklenz.net/post/690460446</feedburner:origLink></item><item><title>Leaves

(Also available as an iPad background.)</title><description>&lt;img src="http://30.media.tumblr.com/tumblr_l3wac6cPQn1qah8a2o1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;h3&gt;Leaves&lt;/h3&gt;

&lt;p&gt;(Also available as an &lt;a href="http://cl.ly/45b8206998cff61a5d8e" target="_blank"&gt;iPad background&lt;/a&gt;.)&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/patricklenz/~4/88sOC2W2if0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/patricklenz/~3/88sOC2W2if0/689964814</link><guid isPermaLink="false">http://patricklenz.net/post/689964814</guid><pubDate>Sat, 12 Jun 2010 11:28:53 +0200</pubDate><category>photography</category><category>leaves</category><feedburner:origLink>http://patricklenz.net/post/689964814</feedburner:origLink></item><item><title>Reeder for iPad</title><description>&lt;img src="http://27.media.tumblr.com/tumblr_l3w47j7McQ1qah8a2o1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;h3&gt;&lt;a href="http://itunes.apple.com/us/app/reeder-for-ipad/id375661689?mt=8" target="_blank"&gt;Reeder for iPad&lt;/a&gt;&lt;/h3&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/patricklenz/~4/eIkBN2CSojY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/patricklenz/~3/eIkBN2CSojY/689711538</link><guid isPermaLink="false">http://patricklenz.net/post/689711538</guid><pubDate>Sat, 12 Jun 2010 09:16:31 +0200</pubDate><category>iPad</category><category>rss</category><category>reeder</category><feedburner:origLink>http://patricklenz.net/post/689711538</feedburner:origLink></item><item><title>"The Economist reviews a few apps which are meant to help you focus. I’ve tried some of these but..."</title><description>“The Economist reviews a few apps which are meant to help you focus. I’ve tried some of these but they never really stuck. But you know what the best anti-distraction piece of software I’ve ever used is? My iPad’s OS.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;&lt;a href="http://shawnblanc.net/2010/06/distractions/" target="_blank"&gt;Shawn Blanc&lt;/a&gt;&lt;/em&gt;&lt;img src="http://feeds.feedburner.com/~r/patricklenz/~4/LtzVIuL1NFU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/patricklenz/~3/LtzVIuL1NFU/689678056</link><guid isPermaLink="false">http://patricklenz.net/post/689678056</guid><pubDate>Sat, 12 Jun 2010 09:01:16 +0200</pubDate><category>iPad</category><category>distractions</category><feedburner:origLink>http://patricklenz.net/post/689678056</feedburner:origLink></item><item><title>Type-To-Navigate</title><description>&lt;a href="http://danielbergey.com/software/safari_extensions.php"&gt;Type-To-Navigate&lt;/a&gt;: &lt;p&gt;This is another great Safari extension and the one feature from &lt;a href="http://haoli.dnsalias.com/" target="_blank"&gt;Saft&lt;/a&gt; I missed when I stopped using it. It allows you to just type part of any text in a hyperlink on the current page and hit enter to navigate to that link. You can even bounce between multiple matches on a single page via ⌘G.&lt;/p&gt;

&lt;p&gt;(Once again via &lt;a href="http://safariextensions.tumblr.com/" target="_blank"&gt;Safari Extensions&lt;/a&gt;.)&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/patricklenz/~4/9aRrPpH6_N8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/patricklenz/~3/9aRrPpH6_N8/680051826</link><guid isPermaLink="false">http://patricklenz.net/post/680051826</guid><pubDate>Wed, 09 Jun 2010 14:51:10 +0200</pubDate><category>safari</category><category>extensions</category><feedburner:origLink>http://patricklenz.net/post/680051826</feedburner:origLink></item><item><title>Instapaper Greystyled Safari Extensions</title><description>&lt;a href="http://elasticthreads.tumblr.com/post/675433975/safari-extensions"&gt;Instapaper Greystyled Safari Extensions&lt;/a&gt;: &lt;p&gt;ElasticThreads’ user-scripts that restyle the indispensable &lt;a href="http://instapaper.com/" target="_blank"&gt;Instapaper&lt;/a&gt; for both form and function have now been converted into an Extension for the brand new Safari 5.&lt;/p&gt;

&lt;p&gt;(Via &lt;a href="http://safariextensions.tumblr.com/" target="_blank"&gt;Safari Extensions&lt;/a&gt;.)&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/patricklenz/~4/DNSYE67S9Zg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/patricklenz/~3/DNSYE67S9Zg/676728888</link><guid isPermaLink="false">http://patricklenz.net/post/676728888</guid><pubDate>Tue, 08 Jun 2010 16:27:00 +0200</pubDate><category>safari</category><category>extension</category><category>instapaper</category><feedburner:origLink>http://patricklenz.net/post/676728888</feedburner:origLink></item></channel></rss>
