Category: Development

mcp-agent: A Simple Framework for Building Effective AI Agents

2025-01-29
mcp-agent: A Simple Framework for Building Effective AI Agents

mcp-agent is a lightweight, composable framework for building agents using the Model Context Protocol (MCP). It simplifies the management of MCP server connections and implements all the patterns described in "Building Effective Agents," allowing you to chain these patterns together. It also implements OpenAI's Swarm pattern for multi-agent orchestration. With mcp-agent, you can easily build robust AI applications, such as multi-agent collaborative workflows, human-in-the-loop workflows, and RAG pipelines.

Development

Zero-Downtime PostgreSQL Major Version Upgrade

2025-01-29
Zero-Downtime PostgreSQL Major Version Upgrade

The Instant team shares their experience upgrading PostgreSQL from version 13 to 16 with zero downtime. They tried in-place upgrades and blue-green deployments, but both failed. Their manual approach involved creating a new PostgreSQL 16 replica, gradually switching subscriptions and writes, and cleverly designing an algorithm to ensure zero data loss by briefly pausing new transactions. They encountered challenges like custom function search path issues and sequence data replication problems, sharing valuable lessons learned along the way.

SmolGPT: A Minimal PyTorch Implementation for Training Small LLMs

2025-01-29
SmolGPT: A Minimal PyTorch Implementation for Training Small LLMs

SmolGPT is a minimal PyTorch project designed for educational purposes, allowing users to train their own small language models (LLMs) from scratch. It features a modern architecture incorporating Flash Attention, RMSNorm, and SwiGLU, along with efficient sampling techniques. The project provides a complete training pipeline, pre-trained model weights, and text generation examples, making it easy to learn about and experiment with LLM training.

Development LLM training

Effective AI Code Suggestions: Less is More

2025-01-29
Effective AI Code Suggestions: Less is More

Qodo (formerly Codium) discovered a crucial lesson in using LLMs for code review with its AI-powered tool, Qodo Merge. Initially, prioritizing bug detection over style suggestions proved ineffective; the model got overwhelmed by the easier-to-find style issues, leading to suggestion fatigue among developers. The breakthrough came from simplifying the model's task: focusing solely on finding meaningful bugs and problems. This laser focus increased bug detection rates and the signal-to-noise ratio, resulting in a 50% jump in suggestion acceptance rates and an 11% increase in overall impact. The key takeaway: sometimes, eliminating distractions is more effective than complex prioritization.

Development

Oracle's Java Pricing Changes Spark Mass Exodus

2025-01-29
Oracle's Java Pricing Changes Spark Mass Exodus

Oracle's January 2023 shift in Java SE licensing from per-user/processor to per-employee pricing has triggered a massive backlash, with costs skyrocketing. Dimensional Research reveals that 88% of Oracle Java users are considering switching to open-source alternatives, reaching 92% in France and 95% in Germany. This reflects a growing need for cost-effective Java solutions, forcing organizations to reassess their long-term Java licensing and support strategies.

Development

YC Startup Frigade Hiring Senior Full-Stack Engineer

2025-01-29
YC Startup Frigade Hiring Senior Full-Stack Engineer

Y Combinator-backed startup Frigade is hiring a Senior Full-Stack Engineer. Frigade builds a growth platform for modern software teams, helping customers improve in-app onboarding, activation, and engagement experiences. The ideal candidate will be proficient in TypeScript, React, and Node.js, and possess excellent communication and collaboration skills. The company offers competitive salary and equity, a great work environment, and benefits. It's a fast-growing team with opportunities to work on AI-powered user assistance and collaborate directly with enterprise clients.

Development

WMI Virus: Diskless Execution Achieved

2025-01-29
WMI Virus:  Diskless Execution Achieved

A proof-of-concept project, Stuxnet, demonstrates a novel virus that hides its malicious code within the Windows Management Instrumentation (WMI), achieving diskless execution. The virus uses WMI as a filesystem, leveraging a PowerShell script at boot to extract and load the payload into memory. The project includes a novel privilege escalation technique and advanced anti-AV evasion techniques, such as on-demand system library loading and dynamic function offset finding, allowing it to evade detection by major antivirus software and sandboxes. The author also hints at potential kernel-space exploit possibilities within WMI.

