Monday, July 29, 2013

of cameras and photography, a personal journey

e-m5 in hand

I've been thinking long and hard about my photography lately, and I've come to realize I spend way too much time (and precious cash) on equipment and far too little on the art of photography itself. Right now the most sophisticated camera in my collection is the one at the top of this post, the Olympus OM-D E-M5. I also have a collection of µ4:3rds lenses, the majority of them small primes. I carry them around in a bag, yet I spend too little time using it, and have too few quality images to show for the equipment investment.

Funny thing is I've managed reproduce, with µ4:3rds lenses, the type of 35mm film system I used back in the 1970s and 1980s, before I pretty much sold it all and bought a Nikon N90 and a single Nikkor zoom in 1989. The Nikon is what I used, in decreasing frequency, until I took up with digital cameras in by purchasing a Canon A300 point-and-shoot in 2003.

Over the last ten years I've traced a blazing trajectory from the Canon A300 point and shoot through various Olympus DSLRs (E-1, E-3, E-300) and on through various mirrorless interchangeable lens cameras starting with the Olympus Pens (E-P2, E-PL1, E-PL2), with side trips through a Panasonic GX1 and a Sony NEX 5N. During that same period I've participated in no small number of forum "discussions", usually because someone was wrong on the Internet about my choice of cameras. I wasted too much time buying and arguing, and not enough photographing.

And now, here I am, with what is arguably one of the best Olympus cameras ever made, if not the best, the E-P5 not withstanding. I didn't say it was perfect, I said it was the best, and that's not a paradox. Like any camera currently made the E-M5 has its quirks and perceived shortcomings. But if you back up just a bit and take a practical view of the camera as a complete system, I find it can more than hold its own and produce sterling results in just about any situation I find myself in. And if it can't, well, you know what, rather than go looking for something even better, I just turn the camera off, sit back, and enjoy myself.

I'm at a point in my life where I need to get off the perpetual camera upgrade treadmill. This not only applies to bodies, but to lenses as well. As I first wrote I've reproduced digitally what I had some 30 or more years ago in analog film when I found three 35mm lenses to be totally sufficient for my needs. They were the 28mm f/2.8, the 50mm f/1.4, and the 135mm f/2.8. All of them were affordable (at the time) Minolta Rokkor lenses. I eventually picked up a 200mm f/4, but discovered it spent more time in my bag than on my camera, and so I sold it, barely touched. Over the seventies I picked up three Minolta bodies, an SRT-MC, an XE-7, and an XD-11. I had, literally, one body/lens, and except for a pair of Vivitar 283s, batteries, and some film, that's all I carried in my bag. And the bag, I might add, was actually pretty compact and light. I could carry that entire collection on my shoulder all day long and not think twice about it.

Then my life shifted, and I unloaded everything I owned except the X-E7 and the 50mm, and lived with that until I got married. On a honeymoon trip out to San Francisco I picked up my first Olympus camera, an OM-4 with Zuiko 50mm f/1.4, and that was my main camera for about the next five years until I gave that to my younger brother and bought the Nikon.

My film period is starkly different when compared with my digital period. Over a 30 year period I purchased five 35mm cameras, or about one every six years on average. I purchased the first three cameras in the 1970se (three Minoltas) then the the last two (the Olympus and then the Nikon, in that order) in the 1980s, then nothing at all in the 1990s and the first of the aughts. I certainly purchased a lot of film (print and slide) and produced a lot of prints. And therein I think is a key to how I approached photography in those first three decades.

During my film period I was more interested in the process and product of photography (especially the product) than photographic equipment.

During my digital period, that somehow flipped 180°. When I add up all the digital cameras I've owned, this is what I get (in the order of purchase):

Canon A300 + E-300 + E-3 + E-P2 + E-1 (3) + E-PL1 (2) + E-PL2 + Sony NEX 5N + E-M5 + GX1 = 13 cameras. More than double the number of film cameras, in one third the time (ten years vs thirty years).

During my digital period I was more interested in the equipment of photography than the process and product of photography. Frankly I believe that to be utterly wrong. I have no-one to blame but myself. If I had been following the same buying process as I had with film I'd be on my third digital camera, not my twelfth (the E-M5) and the thirteenth (GX1) with some NEX 5N on the side (number eleven).

