Aug 30, 2017

Long Exposure Photography: A Beginner's Guide

Introduction: 
"Long Exposure" is the technique of exposing a scene for a long period of time. Traditional pictures taken with smartphones, digital cameras often function with a predefined shutter speed. This is the amount of time between you pushing the "Click" button and the camera sensor completes the capturing of the scene. This is usually less than a second. A DSLR camera's ability to change this speed for each shot makes all the difference. Modern phones come with manual mode camera these days where you can adjust this. Understanding how to make use of it can help convert ordinary into extraordinary. Here in this short tutorial, we will explore how to get started with this technique of photography. All the examples used here are from my works published on my Facebook page and my 500px profile. Let's get started and discuss how to capture images like the one below.
Long exposure of New york skyline. 55mm/ƒ/13/124s/ISO 100

Getting started: 
This tutorial assumes you have a DSLR camera, or a smartphone with manual mode camera and can maneuver settings like ISO, Shutter Speed and Aperture (F-Stops) on your equipment. In case you are not, and have always taken pictures with the Automatic-modes, then you can explore basics here. Long exposing a scene creates one picture by combining consecutive events together. What this means is that if a car takes 4 seconds to cover the distance between two street lamps, and if you set your shutter speed to the same 4 seconds, the camera records the light emitted in every fraction second and puts them together. Many articles or books you come across might start with, "Photography is Light, and Light is everything". This is very true because if you take this photograph in day light, you will most certainly see a bright, white, washed out image, but do it in the night, and you will know what I am talkin'. I captured this picture below recently in Seattle, just after sunset at a shutter speed of 10 seconds. With hundreds of vehicles on this highway, their headlights and tail lights were all combined to form this one image with trails of light.
Long Exposure of Seattle Skyline - Light Trails. 50mm / ƒ11 /10s / ISO 100
Step 1: The Gear
Here is a brief explanation on the kind of gear you need. You probably already have most of this. I will also explain why you need them and what I used to take all the images featured in this tutorial as we go along.
  1. Camera: Any DSLR camera would do just great, and you do not really need an expensive $2000 camera for shooting a long exposure image. You can even start with your smartphone if it supports manual mode. Expensive gear has its advantage but not essential at all to start with. I shoot with a $400 Canon T3i and it does a fantastic job. I recently got a Canon 6D but yet to shoot long exposures with it.
  2. Lens: Most users have a 18-55 standard lens that comes with the camera and that is more than sufficient to begin taking long exposures. Advanced lenses are beyond the scope of this post and I will write about them later.
  3. Tripod: This is a must have as we human beings cannot hold a camera still for longer than half a second. You will eventually shake it and the image will be blurry and wasted. You are gonna surely need one and if you can afford it, get a good one. Cheaper tripods with shaky legs will produce bad images as they can easily get moved by wind and spoil your long exposure. 
  4. Shutter Release Cable: A shutter release cable is an inexpensive equipment that will help you take a picture without actually touching your camera. It is also called a Shutter Remote for the same reason. You will introduce a minor shake when pressing the shutter button and using a remote avoids that. If you don't have one, just change the shutter settings to a Timer mode of 2-secs or 10-secs. This way, the exposure starts 2 seconds after you press the shutter button and will avoid camera shake. 
  5. ND Filter: An ND filter, read Neutral Density Filter, is like a sun glass for your lens. When the light is too bright, you can simulate a darker ambiance by hooking up an ND filter onto your lens. Let's say a 30-sec time-lapse can only be taken after 7 pm when the night sets in, you could take the same timelapse at like 5 pm by introducing a 10-stop ND filter. This is an optional equipment, and you can avoid it if you plan your long exposure photo shoots before sunrise, or after sunset. Look for a "Variable ND Filter" if you are purchasing, because that will help you vary the amount of stops as the night sets in.There are ND filters from $10 to $1000. If your lens diameter is 55mm, then your filter diameter should match that. Check accordingly before you buy.
  6. Extra Batteries: Long exposures drain your batteries real quick due to the extended amount of time the sensor is at work. Carry some extra batteries and you will feel great you did when your batteries run out in the middle of a shoot.
  7. Lens Cleaning Kit: Due to longer exposures, smaller dusts in your lenses or sensor can stand out sharp in the output. It can be removed in post processing but better to have some simple cleaning tools when you head out. 
  8. Dress well: These type of shoots can take many hours of your time. Take lots of water, dress for weather, comfortable shoes, and some nutrition bars. These are essential if you are going some place far away that involves a lot of hiking, or driving. 
