A Java Geek weekly 44

You’re running untrusted code!

Last December, Log4Shell shortened the nights of many people in the JVM world. Worse, using the earthquake analogy caused many aftershocks after the initial quake. I immediately made the connection between Log4Shell and the Security Manager. At first, I didn’t want to write about it, but I’ve received requests to do so, and I couldn’t walk away.

SQLite 35% Faster Than The Filesystem
  1. SQLite is competitive with, and usually faster than, blobs stored in separate files on disk, for both reading and writing.
  2. SQLite is much faster than direct writes to disk on Windows when anti-virus protection is turned on. Since anti-virus software is and should be on by default in Windows, that means that SQLite is generally much faster than direct disk writes on Windows.
  3. Reading is about an order of magnitude faster than writing, for all systems and for both SQLite and direct-to-disk I/O.
  4. I/O performance varies widely depending on operating system and hardware. Make your own measurements before drawing conclusions.
  5. Some other SQL database engines advise developers to store blobs in separate files and then store the filename in the database. In that case, where the database must first be consulted to find the filename before opening and reading the file, simply storing the entire blob in the database gives much faster read and write performance with SQLite. See the Internal Versus External BLOBs article for more information.
Why can Spring Boot jars run directly?

Great explanation of the packaging and the launching of a Spring Boot JAR.

Crooks Bypassed Google’s Email Verification to Create Workspace Accounts, Access 3rd-Party Services

Yet another breach!

The bizarre secrets I found investigating corrupt Winamp skins

Intriguing and bizarre journey, well worth a read.

Good Bye CRUD APIs, Hello Sync: Realtime PostgreSQL with ElectricSQL

Beyond dedicated proprietary IDEs, I see a trend regarding true low-code solutions.

Functional programming languages should be so much better at mutation than they are

My first reaction when I learned about Functional Programming and immutability was about the massive performance hit. Passionate FP programmers answered that "it’s not a big issue because memory is cheap". I guess either memory is not so cheap or there’s something else.

SQL Murder Mystery, can you find out whodunnit?

Learn SQL in a fun way!

Google pulls Uno Reverse card: Rolls back decision to kill third-party cookies

The end of cookies is not for tomorrow.

2023 Security Audit

Great to know that the software I use and love is regularly updated.

Movable tree CRDTs and Loro’s implementation

I stumbled upon <abbr title="Conflict-free Replicated Data Type">CRDT</abbr>s when I worked at Hazelcast. While traditional distributed systems try to achieve consensus by locking, which is not feasible at scale, CRDTs have another approach: no conflict - as their name implies.

Turns out REST APIs weren’t the answer (and that’s OK!)

While the author makes some interesting points, I’d rather leave the semantic battle over the meaning of REST and the mandatory character of HATEOAS to the researchers. Most of the times, REST is overused (why create a CRUD API for a single app?), but when it’s necessary, I care more about building maintainable software than what to call it.

Nicolas Fränkel

Nicolas Fränkel

Developer Advocate with 15+ years experience consulting for many different customers, in a wide range of contexts (such as telecoms, banking, insurances, large retail and public sector). Usually working on Java/Java EE and Spring technologies, but with focused interests like Rich Internet Applications, Testing, CI/CD and DevOps. Also double as a trainer and triples as a book author.

Read More
A Java Geek weekly 44
Share this