I'll grant you that at least half of those cameras were purchased far below MSRP, either as used (all E-1s) or heavily discounted (nearly all the rest, usually $200 or less). But still, I payed full price for the E-P2 and the E-M5, and that was quite a chunk of change all told. (To be honest, while the E-3 was on sale, it still wasn't cheap). That's a whole lotta cash just to satisfy gear acquisition syndrome.

Now I've hit a pretty large wall over gear purchases. It started with the realization that I'm no longer charging around photographing everything like I once did. The reasons why not are varied, but the result is significant. Even though I always carry a camera with me, I seldom go out of my way anymore to stop and photograph something. Anything.

And with that realization of low usage came the mental calculation of all the bodies I've purchased. I don't have all of them any more; I gave an E-1, my E-300, an E-PL1, and the E-PL2 to my youngest. As I wrote about last year one of my E-1s and my E-3, along with the 12-60mm and the 50-200mm zooms were stolen. And the Canon A300 has long since ceased to function. So that culls the number of working digital cameras in this house to six. Six. And I barely use half of them. The rest sit in their bag (the E-1) or in a drawer (the E-P2 and E-PL1).

I have reached an end. I've finally learned it's a fools journey to keep throwing yet more large sums of money after diminishing returns. 12MP really was good enough, and 16MP even more so. ISO 6400 really is more than enough. I've got three 16MP cameras (NEX 5N, E-M5, and GX1) that produce indistinguishable output with decent enough lenses.  And as it turns out decent enough lenses start at around $100 (the Sigmas). That's one reason I haven't gone chasing after $1000+ dollar (and up) über-fast primes or zooms.

I'm going to be finally finishing a review of the E-M5 on thewsreviews Real Soon Now. Here's a spoiler; I'm going to give it a rip-roaring high rating. It will be more than good enough. I'll go into specific details in the review.

I'm at my end of chasing camera gear. Perhaps Thom Hogan is right, and I've now flipped from GAS to Last Camera Syndrome. Only time will tell.

Oh, I forgot. Even my Samsung Galaxy S4 has two cameras built into it. *sigh*

Sunday, July 07, 2013

programming outside my comfort zone

Sample Go language inside Notepad++ editor, using Java syntax highlighting
My experience with computer languages extends all the way back to APL (A Programming Language). I was exposed to it at the Fernbank Science Center in Atlanta in 1971. I got into APL for two reasons; the cool symbols across the top of the keyboard (a mechanical teletype) and the fact that I could play moon lander, one of the computer games written in APL that I later started to hack.

For a high school junior who was growing up through Star Trek, 2001, and the Apollo program, learning APL on an IBM 360 mainframe was a dream come true. Since then I have continuously been programming in some language, from assembly on up, on some platform, from microprocessors on up, until today, and I don't see myself changing until I can no longer see a monitor, sometime in the unknowable future.

For someone with such a very long period of software engineering in their lives, staying with any language or even a group of languages can result in creative stagnation. I have been programming in C since 1982 when it was Lifeboat C on an IBM PC XT under PC-DOS, C++ since 1986 when it was C with Classes under VAX VMS, and Java since 1995 when I downloaded it from Sun as a beta under Windows. I have certainly worked with other languages over the decades such as Ada, PL/I, Perl, Python, etc, but the stalwarts I always fall back to are the C trinity.

If you've not heard of Google's Go before now then you probably need to mosey on over and check out what Google has wrought. According to its Wikipedia entry, Go, or golang, is "an open source, compiled, garbage-collected, concurrent system programming language." It's important to realize that concurrency is not the same as parallelism. It's better. And that's why I'm very interested in this language. That, and the fact that two of Go's creators are Rob Pike and Ken Thompson, a pair of living computing legends. Or a pair of old dudes like me (except I didn't do anything nearly as useful as invent Unix, Plan 9, or the C programming language).

While I've yet to write anything substantial in Go (except to follow a number of tutorials), the impression I get of Go is a language that you would write if, after having put a few languages under your belt such as C, you could then go back and "do it better" after watching decades of adoption and use. An example of a "fix"? The language doesn't use an unadorned equals sign for assignment, but more like what Pascal and Niklaus Wirth find proper, the character sequence ':='. Niklaus Wirth was right to call the use of a bare equal sign for an assignment operator a "notorious example for a bad idea."

