<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Jonathan Ellis on foojay.io - Friends of OpenJDK</title><link>https://foojayio.github.io/website/today/author/jbellis/</link><description>Articles written by Jonathan Ellis on foojay.io - Friends of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 18 Aug 2025 08:06:40 +0000</lastBuildDate><atom:link href="https://foojayio.github.io/website/today/author/jbellis/index.xml" rel="self" type="application/rss+xml"/><item><title>New Java Benchmark for Coding LLMs puts GPT-5 at the top</title><link>https://foojayio.github.io/website/today/new-java-benchmark-for-coding-llms-puts-gpt-5-at-the-top/</link><pubDate>Mon, 18 Aug 2025 08:06:40 +0000</pubDate><guid>https://foojayio.github.io/website/today/new-java-benchmark-for-coding-llms-puts-gpt-5-at-the-top/</guid><description>&lt;p&gt;The Brokk Power Ranking is a &lt;a href="https://github.com/BrokkAi/powerrank" title="new open-source coding benchmark" target="_blank" rel="noopener noreferrer"&gt;new open-source coding benchmark&lt;/a&gt;
, featuring 93 tasks from large, real-world codebases. You can check out the current Power Ranking &lt;a href="https://brokk.ai/power-rankings?ref=blog.brokk.ai" title="here" target="_blank" rel="noopener noreferrer"&gt;here&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;SWE-bench is the closest thing we have to a standard, objective benchmark for LLM coding performance, but it has a bunch of issues, the largest of which are that it&amp;rsquo;s Python-only, and it&amp;rsquo;s old enough that almost certainly some labs are now training to the test. (Epoch AI has a great writeup on &lt;a href="https://epoch.ai/blog/what-skills-does-swe-bench-verified-evaluate?ref=blog.brokk.ai" title="the more subtle problems with SWE-bench" target="_blank" rel="noopener noreferrer"&gt;the more subtle problems with SWE-bench&lt;/a&gt;
 if you want to go deeper.)&lt;/p&gt;</description></item><item><title>Brokk: AI for Large (Java) Codebases</title><link>https://foojayio.github.io/website/today/brokk-for-java-developers/</link><pubDate>Fri, 30 May 2025 04:39:44 +0000</pubDate><guid>https://foojayio.github.io/website/today/brokk-for-java-developers/</guid><description>&lt;p&gt;There are two reasons that AI makes mistakes writing code:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The LLM just isn&amp;rsquo;t smart enough to tackle the problem effectively, and it simply gets the answer wrong.&lt;/li&gt;
&lt;li&gt;The AI doesn&amp;rsquo;t know enough about the relationships and dependencies of the code it&amp;rsquo;s editing, so (best case) it hallucinates APIs that don&amp;rsquo;t exist or (worse, because more subtle) it solves the problem in an awkward way that increases technical debt.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The first category is small, but it does still exist; e.g., concurrent data structures remain challenging for today&amp;rsquo;s models to get right the first time. AI labs will continue to make progress on this.&lt;/p&gt;</description></item><item><title>Indexing all of Wikipedia, on a laptop</title><link>https://foojayio.github.io/website/today/indexing-all-of-wikipedia-on-a-laptop/</link><pubDate>Wed, 29 May 2024 15:54:32 +0000</pubDate><guid>https://foojayio.github.io/website/today/indexing-all-of-wikipedia-on-a-laptop/</guid><description>&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;In November, &lt;a href="https://huggingface.co/datasets/Cohere/wikipedia-2023-11-embed-multilingual-v3" target="_blank" rel="noopener noreferrer"&gt;Cohere released a dataset containing all of Wikipedia&lt;/a&gt;
, chunked and embedded to vectors with &lt;a href="https://cohere.com/blog/introducing-embed-v3" target="_blank" rel="noopener noreferrer"&gt;their multilingual-v3 model&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;Computing this many embeddings yourself would cost in the neighborhood of $5000, so the public release of this dataset makes creating &lt;a href="https://www.datastax.com/guides/what-is-vector-search" target="_blank" rel="noopener noreferrer"&gt;a semantic, vector-based index&lt;/a&gt;
 of Wikipedia practical for an individual for the first time.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s what we&amp;rsquo;re building:
