Oracle has largely been a good steward of #Java. The CentOSization of Java has been complex, and sure, there have been some Oraclisms, But the Java ecosystem is as healthy as it has ever been.
Part of the angst around Java over the last few years has simply been people groaning about change, but ultimately the modularization that came in 9, and the "rapid" release cycle is going to be good for Java. I mean, we are already years in at this point. I think it's obvious it has been good.
You can use our JDK/JRE builds if you like, but your distribution is going to have you covered, without having to deal with Oracle: https://www.openlogic.com/openjdk-downloads
There are lots of #JDK providers that aren't Oracle.
Of course, all of this has to be viewed from the Oracle lens. If Oracle didn't think this was the best thing for their bottom line, they wouldn't do it. Someone over there has convinced Larry that a heavy Java ecosystem is good for Oracle and that getting the JDK out in the open is good for that.
Then, of course, there's the API bullshit, and that really doesn't have much to do with Java at the end of the day. That's Larry having a pissing contest with Google. It could have ended up that they ended up pissing on the entire industry, but aside from a lot of unnecessary angst, I don't think they have really done any damage there.
```
[root@pg-master 09:54:57 embed]# java -jar target/tomcat-9-embedded-1.0.4.jar
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/coyote/UpgradeProtocol
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
at java.lang.Class.getMethod0(Class.java:3018)
at java.lang.Class.getMethod(Class.java:1784)
at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:650)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:632)
Caused by: java.lang.ClassNotFoundException: org.apache.coyote.UpgradeProtocol
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
```
```
[root@pg-master 10:07:51 coyote]# ls /root/embed/target/lib/org/apache/coyote/UpgradeProtocol.class
/root/embed/target/lib/org/apache/coyote/UpgradeProtocol.class
```
well, "enterprise" is largely a bad word in the startup space, to be equated with slow and/or complicated.
I am having a related argument about Java. Maybe it is true that the Java ecosystem is too complicated. I was just yesterday unable to get something to work in IntelliJ and I have no idea why. It works in #Eclipse. In any case, I think the Java-naysayers probably don't know about things like https://quarkus.io/
I think there is a good argument about not using C or C++ for a startup, unless you are doing something that requires realtime, but I don't see the argument with Java.
I think Java had years of uncertainty after the Sun acquisition, and #Java 8 certainly has issues with modern practices, but Java 8 came out before K8s.
Considering #K8s came out the same year as Java 8 and #Mesos had been presented first 5 years earlier, it's easy to say that Java 8 was a missed opportunity. That said, a lot of things you would have liked to see in Java 8 came in Java 9.
I know @pete ...but I didn't when we fediverse met.
There have been a few others that have come and gone over the years, but mostly just twitter refugees that went back when they figured out the fail whale (which I think was them moving to #Java).
@edythemighty and @marxistvegan are probably the two I spent the most time talking to here, but again, neither of them did I know IRL before fediverse. I still keep up with Edy, but he's just not in the fediverse.
thinking about writing a #cycling training app, but not sure how exactly it fits into any of these. It could maybe fit in learning a new language, but if it's like "zero to app" in 3 months or something, I don't know how useful it will be. I mean, I have other stuff to do, but largely right now I am being paid to learn #Java (and Java tooling).
I guess I need to figure out if it needs to be an application we support. We support a bunch of stuff though, so I wouldn't worry too much about that when suggesting topics.
[root@localhost tmp]# java -javaagent:./jmx_prometheus_javaagent-0.12.0.jar=8080:jmx-prom.yaml -jar /usr/share/cassandra/apache-cassandra-3.11.6.jar -Djava.util.logging.config.file=./program.log
no main manifest attribute, in /usr/share/cassandra/apache-cassandra-3.11.6.jar
To flesh that out a bit, but my current list is this:
#mongodb
#mysql
#httpd
#postgres
#kafka
#cassandra
#tomcat
#jboss / #wildfly
#eclipse
#java (enough to diagnose applications...honestly, with the others on the list that are built in java, I probably don't really need to do anything else with this one)
I feel like #PHP is more administrator-centric with the dlls and ini files.
Not that I am any sort of expert in either. Maybe it's just the type of Java learning that I am doing, and of course there is JVM stuff that is admin-like, but even that seems to be configurable in the code itself.
It's pretty demoralizing to never get any responses from anyone but @lnxw48a1, but I am nothing if not persistent.
I realize I could interact more and gain more followers and I could post more. Maybe I'll give Mastodon a shot a see if I get more interaction there. I don't think I've joined an instance but maybe I have.
Minimum of five years of software development and design or systems administration or level 3-4 technical support experience.
Technical knowledge, skills and expertise in complex infrastructure, web-based software and enterprise software
Understanding of software best practices; #SDLC, #SCM and #Agile development principles.
Excellent written, verbal, and presentation skills
Role: Open Source Staff Engineer/Solutions Architect
Location: #Louisville, #CO or #Minneapolis, #MN
Position Summary:
Perforce is seeking a Open Source Staff Engineer/Solutions Architect to join our OpenLogic team. As a member of the support team, you’ll be responsible for assisting our clients to work through their technical questions on open source including ‘how to’, trouble shooting and recommendations on product use. Additionally, based on needs of our customers, you will be involved in presenting training classes (both onsite and remote depending on need of the client); short-term professional service engagements to assist with architect and design solutions; working on internal projects; and enhancing current skills by continuing to learn new open source technologies.
OpenLogic provides enterprise services for hundreds of open source projects — including #OpenJDK, #Kubernetes, CentOS, and #MariaDB — so you can boost efficiency and savings with free software, while cutting risk.
Responsibilities:
Interact with end users on technical problems.
Tier 1, 2 and 3 support for CentOS and related open source products.
Drive resolution of those problems, which include:
Open source software issues.
Questions around open source software usage.
Questions around use and best practices.
Review of the architecture and design where software is implemented.
Conduct professional services and training engagements.
Research, understand, and advocate open source software.
Interact with various open source communities.
Drive early resolution of issues.
Be a part of the on-call rotation.
Present knowledge via articles, blogs, and conference presentations.
May require 15% travel while completing on-site consulting.
My new team (and my old team too, actually), is looking:
Interact with end users on technical problems.
Tier 1, 2 and 3 support for #CentOS and related #opensource products.
Drive resolution of those problems, which include:
Open source software issues.
Questions around open source software usage.
Questions around use and best practices.
Review of the architecture and design where software is implemented.
Conduct professional services and training engagements.
Research, understand, and advocate open source software.
Interact with various open source communities.
Drive early resolution of issues.
Be a part of the on-call rotation.
Present knowledge via articles, blogs, and conference presentations.
May require 15% travel while completing on-site consulting.
Requirements:
Minimum of five years of software development and design or systems administration or level 3-4 technical support experience.
Technical knowledge, skills and expertise in complex infrastructure, web-based software and enterprise software
Understanding of software best practices; #SDLC, #SCM and #Agile development principles.
Excellent written, verbal, and presentation skills
Expert level in a number of open source packages.
Broad and deep familiarity with multiple projects to include #Java and #J2EE, #JBoss, #ActiveMQ, #Drools, #HornetQ, #Hibernate, #Spring, #Linux (focus primary on #CentOS or #Ubuntu), #Apache #HTTPD, Apache #Tomcat, #MySQL, #PostgreSql, Open source project and community participation and Production/24x7 experience.
Database administration; postgresql/mysql/ #mariadb experience very desirable
Expertise in #Cassandra, #Kafka, and/or #cloud-native applications is a plus.