Another interesting feature is the elimination of elaborate class nomenclature. C++ and Java et. el.  has all sorts of coding rules for writing classes as well as how to then use them. Depending on the problem, these classes can become overly complex and unruly, especially in novice hands. In the Go example above you define a data structure which also serves as a class (you can do the same in C++, but not as cleanly), then define the method save() for this class that appears paradoxically outside the scope of structure for which it was written. The only indicator save() is a method of Page is its "receiver *p, a pointer to Page." This is something of a surprise to an old dog like me, but I think I will get used to it. I'll need to do a bit more class creation before I fully understand it, but it's not outrageous, especially if the rules for writing are simple and consistent.

The feeling I get using Go is of a stripped down no-nonsense kind of language trying to incorporate best practices as well as fix a few language mistakes (assignment notation is but one). It is fun, and it seems to have a reasonably low bar to understanding how it works and getting non-trivial work done. Whether it allows for "simple" programming remains to be seen. Code is by necessity at times complex and hard because the problems you are trying to solve are complex and hard.


Just finished a basic wiki server tutorial (the wiki is basic, not the tutorial), complete with interesting error handling, regular expression based validation, function literals and Go's version of closures. Not bad for a "new" (since 2007, or six years) language. It might not be a production wiki, but I do like the way key concepts were presented, such as error handling, validation, and patterns for code reuse.

I'd much rather build my mind doing something like this than wasting it along with money at some local Orlando tourist trap.

Thursday, July 04, 2013

yes we scan

From Shepard Fairey (creator of the original "Hope" poster):
"Warrantless surveillance under Bush was extremely disconcerting, but not surprising in the post 9/11 climate of fear. The extent of Obama’s spying is unacceptable and I feel sickened and betrayed by someone I dedicated a huge amount of time, energy, and money to support based on the way he presented his views as the antithesis of Bush’s. The charge of Edward Snowden with espionage for exposing the Prism program only dims my view of the Obama administration further."

Happy Fourth.

fedora, the day after

Playing a bit with Fedora 19 after morning chores and before I head out for some late morning errands. The performance of the desktop is reasonable but not blazing fast, which is to be expected on a VM. It's Good Enough for what I want to accomplish, which is functionality. If I need performance and if the application isn't Linux-specific then I'll move it over to Windows 8, shut everything down that isn't necessary, and run it on an OS running on bare silicon.

I decided to install Netbeans 7.3.1 on this VM to see how it performs. So far it's usable. In addition to Java support I also installed support for C++ (see why below). I'm also going to install Scala support as well to mirror how I have Netbeans 7.3.1 installed on Windows 8.

After further investigation I've discovered that the version of Java being pushed by Fedora 19 is Java 7 update 25, which is the current Oracle release. I may (I say may) uninstall the Oracle version and go with the version supplied by the distribution just to see if it all works the same. One key reason is that upstream updates from Oracle should get pushed to me instead of me having to keep an eye on Oracle and pulling the latest updates down myself. Not a big issue, but one of those things I'd like to automate if possible.

I have decided not to install Chrome on this VM. I'm going to run with Firefox for a while. If I need Chrome on Linux I have it installed on the Linux Mint 15 VM, so I can fire that up if I need some type of testing.

One other annoying issue I fixed was the screen timeout. The screen timeout is set to go black after five minutes, which I find annoying short. To change that go to the account identifier in the far upper right corner of the screen, click to get the drop-down, then select Settings, then Power on the Settings applet. Power's rather sparse with a Power Saving (Blank Screen) drop down and a Suspend & Power Off selector. Because this is a VM I have turned  Blank Screen off and Suspend & Power Off to off as well. For those running this directly on bare silicon you'll need to tweak to your satisfaction, especially if it's a notebook.

I installed gcc and g++ (gcc and gcc-g++) via yum. They didn't come across during the automatic install. The specific reason for installing these versions? Because gcc on Fedora 19 is version 4.8.1, and that version is supposed to be C++11 feature complete (see release notes). C++11 is enabled with the -std=c++11 command line switch; it's not on by default. I'm chasing C++11 support in Visual Studio 2013 Preview as well.

Yes, I'm an old nerd. So sue me.