Development antivirus evasion

Streaming Data in DuckDB: Conquering Concurrency Limits with Arrow Flight

2025-01-29
Streaming Data in DuckDB: Conquering Concurrency Limits with Arrow Flight

Definite's blog post showcases a clever solution to overcome DuckDB's concurrency limitations using Apache Arrow Flight. While DuckDB excels at single-machine analytics, its lack of concurrent writer and reader support restricts its use in real-time streaming scenarios. The 'Duck Takes Flight' Python script builds an Arrow Flight server, enabling concurrent writes and reads to DuckDB. This 200-line solution is efficient, requiring no complex cluster setup, and delivers high-performance stream processing, offering a fresh approach for applications needing fast data movement and on-the-fly querying.

Development Stream Processing

Preserves: A More Expressive Data Language

2025-01-29

Preserves is a data model and serialization format comparable to JSON, XML, and others. It features a syntax-neutral data model and semantics, enabling lossless conversion between various syntaxes. The project provides specifications, tutorials, implementations in multiple languages (Python, Rust, JavaScript, etc.), and tools for developers seeking a more powerful and flexible data representation. It also offers schema and query capabilities for efficient data manipulation. Compared to JSON, Preserves offers richer expressiveness and better scalability.

Notion: Your All-in-One Workspace Just Got Better

2025-01-29
Notion: Your All-in-One Workspace Just Got Better

Notion is an all-in-one workspace that seamlessly integrates notes, task management, wikis, and databases. Imagine a single platform to jot down ideas, track projects, build collaborative wikis, and even create custom databases—that's Notion. Its flexibility caters to diverse workflows, from personal note-taking to intricate team collaborations. The intuitive interface and powerful features make it a productivity powerhouse for many.

Development

Why I Still Love Sublime Text in 2025

2025-01-29
Why I Still Love Sublime Text in 2025

A seasoned developer explains why he remains loyal to Sublime Text in 2025. He highlights its speed, lightweight nature, and the powerful LSP integration that keeps it modern. The robust snippet system, project workspace management, and customizable build systems are key features he appreciates. While acknowledging areas for improvement in documentation and plugin development, he argues that Sublime Text's simplicity, efficiency, and long-term stability make it a compelling choice.

Development

Discovery Coding: Code First, Design Later

2025-01-29

This article introduces "Discovery Coding," a programming paradigm that reverses the traditional design-then-code approach. Discovery coding advocates writing code first, using feedback from the code to understand the problem and iteratively refine the solution. The author draws a parallel to Stephen King's writing style, likening it to "discovery writing." While seemingly haphazard, this method helps programmers avoid being constrained by past experiences and better grasp the problem's core. The article also explores the benefits of discovery coding and relevant tools, urging the programming community to embrace this diverse approach.

Composable SQL: A Functional Approach to Solving SQL Testing and Business Logic Problems

2025-01-29

This article explores the shortcomings of SQL in testing and reusing business logic, proposing a solution called "functors"—composable SQL fragments. By parameterizing queries and relying on interfaces instead of concrete tables, functors solve the challenges of SQL testing and allow for business logic reuse across queries, improving code readability, testability, and reusability. The author also discusses extensions such as generics, generalizing business logic, and avoiding global variables, ultimately achieving efficient, testable, and understandable SQL queries.

Development

OAuth 2.0: Unlocking the World's Most Popular Authorization Framework

2025-01-28
OAuth 2.0: Unlocking the World's Most Popular Authorization Framework

This article provides a clear explanation of the OAuth 2.0 protocol. Using the example of building a code deployment platform, the author illustrates how OAuth 2.0 solves the security issues of sharing user credentials, comparing the advantages and disadvantages of using plain user credentials and Personal Access Tokens (PATs). The article details the three core roles in OAuth 2.0 (Resource Server, Resource Owner, and Authorization Server), and various authorization flows (Authorization Code, Implicit, Client Credentials, Resource Owner Credentials, and Device Code flows), analyzing the security and applicability of each. Key concepts such as access tokens, refresh tokens, scopes, and PKCE are also explored.

