Uploading DNG to WordPress

Apparently WordPress tries to get smart with uploaded images that it believes it understands the format of and renames them to have the “correct” extension. After modifying WP to understand that DNG was an allowed file upload type, I found that upon upload it had renamed my .dng file to a .tif file. Needless to say, I was a bit miffed. Briefly, DNG, which stands for Digital NeGative, is an open, unencumbered format for storing the raw data from a camera’s sensor. A DNG file contains a small, embedded, TIFF formatted preview image and another stream of data that contains the raw sensor data.

Short Term Solution

I added DNG as a supported type using the info found here: http://chrismeller.com/2007/07/modifying-allowed-upload-types-in-wordpress

After digging around I found the function wp_check_filetype_and_ext to be the culprit. To temporarily “fix” the issue, I simply commented out the line mentioning that a MIME type of “image/tiff” should have the file extension ‘tif’. This got me what I needed in a hurry.

Long Term Solution

Now I am debating what to do long term. Should I file a defect? I can’t imagine the WP developers would be too upset about simply taking out the rename of TIFF files. Given the gigantic size of a TIFF, it isn’t likely that someone will upload one. The major reasons why a user might be uploading a TIFF file are:

  1. The need for 16-bit precision for each color channel not provided by many of the more common formats. However, most folks don’t own a monitor that is able to take advantage of this extra precision.
  2. For those that are using 16-bits of precision, there is a high likelihood that they are not using the sRGB color space as they wanted a wider gamut as well. Few browsers have good support for color profiles in images. Even though my browser supports and has color profiles enabled, it only supports ICC v2 profiles. To see what your browser supports, go here: http://www.color.org/version4html.xalter

Ultimately, I doubt there is much of a compelling reason to be uploading a TIFF for viewing in a web browser. Smart users should be downloading TIFF and DNG files to their local machine so they can open it with an application that supports color management.

Enabling Custom Firewall Rules on SuSE 11.x

Having just had to dig around for this to block a hacker on my game server, I thought I should point out what must be done to write your own iptables rules on SuSE. Continue reading ‘Enabling Custom Firewall Rules on SuSE 11.x’ »

Monitor Comparison

To decide what I would be using for my second monitor, I compared my NEC PA301W to my 27″ Apple LED Cinema Display (abbreviated hereafter as ALCD). For fun, I also profiled my Apple Macbook Pro 15″, early 2010 model (hereafter abbreviated as MBP). The results were both surprising and as expected. Continue reading ‘Monitor Comparison’ »

PDO::Informix on SuSE 11.x

After helping out an intern developing a demonstration of Informix TimeSeries using PHP/PDO this summer, I decided that I would like to be able to run the demo and other programs, such as OAT, from my existing openSuSE’s Apache installation. The steps below got me to this end goal and hopefully will help others do similarly. Continue reading ‘PDO::Informix on SuSE 11.x’ »

Dependencies of org.eclipse.core.runtime

I was recently asked to come up with the list of required plug-ins to run the core of Eclipse and their size. Eclipse’s plug-in dependencies view is perfect for this task.

Eclipse Plug-in Dependencies View for org.eclipse.core.runtime

To select a plug-in to focus on, click on the magnifying glass icon and a dialog to input the plug-in name will appear.

After scanning through the list, I decided it might be interesting to put together a diagram of the dependency hierarchy.

Dependencies of org.eclipse.core.runtime

Benchmarking getCurrentTime in milliseconds

I recently came upon the need to retrieve the current system time represented as milliseconds from the epoch in a shell script. In essence, I wanted the shell equivalent of Java’s System.currentTimeMillis() : long call. After doing a few searches I came up with a slew of reasonable Bash shell ways of computing this value. Just to throw another variable into the mix, I wrote an extremely short C program to output the same information.
Continue reading ‘Benchmarking getCurrentTime in milliseconds’ »

Nokia CEO Speaks Honestly About Company’s Status

I was pleasantly surprised to see the willingness of Nokia’s new CEO to take a realistic look at the company current state and to plan a strategy to get them back into contention.


Although I find the analogy of deciding whether to jump into frozen waters from a burning oil platform to be a bit extreme, Nokia certainly is in no position to dwadle.

I was also very pleased to see that Elop understands the criticality of ecosystems. This is a lesson that many large and previously successful companies still need to learn if they want to continue their success.

I am eagerly awaiting the opportunity to pick up a Meego equipped N9. On the other hand, if the N9 ships with Windows 7 my current E90 Communicator will be the last Nokia product I buy.

Best wishes Nokia.

Apple 27″ LED Cinema Display

Just picked up an Apple 27″ LED Cinema Display (ugh, that sure is a mouthful) this evening. It is a good monitor for the price. This is the first non-NEC professional display (NEC 90-series) I have had in quite a while (a long while). So, I figured I would take a little time to give my thoughts on why I bought it and how I feel about it. Continue reading ‘Apple 27″ LED Cinema Display’ »

PSA: Clean your computer pplz

Eclipse 3.6.1 RTC Bundle

Hoorah! A new release of my Eclipse super-bundle is available with updates to nearly all components and valuable new additions.

Once again, many thanks to Damian for creating the bundle for Windows users.

OS Kernel Bits CPU Arch Link
Darwin (Mac OS X) 64 x86 Download
Linux 32 x86 Download
Linux 64 x86 Download
Windows 32 x86 Download


  • Copyright Wizard 1.3.0
  • Data Tool Platform (DTP) 1.8.1
  • C/C++ Development Tools (CDT) 7.0.1
    • GDB Integration
    • Memory View Enhancements
    • Remote Launch
  • Eclipse Communications Framework (ECF) Target Components 3.3.1
  • Eclipse Modeling Framework (EMF) 2.5.0
  • EPIC 0.6.37
  • Equinox Target Components 3.6.1
  • FatJAR 0.3.1
  • Graphical Editing Framework (GEF) SDK 3.6.1
  • Hibernate Tools 3.2.4
  • JavaCC 1.5.22
  • JavaScript Developer Tools 1.2.2
  • m2eclipse (Maven Integration for Eclipse) 0.10.2
  • Memory Analyzer 1.0.1
  • OSGi Environment Definitions
  • PDE/API Tools Environment Descriptions
  • PHP Development Tools 2.2.1
  • Rational Team Concert iFix 004
  • Remote System Explorer (End-User 3.2.1, User Actions 1.1.200)
  • Target Management Terminal 3.1.1
  • Usage Data Collector 1.3.0
  • Web Page Editor 2.3.1
  • WindowBuilder Pro 8.0.0 including:
    • GWT Designer
    • Swing Designer
    • SWT Designer
    • GroupLayout Support
    • CSS Editor
  • XML Editors and Tools 3.2.2
  • XSL Editors and Tools 1.1.2
  • XML Schema Definition (XSD) SDK 2.6.0

No longer included:

  • RMI, removed because it had annoying nag license and was only used by one developer [3.5.2]
  • Mobile Tools for Java SDK [3.5.1]
  • TmL: Tools for mobile Linux Development Kit and Runtime (Incubation) [3.5.1]

Eclipse Updates Sites for Helios (xml)