Simple Twitter Cards for Jetpack

Jetpack’s “Publicize” feature automatically adds a set of OpenGraph and optionally Twitter card tags to WordPress posts. I previously described manually setting a default OpenGraph image. Today we’ll have a look at manually defining Twitter cards. (Note: this post is an enhanced version of material originally added to the previous post.) Enabling Twitter Cards If […]

BNM Armor & Weapons

The Bavarian National Museum in Munich (English overview) holds a vast store of Bavarian and European art and other cultural artifacts. One of its rooms displays late medieval and early modern armor and weapons. A few days ago I took pictures of the most interesting items, which is really most of them – it’s a […]

Exif for WordPress Galleries

Pictures taken with digital cameras usually hold Exif (Exchangeable image file format) metadata about the camera type, shutter speed, and so on. When you want to show this metadata along with your images in a WordPress gallery you have a problem: neither the built-in media attachment viewer nor most custom viewers (“lightboxes”) show Exif data. […]

Munich Jagdmuseum

Last September I visited Munich’s Deutsches Jagd- und Fischereimuseum (German Museum for Hunting and Fishing) and took pictures of some unusual exhibits. When I went to the Museum Starnberger See this January, I realized that its excellent model of the huge Bucentaur lake galley was likely the same one depicted in a Jagdmuseum painting, so […]

Compiling Java Code

This post is a quick introduction aimed at programmers experienced with C# or other languages who are new to Java. It is intended as a companion piece to my article Java for C# Programmers which focuses on language differences. See the “Further Reading” section at the top of that article for the official Oracle tutorials […]

JavaFX Snapshot Scaling

If you try taking image snapshots of a JavaFX Node on a high-DPI system, you’ll find that the result is strangely blurry. This is an unfortunate side effect of the JavaFX DPI scaling introduced in Java SE 8u60. At resolutions greater than 120 DPI, JavaFX automatically treats all coordinates as abstract “layout pixels” with a […]

Programming Languages in 2016

According to two out of three major language surveys I consulted for 2016, programming is increasingly becoming synonymous with web development in JavaScript. No doubt this reflects, on the developer side, the rapid march towards web services and HTML applications everywhere in computing. Other than JavaScript and HTML itself, though, a stable comprehensive application framework […]

Java StAX Tips

StAX stands for Streaming API for XML APIs, meaning the XML reader and writer that are contained in package javax.xml.stream of the Java standard library. The first tip is to know this API exists and you should use it! The older APIs, Simple API for XML APIs (SAX parser) and Document Object Model APIs (W3C […]

Comment Converter from C# to Java

C# XML comments and Javadoc comments have a large overlap in semantic functionality but annoyingly use a very different syntax. C# XML comments are usually introduced by three slashes /// on each line and use XML elements for semantic information, whereas Javadoc employs standard comment blocks starting with /** (also optionally supported by C# but […]

Greatest Hits in 2016

Total Kynosarges page hits as determined by Google Analytics shrank considerably year-over-year, going from 174,787 in 2015 (weblog 83,766, website 91,021) to 125,757 in 2016 (weblog 56,993, website 68,764). I’ll discuss likely reasons below. But first, here are the annual Top Ten pages, starting with weblog posts. I’m listing the original publishing date and total […]