Best of InfoWorldOctober 2024

  1. 1
    Article
    Avatar of infoworldInfoWorld·2y

    Two good Visual Studio Code alternatives

    Several alternatives to Visual Studio Code, such as Zed, Eclipse Theia IDE, Lite XL, and Cursor, offer distinct advantages. Zed and Cursor are particularly notable for their native AI integrations. Zed, built in Rust, is exceptionally fast, leveraging GPU acceleration and supporting multiple large language models. Cursor, a fork of Visual Studio Code, focuses on advanced code completion and chat functionalities. Both editors are available for Linux and macOS, with Zed also coming soon to Windows. Theia and Lite XL offer unique features but have limitations regarding speed and plugin compatibility.

  2. 2
    Article
    Avatar of infoworldInfoWorld·2y

    11 open source AI projects that developers will love

    Explore 11 open source AI projects aimed at easing software development. Projects like Upscayl enhance image resolution, Nyro automates mundane tasks, and Wren AI translates natural language into SQL. Tools like Geppetto and E2B sandboxes integrate AI with productivity tools, while DSPy and Guardrails optimize AI model training and accuracy. These projects demonstrate the potential of AI in transforming everyday tasks and development workflows.

  3. 3
    Article
    Avatar of infoworldInfoWorld·2y

    The worst programmer I know

    Maintaining legacy code involves understanding and working with the often convoluted and outdated code written decades ago. The post reflects on the challenges of maintaining such code, the evolution of programming practices, and the realization that today's code will also be seen as antiquated in the future. The author emphasizes humility and respect for the efforts of past developers while acknowledging the continuous growth of the software engineering profession.

  4. 4
    Article
    Avatar of infoworldInfoWorld·2y

    The best Python libraries for parallel processing

    The post introduces seven Python libraries that help distribute a heavy workload across multiple CPUs or compute clusters, addressing Python's single-threaded limitations. Libraries discussed include Ray, Dask, Dispy, Pandar·lel, Ipyparallel, Joblib, and Parsl, each catering to different needs such as machine learning, data science, and general parallel processing tasks. Highlights include Ray's minimal syntax and cluster management, Dask's centralized scheduler and actor model, and Joblib's efficient disk caching and parallelization capabilities.

  5. 5
    Article
    Avatar of infoworldInfoWorld·2y

    JDK 24: The new features in Java 24

    JDK 24, set for release on March 18, 2025, will include improvements to the G1 garbage collector and introduce warnings for unsafe uses of the Java Native Interface (JNI). Other potential features could follow previews from JDK 23, such as enhancements to the class-file API, stream gatherers, structured concurrency, and the vector API. JDK 24 will be a non-long-term support release, receiving only six months of Premier-level support.

  6. 6
    Article
    Avatar of infoworldInfoWorld·2y

    Microsoft releases official OpenAI library for .NET

    Microsoft has released an official OpenAI library for .NET, offering full REST API support and compatibility with flagship models like GPT-4o. Available via NuGet, the library includes sync/async APIs, streaming completions, and .NET Standard 2.0 compatibility. It supports extensibility and aims to ensure seamless integration with OpenAI and Azure OpenAI services.

  7. 7
    Article
    Avatar of infoworldInfoWorld·2y

    Python threading and subprocesses explained

    Python provides threading and multiprocessing to parallelize workloads, helping to manage tasks that would otherwise block each other. Threads in Python are serialized due to the Global Interpreter Lock (GIL), making them suitable for I/O-bound operations. Processes, on the other hand, run independently with their own GILs and are better for CPU-bound tasks. The `Pool` object simplifies handling both threads and processes. The post discusses the upcoming free-threaded Python without GIL (PEP 703) and the concept of subinterpreters (PEP 734) for future concurrency improvements in Python.

  8. 8
    Article
    Avatar of infoworldInfoWorld·2y

    Rust resumes rise in popularity

    Rust has returned to 13th place in the October Tiobe index of programming language popularity due to its security and speed, despite being difficult to learn. It remains 10th in the Pypl index, which ranks languages based on tutorial searches on Google. Tiobe's index measures popularity by assessing the number of skilled engineers and courses offered for each language. The new Mojo language, a combination of Python and Swift, entered Tiobe's top 50 for the first time, indicating its promising future.

  9. 9
    Article
    Avatar of infoworldInfoWorld·2y

    Docker tutorial: Get started with Docker

    Docker enables lightweight, portable application deployment across various environments. This guide provides a comprehensive tutorial, covering Docker installation on Linux, Windows, and macOS. Learn to build and manage containers, use Dockerfiles for automated builds, handle Docker images, and set up networking. Basic commands like `docker run`, `docker ps`, and `docker pull` are explained, along with steps to create a new Docker image from a container.

  10. 10
    Article
    Avatar of infoworldInfoWorld·2y

    Java proposal would shrink JDK by 25%

    An OpenJDK proposal aims to reduce the Java Development Kit (JDK) size by about 25% using the jlink tool to create custom runtime images without JMOD files. This would enhance Java performance in cloud environments by improving efficiency in copying JDK-inclusive container images over networks. The proposal introduces a build-time configuration option, --enable-linkable-runtime, to achieve this reduction.

  11. 11
    Article
    Avatar of infoworldInfoWorld·2y

    5 ways data scientists can prepare now for genAI transformation

    Generative AI (genAI) is revolutionizing data science by enhancing tools, processes, and deliverables. Data scientists should expand their skills to include unstructured data analysis, integrate AI-generated dashboards, and support citizen data scientists. Key focuses include ethical AI use, leveraging industry-specific AI models, and using graph databases for advanced analytics. GenAI also lowers technical barriers, empowering businesses to leverage data-driven decision-making more effectively.