JavaFX DPI Scaling

Important (2015-06-30): Starting with Java 8u60, JavaFX provides WPF-like DPI scaling on Windows by implicitly scaling all coordinates and image sizes to the current system DPI setting. So the manual scaling workaround described below is now only required for previous versions. The original post follows but now applies only to Java 8u45 and older. End … Continue reading “JavaFX DPI Scaling”

Effective Java & Pro JavaFX 2

Effective Java — Joshua Bloch, Addison-Wesley 2008 (2nd ed.), ISBN 978-0-321-35668-0 (The third edition of this book is now available and covered by an updated review.) Pro JavaFX 2 — James L. Weaver et al., Apress 2012, ISBN 978-1-4302-6872-7 With most JavaFX literature still based on version 1, this is the first comprehensive title for … Continue reading “Effective Java & Pro JavaFX 2”

Core Java & Well-Grounded Java

Core Java, Volume I: Fundamentals — Cay S. Horstmann & Gary Cornell, Prentice Hall (Oracle) 2012 (9th ed. for Java SE 7), ISBN 978-0-13-708189-9 Core Java, Volume II: Advanced Features — Cay S. Horstmann & Gary Cornell, Prentice Hall (Oracle) 2013 (9th ed. for Java SE 7), ISBN 978-0-13-708160-8 These books have been superseded by … Continue reading “Core Java & Well-Grounded Java”

Simpler & Better User Experience

I hope everyone has read last month’s brilliant Onion article, Internet Users Demand Less Interactivity. Tired of being bombarded with constant requests to share content on social media, bestow ratings, leave comments, and generally “join in on the discussion,” the nation’s Internet users demanded substantially less interactivity this week. As part of their demands, Internet … Continue reading “Simpler & Better User Experience”

Kreinin on Efficiency &c

Yossi Kreinin recently posted three excellent articles on runtime performance. Efficiency is fundamentally at odds with elegance starts off with Bjarne Stroutrop’s ludicrous claim that C++ doesn’t make a trade-off between runtime performance and developer productivity because it achieves both. Debunking this claim is hardly necessary for anyone who has ever used C++ and at … Continue reading “Kreinin on Efficiency &c”

.NET Platform Targeting &c

Platform targeting in .NET applications employs a confusing jumble of project and solution settings that look identical but are actually independent. The AnyCPU Versus Any CPU spelling hack is a relatively harmless example. Much more serious is the possibility of mismatched explicit target platforms after repeated editing of project and solution settings. Galaktor’s thorough article … Continue reading “.NET Platform Targeting &c”

Programming Languages in 2012

Time for scrutinizing last year’s trends in language popularity, as far as they can be discerned from Internet analytics. Andrew Binstock’s The Rise and Fall of Languages in 2012 compiles several surveys while Mike James’ The Top Languages of 2012 focuses on the TIOBE index. Nothing much has changed, which is somewhat surprising in itself. … Continue reading “Programming Languages in 2012”

Users Ignore Technical Quality

In Dangling by a Trivial Feature, James Hague (quite understandably) dismisses a vector drawing application when he discovers it lacks a simple but crucial feature: Showing the current size of the selection rectangle as it is being dragged with the mouse. The fix involves two subtractions, a change to a format string, and a bit … Continue reading “Users Ignore Technical Quality”

Computational Geometry Books

Computational Geometry: Algorithms and Applications — Mark de Berg, Otfried Cheong, Marc van Kreveld & Mark Overmars (Springer-Verlag 2008, 3rd ed., ISBN 978-3-540-77973-5) This book has a well-deserved reputation as the best guide to its field. The authors lucidly explain a broad selection of standard algorithms and data structures, including real-world motivations, numerous visualizations, and … Continue reading “Computational Geometry Books”

Robert Sedgewick’s Algorithms

Algorithms — Robert Sedgewick and Kevin Wayne, Addison-Wesley 2011 (4th ed.), ISBN 978-0-321-57351-3 This single volume replaces Sedgewick’s two-volume classic Algorithms in C/C++/Java (long among my favorite programming books), now without the language designator since Java is used exclusively. The associated booksite offers a chapter overview, excerpts from the printed text, dynamic visualizations, some exercise … Continue reading “Robert Sedgewick’s Algorithms”