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 […]
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 […]
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 […]
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 […]
“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 […]
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 […]
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 […]
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 […]
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.
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 […]