This HotJava lapel pin is swag I got at a mid 1990s Sun Java event in Milan, Italy, where Jim Gosling gave a talk.
One of the lead developers of HotJava, Herb Jellinek, worked on Interlisp at Xerox prior to Sun and now he's on the board of the Medley Interlisp Project. It's a small world.
A weird thing about being 50 is that there are programming languages that I've used regularly for longer than some of the software developers I work with have been alive. I first wrote BASIC code in the 1980s. The first time I wrote an expression evaluator--a fairly standard programming puzzle or homework--was in 1990. I wrote it in Pascal for an undergraduate homework assignment. I first wrote perl in the early 1990s, when it was still perl 4.036 (5.38.2 now). I first wrote java in 1995-ish, when it was still java 1.0 (1.21 now). I first wrote scala, which I still use for most things today, in 2013-ish, when it was still scala 2.8 (3.4.0 now). At various times I've been "fluent" in 8086 assembly, BASIC, C, Pascal, perl, python, java, scala; and passable in LISP/Scheme, Prolog, old school Mathematica, (early days) Objective C, matlab/octave, and R. I've written a few lines of Fortran and more than a few lines of COBOL that I ran in a production system once. I could probably write a bit of Haskell if pressed but for some reason I really dislike its syntax so I've never been enthusiastic about learning it well. I've experimented with Clean, Flix, Curry, Unison, Factor, and Joy and learned bits and pieces of each of those. I'm trying to decide whether I should try learning Idris, Agda, and/or Lean. I'm pretty sure I'm forgetting a few languages. Bit of 6502 assembly long ago. Bit of Unix/Linux shell scripting languages (old enough to have lived and breathed tcsh before switching to bash; I use fish now mostly).
When I say passable: in graduate school I wrote a Prolog interpreter in java (including parsing source code or REPL input), within which I could run the classic examples like append or (very simple) symbolic differentiation/integration. As an undergraduate I wrote a Mathematica program to solve the word recognition problem for context-free formal languages. But I'd need some study time to be able to write these languages again.
I don't know what the hell prompted me to reminisce about programming languages. I hope it doesn't come off as a humblebrag but rather like old guy spinning yarns. I think I've been through so many because I'm never quite happy with any one of them and because I've had a varied career that started when I was pretty young.
I guess I'm also half hoping to find people on here who have similar interests so I'm going to riddle this post with hashtags:
If you're at Devoxx UK in a couple of weeks, come and see me and @kevlin and some Very Special Guest Stars tell you about 97 Things Every #Java Programmer Should Know.
Behind search for masto is a resource-hungry #java application called #elasticSearch. Sure you might be able to get Masto to run on a #raspberrypi4, but you won't be running elastic search with it.
Having recently moved my instance to a much more powerful system, I now run ES, and WOW what a difference being able to search post makes! Soooo many times I wanted to reference a toot that had scrolled by but had no way of finding it. Now I do!
Even though I've put some serious resource limits on ES, it's bar none the most resource intensive service running (out of around 25).
Please consider sending a few bucks to the #MastodonAdmin of your instance. Better yet, if you can afford it, sign up for a monthly donation. They need it.
Why is the whole #JavaScript / #TypeScript dependency management system such a mess? Cryptic warnings all over the place, non-deterministic behavior, n different module systems and dependency management tools - crazy.
With #Java and e.g. #Maven I never have any of these problems. It's also complex, sure, but in general it works really rock solid for me.
Back in the #Java ecosystem, trying to get someone else's ten year old library to build, and the wasteland of broken tools, incompatible versions, non-backwards-compatible libraries, and general crud is awful to contemplate.
Why does anyone tolerate this dysfunctional mess?
Example: latest version of Gradle, given the command to publish the library to maven local repository, completes reporting success -- but actually does nothing at all.
I can relate: "From a Lorry Driver to Ruby on Rails Developer at 38" https://www.writesoftwarewell.com/lorry-driver-to-rails-developer-at-38/ I was a bookstore clerk with nearly 50, I went back to school instead of doing a boot camp, and I just got a full stack #Java+#Angular+PL/SQL position, but otherwise this sounds quite familiar. So the obvious moral of our tale is "you can do it, if you work hard and are passionate about it". But is it? I've seen younger, about the same age and even older folks try and fail. And it's OK. =>
Poche ore fa ho scoperto per caso una #stregoneria, una cosa che proprio non immaginavo qualcuno avesse potuto portare alla piattaforma #HTML5, e insomma, non credevo ai miei occhi… poi ho visto che ci sono anche i sorgenti e tutto, e allora ho dovuto crederci per forza. Hanno portato ben 4 versioni di #Minecraft#JavaEdition al #browser. Precisamente, ben 2 release, 1 beta, e 1 alpha, a quanto pare. 😭️
https://octospacc.altervista.org/wp-content/uploads/2024/04/image-5.pngEsatto, non sto parlando tipo delle eventuali ricreazioni sia ufficiali che non di versioni come la classic, ma proprio di quella #Java del #gioco ricompilata con una strana VM verso JS+WASM. Talmente epica come cosa che ho dovuto subito metterla sulla #SalaMuseoGames, avevo immaginato per tanto tempo l’idea di riuscire a far girare queste versioni del gioco come #webapp per alcuni casi d’uso ma zero idee su come anche solo iniziare. Merda è infuocata. https://gamingshitposting.github.io/SalaMuseoGames/2024/04/19/minecraft-java-edition/ ❤️🔥️In tutta onestà, non è che giri granché, se sul mio fisso oscilla tra poche decine di FPS nonostante i dettagli tutti al minimo… e neanche a dirlo, ma sul (mio) telefono è inutilizzabile per quanto è lento, tralasciando il fatto che non ha controlli touch. (Ma vabbè, c’è Pojav lì.) Ma probabilmente è la release 1.8.8 (quella caricata sul mio sito) che è particolarmente pesante, le altre tre non le ho ancora provate e dovrei. Però è spacciato come gioco per Chromebook, e io vorrei davvero sapere come può mai girare in modo soddisfacente lì, allora… 👄️ (però comunque, un minimo giocabile lo è)
When running a jar file from a Windows UNC network path (java -jar \server\path\test.jar) i cannot get resources from that jar: URLClassloader#getResourceAsStream("/test.txt") returns null. Running the same jar locally or via mapped network drive letter works perfectly. My google foo did not bring anything up, only "this should work". Tested Java 8, 11, 17, 21. Any pointers? Thank you! #java