Meelo: A Self-Hosted Music Server for Collectors

2025-01-28
Meelo: A Self-Hosted Music Server for Collectors

Meelo is a self-hosted personal music server and web app, similar to Plex or Jellyfin, but with a focus on flexibility and browsing experience. Designed for music collectors, it identifies B-sides, rare tracks, automatically detects duets and features, supports various formats and metadata parsing, and fetches information from MusicBrainz and more. Meelo supports music videos, differentiating them from interviews or behind-the-scenes content. It's available now via Docker images.

Windows 7/Server 2008 R2: 30-Second Welcome Screen Delay with Solid Color Backgrounds

2025-01-28

Setting a solid color as your desktop background in Windows 7 or Windows Server 2008 R2 can cause a 30-second delay displaying the Welcome screen during logon. Microsoft acknowledges this issue and provides an update to resolve it. The issue doesn't occur when using Remote Desktop Connection, or if the Desktop Window Manager Session Manager service is stopped or disabled, or if an image file is used as the background. Workarounds include using an image with a solid color or adjusting the DelayedDesktopSwitchTimeout registry entry.

Development System Issue

Transitive Dependencies: Security vs. Productivity in Modern Software

2025-01-28

Modern software development relies heavily on external libraries, creating a trust relationship akin to leaving one's door unlocked. The author argues that this reliance on transitive dependencies, while boosting productivity, introduces significant security risks. The article explores the tension between efficiency and security, proposing component isolation and the principle of least privilege as solutions. It draws parallels to OpenSSH and the Actor model, envisioning a more secure software architecture that requires rethinking hardware, operating systems, and programming languages.

Development software architecture

Svelte 5: A Conversation with Rich Harris on the Future of Frameworks

2025-01-28
Svelte 5: A Conversation with Rich Harris on the Future of Frameworks

Smashing Magazine interviewed Rich Harris, the creator of Svelte, revealing major updates and future directions for Svelte 5. A ground-up rewrite, Svelte 5 introduces clearer state management. Harris emphasizes that Svelte's goal isn't solely market share, but building high-quality, resilient, and accessible applications, and improving overall software quality by addressing widespread flaws. Future efforts will focus on the surrounding ecosystem, including SvelteKit, aiming to become a Rails or Laravel for JavaScript, simplifying full-stack development.

Development Web Frameworks

Malimite: A Powerful iOS and macOS Decompiler

2025-01-28
Malimite: A Powerful iOS and macOS Decompiler

Malimite is an open-source iOS and macOS decompiler designed to help researchers analyze and decode IPA files and application bundles. Built on top of Ghidra, it directly supports Swift, Objective-C, and Apple resources. It's multi-platform (Mac, Windows, Linux), auto-decodes iOS resources, avoids lib code decompilation, reconstructs Swift classes, and even features built-in LLM method translation. A pre-compiled JAR file is available on the Releases page, with further installation and usage instructions in the Wiki.

Development decompiler

Secure Your Angular App with Keycloak and the BFF Pattern

2025-01-28

This article demonstrates building a secure web application using the Backend for Frontend (BFF) pattern, integrating Keycloak and Angular. To avoid storing sensitive data in the browser, authentication flows with Keycloak are entirely handled by a dedicated BFF server. The BFF acts as a secure intermediary between Keycloak and the Angular app, managing OAuth2 and PKCE flows, securely storing tokens, and preventing sensitive operations (like token refresh) from reaching the browser. The Angular app interacts only with simplified endpoints provided by the BFF, eliminating direct communication with Keycloak. The article details Keycloak configuration, BFF server setup (using Express.js), and Angular app development, highlighting the security benefits of this architecture.

Development BFF pattern

Using `uv` as Your Shebang for Efficient Python Scripting

2025-01-28
Using `uv` as Your Shebang for Efficient Python Scripting

Rob Allen shares his experience using `#!/usr/bin/env -S uv run --script` as a shebang line for his Python scripts. This approach leverages the `uv` tool to manage script dependencies, allowing direct execution from the command line without needing to set up virtual environments, etc., improving script convenience and executability. The author creates many automation scripts in his ~/bin directory and simplifies their execution using this method.

