Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

La révolution de l’IA est en marche depuis un bon moment maintenant mais faire tourner les derniers modèles de langage comme llama.cpp sur votre bécane, demande de la puissance. C’est là qu’intervient Justine Tunney, hackeuse et ex-programmeuse de chez Google, qui vient de pondre de nouveaux kernels d’algèbre linéaire pour booster les perfs de llama.cpp.

Concrètement, elle a réécrit les routines qui font les multiplications de matrices, c’est à dire les opérations au cœur des réseaux de neurones et en utilisant les dernières instructions vectorielles AVX-512 et ARM dotprod, elle a réussi à multiplier par 5 la vitesse d’exécution sur les processeurs récents d’Intel, AMD et ARM.

Mais ce n’est pas tout, elle a aussi bossé sur l’optimisation mémoire. Fini le temps où les calculs étaient ralentis par les accès à la RAM. Grâce à une utilisation intelligente du cache L2 et du prefetching, elle arrive maintenant à diviser par 2 le temps de chargement des données.

Résultat, llama.cpp et les autres modèles compatibles tournent comme des horloges, même sur des configs modestes. Fini les CUDA cores hors de prix, un bon vieux processeur avec un peu de RAM suffit. De quoi démocratiser l’accès à l’IA sans se ruiner surtout que son code est dispo sur son GitHub. Il est écrit en C++ avec zéro dépendance externe et peut être compilé sur Linux, macOS, Windows, FreeBSD et même SerenityOS.

Mais Justine ne compte pas s’arrêter là. Elle planche déjà sur le support de nouveaux formats de données comme le FP16 et le BF16 pour réduire encore l’empreinte mémoire. À terme, elle espère faire tourner les IA les plus gourmandes sur un Raspberry Pi ! Chouette non ?

D’un côté on a donc les géants comme Nvidia qui misent tout sur leurs accélérateurs graphiques propriétaires et de l’autre les hackers et les libristes qui veulent garder le contrôle de leur machine avec du code ouvert et optimisé.

En attendant, je vous invite à tester ses kernels par vous-même et à voir la différence. C’est peut-être ça le véritable sens du progrès technologique : permettre au plus grand nombre d’accéder à des outils auparavant réservés à une élite.

Source


Ç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


— Poisson d’avril ! —

Dans une annonce surprenante, le géant chinois Xiaomi a décidé de supprimer la fonctionnalité « Appel » de ses smartphones, affirmant que cette option n’est plus utilisée par la majorité de ses clients. Cette décision radicale a suscité de nombreuses réactions parmi les utilisateurs de la marque.

Xiaomi affirme que les appels passent désormais par les messageries instantanées

Selon un communiqué officiel de Xiaomi, la fonctionnalité « Appel » sera progressivement retirée de tous les modèles de smartphones de la marque à partir de la prochaine mise à jour. L’entreprise justifie cette décision en expliquant que la plupart des utilisateurs préfèrent désormais passer leurs appels via des applications de messagerie instantanée telles que WhatsApp, Facebook Messenger ou encore WeChat.

« Nos études montrent que moins de 5% de nos clients utilisent encore la fonction d’appel classique via le réseau de l’opérateur« , indique le porte-parole de Xiaomi. « Il nous a donc semblé logique de supprimer cette option devenue obsolète afin d’optimiser les performances de nos appareils. »

Des avantages et des inconvénients pour les utilisateurs

Si cette décision peut sembler radicale, Xiaomi met en avant plusieurs avantages pour ses clients. Tout d’abord, la suppression de la fonctionnalité « Appel » permettra de libérer de l’espace de stockage sur les smartphones, offrant ainsi plus de place pour les photos, vidéos et applications. De plus, l’entreprise promet une amélioration significative de l’autonomie de la batterie, les appels via les messageries consommant moins d’énergie que les appels traditionnels.