Well, that didn't last long. While Gnome 3.8 puts on a good show, it's still highly annoying and unproductive to an old nerd like me. After installing NetBeans I attempted to add it to the left dock. I searched the local Gnome help, I searched the web, but found no way to add it. So I finally broke down and installed Cinnamon desktop, which turned out to be another annoyance under Gnome. I tried to use the official software management applet, but it quietly failed to install the metapackage (due, no doubt, to my not being root when I ran it). So I did what I always do in situations like this, I sued to root and installed Cinnamon via yum.

And then I ran into another problem. Normally when I install a new desktop I just log out of the current one and back into the new. Lo and behold I discovered I couldn't log out of Gnome. I could power off, suspend, or reboot, but not log out. Cue the Eagle's "Hotel California"... So I rebooted the VM to get back to the login screen. Look at the login screen and select the administrative account to get the login where I can select the Cinnamon desktop. Select Cinnamon, type in my password, and finally hit Cinnamon and sanity.

To add insult to injury, the NetBean's icon is on the Cinnamon desktop and it's in the Cinnamon menu. And I can drag the NetBeans icon down to the panel where I like to keep it, for single-click launching.

I host all of this on top of Windows 8. As "radical" as Windows 8 has been, it's still allowed me to work productively. I installed the same version of NetBeans on top of Windows 8 without a single issue. I really don't ask for much, but when an application like NetBeans knows enough to add its icon where Cinnamon can find it and display it, then Gnome 3.8 should be able to do the same. In fact, it would have been nice to have a 'pin' entry on the Gnome 3.8 dock so that a right click over an icon would bring up the menu and allow you to pin it there. It showed the NetBeans icon when it was running, but not after it was closed. That would have been ideal.

Oh, and in the future, give back the simple ability to log out, even if there's just one account. I mean, it was there at one time. Did they give the ability to power off, but remove the ability to log out on the account drop-down menu? What kind of sadistic Gnome developer decided to do that?

And the final insult: Fedora 19 runs a lot faster and smoother with Cinnamon than it did with Gnome 3.8. Typing 'free' at the command line shows that the memory footprint after boot has dropped about 40% with Cinnamon as the desktop. I'm not like Linus who can fix the problems with Frippery and the gnome-tweak-tool. It either works reasonably after initial install or it doesn't, and if it doesn't I'll find a desktop environment that does. I note in finishing this rant that I have Cinnamon as my DE on Linux Mint 15 for the same reasons I have now on Fedora 19. And I should further note that's what I eventually migrated to on Fedora 18.

Wednesday, July 03, 2013

another day, another fedora release

Logged in and getting ready to do something... dangerous?
Fedora 19 hit the bricks sometime Tuesday, 2 July. And I dutifully downloaded yet another DVD ISO (at around 4.2GB) of the latest release and installed it in a VMware Player virtual machine. I've trimmed the number of Linux VMs I carry around these days to just two; Fedora and Linux Mint. And when I was ready to install Fedora 19, I blew away Fedora 18. I don't bother to keep any older releases anymore, and make no attempt to upgrade any older releases either.

I was pleasantly surprised this time around with how Fedora looked and installed, for the most part. I'll explain what few things I didn't like as I come to them. And this time, I'm going to do something I haven't done in a long time; I'm going to display a series of screen captures to illustrate my points.
One of the very first pleasant surprises to great me was at first boot. Fedora 19 has provided a very clean, very professional language selection screen. I'm very sensitive to this because of how horrible the same first-boot language selection screen is in Ubuntu. I hate Ubuntu's language selection boot screen. It looked like it was written by an adolescent kid who'd just learned how to program in Basic, or by a developer who knew better but didn't really give a damn. Fedora 19's initial boot screen looks like a sublime work of genius by comparison.
The next three screens are beautifully simple in their presentation. The buttons are still a bit skeuomorphic, but not nearly as much as the buttons and decorations on the VMware Player window. I took all the Fedora installation defaults just to get something installed, and just to see what it was like. That means the latest Gnome 3 (version 3.8) desktop. By the way, you can ignore the VMware Tools along the bottom. Fedora 19 comes with open-vm-tools, the open source version of the VMware Tools. I'll be turning that nagging reminder off after the installation and living with the opensource tools.