Development scripting

Go Error Handling Syntax Sugar Proposal: A Trade-off Between Brevity and Clarity

2025-01-28
Go Error Handling Syntax Sugar Proposal: A Trade-off Between Brevity and Clarity

The Go community is debating a new error handling syntax proposal aimed at reducing boilerplate code. The proposal introduces a new '?' operator to handle function return errors more concisely while preserving readability. The proposal has sparked extensive community discussion, primarily focusing on whether the new syntax is clear enough and if it might encourage developers to neglect error handling. Some argue it efficiently reduces boilerplate, improving readability; others worry the new syntax is too implicit, potentially leading to harder-to-debug errors.

Development syntax sugar

llama.cpp WASM Gets 2x Speedup Thanks to Optimized SIMD

2025-01-28

Simon Willison's blog post highlights a significant performance improvement in llama.cpp: a 2x speed increase for the WASM version achieved by optimizing SIMD instructions. Surprisingly, 99% of the code was generated by the AI-assisted programming tool DeepSeek R1. DeepSeek R1 spent 3-5 minutes 'thinking' about each prompt, ultimately helping the developer improve the llm_groq.py plugin and elegantly eliminate the model_map, streamlining the code. This showcases the immense potential of AI in code optimization and refactoring.

DECUServe: A Thriving Online Community for OpenVMS

2025-01-28

DECUServe is a vibrant online community for OpenVMS users, offering a wealth of resources and support. Boasting a massive knowledge base of problems and solutions, it's hosted numerous technical conferences (over fifty!). Users access conferences, libraries, and personal web pages via command line, browser, or newsreader. With SSH, SFTP, and DCLinabox access, collaboration is easy. A supportive, peer-to-peer environment, DECUServe is an invaluable resource for the OpenVMS community.

Development Technical Support

HawkEye: A Cross-Platform Open-Source License Header Checker and Formatter

2025-01-28
HawkEye: A Cross-Platform Open-Source License Header Checker and Formatter

HawkEye is a powerful open-source tool for checking and formatting license headers in code files. Supporting multiple formats and integrating seamlessly with GitHub Actions, it also provides a command-line interface for local use. HawkEye checks for license header completeness and consistency, auto-corrects non-compliant files, and even allows for license header removal. Initially developed in Java, it was rewritten in Rust for a smaller Docker image and improved performance.

FastAnime: Your Terminal-Based Anime Experience

2025-01-28
FastAnime: Your Terminal-Based Anime Experience

FastAnime is a command-line tool that lets you browse and watch anime directly from your terminal. It integrates with AniList for powerful searching and downloading capabilities, and offers extensive customization options. Users can browse anime, download videos, manage cache, and more, all through a well-designed CLI. It supports MPV player, provides desktop notifications, and offers convenient keybindings. FastAnime is easy to install with support for various package managers and operating systems, boasting a rich set of command-line options and customization features for a streamlined and powerful anime-watching experience.

Development anime

YC-backed Structured is Hiring a Founding Engineer

2025-01-28
YC-backed Structured is Hiring a Founding Engineer

Structured, a Y Combinator-backed startup, is seeking a founding engineer. Structured is redefining how developers build and deploy data apps by consolidating the entire analytics stack into code. They're looking for an ambitious, scrappy, and product-minded engineer to build the core SDK, design interactive components, and tackle challenging problems like real-time data sync and cloud deployments. This is a chance to join a stellar team of ex-Meta engineers, own significant equity, and shape a startup from the ground up.

Development

Python Script Simplifies YouTube Video & Playlist Downloads

2025-01-28
Python Script Simplifies YouTube Video & Playlist Downloads

The Python script `Download-Simply-Videos-From-YouTube` makes downloading YouTube videos and playlists incredibly easy. It supports high-quality downloads, multiple formats, subtitles, and thumbnails, and automatically organizes files. Simply install Python and FFmpeg, run the script, and follow the prompts. Created by Pierre-Henry Soria, a software AI engineer passionate about automating content creation.

1 2 174 175 176 178 180 181 182 214 215