[Dev Catch Up #16] - Observable 2.0, Antithesis launch, sudo in Windows, and more.
Bringing devs up to speed on the latest dev news from the trends including , and a bunch of exciting developments and articles.
Welcome to the 16th edition of DevShorts, Dev Catch Up!
I write about developer stories and open source, partly from my work and experience interacting with people all over the globe.
Some recent issues from Dev Catch up:
Join 1000+ developers to hear stories from Open source and technology.
Like our last ones, this issue also covers the unique stories trending in our developer circle, along with a look at new open-source projects, tutorials, conference news, and much more.
Must Read
The use of data is particularly important in today’s modern world and effective presentation of it is exceptionally critical for deep insight, nuanced understandings, and informed decisions. These insights help to have effective communication among different teams in an organisation. ObservableHQ picked on these elements and made a bold move with the launch of Observable 2.0. It is an open-source static site generator for building fast and beautiful data apps, dashboards, and reports. The site generator runs on a framework that combines the power of JavaScript on the front-end for interactive graphics and any language of your choice on the backend for data preparation and analysis. Learn more about Observable 2.0 and the framework from this blog published by Observablehq where they talked about their product in detail.
The age of AI is spreading its wings and is helping users become more productive with their daily activities. A few years from now, it is impossible to think that AI will shape the future of software engineering. Debugging is a major problem in the area and there are little to no solutions in the market addressing this problem. We have the ability to write code with the help of AI but very little light is there in terms of finding bugs in an already written code. Keeping this in mind, Antithesis came into existence with the solution to find bugs irrespective of the complexity of your system. It is a platform that takes your software and hunts for bugs in it. This special forces tool is available in the market and you can also learn more about it from this blog written by Will Wilson, the CEO of Antithesis. Interesting that the founders have built a popular distributed database FoundationDB.
AI and ML have been the talk of the town in recent years and there is a significant rise in the use of ML in production environments. With LLMs, generative AI, deep-learning, etc., getting implemented in the recent days, it is seen that LLMs make only a small portion of the pie when it comes to using ML in production purposes. But when looking at the bigger picture, it is evident that LLMs will make up a significant portion of the market in future. Comparing today’s ML systems with their LLM counterparts helps in getting a contrast on the things in store for us in the future. This article from Vicki Boykis presents a deep-dive on the things that will come for ML used in production environments.
If you are familiar with Linux and Mac, you are very much familiar with the Sudo command. “superuser-do” or in short, Sudo is widely used to run programs with higher security privileges or as another user. This command is very useful for developers who want to test scripts. But it is unavailable so far in the Windows Operating System. With sudo in windows, developers can run elevated tools directly from an unelevated console. Currently in testing, It will be available later this year for all users. Know more about this development from this article published by The Verge where more information has been laid out on the release.
Running online operations smoothly is highly needed while running a successful business and storing of temporary data is useful for that. The method which stores temporary data for quick access and runs the online world smoothly is known as caching. Since, there is not the luxury of having unlimited space, the main question that arises is about knowing the things you need to keep and discard. This is where the Eviction Algorithm comes into play which removes the least useful and frequent items in the cache to maximise its efficiency. There are several eviction algorithms like LRU, LFU, etc. LRU is the most used algorithm and it got a competitor recently in the name of SIEVE. SIEVE is an eviction algorithm developed by Yazhou Zhang and her team which is much simpler and more efficient than LRU. Know more about this algorithm from this article published by Yazhou Zhang and her team, where she explained the algorithm in detail with features and implementation.
Now, we will head over to some of the news and articles that will be at a place of interest for developers and the tech community out there.
Good to know
The battle between Monolith and Microservices architecture is trendy. Often there are instances where microservices architecture has beaten monolith in terms of advantages like fault-tolerance, cost-effectiveness, agility, etc. But have you heard about the term modulith? To make the battle between choosing architectures a bit spicy, comes the modulith architecture that emphasises modularity within a monolithic application. Modulith architecture contains a combination of the simplicity and straightforwardness of a monolith architecture with the maintainability and modularity of microservices. Hence, it holds an advantage when compared with the industry's favourite microservices. Pier Jean Malandrino has written an excellent article where you will get to understand the bits and pieces of this architectural style in detail.
Logs are essential in the field of observability because they help determine the behaviour and state of your application. They are records that contain invaluable data points like warnings, error messages, etc., that become highly essential while diagnosing an arised issue within the system. Generally, logs are unstructured data but there are several observability tools that help structure them in formats like JSON and YAML. But storing these log data consumes a lot of your memory that eventually increases your cloud costs. Hence, the solution to this problem will be in the form of aggregating logs without the drop of data. This article from Kevin Lin talks about lossless aggregation of log that reduces log volume by 99 percent without dropping data.
The open-source tool that has been getting a lot of attention lately is a library named remote-storage built by the awesome team at FrigadeHQ. It raked up a significant amount of stars in recent days. It combines the localStorage API with a remote server to persist data across browsers and sessions. Apps can easily read and write data on the fly while maintaining state across browsers and devices. It features a simple APi and stores data in a key-value format within a database. It is lightweight and works with all JavaScript frameworks. Get to know more about remote-storage from the GitHub repository here and leave a star to support them.
Lastly, we will take a look at some of the trending scoops that hold a special mention for the community.
Notable FYIs
Termed the year of AI with developments from tech giants and startups, many are looking forward to continuing this in the new year as well. Here is an article from Big Technology by Alex Kantrowitz where tech predictions for 2024 have been discussed with great interest.
Retrieval Augmented Generation or RAG is the technique to enhance the accuracy of generative AI and is a crucial part of the AI workflow. This podcast from Latent Space includes the founders of Sourcegraph, where they talk about RAG and workflow in general including code search, retrieval interfaces of code, and getting better at resolving bin packaging problems for LLM context generation.
Automated cluster provisioning configures the resources of a cluster on behalf of a user and helps in quick deployment. As a result, it cuts down the time needed for manual configuration and streamlines the deployment process. Marcus Kohlberg from Encore has jotted down a wonderfully explained article on automatically provisioning a Kubernetes cluster and deploying a Go backend to it.
While building a database management system, you have to follow certain principles that will ensure the reliability and consistency of the data within the system. The most important ones are in the acronym ACID which refers to atomicity, consistency, isolation, and durability. This short article from ByteByteGo explains the meaning of these principles in the context of a database transaction.
Efficient management and directing of network traffic are highly important to maintain efficient network communication and balancing of loads across the system. This is done using a number of policies known as internet traffic routing policies or DNS policies. Folks at ByteByteGo have explained the different types of policies in layman's terms through this very short article.
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 and a subscription to the newsletter will be awesome if you are reading for the first time.