Best of The New StackAugust 2024

  1. 1
    Article
    Avatar of newstackThe New Stack·2y

    Need To Know Git? Start Here

    Git is a widely-used revision control system created by Linus Torvalds in 2005. It helps manage changes to files and projects by tracking commits, branches, and merges, and supports both local and remote repositories for efficient collaboration. Despite its complexity, understanding key terms and workflows like pulls, pushes, and branches can make Git an invaluable tool for developers and even non-developers. Git is available for Linux, macOS, and Windows, and while command-line usage is common, GUIs are also available.

  2. 2
    Article
    Avatar of newstackThe New Stack·2y

    Netflix Open Sources Maestro, a Next-Gen Data Workflow Engine

    Netflix has released Maestro, an open-source workflow orchestrator under an Apache 2.0 license. Designed for scalability and extensibility, Maestro supports hundreds of thousands of workflows and millions of jobs daily. It integrates with various open-source technologies and handles tasks such as retries, queuing, and task distribution. Originally announced in 2022, Maestro was developed to address performance limitations of Netflix's previous system, Meson, and is optimized for large-scale data workflows in various formats.

  3. 3
    Article
    Avatar of newstackThe New Stack·2y

    What Is OpenTelemetry? The Ultimate Guide

    OpenTelemetry is a vendor-neutral, standardized approach to capturing observability data like metrics, logs, and traces. It allows integration of various observability tools into a unified system, providing a consistent framework for capturing and analyzing telemetry data. Key components include the API/SDKs, automatic instrumentation agents, and the widely used OpenTelemetry Collector. Fundamental to observability are the golden signals: latency, traffic, errors, and saturation, which are essential for effective system performance analysis. OpenTelemetry's future development aims to enhance client-side instrumentation and extend its capabilities across diverse platforms.

  4. 4
    Article
    Avatar of newstackThe New Stack·2y

    Frontend Strategies: Frameworks or Pure JavaScript?

    Frontend frameworks in JavaScript provide essential features for modern web development, such as data binding, routing, and modular code organization. They offer benefits like simplified syntax, reusable components, a rich ecosystem of libraries, and efficient rendering through virtual DOM. Frameworks also support advanced strategies like code splitting and lazy loading, making them suitable for projects of all sizes. Despite these advantages, simpler projects may not require a framework and can be built using pure JavaScript.

  5. 5
    Article
    Avatar of newstackThe New Stack·2y

    Golang Pub/Sub: Why It’s Better When Combined With GoFr

    Modern systems require reliable, scalable, and real-time communication, often achieved using pub/sub (publish-subscribe) architectures. Golang, with its simplicity and efficiency, combined with the GoFr framework, offers an optimal solution for building these systems. GoFr simplifies pub/sub setups by abstracting boilerplate code, supporting multiple message brokers, providing built-in monitoring and security, and optimizing for IoT with MQTT. This makes it ideal for high-throughput, low-latency communication necessary for IoT and other real-time applications.

  6. 6
    Article
    Avatar of newstackThe New Stack·2y

    How To Build Scalable Real-Time Applications With JavaScript

    Real-time applications (RTAs) offer businesses faster decision-making, improved user experience, and enhanced security. Building scalable RTAs with JavaScript involves overcoming challenges related to latency, synchronization, scalability, and security. Key technologies include WebSocket for bi-directional communication, Server-Sent Events (SSE) for server-to-client updates, and Socket.IO for enhanced functionalities. Ensuring low latency, efficient performance, and robust security are critical for successful deployment.

  7. 7
    Article
    Avatar of newstackThe New Stack·2y

    TiddlyWiki: An Open Source Alternative to Notion or Obsidian

    TiddlyWiki is an open source, highly customizable non-linear personal web notebook, similar to Notion and Obsidian. While it offers extensive flexibility, it can be initially overwhelming due to its lack of a clear starting point and plethora of options. The post guides you through the basics of setting up TiddlyWiki using TiddlyDesktop, creating your first 'tiddler', and utilizing tags. It underscores TiddlyWiki's uniqueness in allowing extensive customization, including defining fields, creating widgets, and even metaprogramming. The strong community support further enhances its appeal, making it an enduring project since 2004.

  8. 8
    Article
    Avatar of newstackThe New Stack·2y

    Angular’s Efforts To Be Easier and Developer Friendly

    Angular has made significant strides to become more developer-friendly and performant. Key improvements include a simpler syntax for templates, the introduction of Angular Signals for better reactivity control, and enhanced lazy loading at the template level. Upcoming features like partial hydration are set to further improve performance, while AI integrations offer new possibilities for app development.

  9. 9
    Article
    Avatar of newstackThe New Stack·2y

    How to Create Your First Linux Bash Script

    Learn how to create and execute your first Linux Bash script. Starting with a simple 'Hello, World!' example, this guide covers the basics of creating script files, setting executable permissions, and running scripts in the terminal. It further demonstrates how to create a more complex backup script to automate directory backups, including how to set variables within Bash scripts and schedule them using cron jobs.

  10. 10
    Article
    Avatar of newstackThe New Stack·2y

    Expo vs. Flutter: How to Choose the Right Mobile Framework

    Choosing between Expo and Flutter for your next mobile project depends on various factors such as existing knowledge of React or Dart, need for native platform API access, desire for visually identical designs across platforms, requirement for a web version of the app, speed of prototyping, and the importance of over-the-air updates. Expo is built around React Native and uses JavaScript/TypeScript, while Flutter uses Dart. Each has its own strengths in terms of community support, ecosystem of tools, and performance. Expo is well-suited for teams already familiar with React, those looking to deploy apps quickly, and projects requiring frequent updates without app store reviews. Flutter offers high performance and visually consistent UIs across platforms, suitable for complex applications with heavy animations.

  11. 11
    Article
    Avatar of newstackThe New Stack·2y

    How To Manage Linux Log Services

    Managing Linux log files is crucial for system troubleshooting, auditing uptime, and maintaining security configurations. This post covers the rsyslog and journald logging services, practical commands for managing these services, and configurations for log file handling and forwarding. The rsyslog service uses plain text files and can forward logs to a central server, while journald offers indexed entries and better filtering capabilities but requires the journalctl command for log management. Regular log file review is essential for ensuring system security and performance.

  12. 12
    Article
    Avatar of newstackThe New Stack·2y

    Kafka 3.8 Brings Faster Startups to Java Developers

    Kafka 3.8, now packaged with GraalVM, promises faster startups and streamlined testing for Java developers. This update improves control over compression schemes, enhancing performance by up to 156%, and introduces support for tiered storage. The Consumer Rebalance Protocol has also been optimized to reduce computational overhead on consumers. Confluent, a major contributor, continues to support Kafka with enterprise and cloud-based services.

  13. 13
    Article
    Avatar of newstackThe New Stack·2y

    Rust vs. Zig in Reality: A (Somewhat) Friendly Debate

    The discussion, inspired by P99 CONF, compares Rust and Zig as systems programming languages. Rust is praised for its memory safety, robust developer ecosystem, and growing acceptance in the industry, including major investments from Microsoft. Zig, on the other hand, offers lower-level control, easier C interoperability, and self-contained binaries. The debate also touches on the potential of Mojo, a new language, and criticizes C++ for its complexity and poor tooling. The panelists agree that both Rust and Zig are superior alternatives to C++ for modern systems programming.

  14. 14
    Article
    Avatar of newstackThe New Stack·2y

    Devs: Don’t Just Read About Design Patterns, Implement Them

    Understanding design patterns enhances software engineering, but implementing them provides practical insight. A flexible example using C# features hero animals with distinct skills, illustrating decoupled, extendable software design through missions. The approach allows new hero animals to be added seamlessly, teaching valuable lessons on system decoupling and adaptability.

  15. 15
    Article
    Avatar of newstackThe New Stack·2y

    How to Manage a Linux Firewall

    Firewalls control access to networks and devices, filtering traffic and logging connection attempts. Key functions include Network Address Translation (NAT) and Virtual Private Network (VPN) support to manage internal and external IP addresses. Linux firewalls like iptables, UFW, and firewalld offer solutions for both host-based and network-based firewall configurations. UFW is typically used in Debian-based systems, while firewalld is common in Red Hat-based distributions. Graphical interfaces like GUFW and firewall-config can be used for easier management. Regular monitoring and testing of firewall configurations are crucial to ensure network security.

  16. 16
    Article
    Avatar of newstackThe New Stack·2y

    Meet Toddle: the Next Open Source Web App Builder

    Toddle is a new open source low-code/no-code web application builder aimed at simplifying the process of creating web apps through a component hierarchy for the frontend and backend API integration. Users can get started easily with example projects, although some onboarding glitches were noted. Toddle offers a visual development environment that is user-friendly but may still require a programmer's mindset to fully utilize. It is a valuable tool for rapid prototyping, particularly for teams with defined roles such as product designers and developers.

  17. 17
    Article
    Avatar of newstackThe New Stack·2y

    DevOps in 2024: Automate First, AI Second

    Enterprise IT teams face bottlenecks primarily due to inadequate automation of processes. Prioritizing testing automation is pivotal to improving DevOps performance. Generative AI can aid in developing and reviewing unit and functional tests, thus enabling faster and safer deployments. The shift towards GenAI for test development and code review is essential for enhancing productivity and increasing deployment frequency. Business users also benefit from AI in user acceptance tests, creating detailed automated tests and filing defects. These trends are vital for achieving key DORA metrics in DevOps.

  18. 18
    Article
    Avatar of newstackThe New Stack·2y

    Why CI and CD Need to Go Their Separate Ways

    Continuous integration (CI) and continuous delivery (CD) are foundational methodologies in software development but face challenges with modern technologies like Kubernetes and GitOps. These challenges have led to inefficiencies in traditional CI/CD pipelines. Continuous promotion offers a solution by acting as an intermediary step to better manage artifact promotion, ensuring smoother and more reliable deployments. Kargo, an open-source tool, implements continuous promotion to bridge the gap between CI and CD, enhancing the efficiency and reliability of deployment processes in a cloud-native environment.

  19. 19
    Article
    Avatar of newstackThe New Stack·2y

    How a DevOps Team Became a Platform Engineering Team

    Allianz Direct transformed its DevOps team into a platform engineering team to optimize technology, people, and processes across its organization. The transition involved overcoming initial anti-patterns, defining clear DevOps principles, controlling the backlog, and adopting a cloud-native stack. Key achievements included revamping the CI/CD pipeline with Argo CD, reducing vulnerabilities, shifting to continuous security, and implementing organizational-level service-level objectives (SLOs). This approach helped boost software delivery performance and foster a culture of closer collaboration and shared responsibility.

  20. 20
    Article
    Avatar of newstackThe New Stack·2y

    Introduction To Plotly Dash, the Most Popular AI Data Tool

    Plotly Dash is a popular low-code framework for quickly building data apps in Python. It was named the most popular tool in Databricks’ State of Data + AI report. The post walks through installing and setting up Dash, creating a basic data visualization app, and adding interactive elements like dropdowns and tables. The example demonstrates using a CSV file to create a dynamic graph and table, highlighting Dash's ease of use and powerful capabilities despite the author's basic Python knowledge.

  21. 21
    Article
    Avatar of newstackThe New Stack·2y

    Linux: Display and Manage IP Address Settings

    Exploring network identity management in Linux, this post delves into displaying and managing IP address settings, hostname configurations, and MAC addresses. It covers both static and dynamic IP address configurations using commands like ip addr and NetworkManager’s nmcli, alongside DHCP essentials. The tutorial emphasizes the significance of these three network identities: hostname (user-friendly identifier), IP address (logical network identifier), and MAC address (physical NIC identifier). Guidance is provided for both command-line and graphical interface methods to ensure Linux systems maintain robust network connectivity.

  22. 22
    Article
    Avatar of newstackThe New Stack·2y

    How Astro and Its Server Islands Compare To React Frameworks

    Astro, a trending web framework, has become Netlify's official deployment partner and focuses on rendering most content server-side, differentiating it from client-side frameworks like React. Its innovative 'islands architecture' allows only certain parts of a page to use JavaScript, optimizing performance. Recently, Astro introduced 'Server Islands,' which include dynamic server-generated components. This approach modernizes the server-rendered paradigm of early Web 2.0 frameworks, providing a lightweight and efficient web development experience.