[Dev Catch Up #50] - Scaling a language model short book, Chunking PDFs with Gemini 2.0, Test-time scaling, Reflection in C++, ESLint vs TypeScript, and much more.
Bringing devs up to speed on the latest dev news from the trends including, a bunch of exciting developments and articles.
Welcome to the 50th edition of DevShorts, Dev Catch Up!
For those who joined recently or are reading Dev Catch Up for the first time, I write about developer stories and open source, partly based on my work and experience interacting with people all over the globe.
Thanks for reading Dev Shorts! Subscribe for free to receive new posts and support my work.
Some recent issues from Dev Catch up:
How to use Postgres as a Vector Database with BGE Embedding model
Apollo video LLM, Gemini 2.0, lla file explorer, Database migration
Join 6500+ developers to hear stories from Open source and technology.
Must Read
I discovered this book that helps understand and optimize a model's performance. It aims to show the science involved in scaling a language model on a TPU and requires you to have the basics of LLM training and familiarity with JAX.
When you explore the tech internet these days, LLM is the one thing that echoes loudly. If you are new to the space, you might not be familiar with the term, but you might have heard or used ChatGPT in your everyday life and wondered how that thing works. Here is an article that deep dives into LLMs and sheds light on the actual working principle, the complex fine-tuning terms, the idea of prompts, and much more.
Gemini 2.0 became an instant hit from its universal release with its cost-effectiveness and near-perfect OCR accuracy. While this is exciting, I am more enthralled with its ability to chunk PDFs into machine-readable texts at scale for low costs. This article from Sergey Filimonov discusses the success and effectiveness of the strategy.
After the Deepseek shakeup, many are focusing on improving the performance of a language model. While looking for relevant papers on the subject, I found this paper on Test-time scaling, a promising approach to language modeling that uses extra test-time compute to improve performance.
Compromised security in code is a concern for many developers, and that concern became an issue with the discovery of malicious typosquat packages in the Go ecosystem. Read this article to learn about the package that exploited the Go Module Proxy caching and remained undetected for years.
OSS Highlight of the Week
Oatmeal is a terminal UI application that chats with LLMs using different model backends. While it works well as a stand-alone application, it can also integrate with your favorite editor. You can check it out on its official GitHub page.
Hope you are enjoying this edition of our newsletter so far! Support us by following our LinkedIn and X pages.
Your support is highly appreciated!
Good to know
Introducing Deepseek-R1 is a breakthrough moment for reasoning with LLMs because it can think more without human feedback through Group Relative Policy Optimization (GRPO). Unsloth enhanced the entire GRPO process, and with that, they present this article that shows you how to reproduce the same result with a model of your choice.
Reflection in C++ is a powerful feature. For those of you wondering, it is the ability of a program to modify its structure and behavior at runtime. While studying, I came across this article that explores implementing order-independent keyword arguments for C++ using C++26’s proposed reflection features.
As a dev, you are bound to use the terminal in your day-to-day job. While using a terminal may seem frustrating for a beginner, here are some of the terminal frustrations from this article by Julia Evans.
Notable FYIs
Software engineers' increased use of LLMs for code generation has led to the need for prompt programming to improve the generated code. While researching the topic, this paper on CodePromptEval caught my attention. It is a dataset of prompts designed to evaluate prompt techniques and their effect on the correctness, similarity, and quality of LLM-generated complete functions.
As a JavaScript developer, there is a high chance you will use linters and type checkers to assist development. Eslint and TypeScript should be a top choice, and this article differentiates the two static analysis tools despite their similar performance.
If you are familiar with LLMs, you must have tried out RAGs to enhance LLMs, but it fell short with complex information synthesis. Microsoft introduced GraphRAG to overcome shortcomings, and this guided tutorial shows you how to build a GraphRAG system with Neo4j and Qdrant.
Rust dominated the programming language hype in 2024, and it helps to prevent you from making memory-related errors. This recently published article compares Rust and Ada by mentioning the most common memory-related errors and their approach to preventing them.
Learning git is essential for practicing open development, and Beej’s guide to git is the perfect package for you, regardless of whether you are a beginner or an experienced developer.
That’s it from us with this edition. We hope you are going away with a ton of new information. Lastly, share this newsletter with your colleagues and pals if you find it valuable. A subscription to the newsletter will be awesome if you are reading it for the first time.