Java Icon

Java

Java is an object-oriented programming language used mainly for desktop and mobile applications.
13 Stories
All Topics

Java github.com

Don’t call it a comeback: why Java is still champ

Mike Melanson gives props to the language many of us (myself included) enjoy lampooning:

While Java may have hit some hiccups earlier in its life, nowadays the language and its greater ecosystem have picked up the pace to meet the needs of the future in a variety of ways. In fact, it never really went anywhere: Companies like Amazon, Google, Netflix, Pinterest, Spotify, Square, and Zoom all employ Java across their vast codebases. Not to mention much of the high-scale data infrastructure over the past decade has been powered by Java, with the language serving as the backbone for the likes of Apache Hadoop, Kafka, and Spark.

You’ll have to read the article to see how he backs up statements like this one:

After nearly 30 years of Java, you might expect the language to be showing some signs of wear and tear, but nothing could be further from the truth. Java in 2022 is not a language in decline, but rather a language preparing for the effervescent future of software development.

Security github.com

An accurate, extensive scanner for finding vulnerable log4j hosts

We have been researching the Log4J RCE (CVE-2021-44228) since it was released, and we worked in preventing this vulnerability with our customers. We are open-sourcing an open detection and scanning tool for discovering and fuzzing for Log4J RCE CVE-2021-44228 vulnerability. This shall be used by security teams to scan their infrastructure for Log4J RCE, and also test for WAF bypasses that can result in achiving code execution on the organization’s environment.

An accurate, extensive scanner for finding vulnerable log4j hosts

Alexander Al github.com

DeepfakeHTTP – Your 100% static dynamic backend

This may seem silly at first, but DeepfakeHTTP actually has a bunch of interesting use cases:

  • Creating the product PoC or demo before even starting out with the backend
  • REST, GraphQL, and other API prototyping and testing
  • Hiding critical enterprise infrastructure behind a simple static facade
  • Hacking and fine-tuning HTTP communications on both server and client sides

The Changelog The Changelog #387

Prepare yourself for Quantum Computing

Johan Vos joined us to talk about his new book ‘Quantum Computing for Developers’ which is available to read right now as part of the Manning Early Access Program (MEAP). Listen near the end of the show to learn how you can get a free copy or check the show notes for details. We talked with Johan about the core principles of Quantum Computing, the hardware and software involved, the differences between quantum computing and classical computing, a little bit of physics, and what can we developers do today to prepare for the perhaps-not-so-distant future of Quantum Computing.

Databases github.com

A NewSQL relational database designed to process time-series data, faster

Our approach comes from low-latency trading; QuestDB’s stack is engineered from scratch, zero-GC Java and dependency-free.

QuestDB ingests data via HTTP, PostgresSQL wire protocol, Influx line protocol or directly from Java. Reading data is done using SQL via HTTP, PostgreSQL wire protocol or via Java API. The whole database and console fit in a 3.5Mb package.

According to the great knowledge base in the sky, NewSQL is, “a class of relational database management systems that seek to provide the scalability of NoSQL systems for online transaction processing workloads while maintaining the ACID guarantees of a traditional database system.”

Security ghidra-sre.org

Ghidra – The NSA's suite of reverse engineering tools

It’s not fully open source yet, but there’s a placeholder repo which states:

Be assured efforts are under way to make the software available here. In the meantime, enjoy using Ghidra on your SRE efforts, developing your own scripts and plugins, and perusing the over-one-million-lines of Java and Sleigh code released within the initial public release.

Bitcoin github.com

Square's Bitcoin cold storage solution

Why cold storage? Because security:

For security purposes, Square stores a reserve of Bitcoins in an offline setting. By having these funds offline, we reduce attack surface and hence risk of theft.

Square can move the funds offline at any time, but moving them back online requires a multi-party signing ceremony. They can also embed programming logic into the cold storage modules, so that only Square-owned addresses can receive the funds. That’s defense-in-depth, right there.

Bitcoin’s latest bull run is over, but those who believe in decentralized money continue to toil away… building the future they want to exist.

Mihai A amihaiemil.com

Dolls and maquettes (a metaphor about why model objects are evil)

A visual explanation on why model objects are not a good practice in object-oriented software.

It is explained that a developer’s job should be the one of an engineer, instead of the one of a manual worker (I would say even the one of a puppeteer, but I don’t like the rhyme); objects should be alive and have behaviour of their own rather than being mere models surrounded by tools, artificial ways of making them act as if they were alive.

Netflix Technology Blog Icon Netflix Technology Blog

Open sourcing Zuul 2

Netflix open sourced their cloud gateway:

The Cloud Gateway team at Netflix runs and operates more than 80 clusters of Zuul 2, sending traffic to about 100 (and growing) backend service clusters which amounts to more than 1 million requests per second.

Pretty impressive. Click through to get the details of how Zuul 2 works and how they use it inside Netflix. I love when companies who are operating at webscale (😏) share their practices and code with the rest of us.

Testing yegor256.com

How I test my Java classes for thread-safety

Yegor Bugayenko:

Thread-safety is an important quality of classes in languages/platforms like Java, where we frequently share objects between threads. The issues caused by lack of thread-safety are very difficult to debug, since they are sporadic and almost impossible to reproduce on purpose. How do you test your objects to make sure they are thread-safe? Here is how I’m doing it.

Great details on a particularly difficult aspect of testing. ✨

  0:00 / 0:00