This image of Niagara falls here is taken in the night without any of the extra accessories mentioned above. So yes, you can still take a long exposure without carrying around all that stuff with you.
Time lapse of Niagara Falls, NY at night. 55mm / ƒ4 / 1/6s  / ISO 400

Step 2: The Scene
A scene is sometimes planned, and sometimes you just happen to be there. If you are planning, then you need to look for one of the scenes below.
  1. Waterfalls & River streams: Water in motion is always a great scene to do long exposures. It will produce silky, smooth looking images and is a great joy for any photographer. If you are not having an ND Filter, then its import to plan this before sunrise or after sunset. Even a lake or water fountain in a local park or mall will produce lovely reflections.
  2. Flyovers and Traffic lights: Capturing light trails is one form of long exposure photography. With different vehicles moving in motion, a long exposure will capture just the headlights and tail lights of every vehicle, resulting in a unbelievable trail of colors. I have sometimes seen this attempted with just one car or motorbike in a small street, and still it comes out great.
  3. Fireworks:  Fireworks during the night are a great event to shoot timelapses. These are the images that make up magazine covers. It's the same technique of capturing light, although it's very colorful and gets anyone into a celebration mood. India's Diwali festival would make for a great time to try this out with all the sparklers and other crackers constantly moving and emitting light.
  4. Night Sky: It's unbelievable what a camera can capture from a night sky. Once you set a long exposure, you will start to see stars move, and galaxies appear. You can capture shooting stars, milky way galaxy, start trails, meteor showers, aurora, lighting and thunderstorms, all very tough and equally rewarding. This is where advanced cameras has the advantage. It is so dark, you can't see anything with your eyes, but these cameras can!
Step 3:  The Technique

Once you are in one of the scenes in Step 2, and have the gear in Step 1, you are all set to workup some magic. This is not at all complex once you get the basics right. I will explain how to start, and how to respond to two things that can happen with long exposure shooting: (1) Your image is too dark or (2) Your image is too bright.

  1. Let's assume it is 7pm, and the sun has already set, and it is starting to get darker. 
  2. Set your camera on Manual mode, and mount it on your tripod.
  3. Set the Aperture (F-stop) to F 11, ISO to 200 and Shutter speed to 10 seconds. 
  4. Connect the remote cable release, and start a capture. 
  5. Your camera takes 5 seconds and absorbs every light it can see and shows you an output. 
  6. Now the resulting image will be very good (best case) or worst case, too dark or bright. 
  7. Long exposure is all about trail and error. You just need to know what to tweak. 
  8. The image is dark: Try adding 5 more seconds and keep trying until it is bright. 
  9. The image is bright: Try reducing the shutter speed to 5 seconds or less, then ISO to 100, and/or changing aperture to F14 or more.
  10. Try changing these 3 settings and see how it affects the image until you are satisfied with results.
  11. ISO: More ISO will absorb more light, and hence increasing the ISO from the default value of 100 will produce a brighter image.ISO 200 is like 2 times more light entering your camera. ISO 1600, ISO 3200 are not uncommon during really dark situations like night sky. 
  12. Aperture (F): This is like the camera's eyes. The more you open, the more light you see. Starting from F11, changing towards F9, F6, F4, will make the image brighter while going further to F14, F18, F22 will make the image darker. 
  13. Shutter speed: This is like bliking your eyes. The faster you blink, the lesser you see. Starting with a speed of 5 seconds, going down to 4s, 3s, 1s, 1/2s, 1/8s, 1/100s will make the image darker while increasing will capture brighter images.
Dealing with various situations:
  • Image is still too bright: Put on your ND filter if you have it otherwise just wait for it to get even darker and try again.
  • Image is still too dark: This rarely happens. Try removing the ND filter if you have one on, or increase the ISO higher as possible.
  • Image is blurry: Your Tripod is moving or your camera is moving during the exposure. Tighten all the screws or get a better tripod, or reduce the shutter speed and try again.  
  • Don't have tripod: Try with a shutter speed of 1/20, then 1/10, 1/6, to see at which lowest speed you can take a decent handheld image with less shake.  
  • Dont have remote: Set the delay timer to 2-sec or 10-sec and shoot. 
  • Dont have ND Filter: Shoot in the night. 
  • Image can be 'better': Try some photo editing software and improve it. 
  • Dark spots in the image: Clean your lens and camera sensor. 

