Thursday, August 25, 2022

Problem submitted to Universal Devices forum

This problem has been solved thanks to help from Universal Devices Forum members, and I finally found the correct pages at Java.com.

I needed to obtain the newest "start" program from Universal Devices, which is supposed to create a new Launcher icon.  Which it does, only if you clear your Java cache first, but the launcher icon doesn't work on macOS 10.13 it requires 10.15.  But I can start my ISY console by running the start program every time anyway...no big deal.

I found the Q/A page at Java.com which explains that if the Update dialog in the Java Preferences fails to work, you can simply install the latest version.  It is not necessary to remove the old version first.  Then I found the download page which identifies your OS and allows you to download the latest version by pressing the DOWNLOAD button.

https://www.java.com/en/download/

It wasn't that hard, though I had to wait a few days to get replies and have time to figure everything out.

I still think Java makes life more difficult.  I have programs going back 20 years which still run fine, and I never had to do any special update of anything.

Sadly when I move on past macOS 10.13.16 all the old stuff will be unuseable.  That's the thing I hate the most about OS and computer upgrades.  I will need to retain my current computer, or some replacement, running 10.13.16 just to keep the old programs going, and buy a whole new computer in a few years with the latest everything.  When I have time and desire to deal with it.

*****

On Mac, I had been using the ISY994i Admin Console for years, including a few months ago.  The one I have is dated August 27, 2015.  The ISY994 Dashboard is dated November 25, 2017.  I cannot update the console via the webpage sometimes discussed because that fails too in a similar way (described further below).

Both the console and the dashboard fail with "Unable to Launch Application."  It doesn't help to use "Open" to open the application.  The Details page shows "illegal URL redirect" at top of traceback list.

The Java Preferences do not seem to be useful.  The "About" says I have version 8 Update 331 (1.8.0_331-b09) which is from this year (but current???).  When I go to the Java Update tab, I see a rotating circle that just rotates forever.  Reading about Java on the Java website (never a pleasant experience) it appears that this is the only way to "Update Java. " And it is "stuck" apparently, either that or I do have the latest version, I can't tell.

I went to the page to re-download the ISY Administrative Console.  I click on the link https://isy.universal-devices.com/start.jnlp and it downloads.  I click on the file and it says "start.jnlp cannot be opened because it is from an unidentified developer".  I tried both clearing the cache and adding https://forum.universal-devices.com to the Java Exception site list and neither helped.

UPDATE:

Problem was fixed by going to System Preferences, opening up the Security & Privacy page, selecting the General tab, clicking on the lock to open it, entering my password, and THEN running the new "start.jnlp" downloaded from Universal Devices.  Note that I already did have the Allow App Store & Identified Developers box checked, and there is no other box.  But just opening the lock let me run the app once, and after that I can keep running it even when the lock is closed (which happens automatically if I leave the Java Preferences).

So the trick is you can run apps from unidentified developers but only if you click the lock on this page.  I suppose that's not too bad (though I still think it's Securanoia) but why doesn't Apple have any explanation on this page or anywhere else.

You either know the secret handshake or you don't, it appears.  I've been here before I think, but it was about 5 years ago last time, so I forgot.

Seeing how well computer systems without "AI" work, it's easy to imagine that when we do have computer systems with "AI", they'll be even more frustrating, and we'll pull the plug and just go back to using hand tools.

I still don't know how to update my Java since the Java Preferences itself is unable to do that.  I see now that it clearly has expired just a few days ago (it says that in some Java tracebacks).  There was a time you could just go to the Java website and it would identify your system and Java version and tell you what to do.  But they took all that out, apparently, probably because others were spoofing it.  Now you can only update through the update app.  The Java website does not make it clear how to do anything else.


Monday, August 22, 2022

The Endless Treadmill of Java

 I have programs from 15 years ago that still run just fine on my Mac, and never needed any attention.

Meanwhile, keeping any or all of my Java based applications working is an endless treadmill taking hours of work every year, and every time I've always wondered if I was going to be successful at all.

Java itself needs endless Security Updates.  Every time there is a security update, Mac OS decides whether or not to allow Java based applications all over again, and you have to figure out how the latest incarnation of Mac OS does this.

Then the applications which run using Java may themselves need to be updated.  If you update those applications too early, before you have gotten around to updating Java itself, you may have a dead application no longer able to run or revert to previous version.  OTOH, you may also have a dead application if you update the Java and then have not yet updated the application.  You may have to uninstall and re-install the application all over again.  And then you may have to figure out where to download the application all over again, and possibly what credentials are needed to do that, if it's even possible anymore.

The root of all this evil is that Java is supposed to be a magic internet-enabling platform.  It can be used on the server side, the user side, either as internet-connected or not.  This means it has to be able to secure Everything, not just one port or a long established protocol.

It bothers me that Steve Keen's Minsky program has now migrated from Tcl/Tk to Java, a step from solid ground into the abyss IMO.

Tcl/Tk is included in MacOS and it is updated automatically.  Tcl programs are text and you can read exactly what they do.  The programs themselves almost never need to be updated if you do not need newly minted features.  And this is enabled by the very open license BSD-style license Tcl/Tk has, you can do anything with it.  But it is also true for Bash and many related programs as well, though they have the Gnu license, which requires source sharing.  Meanwhile an encyclopedia would have to be written to encompass all the changes and complexities of Java licensing over time, and programs are usually an opaque binary form by design--all written to meet the needs of commerce rather than open computing.

I don't get around to making changes in my home control system often, but when I do I often find myself, as I do right now, in the classic Java quagmire.  This time it appears to have happened by an automatic update, or perhaps one that occurred automatically in installing some other program.  Now I can't access the home control program, though the message suggests it's because Java itself won't run.

How long will it take me to figure out how to access my home control system from my mac so I can change a few things in it?