Browsed by
Author: Stephen

Reflectance Transformation Imaging in Daguerreotype Investigation

Reflectance Transformation Imaging in Daguerreotype Investigation

Presented at the Society for Imaging Science and Technology’s Archiving 2017 Conference. To download the software, or for more details on the algorithms, see the For software release notifications, please signup for the newsletter. Hembo Pagi, Archaeovision, Tallinn, Estonia James Miles, Archaeovision, Southampton, United Kingdom Andres Uueni, Archaeovision, Tallinn, Estonia Stephen Hogarth, shogarth.com, Calgary, Canada Kadi Sikka, Estonian Photographic Heritage Society, Tallinn, Estonia Abstract Reflectance Transformation Imaging (RTI) has been used for cultural heritage documentation since its introduction by Tom…

Read More Read More

SQLite Optimizations: Query Planning

SQLite Optimizations: Query Planning

If a query is running really slowly in SQLite immediately after you have performed a large number of inserts, the query optimizer may be out of sync. If you run the ANALYZE command, SQLite calculate a bunch of statistics about your tables which the query analyzer can then use to optimize further queries. It can be an expensive command to run, but you can more than make up for it with improved query performance afterwards. If you want to check…

Read More Read More

Custom Debug Visualizers

Custom Debug Visualizers

When working with custom data structures, the debugger can show too much information layered through how you’ve constructed it. To make it easier to debug, you can create a custom visualizer which will present only the information you want, to make it easier to debug. Here’s an example of a custom *.natvis file: Let’s look at a few elements here: If you’re using a previous version of Visual Studio, you’ll need to modify your autoexp.dat file to achieve the same…

Read More Read More

SubWCRev Generates Wrong Times

SubWCRev Generates Wrong Times

We want to run SubWCRev as an automated step in our process so we have the latest SVN metadata included in our executable. This makes it easier to identify executables as the file properties can include information about SVN revision numbers, build times, etc… However, if we automatically trigger the build with Cygwin, we can end up generating the wrong timestamps: This appears to be working fine for a GMT+1 time zone, except we’re on the other side of the…

Read More Read More

Disable RDP Auth Popup

Disable RDP Auth Popup

When using Remote Desktop Connection, you can get a popup window asking for your login credentials before a connection to the remote machine is made. When it works, you can use these credentials to bypass the remote machine’s authentication screen and login directly. However, this popup can cause a login failure if the authentication methods don’t match, or be very annoying if you want to login to test machines using a range of account usernames, or accounts with no password….

Read More Read More

RTI Image Processing: Sneak Peek

RTI Image Processing: Sneak Peek

Recently I have invented several algorithms to extract more detail from Reflectance Transformation Imaging (RTI) images. Here is a sneak peek of the detail these algorithms can extract: RTI Comparison 1: Missorium of Aspar [L] Default [C] Specular Enhancement [R] New Accelerative Enhancement RTI Comparison 2: Lead Tablet [L] Default [C] New Specular Mesh Enhancement [R] New Normals Visualization

PowerPoint Design

PowerPoint Design

Humans are not only auditory creatures, we are also highly visual. When we’re giving a speech, we can get our message across more effectively if we use visual aids to enhance our message. Many people love to hate PowerPoint as an evil tool; the destroyer of meetings and good presentations. While this reputation has an understandable history, a good set of PowerPoint slides can greatly enhance a presentation if the slide deck is well designed. When we start with a…

Read More Read More

Processes, Symlinks, & Windows 10

Processes, Symlinks, & Windows 10

When starting external executables from C++ code, if we start them using SHELLEXECUTEINFO on Windows 10, we cannot maintain a process handle across symlinks like we can on Windows 8. Starting the process using: We should have a value for execInfo.hProcess for the executable the symlink points to as we do in Windows 8. On Windows 10, the executable will start but the process link is not established. Therefore, it will not be possible to read data back from or…

Read More Read More

Sending Unicode through Windows Pipes

Sending Unicode through Windows Pipes

Passing unicode data through Windows Pipes sometimes requires special handling to avoid having the pipes scramble the data. We can see this using the cmd prompt and navigating to a path containing unicode characters. The unicode characters cannot be typed, or rendered on screen (showing as question marks instead), though we can use tab complete to type the unicode path. If we are passing data from one program to another through a pipe controlled through a CreateProcess call, we can…

Read More Read More

Toastmasters CL Worksheet

Toastmasters CL Worksheet

At my toastmasters club meeting this week, another member presented a matrix as an easier way to visualize the requirements for the Competent Leader certification. I’ve taken his matrix and turned it into a worksheet to easily track and visualize my progress.