Many free photo editing softwares and phone apps are there to crop, adjust brightness, contrast and other features. Take advantage of them. Invest in an ND filter if you are planning to shoot during the day. Cheaper filters can create a dark shadow in the final image so strike a balance between cost and quality. Good luck with your long exposures. Post a comment below if you have any questions, or share a link to your pictures for feedback!

Oct 24, 2016

IBM BPM - Best practices

Below is a collection of best practices and knowledge resources I have gathered over the years on the IBM BPM (Business Process Manager) product. I am going to make this a live post by frequently adding articles and best practices I find worthy of from IBM and other external links.

Best practices: 

  1. Performance: https://www.ibm.com/developerworks/community/blogs/5things/...
  2. Process:  https://developer.ibm.com/bpm/docs/best-practices-recommendations/high-quality-processes/
  3. Troubleshooting: http://www.ibm.com/developerworks/bpm/bpmjournal/1312_chan/1312_chan.html 
  4. Error Handling: https://developer.ibm.com/bpm/docs/best-practices-recommendations/high-quality-processes/...
  5. Speed: https://developer.ibm.com/bpm/docs/best-practices-recommendations/performance/ 
  6. Installation: https://developer.ibm.com/bpm/docs/best-practices-recommendations/...
  7. Toolkits: https://developer.ibm.com/bpm/docs/best-practices-recommendations/...

IBM Redbooks on IBM BPM: 

  1. Leveraging the IBM BPM Coach Framework in Your Organization (SG24-8210-00)
  2. Scaling BPM Adoption: From Project to Program with IBM Business Process Manager (SG24-7973-01)
  3. Creating a BPM Center of Excellence (CoE) (REDP-4898-00)
  4. IBM Business Process Manager V8.5 Performance Tuning and Best Practices

Knowledge management resources:

  1. A 1500-page book on tips and How-To articles by Neil Kolban here: http://neilkolban.com/ibm/
  2. Migrating instances using a policy file: https://developer.ibm.com/bpm/docs/upgrades-migration/migrating-flight-instances/
  3. UI Performance: https://developer.ibm.com/recipes/tutorials/ibm-bpm-ui-performance/
  4. Manging and using toolkits: http://www.ibm.com/support/knowledgecenter/en/SSFPJS_8.5.7/...
  5. Purging Data: http://www.ibm.com/developerworks/bpm/bpmjournal/1312_spriet/1312_spriet.html
  6. Tuning your instance migration: https://www.ibm.com/support/knowledgecenter/en/SSFTN5_8.5.6/...
  7. Displaying detailed error messages generated by custom applications: https://www.ibm.com/support/knowledgecenter/SSFTDH_8.5.7/...

Known problems, and resolutions: 


What is blocking snapshot deletion: https://developer.ibm.com/answers/questions/250151/...

Jul 19, 2016

Troubleshooting IBM BPM Logs using Support Assistant

Note: The methods demonstrated below is primarily written for the IBM Business Process Manager product suite, but it can be applied to any application or product runs on top of IBM Websphere Application Server.

    Scanning server logs has always been a critical troubleshooting activity carried out by most professionals. I resort to the log file for all unobvious software problems I encounter. But after having scanned files with tens of thousands of lines over and over, it was starting to get frustrating over a period of time. It was during such a time, I explored several solutions and found the IBM Support Assistant a mighty weapon to be acquired into my armory.

   With the recent version of 5.0, the Support Assistant tool is packaged as a client-server utility, which means you will be able to configure it on one common machine and share the URL with everyone in the team who might involve in log analysis. You can create projects, import log files into it, and let the utility scan them and come back with a report. Let's look at how simplified our job becomes with a few screenshots.
Step 1: Click Add to create a new case

Step 2: Click Add Files, and import all the SystemOut.log files


Step 3: Click Scan Case on top right, then click Launch

Step 4: After a few minutes, all errors are shown under "Symptoms" tab. It clearly shows list of all errors, how many times it occurred, and when.