&lt;img src="https://lh7-us.googleusercontent.com/ydeHYk97v6Bza1GF0wbbHUEzxgCAJLfwbRcVnWvUP6QDPKKY5YQH00Dvi2n6VgkioW_PGqwckcCnQu9cJ2nOz2XSuL_27HNPAAbZdv2vXPOy_vUJ_Vcg-ii83E4jaqMycskzmzt8wBP1XsOYh5b7Cv4" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;You can try searching the completed index &lt;a href="https://jvectordemo.com:8443/" target="_blank" rel="noopener noreferrer"&gt;on a public demo instance here&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Released: JVector 1.0</title><link>https://foojayio.github.io/website/today/jvector-1-0/</link><pubDate>Mon, 02 Oct 2023 12:36:20 +0000</pubDate><guid>https://foojayio.github.io/website/today/jvector-1-0/</guid><description>&lt;p&gt;JVector is a pure Java embedded vector search engine that powers &lt;a href="https://www.datastax.com/products/datastax-astra" target="_blank" rel="noopener noreferrer"&gt;DataStax Astra&lt;/a&gt;
 and is being &lt;a href="https://issues.apache.org/jira/browse/CASSANDRA-18557" target="_blank" rel="noopener noreferrer"&gt;added to Apache Cassandra&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://hackernoon.com/how-llms-and-vector-search-have-revolutionized-building-ai-applications" target="_blank" rel="noopener noreferrer"&gt;Vector search is a critical part of today&amp;rsquo;s generative AI applications&lt;/a&gt;
, allowing developers to quickly retrieve the most relevant context to give the large language model enough information to answer accurately and without hallucinating, but innovation in this space has mostly happened outside the Java ecosystem. JVector gives enterprises an easy way to capitalize on their investment in the powerful Java platform, and gives Java developers a state-of-the-art solution that is easy to embed in their applications.&lt;/p&gt;</description></item><item><title>Why Pulsar Beats Kafka for a Scalable, Distributed Data Architecture</title><link>https://foojayio.github.io/website/today/why-pulsar-beats-kafka-for-a-scalable-distributed-data-architecture/</link><pubDate>Thu, 03 Mar 2022 14:10:45 +0000</pubDate><guid>https://foojayio.github.io/website/today/why-pulsar-beats-kafka-for-a-scalable-distributed-data-architecture/</guid><description>&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/why-pulsar-beats-kafka-for-a-scalable-distributed-data-architecture/shutterstock_1009002379-350x233-1.jpg" alt="" loading="lazy"&gt;
 © Shutterstock / Jurik Peter&lt;/p&gt;
