Feeds:
Posts
Comments

Archive for February, 2006

 I upgraded from Canon Pro IS/90 to my first DSLR, the Canon 20d, in the fall of 2004.  When I look back over the past year and half, I realize all of the things have learned and wanted to share them with others:

  1. Shortcourses.com offers an excellent book that explains how to use the Canon 20D while weaving in the principles of photography.  The web site also offers similar books for other camera models.
     
  2. At $79.95, the Canon 50 mm 1.8 lens is reasonably priced and a lot of fun.  It is great for portraits and for experimenting with a shallow depth of field.
     
  3. By default, all pictures come out of the camera needing post-processing. You can set the camera to add sharpening and saturation but most people do not do it since it is a one size fits all approach. Adobe Photoshop Elements has all of the features you should need to get started post-processing your pictures.  There is a significant learning curve to all of the Adobe offerings so it is best to start with the basics and grow from there.  I highly recommend an Adobe add-on from FredMiranda.com that makes choosing the sharpening options very straight-forward.
     
  4. It is very easy to shoot at 1600 ISO (or even 3200 ISO) and get good pictures.  Almost, all of my nighttime marching band pictures from last two season were shot at 1600 ISO using the Canon 135 L or the Canon 70-200 f2.8 IS (my favorite lens). I believe that Adobe Elements 4.0 may have built-in noise removal but I have not tried it. I use and recommend the Noise Ninja add-in.  It is as close to magic as one can get.
     
  5. When shooting with the built-in flash, raise the flash exposure compensation..  Otherwise, most of your pictures will be too dark.  Better yet, purchase one of the Canon external flashes to add power and lessen red-eye.  I recently upgraded from the Canon 420ex to the Canon 580ex for the increased range when photographing birds.  Either flash combined with the LumiQuest Ultrasoft Pocket Bouncer makes for nice portrait lighting at a reasonable cost.
     
  6. Thinking about buying a new lens: Visit FredMiranda.com for detailed reviews of the Canon lens lineup and dpreview.com’s Canon SLR Len Talk forum (warning: dpreview can be quite addictive and end up making you want lenses that you didn’t even know existed!).
     
  7. Overall, B & H Photo generally offers the best prices and customer service for photo equipment.  Occasionally, Dell coupons can be found on the web that helps you beat the B & H prices.  I purchased the EF-S 10-22mm f/3.5-4.5 Lens from Dell for $540 by stacking two coupons (versus $690 for B&H).
     
  8. To use a lens filter or not to use?  That is the question that is fiercely debated.  I had used protective filters on my previous cameras and had not noticed any difference in the quality.  When I purchased my Canon 20d with the 17-85mm lens, I purchased the best filter available for that lens size.  After several days of less than satisfactory results, I removed the filter and finally got the expected results.  I now rely on lens hoods for protection as well as for shading out stray light.   Lens hoods are included with the more expensive lenses and must be purchased separately for the others.
     
  9. Once you are comfortable with your digital workflow and working with jpeg formatted files, consider using the RAW format for your special pictures.  RAW pictures require an extra processing step in your workflow but allow you to make significant corrections to your pictures that jpeg files do not.
     
  10. After loading your pictures onto your computer, be ruthless about deleting all lower-quality pictures.  Otherwise, before you know it your drive will be filled up and your picture library will be harder to manage.  Recommended software packages for managing your pictures: BreezeBrowser for file management and RAW conversion, Downloader Pro for downloading pictures from memory cards, and Photoshop Elements for editing.  I have recently upgraded to Adobe Photoshop CS2 to take advantage of 16 bit processing and automation of actions (but only because someone else paid for it 🙂 ).

Updated: November, 2006
 

Advertisements

Read Full Post »

On Saturday, I checked SlickDeals for the deals of the day and noticed that OfficeMax was offering $25 of the usual $40 price for a package of 50 DVDs. The deal notes said the offer was good in the store. I drove down to my local OfficeMax about 25 minutes from home and attempted to make the purchase. The young sales clerk said they could not give me the deal unless I had a printout of the deal from the web site. I asked if they could access their web site and print out the deal for me. After she refused, I replied with great indignation “I will never buy anything your store again”. To which she replied with a smile, “That’s ok sir, we are closing next week”. 🙂

Read Full Post »

Rebuilding Constraints

Using Sql Server 2000 Enterprise Manager, it is very easy to generate a sql script to re-generate your indices.  If you created your primary key indices using the primary key constraint syntax, then you have to generate the scripts yourself.

All of the following code is generated from the information in the Information_Schema.Key_Column_Usage view which is found in any database that supports the Sql-92 standard.

select constraint_name, table_name, column_name, ordinal_position, *
from information_schema.Key_Column_Usage
order by table_name, constraint_name, ordinal_position

To generate the sql to remove all of your primary key constraints, execute the following sql:

 -- Generate the drops.
select distinct
 
'alter table ', table_name, ' drop constraint ', constraint_name
from
 information_schema.Key_Column_Usage
where
 constraint_name like 'PK__%__%' and
 table_name 'dtproperties'
order by table_name, constraint_name

Generating the sql for the creation of the primary key constraints is a bit more complicated and involves the use of nested cursors:

set nocount ondeclare @table_name varchar(255)
declare @constraint_name varchar(255)
declare @column_name varchar(255)
declare @ordinal_position int
declare @sql varchar(1024)
declare ConstraintCursor cursor for
 select distinct
  table_name, constraint_name
 from
  information_schema.Key_Column_Usage
 where
  constraint_name like 'PK__%__%' and
  table_name 'dtproperties'
 order by
  table_name, constraint_name

open ConstraintCursor

while 1 = 1
begin
 fetch next from ConstraintCursor
  into @table_name, @constraint_name

 if (@@fetch_status 0)
  break

 set @sql = 'alter table ' + @table_name + ' add primary key ('

 declare ColumnCursor cursor for
  select
   column_name, ordinal_position
  from
   information_schema.Key_Column_Usage
  where
   constraint_name = @constraint_name
  order by
   ordinal_position

 open ColumnCursor

 while 1 = 1
 begin
  fetch next from ColumnCursor
   into @column_name, @ordinal_position

  if (@@fetch_status 0)
   break

  if @ordinal_position > 1
   set @sql = @sql + ', '

  set @sql = @sql + @column_name
 end

 close ColumnCursor
 deallocate ColumnCursor

 set @sql = @sql + ')'

 print @sql
end

close ConstraintCursor
deallocate ConstraintCursor
 

 

 

Read Full Post »