ProgrammingPro #12: Chat2DB, Figma’s Dev Mode, 92% US Developers Using AI Coding Tools, and Guide on Mojo Programming
Bite-sized actionable content, practical tutorials, and resources for programmers.
Hi,
“AI-powered coding tools enable individual developer productivity and greater team collaboration. That means generative AI helps developers generate greater impact, increase satisfaction and build more innovative solutions.”
I hope you’ve been doing well. Welcome to another exciting issue of the ProgrammingPro newsletter where we detail the most relevant industry insights, practical tutorials, and useful resources for developers and software engineers. Let’s jump straight into it!
In this edition, we’ll talk about a new GitHub report that claims 92% of US-based developers are already using AI-powered coding tools, OpenAI’s plans to launch an app store for AI software, the availability of Figma’s New Dev Mode, and a dangerous new malware targeting Linux servers.
We’ve also packed in a bunch of great programming resources, secret knowledge, tutorials, and guides on resource optimization in Node.js, building serverless .NET applications, and a step-by-step guide to building a progressive web app from scratch.
Also, in today’s issue:
TechWave: News and Analysis
Secret Knowledge: Learning Resources
HackerHub: Tools and Launches
Tutorials and Guides
My promise with this newsletter is to act as your personal assistant and help you navigate and keep up-to-date with what's happening in the world of software development. What did you think of today's newsletter? Please consider taking the short survey below to share your thoughts and you will get a free PDF of the “The C++ Workshop” eBook upon completion.
Thanks for reading.
Kartikey Pandey
Editor-in-Chief
Tell Us What You Think, Get a Packt eBook Free!
⚡ TechWave: News and Analysis
Figma’s New Dev Mode: Figma has introduced Dev Mode, designed to get developers what they need, harnessing the tools they use every day. Dev Mode is like a browser inspector for your design file. It brings design concepts—shapes, layers, and groups—closer to developer concepts like code, icons, and tokens. You can find and export all the information you need, like measurements, specs, and assets, and uncover additional context from your design system.
92% of US-based Developers Already Using AI-powered Coding Tools According to GitHub Report: A GitHub report in partnership with Wakefield Research reveals that 92% of US-based developers at companies with 1,000-plus employees are already utilizing AI-powered coding tools in their work. The survey focused on developer productivity, team collaboration, and the role of AI in enterprise environments. The study found that developers face challenges with time-consuming tasks, such as waiting on builds and tests, and repetitive activities like writing boilerplate code.
OpenAI Plans App Store for AI Software: OpenAI is reportedly planning to launch an app store-style marketplace where developers can sell their AI models built on top of OpenAI's technology. The marketplace aims to allow businesses to access tailored AI models, such as those used for identifying financial fraud or providing market insights. OpenAI's move could potentially compete with app stores offered by its customers and partners, such as Salesforce and Microsoft.
Vaadin Launches New Low-code Solutions for Vaadin Flow Framework Users: Vaadin, a provider of Java web application platforms, has introduced two new low-code solutions for users of the Vaadin Flow framework: Visual View Builder and Visual Theme Editor. These tools aim to bridge the gap between design and development by allowing developers and non-developers to visually prototype and style applications, generating well-structured code for further development.
Dangerous New Malware Targeting Linux Servers: Cybersecurity firm AhnLab's Security Emergency Response Center has discovered a new attack targeting poorly managed Linux SSH servers, resulting in the installation and spread of various malware, including Tsunami DDoS Bot, ShellBot, XMRig CoinMiner, and Log Cleaner. The attack exploits vulnerabilities in the SSH service and poses a threat to Linux servers. AhnLab advises regularly changing passwords and updating systems to mitigate the risk of these attacks.
Stack Overflow Survey Finds Developers Are Ready to Use AI Tools Even if They Don’t Fully Trust Them: A recent survey conducted by Stack Overflow reveals that developers are embracing AI tools in their workflow, despite harboring skepticism about their accuracy. 77% of respondents viewed AI tools favorably, with 70% already using or planning to use them this year. Only 3% of respondents expressed a "high" level of trust in AI coding tools, highlighting concerns about their reliability. AI search tools like ChatGPT are popular among developers, and respondents in certain countries were more likely to embrace them than others.
Over 100,000 ChatGPT Accounts Stolen via Info-stealing Malware: According to cyberintelligence firm Group-IB, over 101,000 user accounts on ChatGPT have been stolen by information-stealing malware in the past year. The peak was observed in May 2023, with threat actors posting 26,800 new ChatGPT account pairs. The majority of compromised accounts were from the Asia-Pacific region, followed by Europe and North America. OpenAI is currently investigating the exposed accounts and advises users to employ strong passwords and trusted software.
DeepMind's New Robotics Controller: Gato came out about a year ago and was immediately the talk of the town. RoboCat, a system built on top of Gato, is an embodied agent that can learn in as few as 100 steps for a new task. It looks like an exciting new step in language enabled robotics.
Faster Python 3.13 Plan: This brief outline highlights the plan for the faster CPython project for the 3.13 release. Includes PEP 669, PEP 554, improved memory management, and more. Related Hacker News discussion.
📚 Secret Knowledge: Learning Resources
From JavaScript to Rust: Rust, known for its performance, reliability, and memory safety, has been gaining popularity among developers. If you’re a JavaScript developer looking to explore new horizons and add Rust to your skillset, this guide is for you. In this comprehensive article, you’ll learn the basics of Rust and help you understand how it can benefit your development journey.
Resource Optimization in Node.js: The article explores the potential of maximizing the capabilities of the Node.js platform. It challenges the assumption that every request must be isolated, emphasizing the benefits of resource sharing for improved performance and efficiency. Learn how to utilize promises and avoid redundant calls to reduce resource load and enhance the speed of your applications.
Defensive & Offensive Programming: This article explores defensive and offensive programming. It begins by discussing "normal programming" as a foundation, emphasizing the importance of error handling and correctness. It then delves into defensive programming, which is crucial for certain programs.
Why Large Engineering Teams are Testing on Kubernetes: Learn how testing your code on Kubernetes can improve development velocity and address challenges with replicating production environments. Read the article to know how to transition from individual machine setups to using Docker Compose and eventually build remote environments on Kubernetes to manage dependencies centrally.
No-Code Revolution: How No-Code Platforms Are Changing Software Development: Learn how no-code platforms are revolutionizing software development. They offer benefits such as accelerated time-to-market and cost-efficiency. Traditional developers should adapt by embracing a hybrid model, focusing on complex problem-solving, becoming no-code champions, specializing in integrations and customizations, and prioritizing security and compliance.
Is Your LLM Application Ready for the Public? The post explains the importance of monitoring when integrating LLMs into software products. LLMs bring benefits such as personalization and creative dialogue generation but they also have pitfalls. Read the article to know how monitoring helps address challenges related to data privacy, prompt injection attacks, hallucinations, and uncontrolled costs, ensuring LLM applications are optimized and ready for public deployment.
8 Best AI Coding Tools You Should Use Right Now: The article highlights 8 top AI coding tools for software development. Learn how to use tools such as GitHub Copilot X, CodeGPT, and Google Bard, for code completion, generation, explanation, and debugging. Know how AI tools enhance productivity and assist developers in writing code more efficiently across multiple programming languages.
Getting Started with Mojo: Mojo is a new programming language that combines Python's usability with C's performance, offering a 35000x speed advantage over Python. It is designed for AI development, compatible with various hardware types, and leverages Python libraries. This guide explains the key features that differentiate Mojo and shows code snippets for getting started with Mojo.
🔍 HackerHub: Tools & Launches
PyPy v7.3.12 - Release of Python 2.7, 3.9, and 3.10: The PyPy team released version 7.3.12 of PyPy. This release includes a new string-to-int algorithm (also appearing in CPython 3.12) that is faster than the older one; support for symlinks in Windows; and the team’s first Python 3.10 version.
AntonOsika/gpt-engineer: Specify what you want it to build, the AI agent asks for clarification, and then builds it. GPT Engineer is made to be easy to adapt, extend, and make your agent learn how you want your code to look. It generates an entire codebase based on a prompt.
alibaba/Chat2DB: An intelligent and versatile general-purpose SQL client and reporting tool for databases which integrates ChatGPT capabilities.
GoAWK - An AWK Interpreter Written in Go: AWK is a text processing language with a long history. GoAWK has recently been updated, but if you missed it back in the day, here’s a great blog post explaining this.
pashpashpash/vault-ai: OP Vault uses the OP Stack (OpenAI + Pinecone Vector Database) to enable users to upload their own custom knowledgebase files and ask questions about their contents.
✨ Tutorials and Guides
Building Serverless .NET Applications with AWS Lambda and the SAM CLI: This blog explains how to build serverless .NET applications in AWS using the AWS Serverless Application Model (SAM) and the SAM CLI. It provides a step-by-step guide on initializing a new SAM project, building and deploying the application, and using features like native ahead of time (AOT) compilation with .NET 7.0 for improved performance.
Building a Progressive Web App from Scratch — A Step-by-Step Guide: Learn how to build a Progressive Web App (PWA) from scratch. PWAs provide a native-like user experience, work offline, and don't require installation from an app store. The guide covers setting up the project, creating an Express server, building the app shell, adding a web app manifest, implementing a service worker, and testing the PWA.
Automate Application Deployment to IoT Devices Using AWS IoT Device Management: AWS IoT Device Management enables automated application deployment to IoT devices, addressing challenges such as remote locations and intermittent connectivity. Learn how to use AWS IoT Core, CodePipeline, and CodeBuild for the CI/CD pipeline to fetch source code, build and deploy the application, and utilize AWS IoT Jobs for management tasks.
Concurrency in C++ Introduction— Running Multiple Threads: In this article, you'll learn about running multiple threads in C++ using the fork-join parallelism concept. The tutorial provides an example code snippet that demonstrates creating and joining threads in C++. It also explains the use of move semantics to avoid copying thread objects when adding them to a vector.
Mastering Channel Synchronization in Golang: A Comprehensive Guide: Learn about channel synchronization in Golang emphasizing the importance of efficient communication and synchronization between goroutines. Know how to create and use channels, advanced techniques like the fan-out/fan-in pattern, timeouts and deadline handling, context-based synchronization, and error handling.
Detailed Guide to Kubernetes and Azure Pipeline in Action: This detailed guide provides instructions on creating a pipeline using Kubernetes and Azure DevOps. The article covers preconditions, creating Kubernetes configuration, and configuring Azure Pipeline. It also includes steps for building, testing, publishing artifacts, and deploying to Azure.