Serverless

Vol. 22 No. 3 – May/June 2024

Serverless

The Expense of Unprotected Free Software:
It's high time FOSS maintainers got a bit of appreciation

Until the big guns manage to sort things out, we're just going to need to take care of things however we can. The best we can hope for, of course, is to convince companies, institutions, and governments that it would be a really good idea to cut monthly checks for those people who maintain the software that these organizations absolutely depend upon.

by Poul-Henning Kamp

Repeat, Reproduce, Replicate:
The pressure to publish versus the will to defend scientific claims

Unless a result relies on a specific hardware trick, such as a proprietary accelerator or modified instruction set, it is possible to reproduce the results of one group by a different one. Unlike the physicists we don't have to build a second Hadron Collider to verify the result of the first. We have millions of similar, and sometimes identical, devices, on which to reproduce our results. All that is required is the will to do so.

by George V. Neville-Neil

Working Models for Tackling Tech Debt:
Understand the options to tailor an approach that suits your needs

Remember that not all debt is bad, and sometimes, in fact, strategic tech debt can even be used as a valuable tool to achieve certain business goals?just as financial debt can be taken on to obtain capital that can be invested in other profitable ventures. For example, taking a shortcut to get a product to market quickly could prove to be a wise decision if it allows the company to learn from customer feedback and then iterate accordingly on the product. But like barnacles on a ship, too much tech debt can slow you down, so be vigilant about managing it.

by Kate Matsudaira

Transactions and Serverless are Made for Each Other:
If serverless platforms could wrap functions in database transactions, they would be a good fit for database-backed applications.

Database-backed applications are an exciting new frontier for serverless computation. By tightly integrating application execution and data management, a transactional serverless platform enables many new features not possible in either existing serverless platforms or server-based deployments.

by Qian Li, Peter Kraft

You Don't Know Jack about Bandwidth:
If you're an ISP and all your customers hate you, take heart. This is now a solvable problem.

Bandwidth probably isn't the problem when your employees or customers say they have terrible Internet performance. Once they have something in the range of 50 to 100 Mbps, the problem is latency, how long it takes for the ISP's routers to process their traffic. If you're an ISP and all your customers hate you, take heart. This is now a solvable problem, thanks to a dedicated band of individuals who hunted it down, killed it, and then proved out their solution in home routers.

by David Collier-Brown

Toward Effective AI Support for Developers:
A survey of desires and concerns

The journey of integrating AI into the daily lives of software engineers is not without its challenges. Yet, it promises a transformative shift in how developers can translate their creative visions into tangible solutions. As we have seen, AI tools such as GitHub Copilot are already reshaping the code-writing experience, enabling developers to be more productive and to spend more time on creative and complex tasks. The skepticism around AI, from concerns about job security to its real-world efficacy, underscores the need for a balanced approach that prioritizes transparency, education, and ethical considerations. With these efforts, AI has the potential not only to alleviate the burdens of mundane tasks, but also to unlock new horizons of innovation and growth.

by Mansi Khemka, Brian Houck

Virtual Machinations: Using Large Language Models as Neural Computers:
LLMs can function not only as databases, but also as dynamic, end-user programmable neural computers.

We explore how Large Language Models (LLMs) can function not just as databases, but as dynamic, end-user programmable neural computers. The native programming language for this neural computer is a Logic Programming-inspired declarative language that formalizes and externalizes the chain-of-thought reasoning as it might happen inside a large language model.

by Erik Meijer