Windows GUI DPI Scaling in 2018

I have updated the article DPI Scaling in Windows GUIs with a modified test suite and new sets of screenshots for Windows 10 Creators Update, Microsoft .NET Framework 4.7.1, and Oracle Java SE 9.0.4. The focus of this update was of course Java 9 as JavaFX ceased special-casing 120 DPI, and AWT/Swing even got full … Continue reading “Windows GUI DPI Scaling in 2018”

Programming .NET without Visual Studio

Back in 2013 I wrote about Programming .NET 4.5 without VS2012. The reason was that Microsoft had yanked its free compilers from the free Windows SDK, yet Visual Studio at the time did not offer a reasonable free option. The first point still holds, the second does not. You can now simply download the free … Continue reading “Programming .NET without Visual Studio”

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 … Continue reading “Compiling Java Code”

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 … Continue reading “Comment Converter from C# to Java”

Grand .NET Project Update

As noted previously, Visual Studio 2015 has an excellent free Community edition that prompted me to revisit my .NET resources. Today it’s the turn of my four remaining .NET projects: Tektosyne, Class Diagrammer, Hexkit, and Myriarch. First, a pleasant surprise: VS2015 can read existing VS2010 solution and project files without requiring any update process or … Continue reading “Grand .NET Project Update”

Updates for VS2015 & .NET 4.6

With Visual Studio 2015, Microsoft finally provides a free Community edition that’s both reasonably feature-complete and legal to use for any purpose by individuals and teams of up to five, or of any size for non-commercial projects. That’s a huge step up from the shamefully crippled Express editions of previous versions, although those strangely continue … Continue reading “Updates for VS2015 & .NET 4.6”

Check .NET Version updated for 4.6

After a long hiatus, I reinstalled Visual Studio since the 2015 Community edition is finally both free and reasonably feature-complete. I’ll go through my various Microsoft-related pages to see if anything needs updating, and today I start with my popular .NET version checker utility. Check .NET Version with Inno Setup now supports all .NET Framework … Continue reading “Check .NET Version updated for 4.6”

JavaFX GUI Scaling at 120-144 DPI

I just updated my comparison of DPI Scaling in Windows GUIs for the recently released Java SE 8 Update 60 which brought automatic coordinate scaling for JavaFX on Windows at high DPI settings. I had previously only checked that the 200% (192 DPI) setting I’m using on my Dell XPS 15 works correctly. Now I … Continue reading “JavaFX GUI Scaling at 120-144 DPI”

Loop Closures in Java & C#

The lambda expressions introduced in Java 8 can capture, or “close over”, any local variable that’s within scope and effectively final (Java 8 Language Specification §15.27.2, §4.12.4). Interestingly, this includes the loop variables of enhanced for loops, or for-each loops as I prefer to call them. Cay Horstmann mentions this very useful but non-obvious fact … Continue reading “Loop Closures in Java & C#”

.NET Core: Hype vs Reality

Attention: This is an old post, originally written in late 2014 when .NET Core was first announced. There were some later updates but nevertheless, some content may be out of date now. The great excitement over Microsoft’s announcement to open-source a cross-platform .NET Server Core (explanation by Tim Anderson) is frankly rather puzzling. As Mike … Continue reading “.NET Core: Hype vs Reality”