No image

IIOMetadata Tutorial – Part 3 – Writing Metadata

In Part 1 of this tutorial, we went over some background related to the Java ImageIO subsystem and how one could retrieve information about the supported ImageReaders and ImageWriters. In Part 2, we looked at how one goes about retrieving metadata from an image as it is read. In this third part, we will do […]

Read More
No image

IIOMetadata Tutorial – Part 2 – Retrieving Image Metadata

In Part 1 of this tutorial, we went over some background related to the Java ImageIO subsystem and how one could retrieve information about the supported ImageReaders and ImageWriters. In this second part, we will look at how one goes about retrieving metadata from an image as it is read. All the code associated with […]

Read More
No image

IIOMetadata Tutorial – Part 1 – Background

The Java ImageIO subsystem provides convenient methods for Java-based programs to read and write bitmap images. One can load an image in any supported format and then get access to the image data as a BufferedImage, or one can create a BufferedImage, draw to it using a Graphics or Graphics2D, and then save the image […]

Read More
No image

Java Advanced Imaging Downloads

After quite a while away from it, I recently came back to dealing with graphics I/O in Java. At one level, things have gotten much easier in the time I was away – in particular, the ImageIO library is now part of the standard JRE. This means that, for the most part, you can count […]

Read More
No image

“Hidden” Eclipse Launch Configurations

Every once in a while I run into a situation in which I create a launch configuration in Eclipse and instead of having the name I expect, it has a “(1)” after it. For example, when I right click on a class named DumpImageIoPlugins and select Run as > Java Application, I expect a launch […]

Read More
No image

Patching the Heartbleed bug on Ubuntu

If you’ve been following any of the security chatter on the Internet, you probably are aware that the Heartbleed bug in OpenSSL is a bad one. Unless you take steps on your server, an assailant can, without leaving any traces, compromise your entire SSL setup and possibly steal information from your users. Definitely a Bad […]

Read More
No image

Android error: android.permission.INTERACT_ACROSS_USERS_FULL

In developing an application recently, I ran into a very odd error that happened in the release build but not the debug build. The stack trace looked like this: After a bunch of head-banging, it turns out that the android.permission.INTERACT_ACROSS_USERS_FULL part was a complete red herring. The real key in this stack trace is line […]

Read More
No image

Xcode 5.1 code coverage

As you may have guessed from a previous post, code coverage is one of my favorite metrics. When Xcode 5.1 came out, it unfortunately broke the code coverage tools that I’ve been using. Fortunately, the nice folks over at qualitycoding.org jumped in and took care of the problems. See their post on the topic for […]

Read More
No image

Android Fragment Lifecycle In Detail

There are numerous articles on the Internet that provide an overview of the Android Activity lifecycle, as well as the corresponding Fragment lifecycle. One thing that I have found lacking, however, is a detailed examination of the relationship between the two - in particular, exactly what events trigger what other events. Thus, I've set out to remedy that particular lack with this blog post.

Read More
No image

Mac OS X – Restoring Hidden Files and Folders with Time Machine

I do the majority of my development work on a Mac. As anybody familiar with Mac-based or Linux-based development knows, one accumulates a variety of “hidden” files in ones root directory, many of which are critical for development purposes. Examples: .bashrc – development paths and shell variables .ssh – keys for SSH .m2 – Maven […]

Read More