Cependant, certains utilisateurs s’inquiètent des conséquences de cette décision. En effet, les appels via les messageries nécessitent une connexion internet stable, ce qui n’est pas toujours le cas dans certaines zones géographiques. De plus, les personnes âgées ou moins à l’aise avec la technologie pourraient se retrouver dans l’incapacité de passer des appels depuis leur smartphone Xiaomi.

Vers une suppression de l’application SMS ?

Suite à cette annonce, des rumeurs circulent quant à une possible suppression de l’application SMS dans un futur proche. En effet, Xiaomi aurait également constaté une baisse significative de l’utilisation des SMS au profit des messageries instantanées.

Si cette information venait à se confirmer, cela marquerait un tournant majeur dans l’histoire de la téléphonie mobile. Les smartphones deviendraient alors de véritables « appareils de messagerie », délaissant progressivement les fonctions de communication traditionnelles.

Quoi qu’il en soit, cette annonce a eu l’effet d’une bombe dans le monde de la tech, suscitant de nombreux débats sur l’avenir de la téléphonie mobile et une fool en colère. Reste à voir si d’autres fabricants emboîteront le pas à Xiaomi dans cette « pêche » aux fonctionnalités obsolètes.


Laissez-moi vous parler d’un petit coin de paradis sur la toile qui réchauffe le cœur et l’âme comme un chocolat chaud par un soir d’hiver glacial. Bienvenue sur The Nicest Place on the Internet, le site où la bienveillance et la douceur règnent en maîtres !

Si vous avez passé une journée pourrie, que tout part en cacahuète, que vous êtes au bout du rouleau, ce site vous tend les bras avec une ribambelle de vidéos de parfaits inconnus qui vous font des câlins virtuels. Bon, faudra pas trop vous emballer non plus hein, je n’y suis pas encore, mais y’a un petit côté réconfortant et attachant.

On y trouve des gens de tous horizons : des jeunes, des moins jeunes, des geeks, des mamies, des zombies, des astronautes… Une joyeuse farandole d’humanité qui vous serre dans ses bras numériques avec un sourire jusqu’aux oreilles.

Et vous savez quoi ? Vous aussi vous pouvez participer à cette grande chaîne de l’amour ! Il vous suffit d’enregistrer votre propre vidéo de câlin, de la poster sur YouTube et de l’envoyer au site. Vos bras réconfortants iront alors apporter un peu de chaleur et de réconfort à quelqu’un qui en a bien besoin quelque part sur cette planète.

Alors certes, les grincheux et les rabat-joie diront que tout ça est bien niais et cucul la praline. Mais dans un monde où les réseaux sociaux virent souvent au pugilat généralisé (coucou Twitter !!) et où la bienveillance se fait rare, ce genre d’initiative ne peut pas faire de mal. Au contraire, elle nous rappelle que derrière chaque écran, chaque pseudo, il y a un être humain avec ses hauts, ses bas, et son besoin de connexion et de réconfort.

Donc la prochaine fois que vous avez une petite baisse d’énergie, que les trolls et les haters vous minent le moral, faites un petit détour par The Nicest Place on the Internet et laissez cette vague de douceur et d’humanité vous submerger.


Vous en avez marre des logiciels de stéganographie qui ne tiennent pas vraiment leurs promesses en matière de sécurité et de furtivité ?

Ne cherchez plus, voici SecretPixel, un excellent outil pour planquer vos données sensibles dans des images afin de pouvoir ensuite les transmettre en toute discrétion.

Alors qu’est-ce qui fait de SecretPixel un outil si balèze comparé aux autres ? Déjà, il combine un chiffrement AES-256 de ouf pour vos données, avec une clé de session elle-même chiffrée avec RSA. Rien que ça, ça veut dire que seul le détenteur de la clé privée RSA pourra déchiffrer vos infos cachées. Niveau sécurité, on est donc au top.

Mais ce n’est pas tout ! Avant d’être chiffrées, vos données sont compressées avec zlib, ce qui réduit leur taille et minimise les schémas détectables par les outils de stéganalyse (oui c’est comme ça qu’on dit). Et pour vraiment brouiller les pistes, SecretPixel utilise un générateur de nombres pseudo-aléatoires pour déterminer les pixels qui vont accueillir vos bits cachés. Vos données sont ainsi éparpillées dans toute l’image, rendant leur détection quasi impossible, même avec des outils comme zsteg.