For the curious, I gave the VM 30GB of disk space, 2GB of memory, and two processors.
The last screen you see in the installation process combines setting the root password and the creation of your first account with the installation screen. I've already taken care of root and my administrative account. Now it's just a matter of waiting for the installation to finish.
A reboot after the last package installed from the prior screen and here we are at the login screen for the administrative account. This is a drastic change from prior versions of Fedora and Redhat Linux, where you had to select your administrative account, select your time and time zone, and perform a few extra post-installation chores. Not any more. Clean and simple. Easy to use. Click on the account and fill in the password and you're in.
First login presents you with with a short wordless animation that shows you how to get started using the Gnome 3 desktop. And from my experience today it really works. This is the kind of up-front hand holding that Linux (and every other OS) has needed from the beginning. I keep reading how Fedora is for hard-core Linux users, but based on what I've just seen, Fedora 19 is one of the easiest, of not the easiest, distributions to install and start using I think I've every touched. If you have any prior operating system experiences (Windows, OS X, other Linuxes, even older operating systems like Unix and CDE or OS/2) then you will quickly adapt to this version of Fedora. Well, almost. And I'll get to that further down. But regardless of my one problem, I found this Gnome Help quite, well, helpful.
This is a quick grab in the middle of the "Switch Tasks" video/animation.
As I said, I decided to take the default Gnome 3 desktop installation. I've been living with Android 4.2.2 and Windows 8 for some time now, and the idea of living with something as "different" as Gnome 3 no longer bothers me. Perhaps it's my change in attitude, or perhaps a cleanup of Gnome 3 (or some combination of the two), but I found it quite easy to dive and and start working with Fedora 19. Because I'd taken all the defaults for applications I decided to open a terminal and use yum to remove what I didn't want. This was after I accepted an update to 65 packages, including a kernel update. Once the update was done I removed Libreoffice, Fedora's version of Java, Rhythmbox, Shotwell, Empathy, Evolution, Cheese and just about everything else I didn't want in the VM. This VM is all about software development in C++ and the latest version of Java 7.

I noticed another very nice touch; packages are not incredibly intertwined with Fedora 19. It looks like the dependencies have been cleaned up tremendously, so that removing applications is far more straightforward than it has been in the past. In particular I remove Java and Libreoffice because in the past I wanted to use standard Oracle Java, and some yahoo somewhere decided to make Libreoffice dependent on that distro's version of Java. So they both came out so I could use the Java I wanted to use. Another nice touch with regards to Java is that the brain-dead default version of GNU Java, based on Java 5 (java-1.5.0-gcj), is no longer the default "least common denominator" Java that's installed if you remove Fedora's stock Java 7. That version caused no manner of problems with regular Java-based applications, such as Tomcat. Thank you, whoever did this. I am eternally grateful.
And finally, thank you whoever you are out there in Gnome land, for putting a "Power Off" switch on the desktop. I owe you a beer.

That Fly in the Ointment

This is about the firewall. At first I thought it was set up to be non-strict in its configuration, but I quickly found it was getting in the way of me using Firefox. So I went off looking for the firewall applet. I thought that I could simply turn off the firewall (as I normally do on a VM), but somebody decided to make the firewall applet fiendishly complicated for Fedora 19. I couldn't disable the damn thing, which is all I wanted to do. So I went hunting around the Internets for a way to disable the firewall, and found I had to do it from the command line. The commands are very simply once you know, so here they are.

  1. Open a shell
  2. su to root
  3. type 'systemctl stop firewalld.service'
  4. type 'systemctl disable firewalld.service'
Before you Linux haters get all hateful, know that a lot of power can be had at any command line, even with Windows. Especially for Windows 8 and its power shell. I prefer the speed and directness of the command line at times, and other times I prefer a graphical approach. It's all a matter of what I need to accomplish and how. Some new users might not even know the firewall is there. But I did almost immediately, and I had enough experience to find out how to quickly fix my problem and move on.

Final Words

There's a tremendous amount of capability and power in Fedora 19. What I've presented here is not even the tip of the iceberg, as an iceberg tip would be far larger. But it's a start. All the distributions could learn a few things from Fedora 19 (and I'm looking at you, Ubuntu). As I said at the start of this post I've trimmed my Linux distributions down to just two, Fedora 19 and Linux Mint 15. Before long I see myself dropping Linux Mint and running several versions of Fedora 19, just to try out the Gnome Classic desktop and Cinnamon.

