Article: Faster, Smoother, More Engaging: Personalized Content Pagination

MMS Founder
MMS Lakshit Arora Sanjay Surendranath Girija Shashank Kapoor

Article originally posted on InfoQ. Visit InfoQ

Key Takeaways

  • Traditional pagination techniques of loading content in fixed pages or blocks often lead to slow loading times, disruptive transitions and a frustrating user experience especially on devices with poor internet connectivity.
  • We could leverage AI to move beyond static pagination by analyzing individual user engagement behaviour and network conditions to dynamically adjust how and what content is loaded.
  • In this article, we discuss two primary AI techniques to understand user engagement: Firstly we discuss scroll depth and speed tracking that predicts user interest based on scrolling behavior. Secondly we discuss dwell time analysis  that identifies engaging content by tracking time spent on page sections.
  • User behavior data such as scroll events and visibility changes are typically collected on the client side using JavaScript. This data is then sent to the server where machine learning (ML) models such as regression or decision trees are used to analyze and predict consumption patterns thereby informing content loading strategy.
  • There are lots of benefits of using AI-enabled personalized content loading. This use of AI leads to faster content loading, smoother user interactions, and better user engagement and retention. Technical infrastructure costs are also reduced by optimizing data transfer and server side resources.

Introduction

Imagine you are scrolling through recent news or social media and suddenly everything slows down. Images load pretty slowly, videos refuse to play, and that one particular article that you were most interested in reading is taking forever to load. A lot of times, this happens because of slow or intermittent internet connection. Apps and websites have traditionally displayed content by using pagination, which involves loading content in pages or chunks. It is similar to reading a book where you only get to view one or two pages at a time.

This is effective, however this approach normally doesn’t live up to user expectations, especially on mobile devices with poor network connectivity. Issues such as slow loading, disruptive page transitions, and endless clicking or tapping for more content can annoy and ultimately drive users away from the service.

Whether it is online shopping, browsing social media, or catching up on news, users expect to have a seamless and engaging experience irrespective of device or network conditions. This is where we could leverage AI for smart and personalized pagination.

Instead of providing a single static pagination approach for all the users, we could leverage AI to power dynamic content loading. This dynamic pagination approach allows varying the presentation of the content to suit each individual user’s particular needs and network capabilities.

Consider a website or app that somehow is able to sense your internet connectivity conditions as well as device and adjusts what it shows accordingly. With a high speed connection, you might see a rich multimedia intensive page. On slow connections, the same page would prioritize essential text and images first and then load other chunks as bandwidth allows.

By smartly adjusting the amount of content to be loaded, we can create a more responsive and personalized experience for every user. Users benefit because this approach enables faster loading times and smoother interactions.

Companies benefit in lowering technical infrastructure costs because this reduces the amount of data transferred thereby significantly cutting down the load on their streaming servers and network resources. Additionally, reduced latency means happier users; happier users are more likely to stay engaged and keep coming back.

In this article, we will examine how we could use AI to personalize content loading based on user behaviour.

Leveraging AI for Analyzing User Behavior

Consider two users on a news website:

  • User A: Quickly scrolls through headlines and primarily clicks on articles with eye-catching images.
  • User B: Read each article thoroughly and spend considerable time on every page.

These usage patterns can be identified by AI and the delivery of the content can be adjusted appropriately, such as prefetching images for User A or the next full article for User B. For an AI to effectively personalize content delivery, it must first understand the user’s distinct engagement patterns and infer their intent. This understanding is built by analyzing specific behavioral signals picked up during their interaction with the content. The subsequent sections will delve into practical methods for capturing and interpreting two crucial types of these signals:

  • Scroll depth and speed tracking reveal how users navigate through pages and their pace.
  • Dwell time analysis helps quantify users’ interest and engagement with particular sections or elements.

By examining these behaviors, the AI can build a more accurate profile to anticipate user needs.

Scroll Depth and Speed Tracking

Client Side Sample Implementation

Here, on the client side, we use JavaScript event listeners (such as scroll or wheel) to track how far down the page and how quickly a user scrolls. This data provides clues about their engagement and interest level.

The following example uses a scroll event listener:

window.addEventListener('scroll', () => { 
// Get the current scroll position 
const scrollTop = window.pageYOffset || document.documentElement.scrollTop; 
// Get the total scrollable height of the document. 
const scrollHeight = document.documentElement.scrollHeight - 
 document.documentElement.clientHeight; 
// Calculate the percentage of the page scrolled
const scrollPercentage = (scrollTop / scrollHeight) * 100; 
// Log the scroll position and percentage 
console.log('Scroll Top:', scrollTop); 
console.log('Scroll Percentage:', scrollPercentage); 
// You can also track the scroll speed here by comparing the current scroll 
// position with the previous one and calculating the difference over time. 
});

Here is an example of wheel event listener:

window.addEventListener('wheel', (event) => { 
// Get the deltaY value, which indicates the scroll direction and 
// amount.
const deltaY = event.deltaY; 
// Log the scroll direction and amount. 
console.log('Scroll Delta:', deltaY); 
// You can use this information to calculate scroll speed and acceleration more
// accurately. 
}); 

Server Side Sample Implementation

Once our server receives the scroll or wheel events from the client device, we can apply ML models such as regression or decision trees to analyze scroll depth and speed patterns to predict how much content a user is likely to consume. For example, if a user consistently scrolls rapidly to the bottom of the page, the system can anticipate their need for more content and proactively load the next chunk.

Regression model example

Let’s assume we are tracking the following data points for each user sessions:

  • Scroll depth measures the percentage of the page scrolled
  • Scroll speed measures the average scroll speed in pixels per second
  • Time spent measures the total time spent on the page
  • Content consumed measures the number of articles read, images viewed, etc.

We can use a regression model like linear regression or support vector regression to find a relationship between these variables. The model would learn to predict content consumed based on scroll depth, scroll speed, and time spent.

Consider a highly simplified regression model that finds the following relationship:

Content consumed = 0.5 * (Scroll depth) + 0.2 * (Scroll speed) + 0.3 * (Time spent) 

Now, if a new user scrolls 80% of the page with an average speed of 100 pixels per second and spends 60 seconds on the page, the model would predict:

Content consumed = 0.5 * (80) + 0.2 * (100) + 0.3 * (60) = 78 

This equation means the model predicts the user will consume approximately 78 units of content (e.g., read 78 articles, view 78 images, etc.).

Dwell Time Analysis

Here, we track how long a user spends on specific sections or elements within a page. This tracking helps us understand which content captures their attention and for how long.

Client Side Sample Implementation

Here, we first use JavaScript to track how long a user spends on each section of an article. We can use scroll events, visibility change events, or other techniques to monitor when a section enters and exits the viewport. Furthermore, we divide each article into logical sections (e.g., by headings, paragraphs, or other structural elements). These divisions allow us to analyze dwell time on a more granular level.

This example employs a scroll event listener:

