• chevron_right

      UPT – Le gestionnaire universel de paquets Linux

      news.movim.eu / Korben · 4 days ago - 07:00 · 2 minutes

    Vous en avez marre de jongler avec une multitude d’outils de gestion de paquets sur vos différents systèmes Linux et Unix ? apt sur Debian, dnf sur Fedora, pacman sur Arch, emerge sur Gentoo, pkg sur FreeBSD… Et je ne parle même pas de Homebrew sur macOS ou Scoop sur Windows ! Bref, un vrai casse-tête pour s’y retrouver et se rappeler de toutes les commandes spécifiques à chaque plateforme.

    Heureusement, y’a un p’tit dev malin qui a décidé de nous faciliter la vie. Un certain Sigoden a créé upt , pour Universal Package-management Tool . L’idée c’est d’avoir une interface unique pour gérer ses paquets, quelque soit le système utilisé. Sous le capot, upt se base sur le gestionnaire natif de chaque OS mais vous permet d’utiliser une syntaxe commune pour les opérations de base : rechercher, installer, mettre à jour ou supprimer un paquet.

    Bon alors techniquement, c’est écrit en Rust donc faudra passer par l’installation de cargo et de quelques dépendances. Mais rassurez-vous, c’est assez simple et bien documenté sur le dépôt GitHub du projet . Une fois que c’est fait, vous pourrez utiliser la commande upt de la même façon sur tous vos systèmes. Voici quelques exemples :

    upt update pour mettre à jour le gestionnaire
    upt install package_name pour installer un paquet
    upt upgrade package_name pour le mettre à jour
    upt remove package_name pour le désinstaller
    upt search keyword pour chercher un paquet

    Plutôt cool non ?

    Fini les prises de tête à se rappeler si c’est apt search ou dnf search , pacman -S ou emerge … Maintenant on fait tout pareil avec upt !

    Et ça supporte tous les outils suivants sous Linux, macOS, Windows, BSD :

    Bon, j’avoue qu’il y a quelques petites limitations. Déjà upt n’est qu’une surcouche, donc il faudra quand même connaître les noms exacts des paquets pour chaque distrib. Pas de nom universel type « python3-dev » qui fonctionnerait sur Ubuntu comme sur Fedora.

    Ensuite, si un même paquet est dispo dans plusieurs formats (deb, snap, flatpak…), upt va suivre un ordre de priorité pour choisir lequel installer. Mais vous pouvez outrepasser ça en définissant la variable d’environnement UPT_TOOL avec le nom du gestionnaire souhaité.

    Par exemple, pour forcer upt à utiliser les paquets snap pour VLC plutôt que apt ou autre :

    export UPT_TOOL='snap'
    upt install vlc

    Dernier point, certaines commandes un peu plus avancées ne seront pas gérées directement par upt . Il faudra alors repasser par le gestionnaire natif. Mais pour une utilisation basique au quotidien, ce petit outil vous fera gagner pas mal de temps et de neurones.

    Après, je dis pas que c’est la solution révolutionnaire qui va unifier une bonne fois pour toutes le monde des paquets sur Linux et Unix. Y’a encore du taf pour ça. Mais en attendant, upt est bien pratique pour ceux qui doivent régulièrement passer d’un système à l’autre.

    Et puis soyons honnêtes, nous les linuxiens on est un peu maso sur les bords. On aime bien quand c’est compliqué et qu’il faut batailler pour faire un truc. Alors un outil qui simplifie les choses, ça va en rebuter plus d’un ! Mais je suis sûr que ça peut rendre service à pas mal de monde malgré tout.

    En attendant, amusez-vous bien et n’oubliez pas : dans le doute, RTFM ! 😄

    Source

    • chevron_right

      Rust chez Google – Une productivité doublée et du code plus fiable

      news.movim.eu / Korben · Monday, 1 April - 06:17 · 2 minutes

    Ça y est, la vague Rust déferle sur la Silicon Valley et même le géant Google n’y échappe pas ! Le langage de programmation qui monte, qui monte, s’installe peu à peu dans les couloirs de la firme de Mountain View et visiblement, il fait des ravages… mais dans le bon sens du terme !

    Lors de la récente conférence Rust Nation UK , Lars Bergstrom, directeur de l’ingénierie chez Google, a lâché une petite bombe : les équipes de dev qui sont passées à Rust ont vu leur productivité doubler par rapport à celles qui utilisent encore C++ !

    On savait déjà que Rust était prometteur, avec sa gestion de la mémoire ultra safe et son système de « ownership » qui évite les erreurs de segmentation. Mais de là à imaginer des gains de productivité pareils, personne n’osait en rêver !

    Et pourtant, c’est bien réel puisque quand une équipe Google migre un projet C++ vers Rust, elle divise par deux le temps nécessaire pour le développer et le maintenir. C’est énorme ! Surtout quand on sait à quel point le développement en C++ peut être chronophage et complexe. Mais alors comment expliquer un tel boost de performance ?

    D’après Lars Bergstrom, c’est très simple : Rust inspire confiance . Les développeurs se sentent plus sereins quand ils codent en Rust, car ils savent que le compilateur va les aider à éviter toute une classe de bugs vicieux liés à la gestion de la mémoire. Résultat, ils passent moins de temps à débugger et plus de temps à ajouter des fonctionnalités. Et ça, c’est bon pour le moral des troupes et pour la vélocité des projets !

    Autre avantage de Rust : sa courbe d’apprentissage. Contrairement à ce qu’on pourrait penser, les développeurs Google ne mettent pas des mois à être opérationnels en Rust. En moyenne, il leur faut environ 2 mois pour se sentir à l’aise et 4 mois pour retrouver leur niveau de productivité C++.

    C’est sûr, Rust n’est pas le langage le plus simple à prendre en main, avec ses concepts de ownership et de borrowing qui peuvent paraître abstraits au début. Mais une fois franchie cette étape, on découvre un langage puissant, expressif et fiable. Et puis, il faut bien l’avouer, il y a un petit côté « hype » à coder en Rust en ce moment. C’est un langage qui a le vent en poupe et tout le monde en parle !

    Source

    • In chevron_right

      How to use Rust with Python, and Python with Rust

      pubsub.slavino.sk / infoworldcom · Wednesday, 3 January - 10:00 edit

    Python and Rust occupy seemingly opposite ends of the language spectrum. Python , interpreted at runtime, offers developers a flexible and comfortable programming environment, but at the cost of raw speed. Rust provides the speed, plus guarantees of memory safety, but requires that you learn a new paradigm for handling memory operations.

    In theory, these languages shouldn't compete; they should cooperate. And in practice, they can. Rust can benefit from Python's ease of use, and Python can benefit from Rust's speed and safety.

    To read this article in full, please click here


    Značky: #Rozne, #Python, #Rust

    • In chevron_right

      What’s new in Rust 1.75

      pubsub.slavino.sk / infoworldcom · Tuesday, 2 January - 22:55 edit

    The unique approach of the Rust programming language results in better code with fewer compromises than C, C++, Go, and the other languages you probably use. It also gets updated regularly, often every month.

    Where to download the latest Rust version

    If you already have a previous version of Rust installed via rustup, you can access the latest version via the following command:

    $ rustup update stable

    The new features in Rust 1.75.0

    Introduced December 28 , Rust 1.75.0 supports the use of asyn fn and -> impl Trait in traits . However, the initial release comes with some limitations, which are expected to be lifted in future releases.

    To read this article in full, please click here


    Značky: #Rozne, #Rust

    • chevron_right

      Nushell – Le Shell révolutionnaire multi-plateforme

      news.movim.eu / Korben · Monday, 4 September, 2023 - 07:00 · 2 minutes

    Nushell est un nouveau type de shell développé en Rust qui rend l’utilisation du terminal encore plus fun et bien sûr plus « productive ». Conçu pour fonctionner sur Linux, macOS, BSD et Windows, Nushell offre des fonctionnalités impressionnantes grâce à ses pipelines, ses plugins et sa compatibilité avec JSON, YAML, SQLite, Excel, etc.

    Nushell utilise des pipelines pour contrôler n’importe quel système d’exploitation. Les pipelines de Nu utilisent des données structurées, ce qui permet de sélectionner, filtrer et trier les données en toute sécurité. Pour mieux comprendre, c’est assez similaire à la philosophie Unix où les commandes produisent une sortie stdout et récupèrent de la donnée à partir de stdin – sauf que les commandes Nu peuvent également produire des données structurées. C’est ultra puissant !

    Les pipelines de Nu sont composés de commandes regroupées en trois catégories: celles qui produisent un flux (comme des sources de données), celles qui filtrent un flux et celles qui consomment la sortie du pipeline. Les commandes sont séparées par le symbole du pipe (|) pour indiquer un pipeline allant de gauche à droite.

    Nushell peut, comme je le disais, travailler avec des données existantes telles que JSON, YAML, SQLite, Excel…etc. Nu est donc capable de prendre en entrée des fichiers et des URL en tant que texte brut ou données structurées.

    Et pour ceux qui aiment étendre les fonctionnalités de leur shell, Nushell offre un système de plugins plutôt puissant. Les plugins sont proposés sous la forme de binaires et sont capables d’interagir avec Nushell via un protocole JSON-RPC simple. Les plugins peuvent alors se comporter comme des filtres ou des récepteurs (‘sink’), et ils peuvent traiter les données ou les consommer comme bon leur semble.

    Par ailleurs, il existe un dépôt appelé awesome-nu qui répertorie une variété de plugins Nushell ainsi que le dépôt showcase qui présente des tutos et des vidéos techniques sur Nushell, pour vous aider à le prendre en main.

    Si vous souhaitez essayer Nushell, vous pouvez le télécharger via les gestionnaires de paquets de votre système ou récupérer directement son code source (ou en tant qu’action GitHub). La documentation officielle se trouve ici.

    Puis une fois que vous avez installé Nushell, il suffit de taper la commande nu pour le lancer.

    En conclusion, je ne peux que vous recommander d’essayer Nushell et de profiter de ses fonctionnalités. Comme le disait le philosophe Socrate, ‘La vie sans un bon vieux shell ne vaut pas la peine d’être vécue’ . Alors, pourquoi ne pas explorer le monde des pipelines, des plugins et des données structurées que Nushell propose ?

    Vous pourriez bien être surpris par l’impact que cela aura sur votre manière de bosser.

    À découvrir ici : http://www.nushell.sh

    • chevron_right

      Warp – Un terminal révolutionnaire basé sur Rust

      news.movim.eu / Korben · Wednesday, 28 June, 2023 - 07:00 · 2 minutes

    Il y a quelques semaines, je suis tombé sur Warp , un terminal de développement ultra-rapide conçu à partir de Rust et comme j’ai oublié de vous en parler, et bien, je vais remédier à ce problème.

    Alors, qu’est-ce que Warp apporte de plus par rapport aux autres terminaux ? Pourquoi Rust ? Est-ce que Warp est vraiment plus rapide ? Ou encore, comment l’installer sur votre macOS et surtout comment l’utiliser ?

    Warp a été développé pour répondre aux besoins modernes des développeurs. Il est basé sur Rust, un langage de programmation rapide et sûr et Warp est conçu pour être à la fois respectueux de votre vie privée et surtout sécurisé, avec un chiffrement des données et des fonctionnalités cloud facultatives.

    Pour l’installer, exécutez simplement la commande suivante :

    brew install --cask warp

    Warp fonctionne avec les shells les plus courants tels que zsh, fish et bash. Vous pouvez en savoir plus sur la configuration ici .

    Une fois installé, Warp s’intègrera complètement à votre environnement de développement. Lors du premier lancement de Warp, il vous sera demandé de vous connecter avec votre compte GitHub, Google ou via votre e-mail.

    No stress, Warp ne collectera que quelques informations de base pour faciliter les interactions et les mises à jour et c’est tout. Toutefois, ne me croyez pas sur parole et allez consulter leur politique de confidentialité, en cliquant ici .

    Warp est ultra-performant, grâce notamment à son rendu GPU et aux performances exceptionnelles offertes par Rust. Rust a été choisi pour sa vitesse bien sûr, mais également sa fiabilité et sa communauté très active.

    Warp inclut des fonctionnalités modernes et conviviales qui faciliteront votre travail quotidien comme la saisie améliorée et son intellisense (la saisie semi-automatique des commandes). Le Warp AI est une autre fonctionnalité intéressante : il vous aide à comprendre et à déboguer les commandes en vous fournissant des explications et des suggestions pertinentes.

    Finies les recherches interminables pour trouver cette obscure commande utilisée il y a des siècles ! Grâce au concept de blocs de Warp, vous pouvez facilement naviguer dans l’historique de vos commandes, partager des blocs avec vos collègues et même collaborer en temps réel sur l’interface.

    Pour personnaliser Warp à votre convenance, vous pouvez choisir parmi les thèmes disponibles ou en créer un qui correspondra mieux à vos préférences. Les flux de travail prédéfinis et les raccourcis clavier personnalisables font également de Warp un merveilleux outil pour accélérer vos projets de développement.

    En résumé, Warp est une révolution pour les développeurs : un terminal ultra-rapide et élégant, offrant des fonctionnalités avancées de code et de collaboration, et une personnalisation sans limites. Bref, il pourrait très bien devenir votre nouveau compagnon de développement préféré.

    Si vous êtes curieux de voir à quoi cela ressemble, c’est à découvrir ici .

    • chevron_right

      Two core Unix-like utilities, sudo and su, are getting rewrites in Rust

      news.movim.eu / ArsTechnica · Monday, 1 May, 2023 - 17:05

    Two of the most fundamental tools of the modern Unix-like command line, sudo and su, are being rewritten in the modern language Rust as part of a wider effort to get critical but aging infrastructure pieces replaced by memory-safe counterparts.

    As detailed at Prossimo , a joint team from Ferrous Systems and Tweede Golf , with support from Amazon Web Services, is reimplementing sudo and su. These utilities allow a user to perform actions with the privileges of another user (typically a higher-level superuser) without having to learn and enter that other user's password. Given their age and wide usage, the Prossimo team believes it's time for a rework.

    "Sudo was first developed in the 1980s. Over the decades, it has become an essential tool for performing changes while minimizing risk to an operating system," writes Josh Aas. "But because it's written in C, sudo has experienced many vulnerabilities related to memory safety issues."

    Read 4 remaining paragraphs | Comments

    • chevron_right

      Linux 6.0 arrives with support for newer chips, core fixes, and oddities

      news.movim.eu / ArsTechnica · Monday, 3 October, 2022 - 17:41 · 1 minute

    And there was much rejoicing, as a new Linux kernel version had arrived before its founder ran out of fingers and toes for counting.

    Enlarge / And there was much rejoicing, as a new Linux kernel version had arrived before its founder ran out of fingers and toes for counting. (credit: Getty Images)

    A stable version of Linux 6.0 is out , with 15,000 non-merge commits and a notable version number for the kernel. And while major Linux releases only happen when the prior number's dot numbers start looking too big—" there is literally no other reason "—there are a lot of notable things rolled into this release besides a marking in time.

    Most notable among them could be a patch that prevents a nearly two-decade slowdown for AMD chips , based on workaround code for power management in the early 2000s that hung around for far too long. Intel's Dave Hansen wrote the patch that made it into 6.0, noting in a comment on an Ars post that the issue had become an expensive drain as AMD systems gained higher CPU core counts. The average desktop user won't see huge gains, but larger systems working on intensive input/output applications should benefit.

    Intel's new Arc GPUs are supported in their discrete laptop form in 6.0 (though still experimental). Linux blog Phoronix notes that Intel's ARC GPUs all seem to run on open source upstream drivers , so support should show up for future Intel cards and chipsets as they arrive on the market.

    Read 5 remaining paragraphs | Comments

    • In chevron_right

      Deno gets faster Rust calls

      pubsub.slavino.sk / infoworldcom · Friday, 18 March, 2022 - 10:00 edit

    Faster calls into Rust are highlighted in the latest version of the Deno secure JavaScript/TypeScript runtime , improving performance.

    The Rust enhancement pertains to communication between the Google V8 JavaScript engine leveraged by Deno and the rest of the runtime, which was written in the Rust language . With Deno 1.20, announced March 17, proponents have optimized the communication layer to be as much as 60% quicker, leveraging Rust procedural macros to generate optimized bindings for V8 from existing Rust code. The macro optimizes away deserialization of unused arguments, speeds up metric collection, and provides a base for future integration with the V8 Fast API to further boost performance between JavaScript and Rust.

    To read this article in full, please click here


    Značky: #Rust, #JavaScript, #Rozne