Le processus de chiffrement garantit que les données cachées restent confidentielles, tandis que la compression et la distribution aléatoire des données rendent extrêmement difficile pour les outils de stéganalyse de détecter la présence d’informations intégrées. L’utilisation d’un générateur de nombres aléatoires avec amorçage ajoute une couche de sécurité supplémentaire, car le schéma des données intégrées ne peut pas être prédit sans connaître l’amorce.

En prime, SecretPixel stocke aussi le nom original de votre fichier caché dans l’image. Comme ça, quand vous l’extrairez, il aura toujours son petit nom. Pratique non ?

Et vu qu’il est écrit en Python, vous pouvez l’utiliser sur n’importe quel système, tant que vous avez Python d’installé.

SecretPixel est conçu pour fonctionner avec une variété de formats de fichiers image : PNG, BMP, TGA et TIFF. Il est important de noter que le format d’image hôte choisi peut avoir un impact sur l’efficacité du processus de stéganographie. Les formats sans perte comme PNG et TIFF sont préférables pour garantir qu’aucune donnée n’est perdue pendant le processus d’intégration.

Maintenant, pour mettre la main sur ce petit bijou, rien de plus simple. Clonez le dépôt GitHub ou téléchargez le code source. Assurez-vous d’avoir Python 3 et les packages requis, et c’est parti !

git clone https://github.com/x011/SecretPixel.git

cd SecretPixel

pip install -r requirements.txt

Avant de jouer à cache-cache avec vos données, vous allez avoir besoin d’une paire de clés RSA – une clé privée et une clé publique. Pas de panique, les dev ont pensé à tout avec un script Python pour vous faciliter la tâche. Lancez donc generate_keys.py qui va vous générer une paire de clés RSA de 4096 bits en un clin d’oeil.

python generate_keys.py

Choisissez une phrase de passe bien corsée pour votre clé privée. Elle sera chiffrée avec AES-256 pour une protection maximale. Une fois le script terminé, vous aurez deux fichiers tout beaux tout chauds : myprivatekey.pem (votre clé privée chiffrée) et mypublickey.pem (votre clé publique, à partager sans modération).

Maintenant, passons aux choses sérieuses. Pour planquer un fichier dans une image, lancez cette commande :

python secret_pixel.py hide host.png secret.txt mypublickey.pem output.png

Avant d’intégrer des données, l’image hôte ne doit pas contenir de contenu stéganographique antérieur ou de métadonnées sensibles qui pourraient entrer en conflit avec les nouvelles données ou révéler leur présence. En sélectionnant et en préparant soigneusement l’image hôte, vous améliorerez considérablement la sécurité et l’indétectabilité des données intégrées dans l’image.

De plus, l’image hôte servant de support pour les données cachées, afin de maintenir l’intégrité du processus de stéganographie et éviter la détection, il est crucial que l’image hôte soit suffisamment grande pour accueillir le fichier caché. En règle générale, l’image hôte doit avoir une capacité (en octets) au moins trois fois supérieure à la taille du fichier à cacher pour garantir que les modifications sont subtiles et largement dispersées.

Et hop, votre secret.txt est incrusté incognito dans host.png en utilisant votre clé publique mypublickey.pem. L’image résultante output.png a l’air innocente, mais elle cache bien son jeu !

Pour exfiltrer votre fichier caché d’une image, c’est tout aussi simple :

python secret_pixel.py extract carrier.png myprivatekey.pem [extracted.txt]

Votre fichier caché ressort de carrier.png grâce à votre clé privée myprivate.pem. Si vous ne fournissez pas de nom de fichier pour le .txt se sortie (extracted.txt), l’outil utilisera le nom du fichier qu’il aura conservé.

Bonne carrière d’agent secret à tous !

Merci à Lorenper