Libera #java

Immutability in Java

Recently in ##java, we had a discussion on what constitutes “immutability” and how to implement it in java properly. Immutability is a core concept for functional programming, and as mainstream languages and ecosystems “catch up” with the safer, less error-prone ideas from functional programming, immutability is wanted in Java projects as well. What is immutability? Asking programmers for their definition of immutability, you will usually receive an answer such as this: An object is...

9 minute(s) read

Interesting Links, 2017-Feb-23

Maven Polyglot: replacing pom.xml with Clojure, Scala, or Groovy Script shows how you can, well, replace the XML configuration for a Maven project with a configuration in another language. This also provides some imperative-ish features to Maven projects, plus no XML except for a short description of the scripting language. How does a relational database work provides a (very) high level description of how a relational database does its work – and if you...

2 minute(s) read

Interesting Links – 14-Feb-2017

From DZone: Distributed Systems Done Right: Embracing the Actor Model is a reference to a webinar (ugh, “webinar”) from Lightbend on, well, the Actor Model, a way of representing distributed services. Powerful model, even if you don’t use Actors as described. TwelveMonkeys is a set of additional plug-ins and extensions for Java’s ImageIO. It includes BMP, TIFF, JPEG, PNM, and a few others. From user u1dzer0: Awesome Asciidoctor: Include Partial Parts from...

7 minute(s) read

Interesting Links, 2017-Feb-2

Life hack: Look before you paste because people can hide content from rendering in the browser. Pasting content to a command line can do some unexpected things. (From cheeser.) From whaley, who’s been on fire lately: Recipe for a great programmer. Great reading. More from cheeser, who is also on fire: InfoQ’s reference to Chaperone – A Kafka Auditing Tool from the Uber Engineering Team. If you’ve ever struggled with how visible Kafka...

1 minute(s) read

Interesting Links – 2017-jan-23

Is it me, or is it actually ironic that the website for Rome (a utility library for RSS) doesn’t have an associated RSS feed? The Log: What every software engineer should know about real-time data’s unifying abstraction, submitted by user whaley, is an excellently written article that discusses logs in the context of distributed systems – where the log is king, whether you use it or not. It’s a fantastic summary of...

1 minute(s) read

EJB Injection in JSP with Java EE 7

User suexec asked ##java about accessing an EJB from a JSP template. User dreamreal (i.e., your author) put together a simple application (rather imaginatively called “suexec-war” ) to explore the possibilities. The application was built from Adam Bien‘s minimalistic Java EE 7 Maven archetype, deployed into Wildfly 10.0. It turns out that to the best of my understanding, injection of an EJB into a JSP is simply unsupported. The JSP can use...

2 minute(s) read

Interesting Links – 18 Nov 2016

Today’s apparently a Microsoft edition of the interesting links! Almost everything relates back to them this time… From wyvern: “The Error Model” is an article discussing… exceptions. Exception handling and the “checked or unchecked” question is (still) controversial in Java; article provides some interesting context on error handling approaches, and explains how error handling evolved in Midori (Microsoft’s experimental research OS). A fundamental decision when choosing to make your API throw a checked...

2 minute(s) read

Interesting Links – 15 Nov 2016

Big news: JRebel 7 has been released, with a new agent enabling you to change class hierarchy and interface implementations on the fly. For Spring it now also supports reconfiguring dependency injection in non-singleton scoped beans. From Light Java, “JEE is dead.” Misses a lot of history – blames Java EE for WebLogic’s speed and deployment model (what about containers like Orion, which could deploy the same apps in a few seconds, and didn...

2 minute(s) read

Interesting Links – 8 Nov 2017

From ernimril: a video! CppCon 2016: Jason Turner “Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17” is an hour and twenty minutes of Jason Turner talking about writing a game for the Commodore 64 using, surprise, C++17 and translating to 6502 assembly. (Play at 1.25x speed to save some time – or 2x speed if you want that Brian Goetz effect.) It’s actually really fascinating to watch, and...

2 minute(s) read

Interesting Links – 4 Nov 2016

Oh, boy, a bunch of releases: Guava 20, the ultra-useful third-party library for Java that virtually everyone can and should be willing to use, has been released… MongoDB 3.4, the NoSQL document database used by jabavot and many others, has been released… LWJGL 3.1.0, the lightweight java graphics library, has been released… Finally, DZone publishes something I wanted to read: “Everything You Want to Know About ThreadLocal Random Implementation,” a...

1 minute(s) read