Out With The Old…

In case you were wondering why my website looks different…  Well, I wrote (actually coded from scratch) my original website about 12 years ago, before platforms such as Blogger or WordPress even existed.  Over the years the look of the website changed, but the underlying code stayed for the most part untouched. Rewriting an old codebase is a pain in the neck in the best of times; doing it while I’m in the middle of a photography season, working a full-time job and teaching a class is just plain suicidal.  To make the long story short, my old trusty website was just too cumbersome to manage and I had to put it out to pasture.

My Old Website | Dmitriy Babichenko Photography

I would have migrated a long time ago, but because my old website is all custom-coded, there was no easy way to migrate content to WordPress.  Finally, last night I decided to bite the bullet and spent 3 hours writing a script to move data into WordPress’ MySQL database.  I’m still tweaking things here and there, but for the most part content migrated with no glitches and looks better than ever before.

 

Lightroom Reporter

Lightroom reporter software | Dmitriy Babichenko, Pittsburgh Wedding, Event photographer and software developer A few days ago I wrote about my idea for an application that would report Adobe Lightroom statistics. I asked all of my photographer friends to tell me what statistics would be useful to them and I got a few really good pointers. Last night I could not sleep so I spent a few hours and hacked together the first version of my app. I wrote it for Adobe Air so that it would run on any platform. Chances are that you already have Adobe Air installed on your computer, but in case if you don`t, you would need to download and install it before installing my application (Lightroom Reporter). You can download Adobe Reporter here. Right now this first version only displays some basic camera and lens usage statistics. I already started working on additional features such as getting statistics on editing habits – how often do you adjust exposure, crop, etc… If you can think of any other statistics that would be useful, please drop me a note – I`m making this software available for free, so making it better would benefit (hopefully) everyone.

Hacking Lightroom or Why Everyone Should Know How to Program

I firmly believe that everyone should have basic programming skills. Whether you are a photographer, a mechanic or a doctor, pretty much every system in today’s world is ran by software; understanding how that software works will lead to better understanding of tools that you use to do your job and will make you a better professional. A little while ago Wired magazine ran an article about a Facebook software engineer who taught his 8-year-old daughter to program – he even wrote a book (cleverly titled Lauren Ipsum) to explain programming concepts to young children. Let me make my case as to why photographers need to have basic understanding of coding and databases. A few days ago my friend Jenny Karlsson sent me a link to an Adobe Lightroom plug-in that would tell you what focal lengths you use the most in your photographs. Such information is really useful if you are trying to decide what lens to purchase next. After talking to Jenny I decided to investigate this question further – I wanted more information than just focal lengths. I wanted to see what lenses I used most often; I wanted to see in how many of my photos I used fill flash (I’ve been told that I’m too obsessed with artificial lighting). There are plenty of plug-ins and stand-along programs out there that would pull that information for you. The caveat is that good apps cost money and crappy apps are just that – crappy apps. I did a quick Google search on “Developing Adobe Lightroom 4 plugins” and one of the first hits took me to a document describing Adobe Ligthroom 4 SDK (software development kit). After skimming through the documentation for a few minutes, I learned that Adobe Lightroom stores its data in an SQLite database – a standard approach to local data storage for most desktop and mobile applications. There are several free applications that allow you to look at SQLite data. The ones that I use the most are SQLite Manager plugin for Mozilla Firefox browser and Run!. SQLite Manager requires that you have Firefox installed on your computer and Run! requires Adobe Air. All the examples in this post use SQLite Manager, but Run! has a very similar user interface. Download and install Firefox and SQLite Manager plugin. If you are using Microsoft Windows, start SQLite plugin by clicking the orange “Firefox” tab in the left top corner of your browser window, then selecting “Web Developer” and “SQLite Manager”. On a Mac, go to Firefox → Tools → SQLite Manager. Hacking Lightroom | Dmitriy Babichenko Photography When SQLite manager launches, click the “Open” icon at the top menu bar. Hacking Lightroom | Dmitriy Babichenko Photography Browse to the location of your Adobe Lightroom catalog (a file with “.lrcat” extension). Make sure to select “All Files” in format choices. Hacking Lightroom | Dmitriy Babichenko Photography Double-click on Lightroom catalog that you’d like to load. Hacking Lightroom | Dmitriy Babichenko Photography Once Lightroom catalog loads, click on “Execute SQL” tab. On the left-hand side of window you’ll see a list of tables that contain all of Lightroom’s data. On the right you will see a text field where you can type in your queries. Database queries are written in SQL (Structured Query Language) – it’s fairly standardized across all database vendors, so you only have to learn it once. Copy and paste the following query into the text field and click “Run SQL”. SELECT focalLength, COUNT(focalLength) FROM AgHarvestedExifMetadata GROUP BY focalLength ORDER BY COUNT(focalLength) DESC You’ll see a list of all lens focal lengths that you’ve used in your photographs. Hacking Lightroom | Dmitriy Babichenko Photography Now type in SELECT b.value, COUNT(b.value) FROM AgHarvestedExifMetadata a JOIN AgInternedExifLens b ON a.lensRef = b.id_local GROUP BY b.value ORDER BY COUNT(b.value) DESC and click “Run SQL” Now you should see a list of all lenses used to take your photographs and you’ll be able to easily tell which lenses you use most often. When I have a bit of downtime this winter, I would like to write a cross-platform application that will pull statistics from Adobe Lightroom and Apple Aperture. I am planning on releasing this app under Creative Commons license, which means it will be free to use and modify. If you are a photographer and would be interested in being able to compile statistics from Lightroom or Aperture, shoot me an email or post on my Facebook page and let me know what statistics would be most useful to you. If you are interested in learning more about databases, check out http://www.sqlcourse.com/index.html and http://beginner-sql-tutorial.com/sql.htm for SQL tutorials. If you want to learn a programming language, Python is a very useful language to know. It has reasonably low learning curve if you are trying to do simple things and it has many built-in libraries for dealing with text and image files. If you actually want to know the engineering details of how digital cameras work, I highly recommend the following books:

Rachel`s and Jason`s Wedding

A few weeks ago Katia Forero and I photographed Rachel`s and Jason`s wedding at the Heinz History Center in Pittsburgh. This was one of the most unusual weddings I had to photograph. Most wedding photoshoots begin with the bride getting ready, hanging out with bridesmades, getting their hair and makeup done. Rachel and Jason decided to start their wedding with a 5K run on the River trail on the North Side. And the most amazing thing is that about 60 people from the wedding (including the entire bridal party) ran or walked with them. The wedding itself was beautiful and elegant and Katia and I had a blast working with both the bride`s and the groom`s family. All the bridal “getting ready” photographs and the beautiful shots inside the Pittsburgh bus below were taken by Katia – I could not have captured this amazing day without her help. Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer Rachel`s and Jason`s wedding | Dmitriy Babichenko, Pittsburgh Wedding Photographer