Programmer’s Guide to Theory

The Programmer’s Guide to Theory by Mike James (IO Press 2019, ISBN 978-1-871-9624-37) is intended for programmers who haven’t studied computer science but are planning to, or are simply interested in the ideas taught there. Mike James is an editor and frequent contributor at I Programmer who has a PhD in computer science. I cannot … Continue reading “Programmer’s Guide to Theory”

Core Java 11 for Java 11

Core Java, Volume I: Fundamentals — Cay S. Horstmann, Pearson Education 2018 (11th ed. for Java SE 11), ISBN 978-0-13-516630-7 Core Java, Volume II: Advanced Features — Cay S. Horstmann, Pearson Education 2018 2016 (11th ed. for Java SE 11), ISBN 978-0-13-516631-4 These two 900-page tomes originated as Sun’s official guide to the Java platform … Continue reading “Core Java 11 for Java 11”

DPI Scaling for CSSBox

Radek Burget’s CSSBox is an (X)HTML/CSS rendering engine written in pure Java with AWT/Swing display output. While it doesn’t support JavaScript, it does support modern HTML/CSS and is also tolerant of any content it doesn’t understand. This makes CSSBox a good replacement for the standard JEditorPane which is limited to HTML 3.2 with some extensions, … Continue reading “DPI Scaling for CSSBox”

Java SE 11: The Great Removal

Java SE 11 has been released, with fairly few minor new features. That’s not surprising as Java 11 receives long-term support in Oracle’s new release cadence, so its main purpose is to stabilize the major changes from the previous short-term versions. The bigger issue with Java 11 is what it removes, as well as an … Continue reading “Java SE 11: The Great Removal”

Algorithms for Computer Games

Algorithms and Networking for Computer Games — Jouni Smed & Harri Hakonen, Wiley 2017 (2nd ed.), ISBN 978-1-119-25976-3 As the title indicates this book comprises two major parts, with about 220 pages presenting a broad variety of general algorithms, and another 70 pages on architecture and algorithms for networked games. The first part covers just … Continue reading “Algorithms for Computer Games”

Java SE 10: C# Porting Release

Oracle has recently released Java SE 10, and as usual you can find all the requisite information and links on their overview page. This is the first version that follows last year’s accelerated release scheme, with a new major version dropping every six months. Looking at the final specifications you might well wonder what’s so … Continue reading “Java SE 10: C# Porting Release”

CSS Guide & JavaFX Examples

CSS: The Definitive Guide — Eric A. Meyer & Estelle Weyl, O’Reilly 2017 (4th ed.), ISBN 978-1-449-39319-9 The long expected update to a classic last revised in 2006, this massive tome is certainly definitive in size and detail. More than a thousand pages cover every esoteric wrinkle of CSS anyone might possibly want to know … Continue reading “CSS Guide & JavaFX Examples”

JavaFX decoupled from Java SE 11

Three weeks ago, Oracle’s Donald Smith announced that JavaFX will be decoupled from Oracle’s own Java distributions starting with Java SE 11 (expected this fall). This is reflected in the updated Java Client Road Map which also notes that Swing and AWT will continue to be part of Java SE, “supported by Oracle through at … Continue reading “JavaFX decoupled from Java SE 11”

JavaFX DPI Scaling in Java 9

While porting my projects to Java SE 9 I noticed that the JavaFX team has slipped in some small but important changes concerning DPI scaling that appear to be only documented in the Java bug database, specifically JDK Bug 8091832. The entry for 2016-03-31 notes that the startup flag -Dglass.win.minHiDPI, defining the minimum display DPI … Continue reading “JavaFX DPI Scaling in Java 9”

Java 9 Incompatibilities

Last year I took a quick look at the newly released Java SE 9 but wanted to delay updating until the corresponding NetBeans version was out. Nothing happened, so that’s the first incompatibility to discuss, followed by JavaMail and JavaFX issues. NetBeans MIA(pache) After four months NetBeans is still in Apache incubator limbo with no … Continue reading “Java 9 Incompatibilities”