// Get all the sections of the article 
const sections = document.querySelectorAll('article section'); 
// Initialize an array to store dwell time data for each section let dwellTimes = new Array(sections.length).fill(0); 
// Initialize an array to store the timestamps when each section becomes visible let sectionEntryTimestamps = new Array(sections.length).fill(null); 
// Function to track when a section enters and exits the 
// viewport.
const handleSectionVisibility = (entries) => { 
entries.forEach(entry => { 
const sectionIndex = Array.from(sections).indexOf(entry.target); 
if (entry.isIntersecting) { 
// Section has entered the viewport 
sectionEntryTimestamps[sectionIndex] = Date.now(); 
} else { 
// Section has exited the viewport 
if (sectionEntryTimestamps[sectionIndex] !== null) {
dwellTimes[sectionIndex] += Date.now() - sectionEntryTimestamps[sectionIndex]
sectionEntryTimestamps[sectionIndex] = null; 
} 
} 
}); 
}; 
// Create a new IntersectionObserver to observe section visibility
const observer = new IntersectionObserver(handleSectionVisibility, { threshold: 0.5, // Adjust the threshold as needed (e.g., 0.75 for 75% visibility) }); 
// Observe each section 
sections.forEach(section => { 
observer.observe(section); 
}); 
// Function to log the dwell time data (e.g., when the user leaves the page) const logDwellTimes = () => { 
console.log('Dwell Times:', dwellTimes); 
// You can send this data to your server for further analysis and processing }; 
// Add an event listener to trigger the logging function when the user leaves the page 
window.addEventListener('beforeunload', logDwellTimes);

The following example uses a visibilitychange event:

JavaScript
// Get all the sections of the article 
const sections = document.querySelectorAll('article section'); 
// Initialize an array to store dwell time data for each section 
let dwellTimes = new Array(sections.length).fill(0); 
// Initialize an array to store the timestamps when each section becomes visible
let sectionEntryTimestamps = new Array(sections.length).fill(null); 
// Function to track when a section's visibility changes 
const handleVisibilityChange = (event) => { 
const section = event.target; 
const sectionIndex = Array.from(sections).indexOf(section); 
if (document.visibilityState === 'visible') { 
// Section is now visible 
sectionEntryTimestamps[sectionIndex] = Date.now(); 
} else { 
// Section is now hidden (e.g., user switched tab, minimized window) 
if (sectionEntryTimestamps[sectionIndex] !== null) { 
dwellTimes[sectionIndex] += Date.now() - 
sectionEntryTimestamps[sectionIndex]; 
sectionEntryTimestamps[sectionIndex] = null; 
} 
} 
}; 
// Add a visibilitychange event listener to each section
sections.forEach(section => { 
section.addEventListener('visibilitychange', handleVisibilityChange); }); 
// Function to log the dwell time data (e.g., when the user leaves the page) 
const logDwellTimes = () => { 
console.log('Dwell Times:', dwellTimes); 
// You can send this data to your server for further analysis and processing }; 
// Add an event listener to trigger the logging function when the user leaves the page 
window.addEventListener('beforeunload', logDwellTimes); 

Server Side Sample Implementation

Once our server receives the dwell time data (such as total time spent per section, number of sections viewed, and overall page dwell time) sent from the client device (perhaps via navigator.sendBeacon or periodic pings), we can apply machine learning models. These models, such as regression or decision trees, analyze these dwell time patterns to predict user engagement and potential future content consumption.

Regression model example:

Let’s assume we are tracking the following data points derived from the client-side dwell time analysis for each user session on an article page:

  • Average dwell time per viewed section (AvgDwell) is the average time in seconds spent actively viewing each section that entered the viewport.
  • Total active page dwell time (TotalDwell) is the total time in seconds the user spent actively viewing any section on the page (sum of dwell times, excluding time when the tab was hidden).
  • Number of sections viewed (SectionsViewed) is the count of distinct sections the user dwelled on for more than a minimal threshold (e.g., > 1 second).

We can use a regression model (like linear regression, or more complex models like gradient boosting regressors for better accuracy) to find a relationship between these dwell time features and the amount of content the user is likely interested in consuming next. This personalized pagination colab provides a walkthrough on how to build such a regression model with sample data.

Let’s say our trained regression model finds the following simplified linear relationship:

Predicted_Next_Content_Units = 5 + (0.8 * AvgDwell) + (0.1 * TotalDwell) + (2.0 * SectionsViewed)

Now, imagine a user visits a page and the server receives the following data:

  • AvgDwell = 15 seconds
  • TotalDwell = 70 seconds
  • SectionsViewed = 4 sections

The model would predict the potential next content consumption:

Predicted_Next_Content_Units = 5 + (0.8 * 15) + (0.1 * 70) + (2.0 * 4) = 32

In other words, the model predicts the user will consume approximately 32 units of content (e.g., read 32 articles, view 32 images, etc.).

Conclusion

In today’s digital landscape, users expect seamless and engaging online experiences. Optimizing content delivery to users is not just a technical necessity but is also a key differentiator.

These requirements cannot be met with traditional pagination due to its rigid structure and potential for slow loading times. Therefore, by leveraging AI to intelligently analyze user behavior as we discussed in this article using scroll speed and depth tracking or dwell time analysis we can create a responsible (i.e., respecting users’ bandwidth and avoiding unnecessary data transfer) and personalized browsing experience for users.

About the Authors

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.


Microsoft Announces Native TypeScript Compiler Port for 10X Performance Boost

MMS Founder
MMS Bruno Couriol

Article originally posted on InfoQ. Visit InfoQ

Microsoft’s TypeScript team has announced an experimental native port of the TypeScript compiler (tsc), dubbed tsc-go, aimed at providing 10x improvement on build time, drastically reducing cold editor startup times, and substantially improving memory usage. This initiative explores running the compiler (written in Go) without the Node.js runtime overhead.

Anders Hejlsberg, lead architect of the TypeScript project, explained the motivation behind the port as follows:

The core value proposition of TypeScript is an excellent developer experience. As your codebase grows, […] in many cases TypeScript has not been able to scale up to the very largest codebases. Developers working in large projects […] have to choose between reasonable editor startup time or getting a complete view of their source code […] New experiences powered by AI benefit from large windows of semantic information that need to be available with tighter latency constraints. We also want fast command-line builds to validate that your entire codebase is in good shape.

The standard tsc compiler running on Node.js, incurs noticeable startup time, especially on initial execution, for large projects or frequent, small builds. The new, experimental TypeScript compiler is written in Go and compiled to native code that runs without Node.js startup overhead.

The blog announcement mentions a reduction in type-checking time of VS Code’s 1 MLOC codebase from 77 seconds, down to 7.5 seconds, i.e., a 10x improvement. The same ratio is observed on the Playwright codebase (356,000 LOC) with a time reduced from 11s to 1s. Microsoft also reports maintaining this ratio on smaller codebases, with RxJS (2,100 LOC) seeing a reduction in type-checking time from 1,1s to 0,1s. The blog post does not provide Improvement figures related to incremental builds.

The TypeScript team also reports an 8x improvement in project load time in editor scenarios for the Visual Studio codebase and expects the same ratio to be constant over other codebases. Developer experience is poised to be improved as the time between opening the code editor and being ready to type into a fully loaded codebase is significantly reduced.

The native port (codename Corsa) is still considered experimental and still misses many features, including incremental builds (cf. What works so far). The blog announcement explains that when the native codebase has reached sufficient parity with the current TypeScript, it will be released as TypeScript 7.0, with a mindful migration path to former versions:

We’ll still be maintaining the JS codebase in the 6.x line until TypeScript 7+ reaches sufficient maturity and adoption.

Developer reactions on platforms like Reddit and Hacker News asked about the rationale behind choosing Go over Rust. Ryan Cavanaugh, TypeScript dev lead, provided a detailed answer that developers are invited to check. To quote an excerpt:

In the end, we had two options – do a complete from-scratch rewrite in Rust, which could take years and yield an incompatible version of TypeScript that no one could actually use, or just do a port in Go and get something usable in a year or so and have something that’s extremely compatible in terms of semantics and extremely competitive in terms of performance.

In addition to the blog post, developers are encouraged to review the YouTube video in which Hejlsberg details the ongoing TypeScript port effort. Developers can also visit the GitHub repository for the development of the native port of TypeScript. A preview build is available on npm as @typescript/native-preview. A preview VS Code extension is available on the VS Code marketplace.

The project is released under the Apache License 2.0 and welcomes contributions and suggestions. For details, visit Contributor License Agreements. The project follows the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ.

About the Author

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.


Meta Open-Sources Pyrefly, a High-Performance Python Type Checker in Rust

MMS Founder
MMS Sergio De Simone

Article originally posted on InfoQ. Visit InfoQ

Currently in alpha, Pyrefly is a new open-source Python type checker developed by Meta in Rust for maximum performance. Inspired by tools like Pyre, Pyright, and MyPy, Pyrefly is intended to replace the OCaml-based Pyre type checker previously used for Instagram’s codebase.

We built a custom engine for incremental computation and designed our type-checking algorithm based on years of experience in gradual typing theory and Rust expertise. By open-sourcing this technology we hope it can serve projects of any size well.

According to Meta engineers, the main motivation behind Pyrefly was the need to support responsive IDE typechecking, which became increasingly difficult to achieve with Pyre as the complexity of Instagram’s type system grew.

We explored alternate solutions and leveraged community tools like Pyright for code navigation. But the need for an extensible type checker that can bring code navigation, checking at scale, and exporting types to other services drove us to start over, creating Pyrefly.

Pyrefly is designed for high performance and implemented in Rust to maximize efficiency. According to Meta, it can check 1.8 million lines of code per second on large codebases, making it possible to perform typechecking on every single keystroke.

Meta’s benchmarks show that Pyrefly can typecheck the entire Instagram codebase in 13.4 seconds, compared to 100+ seconds with Pyre. Similarly, Pyrefly takes just 2.4 seconds to typecheck PyTorch, while Pyright takes 35.2 seconds and MyPy 48.1 seconds.

Beyond performance, Meta chose Rust for building Pyrefly because of its safety, cross-platform support, and ability to compile to WebAssembly, which enables a browser-based Playground experience.

Besides typechecking annotated Python codebases, Pyrefly also aims to be useful for unannotated code. To this end, it can automatically infer types for return values and local variables, allowing developers to explicitly insert the inferred types into their code if they want so.

Meta has released Pyrefly as an alpha, due to open bugs and features in the making, but plans to move to beta tis Summer. A Visual Studio Code extension is available on the Visual Studio Marketplace.

Pyrefly is not the only Python type checker written in Rust. Astral, a company specializing in developer tools, recently launched Ty in preview. Ty uses an hand-written parser for Python, written in Rust and based on Python’s official specification. It also offers a playground if you’d like to try it out. Other tools made by Astral include the Ruff linter and the uv package manager, both written in Rust.

About the Author

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.


Java at 30: A Retrospective on a Language That Has Made a Big Impact

MMS Founder
MMS Michael Redlich

Article originally posted on InfoQ. Visit InfoQ

Thirty years ago, on May 23rd, 1995, at the Sun World conference in San Francisco, California, Sun Microsystems formally introduced the Java programming language.

Based on C++, Sun characterized Java as a:

Simple, object-oriented, distributed, interpreted, robust, secure, architecture-neutral, portable, high-performance, multithreaded dynamic language.

James Gosling, the father of Java, had a more succinct definition:

Java is C++ without guns, knives, and clubs.

Originally named Oak (reportedly due to the oak tree outside Gosling’s office window), the creation of Java dates back to December 1990 as part of Sun’s Green Project. Gosling, Patrick Naughton and Mike Sheridan wanted a language for consumer applications with requirements that it be architecture agnostic and object-oriented. In September 1992, they introduced Star7, a personal digital assistant that included a TV remote control and TV guide, among other features, that was operated through a user interface on a 5-inch screen.

Duke, the official Java mascot, was also introduced as “the embodiment of the ‘agent’” in the Star7 user interface. Created and drawn by Joe Palrang, then with Sun Microsystems, Duke was characterized as a “friendly guy that followed you around and could help you out.

From applets to generics to lambdas to var to records and sealed classes to virtual threads; from Java EE to Jakarta EE; and from an average three year release cycle to one that is every six months, Java has significantly grown over these past 30 years having survived some low points in its history that included the reputation of the language of being “slow” and many developers having considered the language as “dead.”

Oracle’s latest initiative is based on a September 2022 blog post, Paving the on-ramp, by Brian Goetz, Java Language Architect at Oracle. After four rounds of preview, JEP 512: Compact Source Files and Instance Main Methods, finalizes this feature that aims to “evolve the Java language so that students can write their first programs without needing to understand language features designed for large programs.” More details on this feature may be found in this specification document by Gavin Bierman, Consulting Member of Technical Staff at Oracle.

Oracle marked this milestone with its 30th Birthday Event, hosted by Java Developer Advocates, Ana-Maria Mihalceanu, Billy Korando and Nicolai Parlog, along with Sharat Chander, Senior Director of Product Management and Developer Engagement at Oracle. This special six-hour event featured a variety of guests discussing a range of topics.

Oracle luminaries, Mark Reinhold, Chief Architect, Java Platform Group, Goetz, Bierman, Georges Saab, Senior Vice President, Software Development, Java Platform Group, and Stuart Marks, Consulting Member of Technical Staff (AKA Dr. Deprecator), discussed: the stewardship of Java; paving the on-ramp and lambdas; a Java language update; growing the language; and Java Collections, respectively.

Community advocates and activists, Bruno Souza, the Brazilian Java Man, Mohammed Aboullaite, Senior Backend Engineer at Spotify, and Laurentiu Spilca, Principal Development Consultant at Endava, discussed: the developer impact in the Java community; community outreach in Africa and the Middle East; and outreach to beginners through non-english content, respectively.

JetBrains Developer Advocates, Mala Gupta and Marit van Dijk, provided numerous IntelliJ IDEA tips and tricks that included how to use Junie, the IntelliJ IDEA coding assistant.

Heather Stephens, Head of Java in Education at Oracle, interviewed Sandy Czajka, Math and Computer Science Teacher at Riverside Brookfield High School in Illinois, on teaching Java at the high school level. Stephens later interviewed three students representing Stanford University, the University of Washington and the University of California, Berkeley, with their thoughts on Java.

Venkat Subramanian, President at Agile Developer, Inc., presented “The Hidden Innovations of Java,” which included topics such as invokedynamic, one of the five method invocation opcodes; lazy evaluations in streams; and smart indentation related to here documents, also known as heredocs.

Korando interviewed Gosling, who provided his own retrospective on creating Java and its current state.

Will Java be with us in another 30 years? Today’s young Java developers will likely be able to see if that comes true. However, with a vibrant Java community that has a passion for the language, Java may celebrate its 60th birthday in 2055.

About the Author

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.


62,100 Shares in MongoDB, Inc. (NASDAQ:MDB) Bought by Polar Asset Management Partners Inc.

MMS Founder
MMS RSS

Posted on mongodb google news. Visit mongodb google news

Polar Asset Management Partners Inc. bought a new position in shares of MongoDB, Inc. (NASDAQ:MDBFree Report) during the fourth quarter, according to its most recent Form 13F filing with the Securities and Exchange Commission (SEC). The fund bought 62,100 shares of the company’s stock, valued at approximately $14,458,000. Polar Asset Management Partners Inc. owned approximately 0.08% of MongoDB at the end of the most recent quarter.

A number of other institutional investors and hedge funds also recently added to or reduced their stakes in the company. Vanguard Group Inc. increased its stake in MongoDB by 0.3% during the fourth quarter. Vanguard Group Inc. now owns 7,328,745 shares of the company’s stock valued at $1,706,205,000 after purchasing an additional 23,942 shares during the last quarter. Franklin Resources Inc. increased its position in shares of MongoDB by 9.7% during the 4th quarter. Franklin Resources Inc. now owns 2,054,888 shares of the company’s stock valued at $478,398,000 after purchasing an additional 181,962 shares during the period. Geode Capital Management LLC raised its position in MongoDB by 1.8% in the fourth quarter. Geode Capital Management LLC now owns 1,252,142 shares of the company’s stock worth $290,987,000 after acquiring an additional 22,106 shares in the last quarter. First Trust Advisors LP grew its stake in shares of MongoDB by 12.6% in the 4th quarter. First Trust Advisors LP now owns 854,906 shares of the company’s stock worth $199,031,000 after purchasing an additional 95,893 shares during the last quarter. Finally, Norges Bank bought a new position in shares of MongoDB in the fourth quarter valued at $189,584,000. 89.29% of the stock is owned by hedge funds and other institutional investors.

MongoDB Price Performance

NASDAQ:MDB opened at $185.85 on Friday. The business has a 50 day simple moving average of $174.70 and a 200-day simple moving average of $235.98. MongoDB, Inc. has a 1 year low of $140.78 and a 1 year high of $370.00. The firm has a market capitalization of $15.09 billion, a price-to-earnings ratio of -67.83 and a beta of 1.49.

MongoDB (NASDAQ:MDBGet Free Report) last issued its earnings results on Wednesday, March 5th. The company reported $0.19 earnings per share (EPS) for the quarter, missing analysts’ consensus estimates of $0.64 by ($0.45). The company had revenue of $548.40 million for the quarter, compared to analysts’ expectations of $519.65 million. MongoDB had a negative net margin of 10.46% and a negative return on equity of 12.22%. During the same period in the prior year, the firm posted $0.86 earnings per share. As a group, analysts expect that MongoDB, Inc. will post -1.78 earnings per share for the current fiscal year.

Wall Street Analysts Forecast Growth

Several research firms have weighed in on MDB. Oppenheimer lowered their target price on MongoDB from $400.00 to $330.00 and set an “outperform” rating on the stock in a research note on Thursday, March 6th. Citigroup decreased their target price on MongoDB from $430.00 to $330.00 and set a “buy” rating for the company in a research report on Tuesday, April 1st. Monness Crespi & Hardt upgraded MongoDB from a “sell” rating to a “neutral” rating in a research note on Monday, March 3rd. Stifel Nicolaus cut their target price on shares of MongoDB from $340.00 to $275.00 and set a “buy” rating for the company in a research note on Friday, April 11th. Finally, Barclays reduced their price objective on MongoDB from $280.00 to $252.00 and set an “overweight” rating for the company in a research report on Friday, May 16th. Nine investment analysts have rated the stock with a hold rating, twenty-three have assigned a buy rating and one has assigned a strong buy rating to the company’s stock. According to MarketBeat.com, the company presently has an average rating of “Moderate Buy” and an average price target of $288.91.

View Our Latest Stock Report on MDB

Insider Transactions at MongoDB

In related news, CAO Thomas Bull sold 301 shares of the company’s stock in a transaction dated Wednesday, April 2nd. The shares were sold at an average price of $173.25, for a total value of $52,148.25. Following the completion of the sale, the chief accounting officer now owns 14,598 shares of the company’s stock, valued at approximately $2,529,103.50. This represents a 2.02% decrease in their ownership of the stock. The sale was disclosed in a document filed with the SEC, which can be accessed through this link. Also, CFO Srdjan Tanjga sold 525 shares of the company’s stock in a transaction that occurred on Wednesday, April 2nd. The stock was sold at an average price of $173.26, for a total transaction of $90,961.50. Following the sale, the chief financial officer now directly owns 6,406 shares in the company, valued at approximately $1,109,903.56. The trade was a 7.57% decrease in their ownership of the stock. The disclosure for this sale can be found here. Insiders sold a total of 33,538 shares of company stock valued at $6,889,905 in the last three months. 3.60% of the stock is currently owned by company insiders.

MongoDB Profile

(Free Report)

MongoDB, Inc, together with its subsidiaries, provides general purpose database platform worldwide. The company provides MongoDB Atlas, a hosted multi-cloud database-as-a-service solution; MongoDB Enterprise Advanced, a commercial database server for enterprise customers to run in the cloud, on-premises, or in a hybrid environment; and Community Server, a free-to-download version of its database, which includes the functionality that developers need to get started with MongoDB.

See Also

Want to see what other hedge funds are holding MDB? Visit HoldingsChannel.com to get the latest 13F filings and insider trades for MongoDB, Inc. (NASDAQ:MDBFree Report).

Institutional Ownership by Quarter for MongoDB (NASDAQ:MDB)

This instant news alert was generated by narrative science technology and financial data from MarketBeat in order to provide readers with the fastest and most accurate reporting. This story was reviewed by MarketBeat’s editorial team prior to publication. Please send any questions or comments about this story to contact@marketbeat.com.

Before you consider MongoDB, you’ll want to hear this.

MarketBeat keeps track of Wall Street’s top-rated and best performing research analysts and the stocks they recommend to their clients on a daily basis. MarketBeat has identified the five stocks that top analysts are quietly whispering to their clients to buy now before the broader market catches on… and MongoDB wasn’t on the list.

While MongoDB currently has a Moderate Buy rating among analysts, top-rated analysts believe these five stocks are better buys.

View The Five Stocks Here

Investing Strategies To Help Grow Your Retirement Income Cover

Need to stretch out your 401K or Roth IRA plan? Use these time-tested investing strategies to grow the monthly retirement income that your stock portfolio generates.

Get This Free Report

Like this article? Share it with a colleague.

Link copied to clipboard.

Article originally posted on mongodb google news. Visit mongodb google news

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.


Mistral Releases Devstral, an Open-Source LLM for Software Engineering Agents

MMS Founder
MMS Daniel Dominguez

Article originally posted on InfoQ. Visit InfoQ

Mistral AI announced the release of Devstral, a new open-source large language model developed in collaboration with All Hands AI. Devstral is aimed at improving the automation of software engineering workflows, particularly in complex coding environments that require reasoning across multiple files and components. Unlike models optimized for isolated tasks such as code completion or function generation, Devstral is designed to tackle real-world programming problems by leveraging code agent frameworks and operating across entire repositories.

Devstral is part of a new class of agentic language models, which are designed not just to generate code, but to take contextual actions based on specific tasks. This agentic structure allows the model to perform iterative modifications across multiple files, conduct explorations of the codebase, and propose bug fixes or new features with minimal human intervention. These capabilities are aligned with the demands of modern software engineering, where understanding project structure and dependencies is as important as writing syntactically correct code.

According to Mistral’s internal evaluations, Devstral achieves a performance score of 46.8% on SWE-Bench Verified, a benchmark composed of 500 manually screened GitHub issues. This score places it ahead of previously published open-source models, surpassing them by over six percentage points. The benchmark tests not only whether models can generate valid code but whether that code actually resolves a documented issue in a real project. When compared on the same OpenHands framework, Devstral outperforms significantly larger models such as Deepseek-V3-0324, which has 671 billion parameters, and Qwen3 232B-A22B, highlighting the model’s efficiency.

Devstral was fine-tuned from the Mistral Small 3.1 base model. Before training, the vision encoder was removed, resulting in a fully text-based model optimized for code understanding and generation. It supports a long context window of up to 128,000 tokens, allowing it to ingest large codebases or extended conversations in a single pass. With a parameter size of 24 billion, Devstral is also relatively lightweight and accessible for developers and researchers. The model can run locally on a consumer-grade GPU such as the NVIDIA RTX 4090, or on Apple Silicon devices with 32GB of RAM. This lowers the barrier to entry for teams or individuals working in constrained environments or handling sensitive codebases.

Mistral has made Devstral available under the permissive Apache 2.0 license, which allows both commercial and non-commercial use, as well as modifications and redistribution. The model can be downloaded through various platforms including Hugging Face, LM Studio, Ollama, and Kaggle. It is also accessible via Mistral’s own API under the identifier devstral-small-2505.

Community feedback reflects a mix of excitement and critical evaluation. Product Builder, Nayak Satya commented:

Another promising enhancement from Mistral. This company is silently building some great additions for AI space. Europe is not far behind in AI when Mistral stands tall. Meantime can it be added inside VS studio or any modern IDE’S folks?

On Reddit’s r/LocalLLaMA, users praised Devstral’s performance, user Coding9 posted:

It works in Cline with a simple task. I can’t believe it. Was never able to get another local one to work. I will try some more tasks that are more difficult soon!

Although Devstral is released as a research preview, its deployment marks a step forward in the practical application of LLMs to real-world software engineering. Mistral has indicated that a larger version of the model is already in development, with more advanced capabilities expected in upcoming releases. The company is inviting feedback from the developer community to further refine the model and its integration into software tooling ecosystems.

About the Author

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.


GF Fund Management CO. LTD. Buys Shares of 14,000 MongoDB, Inc. (NASDAQ:MDB)

MMS Founder
MMS RSS

Posted on mongodb google news. Visit mongodb google news

GF Fund Management CO. LTD. purchased a new position in MongoDB, Inc. (NASDAQ:MDBFree Report) in the 4th quarter, according to its most recent Form 13F filing with the Securities and Exchange Commission. The fund purchased 14,000 shares of the company’s stock, valued at approximately $3,259,000.

Other large investors have also recently made changes to their positions in the company. B.O.S.S. Retirement Advisors LLC bought a new position in MongoDB in the fourth quarter worth about $606,000. Union Bancaire Privee UBP SA purchased a new position in shares of MongoDB in the 4th quarter worth approximately $3,515,000. HighTower Advisors LLC raised its stake in shares of MongoDB by 2.0% during the 4th quarter. HighTower Advisors LLC now owns 18,773 shares of the company’s stock worth $4,371,000 after acquiring an additional 372 shares in the last quarter. Nisa Investment Advisors LLC lifted its position in MongoDB by 428.0% during the fourth quarter. Nisa Investment Advisors LLC now owns 5,755 shares of the company’s stock valued at $1,340,000 after acquiring an additional 4,665 shares during the last quarter. Finally, Jones Financial Companies Lllp lifted its position in MongoDB by 68.0% during the fourth quarter. Jones Financial Companies Lllp now owns 1,020 shares of the company’s stock valued at $237,000 after acquiring an additional 413 shares during the last quarter. 89.29% of the stock is owned by institutional investors.

MongoDB Price Performance

MDB opened at $185.85 on Friday. The firm has a fifty day moving average price of $174.70 and a 200 day moving average price of $235.98. MongoDB, Inc. has a 1 year low of $140.78 and a 1 year high of $370.00. The stock has a market cap of $15.09 billion, a P/E ratio of -67.83 and a beta of 1.49.

MongoDB (NASDAQ:MDBGet Free Report) last released its quarterly earnings data on Wednesday, March 5th. The company reported $0.19 earnings per share for the quarter, missing analysts’ consensus estimates of $0.64 by ($0.45). MongoDB had a negative net margin of 10.46% and a negative return on equity of 12.22%. The firm had revenue of $548.40 million during the quarter, compared to analysts’ expectations of $519.65 million. During the same period in the previous year, the firm posted $0.86 EPS. Equities analysts expect that MongoDB, Inc. will post -1.78 EPS for the current year.

Insider Buying and Selling

In other MongoDB news, insider Cedric Pech sold 1,690 shares of the stock in a transaction on Wednesday, April 2nd. The shares were sold at an average price of $173.26, for a total transaction of $292,809.40. Following the transaction, the insider now directly owns 57,634 shares of the company’s stock, valued at $9,985,666.84. This trade represents a 2.85% decrease in their ownership of the stock. The transaction was disclosed in a document filed with the SEC, which is accessible through this hyperlink. Also, CEO Dev Ittycheria sold 18,512 shares of the business’s stock in a transaction dated Wednesday, April 2nd. The stock was sold at an average price of $173.26, for a total transaction of $3,207,389.12. Following the sale, the chief executive officer now directly owns 268,948 shares of the company’s stock, valued at $46,597,930.48. This represents a 6.44% decrease in their position. The disclosure for this sale can be found here. In the last 90 days, insiders sold 33,538 shares of company stock valued at $6,889,905. 3.60% of the stock is owned by company insiders.

Wall Street Analyst Weigh In

A number of equities analysts have recently issued reports on MDB shares. The Goldman Sachs Group reduced their price target on MongoDB from $390.00 to $335.00 and set a “buy” rating on the stock in a research report on Thursday, March 6th. Canaccord Genuity Group reduced their target price on MongoDB from $385.00 to $320.00 and set a “buy” rating on the stock in a research report on Thursday, March 6th. Loop Capital downgraded MongoDB from a “buy” rating to a “hold” rating and lowered their price target for the stock from $350.00 to $190.00 in a report on Tuesday, May 20th. Cantor Fitzgerald initiated coverage on shares of MongoDB in a report on Wednesday, March 5th. They set an “overweight” rating and a $344.00 price objective on the stock. Finally, Truist Financial decreased their price objective on shares of MongoDB from $300.00 to $275.00 and set a “buy” rating for the company in a research report on Monday, March 31st. Nine analysts have rated the stock with a hold rating, twenty-three have given a buy rating and one has issued a strong buy rating to the stock. According to data from MarketBeat.com, the stock has an average rating of “Moderate Buy” and an average target price of $288.91.

Check Out Our Latest Analysis on MDB

MongoDB Profile

(Free Report)

MongoDB, Inc, together with its subsidiaries, provides general purpose database platform worldwide. The company provides MongoDB Atlas, a hosted multi-cloud database-as-a-service solution; MongoDB Enterprise Advanced, a commercial database server for enterprise customers to run in the cloud, on-premises, or in a hybrid environment; and Community Server, a free-to-download version of its database, which includes the functionality that developers need to get started with MongoDB.

Featured Stories

Institutional Ownership by Quarter for MongoDB (NASDAQ:MDB)

This instant news alert was generated by narrative science technology and financial data from MarketBeat in order to provide readers with the fastest and most accurate reporting. This story was reviewed by MarketBeat’s editorial team prior to publication. Please send any questions or comments about this story to contact@marketbeat.com.

Before you consider MongoDB, you’ll want to hear this.

MarketBeat keeps track of Wall Street’s top-rated and best performing research analysts and the stocks they recommend to their clients on a daily basis. MarketBeat has identified the five stocks that top analysts are quietly whispering to their clients to buy now before the broader market catches on… and MongoDB wasn’t on the list.

While MongoDB currently has a Moderate Buy rating among analysts, top-rated analysts believe these five stocks are better buys.

View The Five Stocks Here

Ten Starter Stocks For Beginners to Buy Now Cover

Just getting into the stock market? These 10 simple stocks can help beginning investors build long-term wealth without knowing options, technicals, or other advanced strategies.

Get This Free Report

Like this article? Share it with a colleague.

Link copied to clipboard.

Article originally posted on mongodb google news. Visit mongodb google news

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.


Presentation: Clojure 2024

MMS Founder
MMS Jordan Miller

Article originally posted on InfoQ. Visit InfoQ

Transcript

Miller: It was a cold, dark night in New York City. Rich Hickey pondered in his study, frustrated with complexity, mutated state, never-ending inherited boilerplate. He suspected there could be a better way, without sacrificing power, performance, or changing of state. He admired functional programming philosophies, but was interested to see if they could be applied more practically. Because Lisps were uncommon academically, they were born in the dungeon of MIT. Schemeing on recursion and list processing, but humans are chaotic, and our data, it reflects that. Sequential data, linked lists, good to teach theoretically, but for production, not a reality. Associative structures, hashmaps, like an array, are more authentic. Rich thought, maybe this was the way.

Speaking of humans living chaotically, this time back in 2007 in Washington, D.C., I was a young, creative rebel, frustrated with authority. The only class for me was the one I skipped, or the CSS for my MySpace pics. I didn’t believe that STEM was for me. I thought math was difficult, and the answers eluded me. When it came time to choose a path academically, I chose the school of hard knocks into grateful dead university. Years of meetups and talks and blogs and YouTubes and slides, Clojure had proved itself, scaled up in size. The community swelled, excited with hope. Simple made easy was finally in scope.

Meanwhile, back in central PA, a dreadheaded vagabond was not doing ok. It turns out my plan of selling grilled cheese on lot wasn’t actually as compelling or lucrative or legal as I thought. Jobs weren’t careers, and the hours sure sucked. My brain was so bored, but then in walked some luck. “You’re looking for something lucrative and fun? Have you tried programming?” My experience level was none. “This fire new book just dropped. It’s for people like you. It’s called, ‘Clojure for the Brave and True.'” I started to listen. What’s a todo? What do you mean just join the Slack, read some books, eval, apply, and get cool? Fast forward 2019.

November days in PA were getting colder and shorter. I found fun hacking away, putting data in order. I was poking around in the Clojurian Slack, when it was Alex Miller who answered me back. “No more opportunity grant stipends for the conj, I’m afraid, but I’m happy to gift you a ticket. No need to pay. I hope you enjoy our humble programming group. Please remember to apply for a grant for my conference, StrangeLoop”. I had no idea the effects this would have. Maybe Alex did. He is Clojure’s cool dad. I met folks. I took notes, for loop, friends forever. I learned things. I earned wings talking about compile errors. I got a job. I flew away, finally free from my cage.

Background

My name is Jordan, also known as lambduhhh. In addition to the zillion projects I have going on, lately I’ve just been writing music. When I sat down to write the hook intro for this, it came out like that. I just decided to run with it. I think it went well, somewhere between The Night Before Christmas and Dr. Seuss, I think.

Understanding Curiosity

How many of you feel confident that you know the core philosophies of Clojure? Anybody confident enough to explain to a junior dev, to a child, of the two? Let’s explore how curiosity can turn that hesitation into confidence. Whether you’re new to Clojure or you’re an experienced Clojurian, this talk is about how curiosity drives growth, both for individuals and entire ecosystems. It’s about how asking the right questions and seeking feedback and embracing uncertainty can transform overconfidence into wisdom, and complexity into simplicity. This is something we do in Clojure land, we love to be pedantic and define words. It’s just our thing. Let’s start with understanding curiosity.

The Latin root of curiosity is curiosus, meaning careful, diligent, or eager to know. It suggests intentional attention and care, and a focused effort to understand. I actually really love this definition. I love Brené Brown. She’s just awesome. She expands on this in her book, “Atlas of the Heart”. She defines curiosity as recognizing a gap in our knowledge about something that interests us and then becoming emotionally and cognitively invested in closing that gap through exploration and learning. It starts with interest, and it can go from mild curiosity to passionate investigation rabbit holes. It’s about vulnerability and courage and the willingness to engage with uncertainty and risk and go somewhere you don’t know. Together, these definitions show us that curiosity isn’t just passive wonder. It’s an active commitment to seeking understanding and growth. Curiosity is what bridges the gap between what we know, what we don’t know, and what we don’t realize that we don’t know. I’m going to explore that journey with you.

Outline

First, we’re going to talk about Rich Hickey and the evolution of the Clojure ecosystem. Then I’m going to talk about my personal story of learning, failure, growth, all the good stuff. Then I’m going to do a showcase of the mature Clojure ecosystem. That’s going to be the actionable part. That’s really going to drive home how maturity can drive curiosity, and vice versa.

Rich Hickey and the Evolution of the Clojure Ecosystem

Rich Hickey was working as a software developer, navigating the same issues many of you have faced. Immutable state causing frustrating, hard-to-reproduce bugs. Concurrency becoming essential, but it was still difficult and error-prone. Nobody knew how to reason about it. Then, endless boilerplate code in languages like Java with inheritance hierarchies. OO really promised this reusability, but in reality, you didn’t get to reuse anything. You had to redefine everything. It was adding complexity instead of reducing it. Developers were immediately drawn to the potential, like immutability, concurrency, Lisp for the JVM. Some of you all were all here. The early adopters were passionate. For a while, it felt like Clojure could solve everything. As the excitement grew, so did the tension. Developers had very strong opinions about what they wanted Clojure to become.

In 2009, Rich responded with a now famous essay, “Open Source is Not About You”. In it, he reminded everybody of the purpose of open source. It’s about the software, it’s not about individual expectations. It’s about a way to share ideas and solutions, but it’s not a guarantee that every request will be implemented. This essay was pretty polarizing. It did set the tone for how Clojure would evolve. Like, not through satisfying every demand or trying to become popular, but staying focused on the core philosophy of simplicity and practicality. Rich’s response shows us another kind of curiosity.

A curiosity to ask, what makes open source sustainable in the long run? His essay helped clarify that Clojure wasn’t chasing clout or trying to gain popularity. It was about solving real problems and being used in a very real way. This moment really marked a critical turning point. It helped align the community around Clojure’s core philosophy and its principles: simplicity, immutability, power, focus. It reflected something that we see that’s bigger, a pattern we see with pretty much almost every piece of new technology, the rise of the hype. The cycle starts with this Peak of Inflated Expectations, where the hype runs high, everyone thinks the new technology is going to solve all these problems.

Then, reality sets in, the Trove of Disillusionment, where challenges emerge, things get more real, and excitement fades. A lot of technologies don’t move on past this stage. If you have a technology with staying power, like you have curiosity, perseverance, it can lead to refinement, where tools, libraries, communities come together and start supporting and getting closer to the promise that technology made in the beginning. At the end goes the Plateau of Productivity, where the technology becomes a trusted tool in the domain. Clojure’s journey aligns almost perfectly with this curve.

As the initial excitement faded, developers started to question Clojure. Is it too niche? Lisp, isn’t that academic? What is with the parentheses? Can it scale? Many developers found functional programming unfamiliar, and the Lisp syntax, like the prefix notation, was just too much. Clojure’s growth slowed. That’s when we entered the Trove of Disillusionment. Some of these critiques showed up on Hacker News. I think some of those threads were called like, is Clojure dead? They said things like, Clojure isn’t the most beginner-friendly language, which is true. However, Rich remained steadfast. In 2011, he delivered his influential talk, Simple Made Easy, where he emphasized the distinction between simplicity and ease, and the importance of managing complexity through immutable data structures and pure functions, keeping it functional.

This talk was huge in reshaping perceptions and encouraging developers to see Clojure not as a complex tool, but as a means to achieve simplicity. This really laid the groundwork for the Slope of Enlightenment. During this period, Rich also teamed up with the core team and Stu Halloway to develop Datomic, an immutable, time-aware database that’s the ideological extension of Clojure. Clojure is open source. If Clojure had a product baby and it was a database, that’s Datomic. It was released in 2012. It’s all the same thing: simplicity, immutability, power, focus, and thinking about data as a first-class citizen.

Today, Clojure is a mature, trusted language powering mission-critical systems across industries like finance, healthcare, and e-commerce. In 2020, Nubank acquired Cognitect, which is the consultancy and the core team behind Clojure and Datomic. That solidified its place in enterprise development. It’s not just an academic experiment. This is solving real-world problems at scale. The ecosystem has grown to include beginner-friendly tools like Babashka for scripting. We just talked about Datomic, which is a little bit more advanced. Clojure’s journey through the Gartner Hype Cycle reflects how curiosity and persistence can transform hype into sustained innovation.

Personal Story of Learning, Failure, and Growth

What’s the point of this talk? Just as curiosity shaped Clojure’s journey, it shaped mine too. When I started programming, I wasn’t thinking about immutability, simplicity, or best practices. I knew nothing. I was thinking about survival. I was thinking about finding something that could bring stability to my life, and growth. Just like Clojure, my path also wasn’t a straight line. It was messy. It’s been humbling. It’s been full of lessons that I didn’t even realize that I needed at the time. How many of you have ever thought, I got this, be cake, only to discover later that maybe you didn’t got this? Glad we’re in the same, got to humble it down. When I first started programming, I wasn’t even sure I was programming. Like I said, I was just making my MySpace pics look pretty. I didn’t think that STEM was for me. I thought programming was something that genius people did, and math seemed really out of reach.

Part of that probably had to do with the fact that I didn’t have the discipline to do the homework. My only exposure was passively in class. Looking back, hindsight is 20-20 on that one. Because of all that, I went into another direction. For years, I didn’t touch code. I didn’t own a computer. I just thought I wasn’t smart enough to belong in tech. Fast-forward to my mid-20s, when I realized that I needed a career that was stable and challenging. I was working as a bartender, and it was one of my customers at the bar could come in with his laptop. At first, I hesitated because, wasn’t I already too far behind? Haven’t all you all been doing this since forever? Don’t you have the programmer gene? People believed in me, and that was really important in my journey. As I’ve learned since then, curiosity is one of my top values, just personal development. I dove right in.

So unconsciously incompetent, I specifically remember a joke I told online on Facebook. I was excited to be learning programming, and somebody had been doing something in JavaScript, and I commented something that very clearly showed that I did not know the difference between Java and JavaScript. I was like, yes, I’m down with the Java 2, but, yes, no. What I did is I learned how to learn better. Turns out, it was active learning. As it turns out, MIT puts out all the good stuff basically for free. I started with something called Scheme school, and SICP, the purple book right there, “Structure and Interpretation of Computer Programs”, is a classic title from MIT. There are these lectures that go along with it that are really good, especially to watch now. What’s cool is that was a time in programming where women did programming. About half the class was women, so it was cool to see that. That also goes in ups and downs.

As I said, most importantly, I had lots of people that believed that I could be a programmer too. I was handed a book, written by somebody that believed that Clojure is for everyone. I coded along with content produced by people that I’m now really proud to call friends. I started to produce more like edutainment content as I got farther along in my career because teaching is a good way to learn. That’s when I realized how much I didn’t know. This phase was humbling and exciting. Aided by my REPL, I was exploring and building and taking too long to do everything. Every day was a new flow. Every new concept was like climbing a mountain. I just kept going, just curious little cat over here. It was really impactful to find a community where I felt like I belonged. I felt the Clojure community really just embraced me. I felt like I belonged. It’s really cool.

This was not on accident. This is ripped from a paper called, “The History of Clojure”. Just as much as Rich had intentionally designed Clojure for the professional programmer, he had also intentionally established and required a tone of supportiveness, positivity, and respect that had been seized upon, maintained, and enforced by the community itself as one of the core values, and points of pride. The Clojure community is friendly, and we’re helpful and we tolerate nothing less. We’re aggressive about it. Eventually, I got my first job as a programmer. Winter 2019, I interviewed all day on a Thursday, accepted an offer on Friday. Then packed all my things into a minivan, drove five hours, and on Tuesday, I signed a lease in Charlottesville, Virginia. I was like, “I made it. I’m a real person now. I’m a real programmer”. That confidence went on for a little bit. I started experimenting using advanced techniques before I fully understood the basics. I realized that I still don’t really understand the basics. I was a bug hunter in the ClojureScript code base.

Despite painting a picture of an overly eager, newly minted programmer, my performance reviews were good and I was really complimented on my ability to leverage communication as a means to solve the real problem. Although I was told that I needed to be more pragmatic, I was not sure what that meant because I did not yet have the experience that causes you to be more pragmatic. I ended up getting fired from my first job as a result of that hubris. Ask me my feelings about Clojure transducers sometimes. Then I got another ClojureScript job. It was a startup that failed.

Then, I was yearning for learning and I pursued opportunities to level up. I started working at Vouch with the maintainer of the ClojureScript compiler because I was doing ClojureScript. That’s with David. Over the course of three years, I rode on this dichotomy. On one hand, my edutainment content was getting super popular and I seemed to be on this rainbow rocket to Clojure fame. Thinking I had it all figured out, then only to have reality check me really hard when I kept getting fired. These failures were devastating and they taught me something really important though. Overconfidence can only take you so far. If you’re not curious, if you’re not actually actively asking questions and seeking feedback and looking for improvement, you’re not growing.

This was in Charlottesville. I was so excited, overconfident. Everything’s fine. Then this was, I don’t want to say rock bottom, but this last tech job apocalypse, it got me. It was my first time of really getting got by the loss of jobs. After losing my second job, I knew that something had to change, and I couldn’t rely on overconfidence anymore. I needed a new approach. Around this time, Rich did his talk, Design in Practice. This is at the Clojure Conj in 2023. He mentioned this book, “The Socratic Method: A Practitioner’s Handbook”. That book has been a turning point for me, and started just thinking about my own thinking. It breaks down the Socratic dialogues to the different techniques that are used. Those dialogues are meant to show a way of thinking, a way of questioning yourself. I got really into asking better questions and finding inconsistencies and being a hypocrite, and leaning into my cognitive dissonance and exploring it, and just shamelessly seeking feedback. I love being wrong, it’s so great.

Fun fact, a lot of this thinking is actually done in Google Sheets. Building on Rich’s talk from last year, Alex actually did a talk at the Conj, and that was titled, Design in Practice in Practice. I recommend both those talks. It’s a really good way to structure your thinking. I’ve run every tool possible. I’ve done Miro. I’ve done Lucid. I’ve done all of the things. Google Sheets though? The cycle of curiosity, experimenting, failing, learning, repeating, also known as screwing around, finding out, recording it.

Four months ago, I joined the Datomic Developer Success Team at Nubank. I work on the Clojure ecosystem and developing it as part of Nubank. I still don’t have all the answers. I love not knowing answers, remember? I’ve learned that curiosity is the key to growth. By staying curious, I’ve not only improved as a developer, but I’ve also connected with a community that values real learning and real thinking. Like my story, just like Clojure, isn’t about being perfect, it’s about growing and learning and solving real problems. That’s my journey. It wasn’t a straight line and it wasn’t without failure. Every step of the way, curiosity kept me moving forward. Progress isn’t linear.

The Journey in Context

Now let’s zoom out and put the story in context, my story. Who’s heard of the Dunning-Kruger effect? Psychologist David Dunning and Justin Kruger identified a cognitive bias where people with low competence in a skill overestimate their ability. There’s often a burst of overconfidence. It’s been named, the Peak of Mount Stupid. As we gain more experience, reality sets in and confidence drops, this is known as the Valley of Despair. I think that the Socratic word for it is aporia. If we keep going, curiosity and perseverance can help us climb up the Slope of Enlightenment until we reach a place of more balanced, humble competence. Looking back, my journey as a programmer mirrors this exactly.

At first, I didn’t know how much I didn’t know. I didn’t know so much, I just signed up to be a programmer overnight. I’m like, “That looks cool. Ok, sure”. Maybe in that case, it worked in my favor. In the next couple years of software development aided by my REPL, I bikeshed up Mount Ignorance. After losing my second job, I arrived at the Peak of Mount Stupid. Losing my second job in three years, while I was under contract to buy my house, was my Valley of Despair, a humbling but necessary step towards growth. Considering my personal values more deeply and embracing curiosity, it’s helping me climb out of this, but it’s a daily battle.

Here’s where it gets interesting. My journey isn’t just personal. It mirrors the journey of Clojure itself as seen through the Gartner Hype Cycle. The Peak of Inflated Expectations maps to the Peak of Mount Stupid, where excitement and overconfidence reign. The Trough of Disillusionment matches the Valley of Despair, where reality sets in and challenges become clear. The Slope of Enlightenment is named the same in both frameworks, a period of growth and refinement driven by curiosity. Clojure’s story and my story follow the same arc because they’re both about the process of learning and growth.

Actually, both of these frameworks have been criticized for being just recording the normal process of life and putting too much stock in the data. What’s the takeaway here? If both the Dunning-Kruger effect and the Gartner Hype Cycle are inevitable, how do we move forward? Anybody have any guess? Is it curiosity, the word I’ve said 20 times? Maybe. The answer is curiosity. Curiosity keeps us asking questions and seeking feedback and staying open to growth. It’s what helped me climb out of the Valley of Despair and it’s what helped Clojure move from hype to maturity. Curiosity bridges that gap between that overconfidence and true wisdom and skill. It’s the antidote to both individual and community versions of the same struggle.

Clojure’s Mature Ecosystem

So far, we’ve explored two journeys. One, Clojure’s evolution through the Gartner Hype Cycle and my personal growth story through the Dunning-Kruger effect. We’ve seen how curiosity played a critical role in both, transforming hype and overconfidence into sustained growth and basic competence. What’s this look like in practice? How has curiosity shaped the tools and libraries that make Clojure not just language, but a vibrant, mature ecosystem? In this final section, I want to highlight some of the more exciting developments that maybe you’ve missed out on because our community is insular. We don’t really hang out on all of the places that normally you would find developers, for example, Stack Overflow. We have our own Clojurian Slack. We used to congregate on Twitter, but now that’s dead, so that’s cool. Whether you’re new to Clojure or you’re an experienced Clojurian, I want to show you these tools in a way that matches up with your experience.

I talked about this a little bit, but this is called the four stages of competence model. If you really oversimplified it, it’s novice, intermediate, and expert. I actually crowdsourced a lot of these answers. We’re going to start at novice, and for each level, I’m going to do the passive introduction. I’m going to think of these as like books, talks, things that you can passively take in. Then, the second part I’m going to share tools, libraries, frameworks, that bleeding edge stuff we were just talking about. If you’re a complete novice, and you don’t know where to start with Clojure, I do recommend, “Clojure for the Brave and True”. Although, skip the first couple chapters, because they talk about Leiningen, which is an outdated build tool that we’ve replaced with tools.deps. It tries to get you started on Emacs. Do not. Another book, “Programming Clojure”, is a pragmatic programmer’s book by Alex.

The fourth edition is going to come out, because there have been sneak peek, there have been some updates to Java that actually used to be like a code golf thing, like the opening section was like, this is it in Java. Then it was like, this is it in Clojure, and like a tiny little, but Java improved, actually, inspired by Clojure. Java improved, because Brian Goetz hangs out with the Clojure crew. They’re redoing, the fourth edition should be out. There are so many significant Rich Hickey talks. You just got to start, but Simple Made Easy is really notable. Also, Hammock Driven Development, you have to see just so you can get all the hammock jokes. It’s like a cultural touchpoint. Really, that’s just about stopping and thinking, not coding, thinking.

The other thing you can check out is my podcast, it’s called, Lost in Lambduhhs, and that is independently produced, so your expectations need to go down here, way down. Actually, I initially started it as an excuse to teach myself production skills, and people like it, so I do continue to do it. It’s just inconsistent, so I’ll just give you that. A lot of the tools that we’re talking about, I’ve interviewed a lot of those authors. The whole point of Lost in Lambduhhs is to meet the person behind the GitHub, because I figure if we humanize the people that make our tools, we can be more empathetic to them. We get into some really awesome conversations. I don’t know why Buddhism has been a theme of this season, but completely unrelated, every single person is like, Buddhism has come up. That’s cool.

Here we have the tools, because we like active, active learning. If you go to clojure.camp. At this point, we’re a learning community, I think would be the best way to describe it. With one of my co-founders a couple weeks ago at the Conj, we actually did a whole talk about Clojure Camp that does the story from beginning to end, and what we’ve learned. One of the rabbit holes that I have jumped down is pedagogy and learning and teaching. We’ve really been using Clojure Camp as a learning experience experiment, trying to figure out how to teach new skills at scale. It’s not cohort-based, it’s just a Discord with some buddies that meet sometimes and talk about some code, do some mob programming. A few years ago, we got the Clojure CLI and deps.edn, that has been a game changer. You can just go and go, clj, and just get a REPL. Look at that, so easy, “Hey friends, hello world”, we love that. We have finally got good IDE support.

Saying that, I do Emacs, because when I learned Clojure, that was the path, that’s what you did. You learned Emacs. You had paredit, you could balance your parentheses and everything was fine, but it was hard. We don’t have that be hard anymore. Calva for VS Code is amazing. It even has a Clojure tutorial built in it. It’s just a plugin. If you want to put it on expert mode, you can even go on VS Code, there’s even plugins for Emacs key bindings. You can still use your paredit, which is useful. Then use the tool that you’re actually familiar with. There’s also Cursive for IntelliJ. I use that. I love JetBrains.

One of our open-source contributors, actually the one that urged me to start my podcast in the beginning, is Michiel Borkent, also known as borkdude. This man is legendary in our culture. He has made clj-kondo, which is linting support, and Babashka, which is native, fast-starting Clojure interpreter for scripting. In the Clojure survey, we added a question about, what are you using? Is it Babashka? It was like up to 90% of Clojure developers are using Babashka, which is nuts.

Now we’re going to go over to intermediate level. Intermediate level, at this stage, you’ve started experimenting, and you’ve realized, this Clojure stuff is cool, but you know there’s more to learn. You can actually build some real useful applications, and you can explore some advanced capabilities. You don’t have to think about how to balance every single thing. Hopefully, at this point, you’ve started to actually use the REPL. If you’ve started to do that, good on you, because a lot of people never get that far, and so they never reap the benefit of a fast feedback loop, which is really disappointing. Actually, I think this just got put into print. Clojure Brain Teasers is 25 puzzles to help identify flaws in your existing mental model, and then correct it. I have been working on this book for the last two years with Alex Miller.

At first, my imposter syndrome was so high. I get an email from one of my heroes, you want to co-author a book? Yes, I would. It took a very long time. One of the things that he valued was my curiosity and my ability to ask questions. We realized how beneficial it is to have somebody that is closer to the level of competence the actual audience of the book would be reading, because Alex is so unconsciously competent, he’s so fluent that he can’t even understand what’s so hard about concurrency.

These are more intermediate resources. Other intermediate resources. We have, “Clojure Applied”. That is also a pragmatic programmer book. That is authored by Alex and Stu. “Grokking Simplicity”, was released a few years ago. That is Eric Normand, who has been hugely influential helping me in my learning journey. Purelyfunctional.tv is his website. He does weekly newsletters. “Grokking Simplicity” really emphasizes functional programming principles and why they matter. It goes into like deep dive into, but it’s still approachable at the same time. It’s hard to do that, and he did it very well. Debugging with a Scientific Method, by Stu. That’s another really great talk about how to use the REPL.

Lastly, the Cognicast podcast, which is now, I think, called The Hammock by Nubank. What’s cool, little fun fact trivia, is in 2021, I was interviewed. I was doing enough memes. I was making enough waves. They were like, who is this girl? They interviewed me. The person that interviewed me is Robert Randolph, who is now my manager. That was like just a very slow roll. I think they just kept an eye waiting for my competence or wisdom or something to get better. I’m really grateful for the team that I work on now and my manager, because I’ve never experienced having a good manager before. I get to now. It’s just so amazing.

Here are more tools. Portal is a data visualization inspector that goes into your REPL and helps you with the workflow. I actually have a podcast episode where I talk to the author and creator of that, Chris, djblue. Add-lib helps you dynamically add libraries to your REPL during development. Also, to the ClojureScript ecosystem, we got shadow-cljs. It’s the build tool that we needed because it simplifies working with ClojureScript and npm. As I explained earlier, actually, the majority of my professional experience has been with ClojureScript. Watching specifically how shadow helped that ecosystem and make it more accessible to people, that was really cool to be there for that. We have a whole data science sect because Clojure is so good for data science. The only problem is that all the data science libraries are in Python. Bummer? Not really. We have libpython-clj, which helps bridge that. You can use all your favorite Python libraries for your data science, but then actually think about the reasoning in Clojure. That’s cool.

The Scicloj group, as it’s called, they are in the Clojure in Slack, but they actually hang out mostly on Zulip because they mirror the Slack to the Zulip, and then it keeps the history forever, because data science people. Makes sense, they want the data. There are really cool things. It’s almost like an ecosystem inside an ecosystem, the Scicloj data science story. When I did that poll asking, they mentioned Tablecloth, saying it simplifies data manipulation and visualization for analysts and scientists. I’m not a data scientist. I wish I could elaborate on this more.

If you are, you should go into the Slack and start being curious. FlowStorm debugger, I have tried that. That’s cool. It’s a debugging tool that you can use with your REPL for this interactive, fast-tracking program flow. You have to experience it. I feel like I can’t really communicate how awesome the REPL workflow is. It’s like, normally you have to send over your entire program. With a REPL, it’s literally line by line. You have such a tight feedback loop with the data that you’re working on that you can ask it direct questions. It’s awesome because it helps you grow through the exploration. I have a hypothesis that that is why I’ve been able to accelerate as quickly as I have in programming is because of the aid of this feedback loop, of helping me, because there are three things to become an expert, and it’s not 10,000 hours. It all boils down to deliberate practice, which is giving feedback to others, asking for feedback for yourself, and then giving feedback to yourself. The REPL helps you achieve that.

Expert. At this stage, you’ve mastered the fundamentals, and you’re pushing boundaries with what’s possible with Clojure. This is where the curiosity leads into innovation, the innovation story. Here are the tools that represent the cutting edge. 2012, that’s not cutting edge. As I mentioned, I work on the Datomic team. It’s free software, but not free software like that. It’s free to use, not open source. It’s really awesome. It’s used by companies like Netflix.

As we talked about earlier, Nubank went so all in on Datomic, they literally just acquired the consultancy that made it in the language. They feel pretty strongly about it. Because as it turns out, it’s crazy that we mutate state in databases, like when you actually think about it. If you’re asking a question to something, and then you’re changing it, we don’t do that. It’s really good for applications like FinTech and health. When you really don’t want to lose your data, you can’t lose your data, that’s what Datomic is for. XTDB, they are another Clojure-based database that has the time-aware features that I was just talking about.

I think they call it bitemporal capabilities. That just means that you can say, at any point in time, what was the state of this like? That’s because we don’t change the data. There’s also Electric, I think the company is Hyperfiddle, but Electric and Missionary. There’s actually a lot of tools done by Electric. They’re reactive programming frameworks. I am a fan of Dustin Getz, the person behind Hyperfiddle. We went through beginning, intermediate, and expert, and now we have the very tip-top of the chain, Google Sheets, the one true tool for thinking.

Conclusion

Originally, Rich Hickey said, when he embarked on Clojure, he was not, nor did he aspire to be a designer. From now on, he was responsible for Clojure. The success of Clojure changed his life and career in ways that he never thought possible. Clojure Camp gave me the opportunity to be a learning experience designer. That’s one thing I do have in common with Rich, is that Clojure has changed my life in ways that I am so grateful for and I never thought possible. That’s why I’m so passionate about sharing it with everybody.

See more presentations with transcripts

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.


Two Sigma Advisers LP Takes Position in MongoDB, Inc. (NASDAQ:MDB) – MarketBeat

MMS Founder
MMS RSS

Posted on mongodb google news. Visit mongodb google news

Two Sigma Advisers LP purchased a new position in MongoDB, Inc. (NASDAQ:MDBFree Report) during the fourth quarter, according to its most recent disclosure with the Securities & Exchange Commission. The institutional investor purchased 28,000 shares of the company’s stock, valued at approximately $6,519,000.

Other hedge funds have also modified their holdings of the company. Strategic Investment Solutions Inc. IL acquired a new position in shares of MongoDB in the fourth quarter worth $29,000. NCP Inc. acquired a new position in shares of MongoDB in the fourth quarter worth $35,000. Coppell Advisory Solutions LLC increased its stake in shares of MongoDB by 364.0% in the fourth quarter. Coppell Advisory Solutions LLC now owns 232 shares of the company’s stock worth $54,000 after acquiring an additional 182 shares during the last quarter. Smartleaf Asset Management LLC increased its stake in shares of MongoDB by 56.8% in the fourth quarter. Smartleaf Asset Management LLC now owns 370 shares of the company’s stock worth $87,000 after acquiring an additional 134 shares during the last quarter. Finally, Manchester Capital Management LLC increased its stake in shares of MongoDB by 57.4% in the fourth quarter. Manchester Capital Management LLC now owns 384 shares of the company’s stock worth $89,000 after acquiring an additional 140 shares during the last quarter. 89.29% of the stock is owned by institutional investors and hedge funds.

MongoDB Trading Down 1.4%

Shares of NASDAQ:MDB traded down $2.73 during trading on Monday, hitting $185.85. 1,248,300 shares of the company were exchanged, compared to its average volume of 1,933,814. The stock has a market cap of $15.09 billion, a price-to-earnings ratio of -67.83 and a beta of 1.49. MongoDB, Inc. has a fifty-two week low of $140.78 and a fifty-two week high of $370.00. The firm has a fifty day moving average price of $174.61 and a two-hundred day moving average price of $234.84.

MongoDB (NASDAQ:MDBGet Free Report) last posted its quarterly earnings results on Wednesday, March 5th. The company reported $0.19 earnings per share for the quarter, missing the consensus estimate of $0.64 by ($0.45). The company had revenue of $548.40 million for the quarter, compared to analyst estimates of $519.65 million. MongoDB had a negative return on equity of 12.22% and a negative net margin of 10.46%. During the same period last year, the firm earned $0.86 EPS. As a group, research analysts predict that MongoDB, Inc. will post -1.78 EPS for the current year.

Wall Street Analysts Forecast Growth

MDB has been the topic of a number of research reports. Barclays dropped their price target on shares of MongoDB from $280.00 to $252.00 and set an “overweight” rating on the stock in a research note on Friday, May 16th. Wells Fargo & Company downgraded shares of MongoDB from an “overweight” rating to an “equal weight” rating and lowered their target price for the stock from $365.00 to $225.00 in a research report on Thursday, March 6th. Robert W. Baird lowered their target price on shares of MongoDB from $390.00 to $300.00 and set an “outperform” rating on the stock in a research report on Thursday, March 6th. KeyCorp downgraded shares of MongoDB from a “strong-buy” rating to a “hold” rating in a research report on Wednesday, March 5th. Finally, Macquarie lowered their target price on shares of MongoDB from $300.00 to $215.00 and set a “neutral” rating on the stock in a research report on Friday, March 7th. Nine investment analysts have rated the stock with a hold rating, twenty-three have issued a buy rating and one has issued a strong buy rating to the company’s stock. According to MarketBeat, MongoDB currently has a consensus rating of “Moderate Buy” and an average target price of $288.91.

Get Our Latest Stock Report on MDB

Insider Buying and Selling at MongoDB

In related news, CEO Dev Ittycheria sold 18,512 shares of the stock in a transaction that occurred on Wednesday, April 2nd. The shares were sold at an average price of $173.26, for a total transaction of $3,207,389.12. Following the sale, the chief executive officer now owns 268,948 shares in the company, valued at approximately $46,597,930.48. This trade represents a 6.44% decrease in their position. The transaction was disclosed in a legal filing with the SEC, which is accessible through this link. Also, CAO Thomas Bull sold 301 shares of the firm’s stock in a transaction on Wednesday, April 2nd. The shares were sold at an average price of $173.25, for a total transaction of $52,148.25. Following the transaction, the chief accounting officer now directly owns 14,598 shares of the company’s stock, valued at $2,529,103.50. The trade was a 2.02% decrease in their position. The disclosure for this sale can be found here. Insiders have sold a total of 33,538 shares of company stock valued at $6,889,905 in the last three months. 3.60% of the stock is currently owned by company insiders.

MongoDB Profile

(Free Report)

MongoDB, Inc, together with its subsidiaries, provides general purpose database platform worldwide. The company provides MongoDB Atlas, a hosted multi-cloud database-as-a-service solution; MongoDB Enterprise Advanced, a commercial database server for enterprise customers to run in the cloud, on-premises, or in a hybrid environment; and Community Server, a free-to-download version of its database, which includes the functionality that developers need to get started with MongoDB.

Recommended Stories

Institutional Ownership by Quarter for MongoDB (NASDAQ:MDB)

Before you consider MongoDB, you’ll want to hear this.

MarketBeat keeps track of Wall Street’s top-rated and best performing research analysts and the stocks they recommend to their clients on a daily basis. MarketBeat has identified the five stocks that top analysts are quietly whispering to their clients to buy now before the broader market catches on… and MongoDB wasn’t on the list.

While MongoDB currently has a Moderate Buy rating among analysts, top-rated analysts believe these five stocks are better buys.

View The Five Stocks Here

7 Stocks That Could Be Bigger Than Tesla, Nvidia, and Google Cover

Looking for the next FAANG stock before everyone has heard about it? Enter your email address to see which stocks MarketBeat analysts think might become the next trillion dollar tech company.

Get This Free Report

Like this article? Share it with a colleague.

Link copied to clipboard.

Article originally posted on mongodb google news. Visit mongodb google news

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.


Java News Roundup: Java Turns 30, Hibernate ORM 7.0, Embabel, jaz, Open Liberty, Eclipse DataGrid

MMS Founder
MMS Michael Redlich

Article originally posted on InfoQ. Visit InfoQ

This week’s Java roundup for May 19th, 2025 features news highlighting: Java’s 30th birthday; the release of Hibernate ORM 7.0 and Hibernate Validator 9.0; the May 2025 edition of Open Liberty; the first beta release of JobRunr 8.0; and the introduction of Embabel, jaz, and Eclipse DataGrid.

Happy 30th Birthday, Java!

On May 23rd, 1995 at the Sun World conference in San Francisco, California, Sun Microsystems formally introduced the Java programming language. Oracle marked this milestone with their 30th Birthday Event, hosted by Java Developer Advocates, Ana-Maria Mihalceanu, Billy Korando and Nicolai Parlog along with Sharat Chander, Senior Director, Product Management & Developer Engagement at Oracle. This special six-hour event featured many guests on a variety of topics. InfoQ will follow up with a more detailed news story.

OpenJDK

With Rampdown Phase One scheduled for June 5, 2025, the following JEPs have been elevated from Proposed to Target to Targeted for JDK 25:

Similarly, the following JEPs have been elevated from Candidate to Proposed to Target for JDK 25:

The reviews for the JEPs that have been Proposed to Target are expected to conclude by Tuesday, May 27, 2025.

Version 7.5.2 of the Regression Test Harness for the JDK, jtreg, has been released and ready for integration in the JDK. The most significant changes include: support for using the ${test.main.class} template to use the current class name for test actions; the ability to configure the default timeout value in jtreg tests via a properties file; and support for .jasm and .jcod files in patched Java modules. Further details on this release may be found in the release notes.

JDK 25

Build 24 of the JDK 25 early-access builds was made available this past week featuring updates from Build 23 that include fixes for various issues. More details on this release may be found in the release notes.

For JDK 25, developers are encouraged to report bugs via the Java Bug Database.

Jakarta EE

In his weekly Hashtag Jakarta EE blog, Ivar Grimstad, Jakarta EE Developer Advocate at the Eclipse Foundation, provided an update on Jakarta EE 11 and Jakarta EE 12, writing:

The Jakarta EE 11 TCK is very close to being finalized, so it looks like we are on the path of getting the Jakarta EE 11 Platform release out the door in the middle of June.

The work with Jakarta EE 12 is on track according to the Jakarta EE 12 Release Plan. Plan reviews have been completed, and discussions right now are around which specifications to add (if any) to the Platform, and which to possibly deprecate.

The road to Jakarta EE 11 included five milestone releases, the release of the Core Profile in December 2024, the release of Web Profile in April 2025, and a first release candidate of the Platform before its anticipated GA release in June 2025.

Spring Framework

It was a busy week over at Spring as the various teams have delivered GA releases of Spring Boot, Spring Security, Spring Authorization Server, Spring Session, Spring Integration, Spring for GraphQL, Spring AI and Spring Web Services. Further details may be found in this InfoQ news story.

The Spring Data team has introduced their plan to lower the barrier to entry related to the different approaches with technologies (GraalVM, CRaC, CDS, etc.) that reduce application startup times. With the upcoming release of Spring Data 2025.1 (AKA version 4.0), repositories will be migrating to Ahead-of-Time compilation. This means they will be shifting all the “repository preparations that are done at application startup to build time.” This may be accomplished by setting the spring.aot.repositories.enabled property to true.

Microsoft Azure

Microsoft has introduced their new Azure Command Launcher for Java, named jaz, to address “suboptimal resource utilization in cloud-based deployments, where memory and CPU tend to be dedicated for application workloads (use of containers and VMs) but still require intelligent management to maximize efficiency and cost-effectiveness.” This means that instead of writing:

    
$ JAVA_OPTS="-XX:... several JVM tuning flags"
$ java $JAVA_OPTS -jar myapp.jar"
    

Developers can now write:

    
$ jaz -jar myapp.jar
    

jaz is currently in private preview and requests for access may be made here.

Open Liberty

IBM has released version 25.0.0.5 of Open Liberty featuring bug fixes and the ability for the MicroProfile Telemetry 2.0 (mpTelemetry-2.0) feature to collect and send Open Liberty HTTP access logs, such as export traces, metrics, and logs, to OpenTelemetry.

Quarkus

The Quarkus team has announced that Quarkus MCP Server 1.2.0 now supports streamable HTTP, along with the stdio and SSE transports, that make it possible to connect mobile applications and cloud services to MCP servers. While this is considered a full implementation, the Quarkus team plans future releases to include resumability and redelivery.

Hibernate

The release of Hibernate ORM 7.0.0.Final delivers new features such as: a new QuerySpecification interface that provides a common set of methods for all query specifications that allow for iterative, programmatic building of a query; and a migration from Hibernate Commons Annotations (HCANN) to the new Hibernate Models project for low-level processing of an application domain model. There is also support for the Jakarta Persistence 3.2 specification, the latest version targeted for Jakarta EE 11. More details on this release may be found in the release notes and the migration guide.

The release of Hibernate Validator 9.0.0.Final provides bug fixes, dependency upgrades and notable changes such as: new constraints, @KorRRN and @BitcoinAddress, annotations that check for a valid Korean resident registration number and a well-formed BTC (Bitcoin) Mainnet address, respectively; and a new BOM that provides dependency management for all of the published artifacts. This release is the compatible implementation of the Jakarta Validation 3.1 specification.

Details on both of these releases may be found in this blog post by Gavin King, Senior Distinguished Engineer at IBM and creator of Hibernate.

Embabel Agent Framework

Rod Johnson, former CEO at Atomist and father of the Spring Framework, has introduced the Embabel Agent Framework for the JVM written in Kotlin. As described by Johnson:

It introduces some ideas that I think are novel: a planning step using a non-LLM AI algorithm; and a rich domain model that can expose behavior as LLM tools as well as in Java or Kotlin code.

Embabel was built on Spring and offers a full MCP integration with Spring AI. InfoQ will follow up with a more detailed news story.

JobRunr

The first beta release of JobRunr 8.0.0 features: ahead-of-time scheduled recurring jobs where JobRunr schedules a recurring job as soon as the previous run is finished; and support for Kotlin serialization with a new KotlinxSerializationJsonMapper class, an implementation of the JsonMapper interface, for an improved experience when writing JobRunr applications in Kotlin. Further details on this release may be found in the release notes.

Eclipse DataStore

The Eclipse Foundation and Microstream have introduced a new open-source project, Eclipse DataGrid, designed to be a pure Java in-memory data processing layer for distributed EclipseStore applications. As a result, Microstream will open-source their in-memory data platform and transfer the codebase to Eclipse DataGrid. Features include: a distributed Java object graph model; seamless integration with the Java Streams API; and integration with Apache Lucene and Kubernetes.

About the Author

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.