The next thing for me to do is install Pidora onto my two little Raspberry Pi machines. But that's a post for another day.

Fedora 19 Release Notes:

Tuesday, July 02, 2013

be careful before you buy that new camera

OM-D E-M5 dressed out in all its finery
The last month or so has been thick with camera announcements. First there were the bodies, such as the Olympus E-P5, the Leica X Vario, a trio of Pentaxs, the Android-based Samsung NX, Sony's refresh to their RX1 (RX1R) and RX100 (RX100M2), the Fujifilm X-M1, and today, the Canon 70D. And then there were the lens and firmware update announcments. But the real eye-catchers for me have been the E-P5 kit (body + 1.8/17mm + VF-4 EVF) at the start and the Canon 70D. In particular the 70D for its video capabilities.

Why the 70D? Engadget is one of the few sites that has two videos using the 70D, one that was used to shoot the short "Handmade", and the second to shoot the making of the short. The second is very interesting as it shows how the film maker used the touch screen to pick the focus points int the movie, and when a point was chosen, the 70D smoothly changed focus without the the in-and-out focus flicker dance that takes place with every other still-camera-that-also-shoots-video-in-live-mode on the market. If Canon is to be believed then Canon has truly innovated with the 70D's sensor.

The 70D sensor appears to be on the same level of innovation as the sensor in the E-M5 and the E-P5, but not quite the same type of innovation. I purchased the E-M5 because of its sensor's nearly two stop increase in exposure range as well as the innovative five-axis in-body image stabilization. It's the same reason I'm also considering the E-P5, along with the E-P5's lower ISO (down to 100) and higher shutter speed (to 1/8000 sec), and the very high resolution VF-4 (2MP, double the VF-2).

After seeing how the 70D operates, and how you can simply pick the focus point in video by touch on the rear display and have it locked on and tracking without any wavering, I have to really stop and think if I perhaps should get the 70D over the E-P5. And it's a shame, really, as there's really nothing wrong with the E-M5, at least as far as stills are concerned. And I noticed that the majority of "Handmade" scenes had the 70D firmly mounted on something, rather than hand-held. Which makes me question is this the way the "pros" do it, or is it because the in-lens image stabilization may not be all it's cracked up to be?

If I could be camera king for a day, I would take the 70D sensor, properly shaped, and mount it on the Olympus IBIS framework in an Olympus body. And add in the necessary firmware to allow for touch-to-focus during filming. I'm pretty sure Olympus could add it to both the E-M5 and the E-P5 via firmware, since it's already there for stills. And touch-to-focus as well as touch-to-expose is lightning fast and accurate on the E-M5, as I'm sure it will be on the E-P5. The last four photos used touch-to-expose after framing, not the old and obsolete focus-and-recompose dance.

In the meantime I carry my E-M5 (and the Panasonic GX1) around with me and continue to make personal photographs. I'm beginning to shoot personal videos as well. Perhaps I'll reach a point where I can post something without too much embarrassment. In the mean time I'll keep my wallet closed, at least until September, and see how the 70D shakes out in the hands of independent users.

Update 3 July

Found this on Ken Rockwell's web site. I go slumming over there for the same reasons I slow down near car wrecks, because I just can't look away. He's got a small section up on the 70D, and if you bother to click on the link to read the Great Man's Thoughts, you'll come across this rather interesting paragraph:
The 70D is of course a great camera, just as is the 7D, but I don't know that this new AF hocus-pocus is really any different than older systems. How many times have you heard Canon tell us before that some new camera, like the T4i, suddenly had video AF that was perfect, and then the next new camera, like this 70D, suddenly tells us that its AF is the best and that everything before was garbage. We heard the same story when the T4i came out, too. Fool me once...
This is from the former Nikon fanboy who dropped Nikon when the D800 and D4 were introduced and went whole-hog with the latest from Canon, the 5DMK3. Who am I to quibble with an expert in these matters?
The low overcast light on this bit of greenery caught my eye on the way home. Florida has had considerable rain lately, and the land, where it isn't being developed, is a riot of green. All taken with the E-M5 and Panasonic Leica 25mm, post processed in LR5 and Color Efex Pro 4.