Note: When you click on a error, you receive websphere specific fix packs and APAR's related to the problem, which is great.


Note: Another great feature is the ability to search specific keywords. This can be error code, BPM instance id or username.


You also have the ability to turn on an "Advanced Filter" by looking at specific files, node, or time.


Overall, the support assistant simplifies troubleshooting greatly if you have the time and patience to set it up by spending a few hours. You can avoid scanning through insanely large log files, and let the tool digest them. With all the searching and filtering features, you can narrow down your problem within minutes. You can share the URL of the project with anyone in the team, having them take a look at it for themself. This centralized approach makes for more productive activities. While this technique applies to any web sphere product like Websphere Portal server, Message Broker, IIB, ILog, I primarily use it to scan my IBM Business Process Manager log files. 

Here are some specific keywords that you apply in the symptom filter to catch common problems:

  • CWLLG2041E: Coding errors, Type mismatch, JS Script Errors
  • CWLLG0594E: Runtime error (that should have been handled in code)
  • CWLLG2229E: EJB Error, Event manager, UCA failures
  • CWLLG1338E: Error starting or running a service, permissions.
  • WSVR0606W:  One Hung Thread was released
  • WSVR0605W:  One new Hung Thread added
  • REST request:   Delay in IBM BPM REST API calls that run longer than expected 

Jun 9, 2016

Adding additional language support in notepad++

Notepad++ is a diverse text editor with abilities to view and edit programs of various languages,  does a great job in viewing large sized server log files. It supports a basic set of languages by default, and here is how you can extend its support for 500 other programming languages.

User Defined Languages:
As the name says, this is a feature that allows users to define their own programming language in the form of an XML file and then Notepad++ would start formatting your language as per that definition. The following page contains links to various XML files for 500+ languages.
http://docs.notepad-plus-plus.org/index.php?title=User_Defined_Language_Files

For example to get it support Groovy programming language, you would download Groovy's XML file, and then import it onto notepad++ using few clicks as shown below:

1. Select Language -> Define your language...


Then click Import and upload the .xml file you have downloaded. Close npp, and re-open it to see the formatting.

Here is a sample code after the formatting has been imported. 


Apr 22, 2016

"Please Wait" loading dialog in IBM BPM 8.x

Introduction:
Coaches in IBM BPM can at times take a while to load, producing a sense of confusion in the end user's mind. A blank page with no data can be frustrating, so providing a spinning wheel like animation makes them feel better, because there is something to start at, and a hope that it will eventually load the actual page. There are many toolkits and libraries that may do this, but with Dojo under the hood, you can do this yourself with just 4-5 lines of JS. Here is how, in 4 simple steps.

If you are on a older version that does not support Coach views, then use the code in the Coach view below in a Custom HTML element directly inside the coach.


Step 1: The Image
Download a royalty-free gif file with loading animation fromthe internet, rename it to “loading.gif” and import that image onto your process app (or toolkit).

Step 2: The Coach View
Create a new coach view, and add the following code on the “Behavior” tab -> View function
Leave all other sections and configurations blank. 
The coach view configuration

Code:
require(["dojo/domReady!"], function(){
// will not run until DOM is finished loading
dojo.query('#Button1 button')[0].click();
var i = dojo.query('img')[0];
i.parentElement.style.top = (screen.availHeight/2)-100 + "px"; i.parentElement.style.right = (screen.availWidth/2) + "px";
i.src = com_ibm_bpm_coach.getManagedAssetUrl('loading.gif', com_ibm_bpm_coach.assetType_WEB);
});

Step 3: The Coach
Create a human service like this. The decision gateway is optional, but helps keep it configurable whenever you want to turn it off. I have an environment variable declared to turn this on/off just in case it stops working whenever the browsers are updated, and it can be a showstopper.


The coach structure
Inside the coach, add a button and the new coach view that we created in step 2.

Coach design - with a button, and coach view

Note:
The control id of the button must be Button1, if it’s different – then update the control id or change the source code of the Coach view – line #3 to point to the actual one.

Step 4: The Human service
Now embed this “Pre-Loader” human service right after the Start step of your actual human service where you want to see a pre-loader.
Placing the pre-loader in actual service



You may also like these writeups

Related Posts with Thumbnails