&lt;p&gt;The leading open source event streaming platforms are Apache Kafka and Apache Pulsar. For enterprise architects and application developers, choosing the right event streaming approach is critical, as these technologies will help their apps scale up around data to support operations in production.&lt;/p&gt;
&lt;p&gt;Everyone wants results faster. We want applications that know what we want, even before we know ourselves. We want systems that constantly check for fraud or security issues to protect our data. We want applications that are smart enough to react and change plans when faced with the unexpected. And we want those services to be continuously available.&lt;/p&gt;</description></item><item><title>The Critical Role Streaming Plays in a Data Stack</title><link>https://foojayio.github.io/website/today/the-critical-role-streaming-plays-in-a-data-stack/</link><pubDate>Fri, 18 Feb 2022 17:20:13 +0000</pubDate><guid>https://foojayio.github.io/website/today/the-critical-role-streaming-plays-in-a-data-stack/</guid><description>&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/the-critical-role-streaming-plays-in-a-data-stack/streaming-data-Depositphotos_5_tn-300x210-1.jpg" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;Why Apache Pulsar is the right choice for multi-datacenter, geo-distributed deployments.&lt;/p&gt;
&lt;p&gt;Building applications today requires companies and teams to be familiar with data flows (including streaming data flows) and how to transform them into compelling user experiences. Data fuels companies&amp;rsquo; ability to understand their customers, move faster than competitors, and provide compelling products that the market wants. According to &lt;a href="https://www.datastax.com/resources/report/the-state-of-the-data-race-2021" target="_blank" rel="noopener noreferrer"&gt;research&lt;/a&gt;
 by DataStax and Clearpath Strategies, almost all companies (96%) now have a formal strategy for how they will work with data, but only 38% think they&amp;rsquo;re doing a good job using data in their applications.&lt;/p&gt;</description></item><item><title>Four Reasons Why Apache Pulsar is Essential to the Modern Data Stack</title><link>https://foojayio.github.io/website/today/four-reasons-why-apache-pulsar-is-essential-to-the-modern-data-stack/</link><pubDate>Tue, 01 Feb 2022 22:14:58 +0000</pubDate><guid>https://foojayio.github.io/website/today/four-reasons-why-apache-pulsar-is-essential-to-the-modern-data-stack/</guid><description>&lt;p&gt;Messaging has been on DataStax&amp;rsquo;s radar for several years. A significant motivator for this is the increasing popularity of microservices-based architectures. Briefly, microservices architectures use a message bus to decouple communication between services and to simplify replay, error handling, and load spikes.
&lt;img src="https://foojayio.github.io/website/today/four-reasons-why-apache-pulsar-is-essential-to-the-modern-data-stack/0_GwQl23TRbFCO-uVu-1024x379.png" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;With Apache Cassandra™ and DataStax Astra Cassandra-as-a-service, developers and architects have a database ecosystem that is:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Based on open source&lt;/li&gt;
&lt;li&gt;Well-suited for hybrid- and multi-cloud deployments&lt;/li&gt;
&lt;li&gt;Available in a cloud-native, consumption-priced service&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;There is no current messaging solution that satisfies these requirements, so we&amp;rsquo;re building one. We started by evaluating the most popular option, Apache Kafka. We found that it came up short in four areas:&lt;/p&gt;</description></item><item><title>Apache Cassandra 4.0: Taming Tail Latencies with Java 16 ZGC</title><link>https://foojayio.github.io/website/today/apache-cassandra-4-0-taming-tail-latencies-with-java-16-zgc/</link><pubDate>Tue, 22 Jun 2021 07:45:40 +0000</pubDate><guid>https://foojayio.github.io/website/today/apache-cassandra-4-0-taming-tail-latencies-with-java-16-zgc/</guid><description>&lt;p&gt;With Apache Cassandra 4.0, you not only get the direct improvements to performance added by the Apache Cassandra committers, you also unlock the ability to take advantage of seven years of improvements in the JVM itself. This article focuses on improvements in Java garbage collection that Cassandra 4.0 coupled with Java 16 offers over Cassandra 3.11 on Java 8.&lt;/p&gt;
&lt;p&gt;Like so many others in the Apache Cassandra community, I&amp;rsquo;m extremely excited to see that the 4.0 release is finally here. There are &lt;a href="https://cassandra.apache.org/doc/latest/new/" target="_blank" rel="noopener noreferrer"&gt;many, many improvements to Cassandra 4.0&lt;/a&gt;
. One enhancement that is more important than it might look is the addition of support for Java versions 9 and up. This was not trivial, because Java 9 made changes to some internal APIs that the most performance-oriented Java projects like Cassandra relied on (you can read more about this &lt;a href="https://issues.apache.org/jira/browse/CASSANDRA-9608" target="_blank" rel="noopener noreferrer"&gt;here&lt;/a&gt;
).&lt;/p&gt;</description></item></channel></rss>