Coding tools news 2022

Here is a post where I post information on new and interesting coding tools on the comments.

889 Comments

  1. Tomi Engdahl says:

    Gitleaks: Open-source solution for detecting secrets in your code
    Gitleaks is an open-source SAST tool designed to detect and prevent hardcoded secrets such as passwords, API keys, and tokens in Git repositories
    https://www.helpnetsecurity.com/2024/06/27/gitleaks-open-source-solution-detecting-secrets-in-code/

    Reply
  2. Tomi Engdahl says:

    MoonBit: Wasm-Optimized Language Creates Less Code Than Rust
    MoonBit is an end-to-end programming language that’s optimized for WebAssembly, while also compiling to JavaScript and Assembly code.
    https://thenewstack.io/moonbit-wasm-optimized-language-creates-less-code-than-rust/

    Reply
  3. Tomi Engdahl says:

    Open Source ‘Eclipse Theia IDE’ Exits Beta to Challenge Visual Studio Code
    https://visualstudiomagazine.com/Articles/2024/06/27/eclipse-theia-ide.aspx

    Some seven years in the making, the Eclipse Foundation’s Theia IDE project is now generally available, emerging from beta to challenge Microsoft’s similar Visual Studio Code editor, with which it shares much tech.

    The Eclipse Theia IDE, part of the Eclipse Cloud DevTools ecosystem, primarily differs from VS Code in licensing and governance. Open-source champion Eclipse Foundation calls it a “true open-source alternative” to VS Code, which Microsoft has described as being “built” on open source but with proprietary elements like default telemetry with which usage data is collected.

    Reply
  4. Tomi Engdahl says:

    Serverless cloud technology fades away
    Serverless was a big deal for a hot minute, but now it seems old-fashioned, even though its basic elements, agility and scalability, are still relevant.
    https://www.infoworld.com/article/3715605/serverless-cloud-technology-fades-away.html

    It is becoming increasingly evident that serverless technology is losing relevance and will soon fade away in the cloud technology space. Why did this happen? What can we learn from this evolution of technology?

    When serverless computing first hit the streets over a decade ago as a cloud computing paradigm, it saved us from needing to handle detailed compute and storage configurations. Everything was done automatically at the time of execution. This seemed more evolution than revolution because PaaS systems were already doing an aspect of this type of computing.

    Today, serverless cloud technology is increasingly overshadowed in the cloud technology marketplace. Initially lauded for its promise of simplified infrastructure management and scalability, serverless computing has been pushed to the periphery as new trends and technologies capture the spotlight.

    Reply
  5. Tomi Engdahl says:

    https://hackaday.com/2024/07/07/c-compiler-exists-entirely-in-vim/

    8cc.vim is a C compiler that exists as pure Vimscript. Is it small? It sure is! How about fast? Absolutely not! Efficient? Also no. But does it work and is it neat? You betcha!

    https://github.com/rhysd/8cc.vim

    Reply
  6. Tomi Engdahl says:

    It’s not about avoiding technical debt at all costs but managing it wisely.

    In summary, managing legacy systems and addressing technical debt is a critical aspect of software development. It involves continuous improvement, strategic planning, and effective communication to overcome challenges and keep systems up-to-date.

    The ultimate goal is to maintain a fresh and functional codebase, free from the shackles of a bygone era. The key takeaway is this: it’s not about avoiding technical debt at all costs but managing it wisely.
    https://www.helmes.com/technical-debt-the-silent-killer-of-software-projects/

    Reply
  7. Tomi Engdahl says:

    Zed, GPU-accelerated IDE Written in Rust, is now available for Linux
    https://www.omgubuntu.co.uk/2024/07/zed-editor-linux-released#google_vignette

    Open-source editor Zed is now available for Linux.

    Zed is a GPL licensed IDE written in Rust, developed by the authors of the Atom editor and the creators of the Tree-sitter parser generator.

    Out-of-the-box it offers the essential features one expects of a modern IDE, including:

    Expansive language support
    Syntax highlighting
    Auto-indent
    Outline view
    Autocomplete
    Real-time collaboration tools
    Integrated terminal
    Vim mode
    Themes

    But it also has some unique touches, too.

    Notably, Zed is GPU-accelerated (by way of the Vulkan API). Combined with the editor’s Rust underpinnings, this editor boasts blazingly fast startup times, can open large files/projects instantly, and benefits from lower input latency than rival editors, like VS Code.

    Plus, Zed provides in-app integration with OpenAI’s ChatGPT (and Copilot on macOS builds). Once a valid API key is entered, users can quickly generate new code from prompts, refactor code entered by GPT’s archaic ancestor (a human); and troubleshoot issues.

    Reply
  8. Tomi Engdahl says:

    Python Meets JavaScript, Wasm With the Magic of PythonMonkey
    PythonMonkey enables developers to use Python code in JavaScript and vice versa with ease and virtually no performance loss.
    https://thenewstack.io/python-meets-javascript-wasm-with-the-magic-of-pythonmonkey/

    PythonMonkey, an innovative JavaScript runtime embedded within Python, is bridging the gap between two of the world’s most popular programming languages.

    PythonMonkey is a JavaScript runtime living inside of Python, built on top of Mozilla‘s SpiderMonkey engine. Developers can use it as a Python library for running JavaScript code in Python.

    Distributive, a Kingston, Ontario Canada-based cloud computing startup, built PythonMonkey so they could port their JavaScript NodeJS SDK directly to Python without having to maintain both projects, essentially cutting their code maintenance costs in half.

    “We’re hoping PythonMonkey will help bridge the gap between the millions of npm packages and Python developers as well as potentially one day standing on its own as a JavaScript runtime competing with Node.js, Bun and Deno but with the ability to use ‘any’ Python package from JS,” said Will Pringle, a software developer at Distributive.

    Indeed, PythonMonkey enables developers to use Python code in JavaScript and vice versa with ease and virtually no performance loss, Pringle wrote in a blog post introducing the technology last year — meanwhile, Distributive plans to release PythonMonkey 1.0 next month.

    WebAssembly API and Engine
    “For instance, it’ll be possible to call Python packages like NumPy from within a JavaScript library, or use NPM packages like crypto-js directly from Python,” Pringle wrote “Also, executing WebAssembly (Wasm) modules in Python becomes trivial using the WebAssembly API and engine from SpiderMonkey.”

    Yes, the library leverages SpiderMonkey’s features, including its WebAssembly engine, allowing Python to run untrusted Wasm code in a sandbox from a variety of languages such as C, C++, Rust, and others.

    Run JavaScript/WASM in Python: high-level SpiderMonkey bindings to Python with PythonMonkey
    https://medium.com/@willkantorpringle/pythonmonkey-javascript-wasm-interop-in-python-using-spidermonkey-bindings-4a8efce2e598

    Reply
  9. Tomi Engdahl says:

    The Python Linter Ruff Is a Win for Open Source — and Rust
    In 2022, Charlie Marsh wrote a fast open source Python linter in Rust. Now, Ruff gets millions of downloads per week, as Marsh learned the power of open source.
    https://thenewstack.io/the-python-linter-ruff-is-a-win-for-open-source-and-rust/

    Reply
  10. Tomi Engdahl says:

    CUSTOM MICROCODE COMPILER, MADE IN GOOGLE SHEETS
    https://hackaday.com/2024/07/07/custom-microcode-compiler-made-in-google-sheets/

    When homebrewing a CPU, one has to deal with microcode. Microcode is the low-level nuts and bolts of how, precisely, a CPU executes instructions (like opcodes) and performs functions such as updating the cycle counter or handling interrupt requests. To make this task easier, [Bob Alexander] created a microcode compiler built in Google Sheets to help with his own homebrew work, but it’s flexible and configurable enough to be useful to others, as well.

    https://www.galacticstudios.org/microcode-compiler/

    Reply
  11. Tomi Engdahl says:

    5 New Open Source Programming Languages That You Might Have Missed!
    You never know, one of these programming languages can be the next big thing!
    https://news.itsfoss.com/new-open-source-programming-languages/

    From the house of Apple, Pkl (pronounced Pickle) is a declarative programming language that was built as a configuration-as-code implementation with support for rich validation and tooling.

    They introduced this to address the shortcomings of static languages like YAML, JSON, and Property Lists, when configuration became more complex.

    Lax

    Being an under-development bit of kit, Lax was created because its creator felt that the way other languages parse and interpret code is “unnecessarily strict”.

    They wanted to demonstrate that it was possible to build a language with highly loose/flexible syntax that wouldn’t sacrifice on the level of performance and control offered by lower-level languages.

    Amber is a programming language that makes Bash scripting easier by allowing users to write Bash scripts in a high-level programming language, closer to what a human might understand easily.

    Marketed by its developer as a programming language that “solves the software shareability problem”, Scrapscript is meant to make software safe and sharable.

    Knowledge Graph Language (KGL) is the result of that.

    With KGL, you can interact with knowledge graphs in a straightforward way, carrying out tasks such as returning all connecting nodes, finding out how two separate nodes connect, and finding all attributes related to a node in a graph

    Reply
  12. Tomi Engdahl says:

    Python Developers Hold the Key to Blockchain Adoption
    You don’t need to know a niche language or have specialist skills in cryptography to participate; you just need Python.
    https://thenewstack.io/python-developers-hold-the-key-to-blockchain-adoption/

    Reply
  13. Tomi Engdahl says:

    The Top 12 Open-Source No-Code Tools with the Most GitHub Stars
    https://dev.to/nocobase/the-top-12-open-source-no-code-tools-with-the-most-github-stars-4aac

    In this article, we will explore 12 leading open-source, no-code tools on GitHub, each distinguished by its star ranking.

    Each tool is designed to streamline and accelerate the development process, though they each focus on different application scenarios.

    Reply
  14. Tomi Engdahl says:

    Goodbye Manual Prompting, Hello Programming With DSPy
    The DSPy framework aims to resolve consistency and reliability issues by prioritizing declarative, systematic programming over manual prompt writing.
    https://thenewstack.io/goodbye-manual-prompting-hello-programming-with-dspy/

    The development of scalable and optimized AI applications using large language models (LLMs) is still in its growing stages. Building applications based on LLMs is complex and time-consuming due to the extensive manual work involved, such as writing prompts.

    Prompt writing is the most important part of any LLM application as it helps us to extract the best possible results from the model. However, crafting an optimized prompt requires developers to rely heavily on hit-and-trial methods, wasting significant time until the desired result is achieved.

    Reply
  15. Tomi Engdahl says:

    Devs Need System Design Tools, Not Diagramming Tools
    Navigating The XY Problem: Reframing Questions to Solve the Right Problems.
    https://thenewstack.io/devs-need-system-design-tools-not-diagramming-tools/

    When engineering teams select tools for managing their software systems, particularly for design and visualization, they often encounter the XY problem.

    The XY problem arises when someone attempts to solve problem X using solution Y but faces challenges. Instead of seeking help for problem X, they request support for solution Y, obscuring the root cause and leading to miscommunication and suboptimal solutions.

    Reply
  16. Tomi Engdahl says:

    DevToys (Developer Tools App) is Now Available for Linux
    https://www.omgubuntu.co.uk/2024/07/devtoys-developer-tool-now-available-on-linux

    When Scott suggested I cover a new open-source app for Linux on the basis “it’s like Microsoft PowerToys for developers”, I wasn’t exactly sure what I’d be writing about — or why.

    But after reading the website for DevToys (the app in question) where’s described as a “Swiss Army knife for developers”, things suddenly made more sense.

    DevToys bakes in 30 tools to “help with daily development tasks”, saving programmers, coders, and web builders time and effort as part of their workflow, and perhaps easing the frustration which often stems from switching between different apps, CLI tools, and websites.

    To that end, DevToy’s overriding “USP” is one of convenience.

    Every task it tackles can be achieved using other software, plugins, command-line tools, websites, or good ol’ fashioned manual effort. The benefit it provides is all of those tools are present, accessible, and easy to find in one place.

    DevToys 2.0 offers 30 tools, including: –

    Converters for JSON YAML, date, number bases
    Encoders/Decoders for HTML, JWT, Base64, GZip, QR codes
    Formatters for JSON, SQL, XML
    Generators including hash, checksum, Lorem Ipsum, passwords
    Graphics tools like a colour blindness simulator, image compression/conversion
    Testers for JSONPath, RegEx, and XML
    Text helpers to preview markdown, compare text, change case, reorder

    https://devtoys.com/

    Reply
  17. Tomi Engdahl says:

    Coding From Scratch Creates New Risks
    The good news for organizations is that CodeOps combines AI and human ingenuity to minimize these risks while saving time and money.
    https://thenewstack.io/coding-from-scratch-creates-new-risks/

    Digital assets, including apps and websites, are a must-have for organizations, and those that are innovative, intuitive, and fun to use can go a long way toward building long-lasting customer relationships. Creativity helps businesses stand out in a crowded marketplace, but many need to realize that they don’t need to reinvent the wheel and start the app development process from scratch.

    In many new app development projects, a significant portion of the required code has already been written — up to 70% is often readily available. This code may originate from open source projects or have been previously developed by developers within the organization.

    Despite the abundance of existing code, efforts to prioritize code reuse have historically faced challenges. Solutions such as low- or no-code platforms often force disruption and demand new, non-transferable skill sets, contributing to resistance and failure. Many of these solutions also need more technical maturity to deliver on their promises.

    This is why organizations turn to CodeOps, an AI-driven software development process prioritizing systematic code reuse. This helps teams avoid wasting time reinventing the wheel and, more importantly, significantly reduces the risks associated with writing code from scratch, including:

    Reply
  18. Tomi Engdahl says:

    After 15 years, the maintainer of Homebrew plans to make a living
    Follow along for a swig of open-source history and an interview with Mike McQuaid
    https://thenextweb.com/news/homebrew-maintainer-make-a-living-15-weeks

    Reply
  19. Tomi Engdahl says:

    How to Use Self-Healing Code to Reduce Technical Debt
    The idea of self-healing code with LLMs is exciting, but balancing automation and human oversight is still crucial.
    https://thenewstack.io/how-to-use-self-healing-code-to-reduce-technical-debt/

    Reply
  20. Tomi Engdahl says:

    AdaptiveCpp 24.06 Released As “The Fastest Heterogeneous C++ Compiler” – Beats CUDA
    https://www.phoronix.com/news/AdaptiveCpp-24.06-Released

    Reply
  21. Tomi Engdahl says:

    Where is the magic? What exactly is a neural network and how does it work?
    https://researchoutreach.org/blog/neural-network-how-work/

    Reply
  22. Tomi Engdahl says:

    Is The Testing Pyramid Broken?
    Problems in testing software with microservices have blocked many productivity gains. How to get back to confident releases in production.
    https://thenewstack.io/is-the-testing-pyramid-broken/

    Reply
  23. Tomi Engdahl says:

    DARPA suggests turning old C code automatically into Rust – using AI, of course
    Who wants to make a TRACTOR pull request?
    https://www.theregister.com/2024/08/03/darpa_c_to_rust/

    To accelerate the transition to memory safe programming languages, the US Defense Advanced Research Projects Agency (DARPA) is driving the development of TRACTOR, a programmatic code conversion vehicle.

    The term stands for TRanslating All C TO Rust. It’s a DARPA project that aims to develop machine-learning tools that can automate the conversion of legacy C code into Rust.

    The reason to do so is memory safety. Memory safety bugs, such buffer overflows, account for the majority of major vulnerabilities in large codebases. And DARPA’s hope is that AI models can help with the programming language translation, in order to make software more secure.

    Reply
  24. Tomi Engdahl says:

    Software Engineering Intelligence Software engineering intelligence platforms
    AI-Augmented Development Software engineering leaders need a cost-effective way to help their teams build software faster. According to the Gartner survey, 58% of respondents said their organization is using or planning to use generative AI over the next 12 months to control or reduce costs.
    Green Software Engineering Green software engineering is the discipline of building software that is carbon-efficient and carbon-aware. Building green software involves making energy-efficient choices for architecture and design patterns, algorithms, data structures, programming languages, language runtimes and infrastructure.
    Platform Engineering Platform engineering reduces cognitive load for developers by offering underlying capabilities via internal developer portals and platforms that multiple product teams can use. 
    Cloud Development Environments Cloud development environments provide remote, ready-to-use access to a cloud-hosted development environment with minimal effort for setup and configuration. 

    Source: https://www.gartner.com/en/newsroom/press-releases/2024-05-16-gartner-identifies-the-top-five-strategic-technology-trends-in-software-engineering-for-2024

    Reply
  25. Tomi Engdahl says:

    DARPA Aims to Ditch C Code, Move to Rust
    The Defense Advanced Research Projects Agency launches TRACTOR program to work with university and industry researchers on creating a translation system that can turn C code into secure, idiomatic Rust code.
    https://www.darkreading.com/application-security/darpa-aims-to-ditch-c-code-move-to-rust

    The US military agency responsible for developing new technologies plans to embark on an effort to rewrite significant volumes of C code by funding a new research challenge to create an automated translator capable of converting old C code with function written in the security-focused Rust language.

    The Defense Advanced Research Projects Agency (DARPA) will hold a workshop, known as Proposers Day, on Aug. 26 to outline its vision for the Translating All C to Rust (TRACTOR) project. The effort calls for academic and industry research groups to compete to create a system that can turn C code into idiomatic — that is, using native features — Rust code. The project’s ultimate goal is to provide tools so that any organization with large volumes of software written in C can convert that code to Rust and eliminate the memory-safety errors that account for a large source of software vulnerabilities.

    https://www.darpa.mil/program/translating-all-c-to-rust

    Reply
  26. Tomi Engdahl says:

    Rust to the Rescue
    Because memory-safety issues — such as buffer overflows and double-free errors — typically occur in C and C++ code, technical experts have recommended moving to Rust, a memory-safe language that meets many of the same requirements as those languages. Google found, for example, that rewriting the QR code generator for Chrome in Rust allowed the developers to move it from the application’s sandbox, speeding performance. Microsoft has rewritten some operating system functions in Rust and found a 5% to 15% performance improvement.

    In fact, Rust continues to be the language with which the greatest number of developers want to work, with 82% of developers “admiring” the programming language, compared to the 29% who currently extensively use the language, according to StackOverflow’s “2024 Developer Survey.”

    https://www.darkreading.com/application-security/darpa-aims-to-ditch-c-code-move-to-rust

    Reply
  27. Tomi Engdahl says:

    LLM-driven C-to-Rust. Not just a good idea, a genie eager to escape
    Automatic for the people? Don’t mind if we do
    https://www.theregister.com/2024/08/12/opinion_column/

    Reply
  28. Tomi Engdahl says:

    Why Developers Are Ditching GitHub Copilot “I don’t need autocomplete. I need to tell Claude what I want, and it will give me the code.”
    Read more at: https://analyticsindiamag.com/developers-corner/why-developers-are-ditching-github-copilot/

    Reply
  29. Tomi Engdahl says:

    Everyone’s a developer because of tools like ChatGPT and Claude. Similarly, when GitHub Copilot was introduced, it was hailed as a game-changer, capable of speeding up coding tasks, reducing repetitive work, and even generating code snippets based on natural language prompts. However, the reality for many developers has been less
    Read more at: https://analyticsindiamag.com/developers-corner/why-developers-are-ditching-github-copilot/

    Reply
  30. Tomi Engdahl says:

    This is nonsense and perpetuates dangerous misconceptions.

    Yes, if you implement the same little numerical example the same way in Python and C, you’ll get this kind of disparity in performance / CO2 / etc. However, in a real-world realistic example where Python is used for performance critical tasks, it isn’t to reimplement “Calculate the Fibonacci series”, but something like, e.g., “Scrape irregular data, reprocess/analyze it, then apply machine learning method X on the resulting terabyte-sized dataset”. For applications like this, the expressful nature of high-level languages makes it quite convenient to shuffle data between many highly optimized layers of layers of libraries created by experts to use algorithmically optimal implementations. The lowest layers will be, e.g., Intel MKL’s hand-optimized assembler for things like large scale matrix operations. The end result is likely to be orders-of-magnitude faster and more efficient than a misguided attempt to write it all yourself in C “because Python is slow”.

    https://www.facebook.com/share/p/KPXhyymqHp9xZ4q2/

    C is the greenest programming language

    https://hackaday.com/2021/11/18/c-is-the-greenest-programming-language/

    Whilst I would have known that it’s be far higher in terms of energy consumption I still find it surprising that Python uses so much as 75.88 times more energy than C

    Reply
  31. Tomi Engdahl says:

    https://techcrunch.com/2024/08/14/parker-conrad-says-founders-have-been-building-software-wrong-for-the-last-20-years/

    What is the right way to build a software business? Many startup advisers say that B2B software should solve one pain point, gain customers, then add features as their company grows. Serial founder Parker Conrad, currently the founder and CEO of Rippling, an HR software startup valued at $13.5 billion in April, thinks that’s the wrong way to do it.

    Reply
  32. Tomi Engdahl says:

    Database as a Service: The Hidden Cost of Convenience
    As the race to build out data capabilities picks up, organizations find that DBaaS convenience comes with unexpected costs.
    https://thenewstack.io/the-hidden-cost-of-dbaass-convenience/

    Reply

Leave a Comment

Your email address will not be published. Required fields are marked *

*

*