Tag: Software engineering
-
How to run GUI-based applications in Docker
Posted on July 4, 2025, Level beginner Resource Length medium
Docker is commonly used for server-side and command-line apps. However, with the right setup, you can also run GUI-based applications inside containers. These containers can include GUI libraries and display tools, which enable apps to run in a secure and isolated environment. Docker containers can run GUI applications by configuring display sharing with the host system. This approach packages applications with their dependencies while maintaining isolation, enabling consistent cross-platform deployment without cluttering the host system. By Anees Asghar.
Tags software-engineering cloud-and-infrastructure devops-and-ci-cd business-and-emerging-tech how-to
-
Multimodal AI for IoT devices requires a new class of MCU
Posted on July 2, 2025, Level beginner Resource Length long
Context-aware computing enables ultra-low-power operation while maintaining high-performance AI capabilities when needed. The rise of AI-driven IoT devices is pushing the limits of today's microcontroller unit (MCU) landscape. While AI-powered perception applications—such as voice, facial recognition, object detection, and gesture control—are becoming essential in everything from smart home devices to industrial automation, the hardware available to support them is not keeping pace. By Todd Dust.
Tags software-engineering cloud-and-infrastructure ai-and-machine-learning security-and-privacy business-and-emerging-tech how-to
-
The edge of security: How edge computing is revolutionizing cyber protection
Posted on July 1, 2025, Level beginner Resource Length medium
The traditional centralized model of cloud computing presents significant cybersecurity risks, creating a single point of failure and suffering from latency that can delay critical security updates. Edge computing emerges as a superior, decentralized solution that brings processing power closer to where data is generated. By Andrew Garfield.
Tags software-engineering cloud-and-infrastructure leadership-and-career security-and-privacy business-and-emerging-tech
-
Wget to wipeout: Malicious Go modules fetch destructive payload
Posted on June 30, 2025, Level beginner Resource Length medium
Sockets threat research team uncovered a destructive supply-chain attack targeting Go developers. In April 2025, three malicious Go modules were identified, using obfuscated code to fetch and execute remote payloads that wipe disks clean. The Go ecosystem's decentralized nature, lacking central gatekeeping, makes it vulnerable to namespace confusion and typosquatting, allowing attackers to disguise malicious modules as legitimate ones. By @socket.dev.
Tags software-engineering backend-development product-and-design security-and-privacy cloud-and-infrastructure
-
Why Go rocks for building a Lua interpreter
Posted on June 28, 2025, Level intermediate Resource Length short
The interpreter's structure in Go is divided into packages for scanning, parsing, and execution, leveraging Go's interfaces for Lua value representation. This design choice, along with Go's garbage collector and testing tools, simplified development compared to the PUC-Rio Lua implementation. Challenges included error handling and compatibility issues with Lua's standard libraries. Nice one!
Tags software-engineering backend-development product-and-design frontend-and-mobile cloud-and-infrastructure
-
A 10x faster TypeScript
Posted on June 26, 2025, Level intermediate Resource Length long
Most developer time is spent in editors, and it's where performance is most important. We want editors to load large projects quickly, and respond quickly in all situations. Modern editors like Visual Studio and Visual Studio Code have excellent performance as long as the underlying language services are also fast. With our native implementation, we'll be able to provide incredibly fast editor experiences. By Anders Hejlsberg.
Tags cloud-and-infrastructure frontend-and-mobile product-and-design software-engineering
-
How to improve JVM-based application startup time?
Posted on June 20, 2025, Level beginner Resource Length medium
Optimizing JVM startup time is vital for many applications. This post explores various strategies, comparing their effectiveness through benchmarking a simple Netty server. Class Data Sharing (CDS) and its evolution, AppCDS, cache class data to reduce initialization overhead. By Michał Zyga.
Tags cloud-and-infrastructure backend-development product-and-design software-engineering
-
Alternative ways to design with functional programming
Posted on June 10, 2025, Level intermediate Resource Length medium
Mark Seemann introduces an article series exploring alternative design approaches to a specific problem originally presented by Oleksii Holub. The core issue involves identifying song recommendations from data repositories containing impurities (like unreliable user activity). This series challenges the notion that some problems resist purely functional solutions, particularly those with 'real-world' constraints.
Tags backend-development software-engineering frontend-and-mobile
-
Can vibe coding produce production-grade software?
Posted on May 1, 2025, Level beginner Resource Length long
Thoughtworks explored "vibe coding," where an AI generates software from minimal functional requirements without detailed architectural guidance. They tested this approach through three experiments building the System Update Planner application. By Premanand Chandrasekaran.
Tags ai-and-machine-learning software-engineering miscellaneous how-to leadership-and-career
-
Fourteen advanced Python features
Posted on April 28, 2025, Level beginner Resource Length long
Python is one of the most widely adopted programming languages in the world. Yet, because of it's ease and simplicity to just "get something working", it's also one of the most underappreciated. By Edward Li.
Tags software-engineering backend-development how-to leadership-and-career
-
Leading effective engineering teams in the age of GenAI
Posted on April 4, 2025, Level beginner Resource Length medium
Using AI in software development is not about writing more code faster; it's about building better software. It's up to you as a leader to define what "better" means and help your team navigate how to achieve it. Treat AI as a junior team member that needs guidance. Train folks to not over-rely on AI; this can lead to skill erosion. Emphasize "trust but verify" as your mantra for AI-generated code. Leaders should upskill themselves and their teams to navigate this moment.Using AI in software development is not about writing more code faster; it's about building better software. It's up to you as a leader to define what "better" means and help your team navigate how to achieve it. Treat AI as a junior team member that needs guidance. Train folks to not over-rely on AI; this can lead to skill erosion. Emphasize "trust but verify" as your mantra for AI-generated code. Leaders should upskill themselves and their teams to navigate this moment. By Addy Osmani.
Tags leadership-and-career software-engineering ai-and-machine-learning
-
Java performance: Optimizing code for maximum efficiency
Posted on March 31, 2025, Level beginner Resource Length long
Java performance is a crucial aspect of software development. It affects how fast and efficiently Java programs run. Optimizing Java performance can lead to faster applications, reduced resource usage, and better user experiences. By Kacper Rafalski.
Tags backend-development product-and-design software-engineering