POPULARITY
Categories
Our Pride series keeps on slaying with none other than Southern California drag royalty, Ivy Colby! Ivy sits down with Delta to talk about the art of being a proud bar queen, the importance of drag competitions, and the unmistakable power of a bangle bracelet. And to the men out there… consider this your warning: these queens will gladly take your money and sit on your face!! Plus, what would a “Read Me, Delta” segment be without an iconic Labearja letter? We've got you covered, honey. And Delta? She's in HEAT (literally). You think she hates hot weather? Just wait until you hear this monologue. Listen to Very Delta Ad-Free AND One Day Early on MOM Plus Send us an e-mail at readmedelta@gmail.com FOLLOW DELTA @deltawork VERY DELTA IS A FOREVER DOG AND MOGULS OF MEDIA (M.O.M.) PODCAST Learn more about your ad choices. Visit megaphone.fm/adchoices
This week's EYE ON NPI is a super connector - it's the Texas Instruments SimpleLink Wi-Fi CC33xx Family (https://www.digikey.com/en/product-highlight/t/texas-instruments/simplelink-wi-fi-cc33xx-family) with 2.4GHz and 5GHz WiFi 6 support, plus optional Bluetooth LE, in a low cost co-processor you can add to any microcontroller project you have to instantly IoT-ify it. This family of chips is a big upgrade in the CC3 family, and looks like a very competitive solution to existing market chips - we're excited to see how TI has adapted to the existing market to bring this compelling offering. Oh the TI CC3x series, how you've grown! We first met you back when it was the CC3000, a radical WiFi co-processor with the (at-the-time) astonishing price of ~$10 per module. At the time, we crafted an Arduino-compatible shield and a breakout board (https://learn.adafruit.com/adafruit-cc3000-wifi/overview) as well as an Arduino port of the TCP/IP mini-stack so that folks could do amazing things like get the time (https://learn.adafruit.com/adafruit-cc3000-wifi/internettime), read a web page (https://learn.adafruit.com/adafruit-cc3000-wifi/webclient) or even send a Tweet (https://learn.adafruit.com/adafruit-cc3000-wifi/sendtweet). The big thing was making it so you weren't spending the $50 it cost up-till-then to add a full-linux-system-as-peripheral (https://www.adafruit.com/product/1498). Since then, TI has released some updated versions, such as the CC3100 (https://www.digikey.com/short/9cp431pr), which added 802.11n and lower power draw - we saw it featured in a few micropython projects (https://blog.adafruit.com/2016/08/24/micropython-name-badge-from-emf-2016/) thanks to the core driver support (https://github.com/micropython/micropython/tree/master/drivers/cc3100). And after that, the CC3200 series (https://www.digikey.com/short/9289jcq3), which added TLS/SSL support and had an internal ARM Cortex-M4 that could run code on its own, like MicroPython! (https://github.com/micropython/micropython/blob/master/ports/cc3200/README.md) So it's no surprise that TI is continuing to press their WiFi family forward, to now the CC33xx! The new Texas Instruments SimpleLink Wi-Fi CC33xx Family (https://www.digikey.com/en/product-highlight/t/texas-instruments/simplelink-wi-fi-cc33xx-family) comes with 4 variants: the CC330x have 2.4GHz WiFi only, where-as the CC335x add 5GHz for an additional cost. Likewise, the CC33x0 have only WiFi, and the CC33x1 have WiFi+BLE. Since all the chips / modules are pin-compatible, you can develop with one and then change in production to whatever final setup suits your product. Like the earlier chips, these chips are expected to be connected to a main processor: either a microcontroller or microcomputer, over SPI or SDIO. SPI will work great for your smaller micros, SDIO is great when you have the speed and bandwidth to shift a lot more data around. When connecting over BLE, use the UART-with-flow control - that's the standard for a "BTLE Host Controller Interface" communications (https://www.bluetooth.com/wp-content/uploads/Files/Specification/HTML/Core-60/out/en/host-controller-interface/uart-transport-layer.html). Of course, there's no way you'll want to write a driver for this kind of complex chip - so visit the CC33xx software download page (https://www.ti.com/tool/CC33XX-SOFTWARE) which has software in the form of Linux kernel patch/drivers for beefy chips, or an microcontroller with an RTOS - follow their porting guide to get it running on a non-TI chipset (https://dev.ti.com/tirex/explore/node?node=A__AEIJm0rwIeU.2P1OBWwlaA__CC33XX-RTOS-MCU__dzPVh4K__LATEST) Now you're probably saying "OK cool but I don't want to do a bunch of RF layout, I want a nice tinned module i can slap down and connect my RP-SMA or chip antenna" - and not surprisingly, it looks like there's a CC3301 module (https://www.ti.com/product/CC3301MOD) in pre-production with an optimistic budgetary price of $2.88 - that's for 2.4GHz + BLE. For the 5GHz CC3351MOD (https://www.ti.com/product/CC3351MOD) the price is $3.50. Sans BLE the CC3350MOD (https://www.ti.com/product/CC3350MOD) is $3.13. If you want a peek at what the CC3301 module might look like, the BoosterPack product page has a tantalizing glimpse (https://www.ti.com/tool/BP-CC3301MOD). You can sign up at TI's site for updates on the release schedule, or chat with your DigiKey sales rep and they'll let you know when the part makes it into general distribution. Until then, you can get plenty of TI CC3350 (https://www.digikey.com/short/3z7tqtrp) and CC3351 (https://www.digikey.com/short/hmqzwv5j) bare chips: they're both in stock at DigiKey for immediate shipment! Order today and you'll quickly add low-cost WiFi 6 + BLE support to your next design, with 2.4/5 GHz support so you're ready for any customer or configuration. With ready-to-go software, and great low prices, you can get your design set up with cutting-edge networking without breaking the BOM bank.
How do you retrofit a clustered data-processing system to use cheap commodity storage? That's the big question in this episode as we look at one of the many attempts to build a version of Kafka that uses object storage services like S3 as its main disk, sacrificing a little latency for cheap, infinitely-scalable disks.There are several companies trying to walk down that road, and it's clearly big business - one of them recently got bought out for a rumoured $250m. But one of them is actively trying to get those changes back into the community, as are pushing to make Apache Kafka speak object storage natively.Joining me to explain why and how are Josep Prat and Filip Yonov of Aiven. We break down what it takes to make Kafka's storage layer optional on a per-topic basis, how they're making sure it's not a breaking change, and how they plan to get such a foundational feature merged.–Announcement Post: https://aiven.io/blog/guide-diskless-apache-kafka-kip-1150Aiven's (Temporary) Fork, Project Inkless: https://github.com/aiven/inkless/blob/main/docs/inkless/README.mdKafka Improvement Process (KIP) Articles: KIP-1150: https://cwiki.apache.org/confluence/display/KAFKA/KIP-1150%3A+Diskless+Topics KIP-1163: Diskless Core: https://cwiki.apache.org/confluence/display/KAFKA/KIP-1163%3A+Diskless+Core KIP-1164: Topic Based Batch Coordinator: https://cwiki.apache.org/confluence/display/KAFKA/KIP-1164%3A+Topic+Based+Batch+Coordinator KIP-1165: Object Compaction for Diskless: https://cwiki.apache.org/confluence/display/KAFKA/KIP-1165%3A+Object+Compaction+for+DisklessSupport Developer Voices on Patreon: https://patreon.com/DeveloperVoicesSupport Developer Voices on YouTube: https://www.youtube.com/@developervoices/joinFilip on LinkedIn: https://www.linkedin.com/in/filipyonovJosep on LinkedIn: https://www.linkedin.com/in/jlprat/Kris on Bluesky: https://bsky.app/profile/krisajenkins.bsky.socialKris on Mastodon: http://mastodon.social/@krisajenkinsKris on LinkedIn: https://www.linkedin.com/in/krisjenkins/
The Brothers explore the songs that came out of the 2003 Greatest Hits sessions. And drink beer. And Sam has a pizza. It's all very professional...We are part of the Deep Dive Podcast Network: https://twitter.com/DeepDivePodNetFollow us on the good old socials:Twitter:Ben: https://twitter.com/universallyrhcpSam: https://twitter.com/stacktownsendInstagram:Ben: https://www.instagram.com/universallyspeakingrhcp_pod/Read ‘Me and My Friends' - The World's #1 RHCP Newsletter - Subscribe here: https://buttondown.email/rhcpsessions.Check out Red Hot Chili Riffs here: https://www.youtube.com/@RedHotChiliRiffsCheck out our Drum Ambassadors (Jack Johnson) projects here: https://www.youtube.com/channel/UCdy0pbWSOg6f8vcYnngIQ0ACheck out our Bass Ambassadors (Aidan Hampson) projects here: http://aidanhampson.co.uk/Check out friend of the pod, Dan Boyd's Pop Shock Podcast - for all your pop culture needs! Audio: https://anchor.fm/popshockpod / Video: https://youtube.com/channel/UCHY5pXX_x7Kv4e8wJmHoK5AFor your vinyl needs please shop at Black Star Records: https://www.blackstarrecords.co.uk and Black Wax Coffee and Records: https://blackwaxcoffee.co.uk/
Gros épisode qui couvre un large spectre de sujets : Java, Scala, Micronaut, NodeJS, l'IA et la compétence des développeurs, le sampling dans les LLMs, les DTO, le vibe coding, les changements chez Broadcom et Red Hat ainsi que plusieurs nouvelles sur les licences open source. Enregistré le 7 mai 2025 Téléchargement de l'épisode LesCastCodeurs-Episode-325.mp3 ou en vidéo sur YouTube. News Langages A l'occasion de JavaOne et du lancement de Java 24, Oracle lance un nouveau site avec des ressources vidéo pour apprendre le langage https://learn.java/ site plutôt à destination des débutants et des enseignants couvre la syntaxe aussi, y compris les ajouts plus récents comme les records ou le pattern matching c'est pas le site le plus trendy du monde. Martin Odersky partage un long article sur l'état de l'écosystème Scala et les évolutions du language https://www.scala-lang.org/blog/2025/03/24/evolving-scala.html Stabilité et besoin d'évolution : Scala maintient sa position (~14ème mondial) avec des bases techniques solides, mais doit évoluer face à la concurrence pour rester pertinent. Axes prioritaires : L'évolution se concentre sur l'amélioration du duo sécurité/convivialité, le polissage du langage (suppression des “rugosités”) et la simplification pour les débutants. Innovation continue : Geler les fonctionnalités est exclu ; l'innovation est clé pour la valeur de Scala. Le langage doit rester généraliste et ne pas se lier à un framework spécifique. Défis et progrès : L'outillage (IDE, outils de build comme sbt, scala-cli, Mill) et la facilité d'apprentissage de l'écosystème sont des points d'attention, avec des améliorations en cours (partenariat pédagogique, plateformes simples). Des strings encore plus rapides ! https://inside.java/2025/05/01/strings-just-got-faster/ Dans JDK 25, la performance de la fonction String::hashCode a été améliorée pour être principalement constant foldable. Cela signifie que si les chaînes de caractères sont utilisées comme clés dans une Map statique et immuable, des gains de performance significatifs sont probables. L'amélioration repose sur l'annotation interne @Stable appliquée au champ privé String.hash. Cette annotation permet à la machine virtuelle de lire la valeur du hash une seule fois et de la considérer comme constante si elle n'est pas la valeur par défaut (zéro). Par conséquent, l'opération String::hashCode peut être remplacée par la valeur de hash connue, optimisant ainsi les lookups dans les Map immuables. Un cas limite est celui où le code de hachage de la chaîne est zéro, auquel cas l'optimisation ne fonctionne pas (par exemple, pour la chaîne vide “”). Bien que l'annotation @Stable soit interne au JDK, un nouveau JEP (JEP 502: Stable Values (Preview)) est en cours de développement pour permettre aux utilisateurs de bénéficier indirectement de fonctionnalités similaires. AtomicHash, une implémentation Java d'une HashMap qui est thread-safe, atomique et non-bloquante https://github.com/arxila/atomichash implémenté sous forme de version immutable de Concurrent Hash Trie Librairies Sortie de Micronaut 4.8.0 https://micronaut.io/2025/04/01/micronaut-framework-4-8-0-released/ Mise à jour de la BOM (Bill of Materials) : La version 4.8.0 met à jour la BOM de la plateforme Micronaut. Améliorations de Micronaut Core : Intégration de Micronaut SourceGen pour la génération interne de métadonnées et d'expressions bytecode. Nombreuses améliorations dans Micronaut SourceGen. Ajout du traçage de l'injection de dépendances pour faciliter le débogage au démarrage et à la création des beans. Nouveau membre definitionType dans l'annotation @Client pour faciliter le partage d'interfaces entre client et serveur. Support de la fusion dans les Bean Mappers via l'annotation @Mapping. Nouvelle liveness probe détectant les threads bloqués (deadlocked) via ThreadMXBean. Intégration Kubernetes améliorée : Mise à jour du client Java Kubernetes vers la version 22.0.1. Ajout du module Micronaut Kubernetes Client OpenAPI, offrant une alternative au client officiel avec moins de dépendances, une configuration unifiée, le support des filtres et la compatibilité Native Image. Introduction d'un nouveau runtime serveur basé sur le serveur HTTP intégré de Java, permettant de créer des applications sans dépendances serveur externes. Ajout dans Micronaut Micrometer d'un module pour instrumenter les sources de données (traces et métriques). Ajout de la condition condition dans l'annotation @MetricOptions pour contrôler l'activation des métriques via une expression. Support des Consul watches dans Micronaut Discovery Client pour détecter les changements de configuration distribuée. Possibilité de générer du code source à partir d'un schéma JSON via les plugins de build (Gradle et Maven). Web Node v24.0.0 passe en version Current: https://nodejs.org/en/blog/release/v24.0.0 Mise à jour du moteur V8 vers la version 13.6 : intégration de nouvelles fonctionnalités JavaScript telles que Float16Array, la gestion explicite des ressources (using), RegExp.escape, WebAssembly Memory64 et Error.isError. npm 11 inclus : améliorations en termes de performance, de sécurité et de compatibilité avec les packages JavaScript modernes. Changement de compilateur pour Windows : abandon de MSVC au profit de ClangCL pour la compilation de Node.js sur Windows. AsyncLocalStorage utilise désormais AsyncContextFrame par défaut : offrant une gestion plus efficace du contexte asynchrone. URLPattern disponible globalement : plus besoin d'importer explicitement cette API pour effectuer des correspondances d'URL. Améliorations du modèle de permissions : le flag expérimental --experimental-permission devient --permission, signalant une stabilité accrue de cette fonctionnalité. Améliorations du test runner : les sous-tests sont désormais attendus automatiquement, simplifiant l'écriture des tests et réduisant les erreurs liées aux promesses non gérées. Intégration d'Undici 7 : amélioration des capacités du client HTTP avec de meilleures performances et un support étendu des fonctionnalités HTTP modernes. Dépréciations et suppressions : Dépréciation de url.parse() au profit de l'API WHATWG URL. Suppression de tls.createSecurePair. Dépréciation de SlowBuffer. Dépréciation de l'instanciation de REPL sans new. Dépréciation de l'utilisation des classes Zlib sans new. Dépréciation du passage de args à spawn et execFile dans child_process. Node.js 24 est actuellement la version “Current” et deviendra une version LTS en octobre 2025. Il est recommandé de tester cette version pour évaluer son impact sur vos applications. Data et Intelligence Artificielle Apprendre à coder reste crucial et l'IA est là pour venir en aide : https://kyrylo.org/software/2025/03/27/learn-to-code-ignore-ai-then-use-ai-to-code-even-better.html Apprendre à coder reste essentiel malgré l'IA. L'IA peut assister la programmation. Une solide base est cruciale pour comprendre et contrôler le code. Cela permet d'éviter la dépendance à l'IA. Cela réduit le risque de remplacement par des outils d'IA accessibles à tous. L'IA est un outil, pas un substitut à la maîtrise des fondamentaux. Super article de Anthropic qui essaie de comprendre comment fonctionne la “pensée” des LLMs https://www.anthropic.com/research/tracing-thoughts-language-model Effet boîte noire : Stratégies internes des IA (Claude) opaques aux développeurs et utilisateurs. Objectif : Comprendre le “raisonnement” interne pour vérifier capacités et intentions. Méthode : Inspiration neurosciences, développement d'un “microscope IA” (regarder quels circuits neuronaux s'activent). Technique : Identification de concepts (“features”) et de “circuits” internes. Multilinguisme : Indice d'un “langage de pensée” conceptuel commun à toutes les langues avant de traduire dans une langue particulière. Planification : Capacité à anticiper (ex: rimes en poésie), pas seulement de la génération mot par mot (token par token). Raisonnement non fidèle : Peut fabriquer des arguments plausibles (“bullshitting”) pour une conclusion donnée. Logique multi-étapes : Combine des faits distincts, ne se contente pas de mémoriser. Hallucinations : Refus par défaut ; réponse si “connaissance” active, sinon risque d'hallucination si erreur. “Jailbreaks” : Tension entre cohérence grammaticale (pousse à continuer) et sécurité (devrait refuser). Bilan : Méthodes limitées mais prometteuses pour la transparence et la fiabilité de l'IA. Le “S” dans MCP veut dire Securité (ou pas !) https://elenacross7.medium.com/%EF%B8%8F-the-s-in-mcp-stands-for-security-91407b33ed6b La spécification MCP pour permettre aux LLMs d'avoir accès à divers outils et fonctions a peut-être été adoptée un peu rapidement, alors qu'elle n'était pas encore prête niveau sécurité L'article liste 4 types d'attaques possibles : vulnérabilité d'injection de commandes attaque d'empoisonnement d'outils redéfinition silencieuse de l'outil le shadowing d'outils inter-serveurs Pour l'instant, MCP n'est pas sécurisé : Pas de standard d'authentification Pas de chiffrement de contexte Pas de vérification d'intégrité des outils Basé sur l'article de InvariantLabs https://invariantlabs.ai/blog/mcp-security-notification-tool-poisoning-attacks Sortie Infinispan 15.2 - pre rolling upgrades 16.0 https://infinispan.org/blog/2025/03/27/infinispan-15-2 Support de Redis JSON + scripts Lua Métriques JVM désactivables Nouvelle console (PatternFly 6) Docs améliorées (métriques + logs) JDK 17 min, support JDK 24 Fin du serveur natif (performances) Guillaume montre comment développer un serveur MCP HTTP Server Sent Events avec l'implémentation de référence Java et LangChain4j https://glaforge.dev/posts/2025/04/04/mcp-client-and-server-with-java-mcp-sdk-and-langchain4j/ Développé en Java, avec l'implémentation de référence qui est aussi à la base de l'implémentation dans Spring Boot (mais indépendant de Spring) Le serveur MCP est exposé sous forme de servlet dans Jetty Le client MCP lui, est développé avec le module MCP de LangChain4j c'est semi independant de Spring dans le sens où c'est dépendant de Reactor et de ses interface. il y a une conversation sur le github d'anthropic pour trouver une solution, mais cela ne parait pas simple. Les fallacies derrière la citation “AI won't replace you, but humans using AI will” https://platforms.substack.com/cp/161356485 La fallacie de l'automatisation vs. l'augmentation : Elle se concentre sur l'amélioration des tâches existantes avec l'IA au lieu de considérer le changement de la valeur de ces tâches dans un nouveau système. La fallacie des gains de productivité : L'augmentation de la productivité ne se traduit pas toujours par plus de valeur pour les travailleurs, car la valeur créée peut être capturée ailleurs dans le système. La fallacie des emplois statiques : Les emplois sont des constructions organisationnelles qui peuvent être redéfinies par l'IA, rendant les rôles traditionnels obsolètes. La fallacie de la compétition “moi vs. quelqu'un utilisant l'IA” : La concurrence évolue lorsque l'IA modifie les contraintes fondamentales d'un secteur, rendant les compétences existantes moins pertinentes. La fallacie de la continuité du flux de travail : L'IA peut entraîner une réimagination complète des flux de travail, éliminant le besoin de certaines compétences. La fallacie des outils neutres : Les outils d'IA ne sont pas neutres et peuvent redistribuer le pouvoir organisationnel en changeant la façon dont les décisions sont prises et exécutées. La fallacie du salaire stable : Le maintien d'un emploi ne garantit pas un salaire stable, car la valeur du travail peut diminuer avec l'augmentation des capacités de l'IA. La fallacie de l'entreprise stable : L'intégration de l'IA nécessite une restructuration de l'entreprise et ne se fait pas dans un vide organisationnel. Comprendre le “sampling” dans les LLMs https://rentry.co/samplers Explique pourquoi les LLMs utilisent des tokens Les différentes méthodes de “sampling” : càd de choix de tokens Les hyperparamètres comme la température, top-p, et leur influence réciproque Les algorithmes de tokenisation comme Byte Pair Encoding et SentencePiece. Un de moins … OpenAI va racheter Windsurf pour 3 milliards de dollars. https://www.bloomberg.com/news/articles/2025-05-06/openai-reaches-agreement-to-buy-startup-windsurf-for-3-billion l'accord n'est pas encore finalisé Windsurf était valorisé à 1,25 milliards l'an dernier et OpenAI a levé 40 milliards dernièrement portant sa valeur à 300 milliards Le but pour OpenAI est de rentrer dans le monde des assistants de code pour lesquels ils sont aujourd'hui absent Docker desktop se met à l'IA… ? Une nouvelle fonctionnalité dans docker desktop 4.4 sur macos: Docker Model Runner https://dev.to/docker/run-genai-models-locally-with-docker-model-runner-5elb Permet de faire tourner des modèles nativement en local ( https://docs.docker.com/model-runner/ ) mais aussi des serveurs MCP ( https://docs.docker.com/ai/mcp-catalog-and-toolkit/ ) Outillage Jetbrains défend la suppression des commentaires négatifs sur son assistant IA https://devclass.com/2025/04/30/jetbrains-defends-removal-of-negative-reviews-for-unpopular-ai-assistant/?td=rt-3a L'IA Assistant de JetBrains, lancée en juillet 2023, a été téléchargée plus de 22 millions de fois mais n'est notée que 2,3 sur 5. Des utilisateurs ont remarqué que certaines critiques négatives étaient supprimées, ce qui a provoqué une réaction négative sur les réseaux sociaux. Un employé de JetBrains a expliqué que les critiques ont été supprimées soit parce qu'elles mentionnaient des problèmes déjà résolus, soit parce qu'elles violaient leur politique concernant les “grossièretés, etc.” L'entreprise a reconnu qu'elle aurait pu mieux gérer la situation, un représentant déclarant : “Supprimer plusieurs critiques d'un coup sans préavis semblait suspect. Nous aurions dû au moins publier un avis et fournir plus de détails aux auteurs.” Parmi les problèmes de l'IA Assistant signalés par les utilisateurs figurent : un support limité pour les fournisseurs de modèles tiers, une latence notable, des ralentissements fréquents, des fonctionnalités principales verrouillées aux services cloud de JetBrains, une expérience utilisateur incohérente et une documentation insuffisante. Une plainte courante est que l'IA Assistant s'installe sans permission. Un utilisateur sur Reddit l'a qualifié de “plugin agaçant qui s'auto-répare/se réinstalle comme un phénix”. JetBrains a récemment introduit un niveau gratuit et un nouvel agent IA appelé Junie, destiné à fonctionner parallèlement à l'IA Assistant, probablement en réponse à la concurrence entre fournisseurs. Mais il est plus char a faire tourner. La société s'est engagée à explorer de nouvelles approches pour traiter les mises à jour majeures différemment et envisage d'implémenter des critiques par version ou de marquer les critiques comme “Résolues” avec des liens vers les problèmes correspondants au lieu de les supprimer. Contrairement à des concurrents comme Microsoft, AWS ou Google, JetBrains commercialise uniquement des outils et services de développement et ne dispose pas d'une activité cloud distincte sur laquelle s'appuyer. Vos images de README et fichiers Markdown compatibles pour le dark mode de GitHub: https://github.blog/developer-skills/github/how-to-make-your-images-in-markdown-on-github-adjust-for-dark-mode-and-light-mode/ Seulement quelques lignes de pure HTML pour le faire Architecture Alors, les DTOs, c'est bien ou c'est pas bien ? https://codeopinion.com/dtos-mapping-the-good-the-bad-and-the-excessive/ Utilité des DTOs : Les DTOs servent à transférer des données entre les différentes couches d'une application, en mappant souvent les données entre différentes représentations (par exemple, entre la base de données et l'interface utilisateur). Surutilisation fréquente : L'article souligne que les DTOs sont souvent utilisés de manière excessive, notamment pour créer des API HTTP qui ne font que refléter les entités de la base de données, manquant ainsi l'opportunité de composer des données plus riches. Vraie valeur : La valeur réelle des DTOs réside dans la gestion du couplage entre les couches et la composition de données provenant de sources multiples en formes optimisées pour des cas d'utilisation spécifiques. Découplage : Il est suggéré d'utiliser les DTOs pour découpler les modèles de données internes des contrats externes (comme les API), ce qui permet une évolution et une gestion des versions indépendantes. Exemple avec CQRS : Dans le cadre de CQRS (Command Query Responsibility Segregation), les réponses aux requêtes (queries) agissent comme des DTOs spécifiquement adaptés aux besoins de l'interface utilisateur, pouvant inclure des données de diverses sources. Protection des données internes : Les DTOs aident à distinguer et protéger les modèles de données internes (privés) des changements externes (publics). Éviter l'excès : L'auteur met en garde contre les couches de mapping excessives (mapper un DTO vers un autre DTO) qui n'apportent pas de valeur ajoutée. Création ciblée : Il est conseillé de ne créer des DTOs que lorsqu'ils résolvent des problèmes concrets, tels que la gestion du couplage ou la facilitation de la composition de données. Méthodologies Même Guillaume se met au “vibe coding” https://glaforge.dev/posts/2025/05/02/vibe-coding-an-mcp-server-with-micronaut-and-gemini/ Selon Andrey Karpathy, c'est le fait de POC-er un proto, une appli jetable du weekend https://x.com/karpathy/status/1886192184808149383 Mais Simon Willison s'insurge que certains confondent coder avec l'assistance de l'IA avec le vibe coding https://simonwillison.net/2025/May/1/not-vibe-coding/ Guillaume c'est ici amusé à développer un serveur MCP avec Micronaut, en utilisant Gemini, l'IA de Google. Contrairement à Quarkus ou Spring Boot, Micronaut n'a pas encore de module ou de support spécifique pour faciliter la création de serveur MCP Sécurité Une faille de sécurité 10/10 sur Tomcat https://www.it-connect.fr/apache-tomcat-cette-faille-activement-exploitee-seulement-30-heures-apres-sa-divulgation-patchez/ Une faille de sécurité critique (CVE-2025-24813) affecte Apache Tomcat, permettant l'exécution de code à distance Cette vulnérabilité est activement exploitée seulement 30 heures après sa divulgation du 10 mars 2025 L'attaque ne nécessite aucune authentification et est particulièrement simple à exécuter Elle utilise une requête PUT avec une charge utile Java sérialisée encodée en base64, suivie d'une requête GET L'encodage en base64 permet de contourner la plupart des filtres de sécurité Les serveurs vulnérables utilisent un stockage de session basé sur des fichiers (configuration répandue) Les versions affectées sont : 11.0.0-M1 à 11.0.2, 10.1.0-M1 à 10.1.34, et 9.0.0.M1 à 9.0.98 Les mises à jour recommandées sont : 11.0.3+, 10.1.35+ et 9.0.99+ Les experts prévoient des attaques plus sophistiquées dans les prochaines phases d'exploitation (upload de config ou jsp) Sécurisation d'un serveur ssh https://ittavern.com/ssh-server-hardening/ un article qui liste les configurations clés pour sécuriser un serveur SSH par exemple, enlever password authentigfication, changer de port, desactiver le login root, forcer le protocol ssh 2, certains que je ne connaissais pas comme MaxStartups qui limite le nombre de connections non authentifiées concurrentes Port knocking est une technique utile mais demande une approche cliente consciente du protocol Oracle admet que les identités IAM de ses clients ont leaké https://www.theregister.com/2025/04/08/oracle_cloud_compromised/ Oracle a confirmé à certains clients que son cloud public a été compromis, alors que l'entreprise avait précédemment nié toute intrusion. Un pirate informatique a revendiqué avoir piraté deux serveurs d'authentification d'Oracle et volé environ six millions d'enregistrements, incluant des clés de sécurité privées, des identifiants chiffrés et des entrées LDAP. La faille exploitée serait la vulnérabilité CVE-2021-35587 dans Oracle Access Manager, qu'Oracle n'avait pas corrigée sur ses propres systèmes. Le pirate a créé un fichier texte début mars sur login.us2.oraclecloud.com contenant son adresse email pour prouver son accès. Selon Oracle, un ancien serveur contenant des données vieilles de huit ans aurait été compromis, mais un client affirme que des données de connexion aussi récentes que 2024 ont été dérobées. Oracle fait face à un procès au Texas concernant cette violation de données. Cette intrusion est distincte d'une autre attaque contre Oracle Health, sur laquelle l'entreprise refuse de commenter. Oracle pourrait faire face à des sanctions sous le RGPD européen qui exige la notification des parties affectées dans les 72 heures suivant la découverte d'une fuite de données. Le comportement d'Oracle consistant à nier puis à admettre discrètement l'intrusion est inhabituel en 2025 et pourrait mener à d'autres actions en justice collectives. Une GitHub action très populaire compromise https://www.stepsecurity.io/blog/harden-runner-detection-tj-actions-changed-files-action-is-compromised Compromission de l'action tj-actions/changed-files : En mars 2025, une action GitHub très utilisée (tj-actions/changed-files) a été compromise. Des versions modifiées de l'action ont exposé des secrets CI/CD dans les logs de build. Méthode d'attaque : Un PAT compromis a permis de rediriger plusieurs tags de version vers un commit contenant du code malveillant. Détails du code malveillant : Le code injecté exécutait une fonction Node.js encodée en base64, qui téléchargeait un script Python. Ce script parcourait la mémoire du runner GitHub à la recherche de secrets (tokens, clés…) et les exposait dans les logs. Dans certains cas, les données étaient aussi envoyées via une requête réseau. Période d'exposition : Les versions compromises étaient actives entre le 12 et le 15 mars 2025. Tout dépôt, particulièrement ceux publiques, ayant utilisé l'action pendant cette période doit être considéré comme potentiellement exposé. Détection : L'activité malveillante a été repérée par l'analyse des comportements inhabituels pendant l'exécution des workflows, comme des connexions réseau inattendues. Réaction : GitHub a supprimé l'action compromise, qui a ensuite été nettoyée. Impact potentiel : Tous les secrets apparaissant dans les logs doivent être considérés comme compromis, même dans les dépôts privés, et régénérés sans délai. Loi, société et organisation Les startup the YCombinateur ont les plus fortes croissances de leur histoire https://www.cnbc.com/2025/03/15/y-combinator-startups-are-fastest-growing-in-fund-history-because-of-ai.html Les entreprises en phase de démarrage à Silicon Valley connaissent une croissance significative grâce à l'intelligence artificielle. Le PDG de Y Combinator, Garry Tan, affirme que l'ensemble des startups de la dernière cohorte a connu une croissance hebdomadaire de 10% pendant neuf mois. L'IA permet aux développeurs d'automatiser des tâches répétitives et de générer du code grâce aux grands modèles de langage. Pour environ 25% des startups actuelles de YC, 95% de leur code a été écrit par l'IA. Cette révolution permet aux entreprises de se développer avec moins de personnel - certaines atteignant 10 millions de dollars de revenus avec moins de 10 employés. La mentalité de “croissance à tout prix” a été remplacée par un renouveau d'intérêt pour la rentabilité. Environ 80% des entreprises présentées lors du “demo day” étaient centrées sur l'IA, avec quelques startups en robotique et semi-conducteurs. Y Combinator investit 500 000 dollars dans les startups en échange d'une participation au capital, suivi d'un programme de trois mois. Red Hat middleware (ex-jboss) rejoint IBM https://markclittle.blogspot.com/2025/03/red-hat-middleware-moving-to-ibm.html Les activités Middleware de Red Hat (incluant JBoss, Quarkus, etc.) vont être transférées vers IBM, dans l'unité dédiée à la sécurité des données, à l'IAM et aux runtimes. Ce changement découle d'une décision stratégique de Red Hat de se concentrer davantage sur le cloud hybride et l'intelligence artificielle. Mark Little explique que ce transfert était devenu inévitable, Red Hat ayant réduit ses investissements dans le Middleware ces dernières années. L'intégration vise à renforcer l'innovation autour de Java en réunissant les efforts de Red Hat et IBM sur ce sujet. Les produits Middleware resteront open source et les clients continueront à bénéficier du support habituel sans changement. Mark Little affirme que des projets comme Quarkus continueront à être soutenus et que cette évolution est bénéfique pour la communauté Java. Un an de commonhaus https://www.commonhaus.org/activity/253.html un an, démarré sur les communautés qu'ils connaissaient bien maintenant 14 projets et put en accepter plus confiance, gouvernance legère et proteger le futur des projets automatisation de l'administratif, stabiilité sans complexité, les developpeurs au centre du processus de décision ils ont besoins de members et supporters (financiers) ils veulent accueillir des projets au delà de ceux du cercles des Java Champions Spring Cloud Data Flow devient un produit commercial et ne sera plus maintenu en open source https://spring.io/blog/2025/04/21/spring-cloud-data-flow-commercial Peut-être sous l'influence de Broadcom, Spring se met à mettre en mode propriétaire des composants du portefeuille Spring ils disent que peu de gens l'utilisaent en mode OSS et la majorité venait d'un usage dans la plateforme Tanzu Maintenir en open source le coutent du temps qu'ils son't pas sur ces projets. La CNCF protège le projet NATS, dans la fondation depuis 2018, vu que la société Synadia qui y contribue souhaitait reprendre le contrôle du projet https://www.cncf.io/blog/2025/04/24/protecting-nats-and-the-integrity-of-open-source-cncfs-commitment-to-the-community/ CNCF : Protège projets OS, gouvernance neutre. Synadia vs CNCF : Veut retirer NATS, licence non-OS (BUSL). CNCF : Accuse Synadia de “claw back” (reprise illégitime). Revendications Synadia : Domaine nats.io, orga GitHub. Marque NATS : Synadia n'a pas transféré (promesse rompue malgré aide CNCF). Contestation Synadia : Juge règles CNCF “trop vagues”. Vote interne : Mainteneurs Synadia votent sortie CNCF (sans communauté). Support CNCF : Investissement majeur ($ audits, légal), succès communautaire (>700 orgs). Avenir NATS (CNCF) : Maintien sous Apache 2.0, gouvernance ouverte. Actions CNCF : Health check, appel mainteneurs, annulation marque Synadia, rejet demandes. Mais finalement il semble y avoir un bon dénouement : https://www.cncf.io/announcements/2025/05/01/cncf-and-synadia-align-on-securing-the-future-of-the-nats-io-project/ Accord pour l'avenir de NATS.io : La Cloud Native Computing Foundation (CNCF) et Synadia ont conclu un accord pour sécuriser le futur du projet NATS.io. Transfert des marques NATS : Synadia va céder ses deux enregistrements de marque NATS à la Linux Foundation afin de renforcer la gouvernance ouverte du projet. Maintien au sein de la CNCF : L'infrastructure et les actifs du projet NATS resteront sous l'égide de la CNCF, garantissant ainsi sa stabilité à long terme et son développement en open source sous licence Apache-2.0. Reconnaissance et engagement : La Linux Foundation, par la voix de Todd Moore, reconnaît les contributions de Synadia et son soutien continu. Derek Collison, PDG de Synadia, réaffirme l'engagement de son entreprise envers NATS et la collaboration avec la Linux Foundation et la CNCF. Adoption et soutien communautaire : NATS est largement adopté et considéré comme une infrastructure critique. Il bénéficie d'un fort soutien de la communauté pour sa nature open source et l'implication continue de Synadia. Finalement, Redis revient vers une licence open source OSI, avec la AGPL https://foojay.io/today/redis-is-now-available-under-the-agplv3-open-source-license/ Redis passe à la licence open source AGPLv3 pour contrer l'exploitation par les fournisseurs cloud sans contribution. Le passage précédent à la licence SSPL avait nui à la relation avec la communauté open source. Salvatore Sanfilippo (antirez) est revenu chez Redis. Redis 8 adopte la licence AGPL, intègre les fonctionnalités de Redis Stack (JSON, Time Series, etc.) et introduit les “vector sets” (le support de calcul vectoriel développé par Salvatore). Ces changements visent à renforcer Redis en tant que plateforme appréciée des développeurs, conformément à la vision initiale de Salvatore. Conférences La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs : 6-7 mai 2025 : GOSIM AI Paris - Paris (France) 7-9 mai 2025 : Devoxx UK - London (UK) 15 mai 2025 : Cloud Toulouse - Toulouse (France) 16 mai 2025 : AFUP Day 2025 Lille - Lille (France) 16 mai 2025 : AFUP Day 2025 Lyon - Lyon (France) 16 mai 2025 : AFUP Day 2025 Poitiers - Poitiers (France) 22-23 mai 2025 : Flupa UX Days 2025 - Paris (France) 24 mai 2025 : Polycloud - Montpellier (France) 24 mai 2025 : NG Baguette Conf 2025 - Nantes (France) 3 juin 2025 : TechReady - Nantes (France) 5-6 juin 2025 : AlpesCraft - Grenoble (France) 5-6 juin 2025 : Devquest 2025 - Niort (France) 10-11 juin 2025 : Modern Workplace Conference Paris 2025 - Paris (France) 11-13 juin 2025 : Devoxx Poland - Krakow (Poland) 12 juin 2025 : Positive Design Days - Strasbourg (France) 12-13 juin 2025 : Agile Tour Toulouse - Toulouse (France) 12-13 juin 2025 : DevLille - Lille (France) 13 juin 2025 : Tech F'Est 2025 - Nancy (France) 17 juin 2025 : Mobilis In Mobile - Nantes (France) 19-21 juin 2025 : Drupal Barcamp Perpignan 2025 - Perpignan (France) 24 juin 2025 : WAX 2025 - Aix-en-Provence (France) 25-26 juin 2025 : Agi'Lille 2025 - Lille (France) 25-27 juin 2025 : BreizhCamp 2025 - Rennes (France) 26-27 juin 2025 : Sunny Tech - Montpellier (France) 1-4 juillet 2025 : Open edX Conference - 2025 - Palaiseau (France) 7-9 juillet 2025 : Riviera DEV 2025 - Sophia Antipolis (France) 5 septembre 2025 : JUG Summer Camp 2025 - La Rochelle (France) 12 septembre 2025 : Agile Pays Basque 2025 - Bidart (France) 18-19 septembre 2025 : API Platform Conference - Lille (France) & Online 23 septembre 2025 : OWASP AppSec France 2025 - Paris (France) 25-26 septembre 2025 : Paris Web 2025 - Paris (France) 2-3 octobre 2025 : Volcamp - Clermont-Ferrand (France) 3 octobre 2025 : DevFest Perros-Guirec 2025 - Perros-Guirec (France) 6-10 octobre 2025 : Devoxx Belgium - Antwerp (Belgium) 7 octobre 2025 : BSides Mulhouse - Mulhouse (France) 9-10 octobre 2025 : Forum PHP 2025 - Marne-la-Vallée (France) 9-10 octobre 2025 : EuroRust 2025 - Paris (France) 16 octobre 2025 : PlatformCon25 Live Day Paris - Paris (France) 16-17 octobre 2025 : DevFest Nantes - Nantes (France) 30-31 octobre 2025 : Agile Tour Bordeaux 2025 - Bordeaux (France) 30-31 octobre 2025 : Agile Tour Nantais 2025 - Nantes (France) 30 octobre 2025-2 novembre 2025 : PyConFR 2025 - Lyon (France) 4-7 novembre 2025 : NewCrafts 2025 - Paris (France) 6 novembre 2025 : dotAI 2025 - Paris (France) 7 novembre 2025 : BDX I/O - Bordeaux (France) 12-14 novembre 2025 : Devoxx Morocco - Marrakech (Morocco) 13 novembre 2025 : DevFest Toulouse - Toulouse (France) 15-16 novembre 2025 : Capitole du Libre - Toulouse (France) 20 novembre 2025 : OVHcloud Summit - Paris (France) 21 novembre 2025 : DevFest Paris 2025 - Paris (France) 27 novembre 2025 : Devfest Strasbourg 2025 - Strasbourg (France) 28 novembre 2025 : DevFest Lyon - Lyon (France) 5 décembre 2025 : DevFest Dijon 2025 - Dijon (France) 10-11 décembre 2025 : Devops REX - Paris (France) 10-11 décembre 2025 : Open Source Experience - Paris (France) 28-31 janvier 2026 : SnowCamp 2026 - Grenoble (France) 2-6 février 2026 : Web Days Convention - Aix-en-Provence (France) 23-25 avril 2026 : Devoxx Greece - Athens (Greece) 17 juin 2026 : Devoxx Poland - Krakow (Poland) Nous contacter Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs Contactez-nous via X/twitter https://twitter.com/lescastcodeurs ou Bluesky https://bsky.app/profile/lescastcodeurs.com Faire un crowdcast ou une crowdquestion Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/
The Expo SDK 53 Beta was released, FlashList v2 is a complete rewrite and is React Native actually popular? I dive into the latest news from the React Native community, and share updates on the projects I'm working on.Also in this episode:- How I use Convex and ElevenLabs to build a Captions clone- Why are you not using AI?- My vacation in Copenhagen- New App sales and motivation- Galaxies.dev merch
In this episode, I, Stewart Alsop III, sat down with AJ Beckner to walk through how non-technical founders can build a deeper understanding of their codebase using AI tools like Cursor and Claude. We explored the reality of navigating an IDE as a beginner, demystified Git and GitHub version control, and walked through practical ways to clone a repo, open it safely in Cursor, and start asking questions about your app's structure and functionality without breaking anything. AJ shared his curiosity about finding specific text in his app and how to track that down across branches. We also looked at using AI-powered tools for tasks like dependency analysis and visualizing app architecture, with a focus on empowering non-devs to gain confidence and clarity in their product's code. You can connect with AJ through Twitter at @thisistheaj.Check out this GPT we trained on the conversation!Timestamps00:00 – Stewart introduces Cursor as a fork of Visual Studio Code and explains the concept of an IDE to AJ, who has zero prior experience. They talk about the complexity of coding and the importance of developer curiosity.05:00 – They walk through cloning a GitHub repository using the git clone command. Stewart highlights that AJ won't break anything and introduces the idea of a local playground for exploration.10:00 – Stewart explains Git vs GitHub, the purpose of version control, and how to use the terminal for navigation. They begin setting up the project in Cursor using the terminal rather than GUI options.15:00 – They realize only a README was cloned, leading to a discussion about branches—specifically the difference between main and development branches—and how to clone the right one.20:00 – Using git fetch, they get access to the development branch. Stewart explains how to disconnect from Git safely to avoid pushing changes.25:00 – AJ and Stewart begin exploring Cursor's AI features, including the chat interface. Stewart encourages AJ to start asking natural-language questions about the app structure.30:00 – Stewart demonstrates how to ask for a dependency analysis and create mermaid diagrams for visualizing how app modules are connected.35:00 – They begin identifying specific UI components, including finding and editing the home screen title. AJ uploads a screenshot to use as reference in Cursor.40:00 – They successfully trace the UI text to an index.tsx file and discuss the layout's dependency structure. AJ learns how to use search and command-F effectively.45:00 – They begin troubleshooting issues with Claude's GitHub integration, exploring Claude MCP servers and configuration files to fix broken tools.50:00 – Stewart guides AJ through using npm to install missing packages, explains what Node Package Manager is, and reflects on the interconnected nature of modern development.55:00 – Final troubleshooting steps and next steps. Stewart suggests bringing in Phil for deeper debugging. AJ reflects on how empowered he now feels navigating the codebase.Key InsightsYou don't need to be a developer to understand your app's codebase: AJ Beckner starts the session with zero familiarity with IDEs, but through Stewart's guidance, he begins navigating Cursor and GitHub confidently. The key idea is that non-technical founders can develop real intuition about their code—enough to communicate better with developers, find what they need, and build trust with the systems behind their product.Cursor makes AI-native development accessible to beginners: One of the biggest unlocks in this episode is seeing how Cursor, a VS Code fork with AI baked in, can answer questions about your codebase in plain English. By cloning the GitHub repo and indexing it, AJ is able to ask, “Where do I change this text in the app?” and get direct, actionable guidance. Stewart points out that this shifts the role of a founder from passively waiting on answers to actively exploring and editing.Version control doesn't have to be scary—with the right framing: Git and GitHub come across as overwhelming to many non-engineers, but Stewart breaks it down simply: Git is the local system that helps keep changes organized and non-destructive, and GitHub is the cloud-based sharing tool layered on top. Together, they allow safe experimentation, like cloning a development branch and disconnecting it from the main repo to create a playground environment.Branching strategies reflect how work gets done behind the scenes: The episode includes a moment of discovery: AJ cloned the main branch and only got a README. Stewart explains that the real work often lives in a “development” branch, while “main” is kept stable for production. Understanding this distinction helps AJ (and listeners) know where to look when trying to understand how features are actually being built and tested.Command line basics give you superpowers: Rather than relying solely on visual tools, Stewart introduces AJ to the terminal—explaining simple commands like cd, git clone, and git fetch—and emphasizes that the terminal has been the backbone of developer work for decades. It's empowering to learn that you can use just a few lines of text to download and explore an entire app.Modern coding is less about code and more about managing complexity: A recurring theme in the conversation is the sheer number of dependencies, frameworks, and configuration files that make up any modern app. Stewart compares this to a reflection of modern life—interconnected and layered. Understanding this complexity (rather than being defeated by it) becomes a mindset that AJ embraces as part of becoming technically fluent.AI will keep lowering the bar to entry, but learning fundamentals still matters: Stewart shares how internal OpenAI coding models went from being some of the worst performers two years ago to now ranking among the top 50 in the world. While this progress promises an easier future for non-devs, Stewart emphasizes the value of understanding what's happening under the hood. Tools like Claude and Cursor are incredibly powerful, but knowing what they're doing—and when to be skeptical—is still key.
Discipline (Four Way Books, 2024), Debra Spark's latest novel was inspired by the life of Walt Kuhn, who introduced Americans to modern art, and also by an infamous east coast boarding school that was forcibly shut down in 2014. The novel twists and turns through the lives of an artist and his wife, a teenager forced to attend a horrifying boarding school, the artist and his wife's lonely daughter after their deaths, and a divorced art appraiser studying the works of the dead artist. Discipline addresses teenagers whose lives are molded by thoughtless adults and women who struggle with loneliness or are taken advantage of by the unscrupulous. It's a coming-of-age story, a mystery about an art theft, but this gorgeous novel is also about family, ambition, and suffering. DEBRA SPARK is the author of five novels, two collections of short stories, and two books of essays on fiction writing. Her most recent books are the novel Unknown Caller and the essay collection And Then Something Happened. With Deborah Joy Corey, she co-edited Breaking Bread, a book of food essays by Maine writers to raise funds for a hunger nonprofit. Her short work has appeared in Agni, AWP Writers' Chronicle, the Boston Globe, the Cincinnati Review, the Chicago Tribune, Epoch, Esquire, Five Points, Food and Wine, Harvard Review, Huffington Post, Maine Magazine, Narrative, New England Travel and Life, the New England Review, the New York Times, Ploughshares, salon.com, the San Francisco Chronicle, the Washington Post, Yankee, and Yale Alumni Quarterly, among other places. In addition to writing book reviews, fiction, articles, and essays, she spent a decade writing about home, art, and design for Maine Home+Design, Decor Maine, Down East, Dwell, Elysian, Interiors Boston, New England Home, and Yankee. She writes a monthly book review column of French books in English translation for Frenchly.us. She has been the recipient of several awards including Maine's 2017 READ ME series, a National Endowment for the Arts fellowship, a Bunting Institute fellowship from Radcliffe College, Wisconsin Institute Fellowship, Pushcart Prize, Michigan Literary Fiction Award, and John Zacharis/Ploughshares award for best first book. A graduate of Yale University and the Iowa Writers' Workshop, she is a professor at Colby College and teaches in the MFA Program for Writers at Warren Wilson College. When she's not working, Spark exercises, studies French, spends time with friends and family, bakes gluten-free, and belongs to a cookbook book club. Learn more about your ad choices. Visit megaphone.fm/adchoices Support our show by becoming a premium member! https://newbooksnetwork.supportingcast.fm/literature
Discipline (Four Way Books, 2024), Debra Spark's latest novel was inspired by the life of Walt Kuhn, who introduced Americans to modern art, and also by an infamous east coast boarding school that was forcibly shut down in 2014. The novel twists and turns through the lives of an artist and his wife, a teenager forced to attend a horrifying boarding school, the artist and his wife's lonely daughter after their deaths, and a divorced art appraiser studying the works of the dead artist. Discipline addresses teenagers whose lives are molded by thoughtless adults and women who struggle with loneliness or are taken advantage of by the unscrupulous. It's a coming-of-age story, a mystery about an art theft, but this gorgeous novel is also about family, ambition, and suffering. DEBRA SPARK is the author of five novels, two collections of short stories, and two books of essays on fiction writing. Her most recent books are the novel Unknown Caller and the essay collection And Then Something Happened. With Deborah Joy Corey, she co-edited Breaking Bread, a book of food essays by Maine writers to raise funds for a hunger nonprofit. Her short work has appeared in Agni, AWP Writers' Chronicle, the Boston Globe, the Cincinnati Review, the Chicago Tribune, Epoch, Esquire, Five Points, Food and Wine, Harvard Review, Huffington Post, Maine Magazine, Narrative, New England Travel and Life, the New England Review, the New York Times, Ploughshares, salon.com, the San Francisco Chronicle, the Washington Post, Yankee, and Yale Alumni Quarterly, among other places. In addition to writing book reviews, fiction, articles, and essays, she spent a decade writing about home, art, and design for Maine Home+Design, Decor Maine, Down East, Dwell, Elysian, Interiors Boston, New England Home, and Yankee. She writes a monthly book review column of French books in English translation for Frenchly.us. She has been the recipient of several awards including Maine's 2017 READ ME series, a National Endowment for the Arts fellowship, a Bunting Institute fellowship from Radcliffe College, Wisconsin Institute Fellowship, Pushcart Prize, Michigan Literary Fiction Award, and John Zacharis/Ploughshares award for best first book. A graduate of Yale University and the Iowa Writers' Workshop, she is a professor at Colby College and teaches in the MFA Program for Writers at Warren Wilson College. When she's not working, Spark exercises, studies French, spends time with friends and family, bakes gluten-free, and belongs to a cookbook book club. Learn more about your ad choices. Visit megaphone.fm/adchoices Support our show by becoming a premium member! https://newbooksnetwork.supportingcast.fm/new-books-network
Today we are talking about Drupal Forge, how it works, and why it's changing Drupal with guest Darren Oh. We'll also cover ECA VBO as our module of the week. For show notes visit: https://www.talkingDrupal.com/497 Topics Elevator pitch for Drupal forge What is Drupal Forge built on What is the pricing model Does Drupal Forge only allow you to install Drupal CMS Drupal Forge and templates, was there an influence on Site Templates Why offer templates for Drupal Forge Camps Is Drupal Forge open source What is on the Roadmap How can people get involved Resources Drupal Forge on Drupal.org Drupal Forge DevPanel Guests Darren Oh - drupalforge.org Darren Oh Hosts Nic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi Kathy Beck - kbeck303 MOTW Correspondent Martin Anderson-Clutz - mandclu.com mandclu Brief description: Have you ever wanted a powerful and flexible way to create views bulk operations without writing code? There's a module for that. Module name/project name: ECA VBO Brief history How old: created in May 2022 by mxh, a prolific maintainer in his own right, and an active member of the group that has made the ECA ecosystem so far-reaching Versions available: 1.1.1 and 2.1.1, the latter of which supports ^10.3 || ^11 Maintainership Actively maintained Security coverage Documentation: sort of. The README has step-by-step instructions, and the project page has links to both an example model and a tutorial video Number of open issues: 7 open issues, 1 of which are bugs against the current branch Usage stats: 320 sites Module features and usage With the module installed, your site will have a number of Events available within ECA, specifically for defining models that can perform bulk actions on the selected items in a view. In my own experience the most useful event is VBO: Execute Views bulk operation (one by one) From there, you can define the logic of what needs to happen to the selected items. I've used it for fairly simple operations like changing content to a specific moderation state, but you could define complex logic that is conditional on field values, site configuration, or even global factors like the time of day With one or more models defined, you can now add a field to your view for ECA bulk operations and then select which eligible models you want available in that specific view It's worth adding that the ECA model can also include logic to define who should have access to perform a particular operation, which could be as simple as checking the role of the current user, but can be as complex as you need I came across ECA VBO during some recent work on the Drupal Event Platform, which is already available to try out on Drupal Forge, but there should be a more formal announcement on that front soon
The Brothers continue their mission to celebrate the music of the Red Hot Chili Peppers by ranking the album closers. Will they use Sir Psycho instead of They're Red Hot? Will they include Hey? Listen and find out...We are part of the Deep Dive Podcast Network: https://twitter.com/DeepDivePodNetFollow us on the good old socials:Twitter:Ben: https://twitter.com/universallyrhcpSam: https://twitter.com/stacktownsendInstagram:Ben: https://www.instagram.com/universallyspeakingrhcp_pod/Read ‘Me and My Friends' - The World's #1 RHCP Newsletter - Subscribe here: https://buttondown.email/rhcpsessions.Check out Red Hot Chili Riffs here: https://www.youtube.com/@RedHotChiliRiffsCheck out our Drum Ambassadors (Jack Johnson) projects here: https://www.youtube.com/channel/UCdy0pbWSOg6f8vcYnngIQ0ACheck out our Bass Ambassadors (Aidan Hampson) projects here: http://aidanhampson.co.uk/Check out friend of the pod, Dan Boyd's Pop Shock Podcast - for all your pop culture needs! Audio: https://anchor.fm/popshockpod / Video: https://youtube.com/channel/UCHY5pXX_x7Kv4e8wJmHoK5AFor your vinyl needs please shop at Black Star Records: https://www.blackstarrecords.co.uk and Black Wax Coffee and Records: https://blackwaxcoffee.co.uk/
Send us a textBrent Dowlen, host of the "Driven 2 Thrive" podcast, formerly "The Fallible Man" podcast, and also host of the unique children's podcast, "Read Me a Story Daddy" podcast, is a man of vision. He is a man of purpose. His mission is to support men in living authentically and embracing their purpose, advocating for continuous growth beyond societal pressures. He Helps Men Go from Living to Thriving, Purpose Filled, Intentional Lives. This is a powerful interview between powerful men. Listen Now!Check out the "Driven 2 Thrive" Podcast here: https://open.spotify.com/episode/6ER53tIPp5beghB0HlEtFa?si=-GublZEYQS6C2pR_VQaW3wBrent's website: https://purposedrivenmen.com/Contact us:Rumble/ YouTube/ IG: @powerofmanpodcastEmail: powerofmanpodcast@gmail.com.Twitter: @rorypaquetteLooking for Like-Minded Fathers and Husbands? Join our Brotherhood!"Power of Man Within" , in Facebook Groups:https://www.facebook.com/groups/490821906341560/?ref=share_group_linkFree Coaching Consultation call whenever you are ready... Message me!Believe it!
News includes a new library called phoenix_sync for real-time sync in Postgres-backed Phoenix applications, Peter Solnica released a Text Parser for extracting structured data from text, a useful tip on finding Hex package versions locally with mix hex.info, Wasmex updated to v0.10 with WebAssembly component support, and Chrome introduces a new browser feature similar to LiveView.JS. We also talked with Alistair Woodman and Jonatan Männchen from the EEF about Jonatan's role as CISO, the Security Working Group, and their work on OpenChain compliance for supply-chain security, Software Bill of Materials (SBoMs), and what these initiatives mean for the Elixir community, and more! Show Notes online - http://podcast.thinkingelixir.com/245 (http://podcast.thinkingelixir.com/245) Elixir Community News https://gigalixir.com/thinking (https://gigalixir.com/thinking?utm_source=thinkingelixir&utm_medium=shownotes) – Gigalixir is sponsoring the show, offering 20% off standard tier prices for a year with promo code "Thinking". https://github.com/electric-sql/phoenix_sync (https://github.com/electric-sql/phoenix_sync?utm_source=thinkingelixir&utm_medium=shownotes) – New library called phoenix_sync providing real-time sync for Postgres-backed Phoenix applications. https://hexdocs.pm/phoenix_sync/readme.html (https://hexdocs.pm/phoenix_sync/readme.html?utm_source=thinkingelixir&utm_medium=shownotes) – Documentation for phoenix_sync, a solution for building modern, real-time apps with local-first/sync in Elixir. https://github.com/josevalim/sync (https://github.com/josevalim/sync?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim's original proof of concept repo that was promptly archived. https://electric-sql.com/ (https://electric-sql.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Electric SQL's platform that syncs subsets of Postgres data into local apps and services, allowing data to be available offline and in-sync. https://solnic.dev/posts/announcing-textparser-for-elixir/ (https://solnic.dev/posts/announcing-textparser-for-elixir/?utm_source=thinkingelixir&utm_medium=shownotes) – Peter Solnica released TextParser, a library for extracting interesting parts of text like hashtags and links. https://hexdocs.pm/text_parser/readme.html (https://hexdocs.pm/text_parser/readme.html?utm_source=thinkingelixir&utm_medium=shownotes) – Documentation for the Text Parser library that helps parse text into structured data. https://www.elixirstreams.com/tips/mix-hex-info (https://www.elixirstreams.com/tips/mix-hex-info?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir stream tip on using mix hex.info to find the latest package version for a Hex package locally, without needing to search on hex.pm or GitHub. https://github.com/phoenixframework/tailwind/blob/main/README.md#updating-from-tailwind-v3-to-v4 (https://github.com/phoenixframework/tailwind/blob/main/README.md#updating-from-tailwind-v3-to-v4?utm_source=thinkingelixir&utm_medium=shownotes) – Guide for upgrading Tailwind to V4 in existing Phoenix applications using Tailwind's automatic upgrade helper. https://gleam.run/news/hello-echo-hello-git/ (https://gleam.run/news/hello-echo-hello-git/?utm_source=thinkingelixir&utm_medium=shownotes) – Gleam 1.9.0 release with searchability on hexdocs, Echo debug printing for improved debugging, and ability to depend on Git-hosted dependencies. https://d-gate.io/blog/everything-i-was-lied-to-about-node-came-true-with-elixir (https://d-gate.io/blog/everything-i-was-lied-to-about-node-came-true-with-elixir?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post discussing how promises made about NodeJS actually came true with Elixir. https://hexdocs.pm/wasmex/Wasmex.Components.html (https://hexdocs.pm/wasmex/Wasmex.Components.html?utm_source=thinkingelixir&utm_medium=shownotes) – Wasmex updated to v0.10 with support for WebAssembly components, enabling applications and components to work together regardless of original programming language. https://ashweekly.substack.com/p/ash-weekly-issue-8 (https://ashweekly.substack.com/p/ash-weekly-issue-8?utm_source=thinkingelixir&utm_medium=shownotes) – AshWeekly Issue 8 covering AshOps with mix task capabilities for CRUD operations and BeaconCMS being included in the Ash HQ installer script. https://developer.chrome.com/blog/command-and-commandfor (https://developer.chrome.com/blog/command-and-commandfor?utm_source=thinkingelixir&utm_medium=shownotes) – Chrome update brings new browser feature with commandfor and command attributes, similar to Phoenix LiveView.JS but native to browsers. https://codebeamstockholm.com/ (https://codebeamstockholm.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Code BEAM Lite announced for Stockholm on June 2, 2025 with keynote speaker Björn Gustavsson, the "B" in BEAM. https://alchemyconf.com/ (https://alchemyconf.com/?utm_source=thinkingelixir&utm_medium=shownotes) – AlchemyConf coming up March 31-April 3 in Braga, Portugal. Use discount code THINKINGELIXIR for 10% off. https://www.gigcityelixir.com/ (https://www.gigcityelixir.com/?utm_source=thinkingelixir&utm_medium=shownotes) – GigCity Elixir and NervesConf on May 8-10, 2025 in Chattanooga, TN, USA. https://www.elixirconf.eu/ (https://www.elixirconf.eu/?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf EU on May 15-16, 2025 in Kraków & Virtual. https://goatmire.com/#tickets (https://goatmire.com/#tickets?utm_source=thinkingelixir&utm_medium=shownotes) – Goatmire tickets are on sale now for the conference on September 10-12, 2025 in Varberg, Sweden. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources https://elixir-lang.org/blog/2025/02/26/elixir-openchain-certification/ (https://elixir-lang.org/blog/2025/02/26/elixir-openchain-certification/?utm_source=thinkingelixir&utm_medium=shownotes) https://cna.erlef.org/ (https://cna.erlef.org/?utm_source=thinkingelixir&utm_medium=shownotes) – EEF CVE Numbering Authority https://erlangforums.com/t/security-working-group-minutes/3451/22 (https://erlangforums.com/t/security-working-group-minutes/3451/22?utm_source=thinkingelixir&utm_medium=shownotes) https://podcast.thinkingelixir.com/220 (https://podcast.thinkingelixir.com/220?utm_source=thinkingelixir&utm_medium=shownotes) – previous interview with Alistair https://digital-strategy.ec.europa.eu/en/policies/cyber-resilience-act (https://digital-strategy.ec.europa.eu/en/policies/cyber-resilience-act?utm_source=thinkingelixir&utm_medium=shownotes) – CRA - Cyber Resilience Act https://www.cisa.gov/ (https://www.cisa.gov/?utm_source=thinkingelixir&utm_medium=shownotes) – CISA US Government Agency https://www.cisa.gov/sbom (https://www.cisa.gov/sbom?utm_source=thinkingelixir&utm_medium=shownotes) – Software Bill of Materials https://oss-review-toolkit.org/ort/ (https://oss-review-toolkit.org/ort/?utm_source=thinkingelixir&utm_medium=shownotes) – Desire to integrate with tooling outside the Elixir ecosystem like OSS Review Toolkit https://github.com/voltone/rebar3_sbom (https://github.com/voltone/rebar3_sbom?utm_source=thinkingelixir&utm_medium=shownotes) https://cve.mitre.org/ (https://cve.mitre.org/?utm_source=thinkingelixir&utm_medium=shownotes) https://openssf.org/projects/guac/ (https://openssf.org/projects/guac/?utm_source=thinkingelixir&utm_medium=shownotes) https://erlef.github.io/security-wg/securityvulnerabilitydisclosure/ (https://erlef.github.io/security-wg/security_vulnerability_disclosure/?utm_source=thinkingelixir&utm_medium=shownotes) – EEF Security WG Vulnerability Disclosure Guide Guest Information - https://x.com/maennchen_ (https://x.com/maennchen_?utm_source=thinkingelixir&utm_medium=shownotes) – Jonatan on Twitter/X - https://bsky.app/profile/maennchen.dev (https://bsky.app/profile/maennchen.dev?utm_source=thinkingelixir&utm_medium=shownotes) – Jonatan on Bluesky - https://github.com/maennchen/ (https://github.com/maennchen/?utm_source=thinkingelixir&utm_medium=shownotes) – Jonatan on Github - https://maennchen.dev (https://maennchen.dev?utm_source=thinkingelixir&utm_medium=shownotes) – Jonatan's Blog - https://www.linkedin.com/in/alistair-woodman-51934433 (https://www.linkedin.com/in/alistair-woodman-51934433?utm_source=thinkingelixir&utm_medium=shownotes) – Alistair Woodman on LinkedIn - awoodman@erlef.org - https://github.com/ahw59/ (https://github.com/ahw59/?utm_source=thinkingelixir&utm_medium=shownotes) – Alistair on Github - http://erlef.org/ (http://erlef.org/?utm_source=thinkingelixir&utm_medium=shownotes) – Erlang Ecosystem Foundation Website Find us online - Message the show - Bluesky (https://bsky.app/profile/thinkingelixir.com) - Message the show - X (https://x.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen on X - @brainlid (https://x.com/brainlid) - Mark Ericksen on Bluesky - @brainlid.bsky.social (https://bsky.app/profile/brainlid.bsky.social) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel on Bluesky - @david.bernheisel.com (https://bsky.app/profile/david.bernheisel.com) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
Lior Lieberman is a software engineer lead at Google Cloud focusing on GCE, Kubernetes, and Service Mesh. He is a leading contributor to Gateway API and the maintainer of Ingress2gateway. Do you have something cool to share? Some questions? Let us know: - web: kubernetespodcast.com - mail: kubernetespodcast@google.com - twitter: @kubernetespod - bluesky: @kubernetespodcast.com News of the week NFTables mode for kube-proxy | Kubernetes Kubescape becomes a CNCF incubating project Announcing the Beta Release of OpenTelemetry Go Auto-Instrumentation using eBPF | CNCF New Phippy Book Guidelines: Enhancing Community Access & Engagement | CNCF Links from the interview Lightning Talk: Why Service Is the Worst API in Kubernetes, & What We're Doing About It - Tim Hockin GitHub - kubernetes-sigs/ingress2gateway: Convert Ingress resources to Gateway API resources Migrating from Ingress Gateway API Inference Extension 0.1.0 release README on GitHub kubernetes-sigs/ingate - an Ingress & Gateway API Controller GAMMA - https://gateway-api.sigs.k8s.io/mesh/
Welcome back to Monero Monthly, where Max and Seth dive into the past month in the world of Monero. They cover key topics, exciting updates, and questions from the community, delivering top-notch information with a touch of misfit flair.P2P ExchangesMediated swaps:LocalMonero (may it RIP, will see if something takes it's place)Haveno via RetoSwap (fiat XMR and crypto XMR)Bisq (BTC XMR)Robosats (BTC XMR)AMMsSerai (coming soonTM)Atomic SwapsBasicSwapUnstoppableSwapGeneralRucknium, a researcher, has released his work on statistical analysis of ring signatures in Monerohttps://github.com/Rucknium/OSPEAD/blob/main/README.mdAt current Monero ring size of 16, the theoretical minimum attack success through completely random guessing would be 1/16 = 6.25%. According to preliminary estimates, an adversary could take advantage of the divergence between the real spend age distribution and the status quo decoy distribution to achieve an attack success probability of 23.5%, on average, since the August 2022 hard fork. This corresponds to an effective ring size of 4.2. The attack success probability prior to August 2022 may be higher, but this was not measured due to time constraints.Monero can easily scale to Bitcoin's transaction throughput on-chainhttps://www.reddit.com/r/Monero/comments/1iimio0/this_is_how_many_transactions_monero_can_handle/Doesn't account for self-custodial Lightning transactions, of courseFantastic post on Monero's upcoming addressing scheme update, CARROThttps://www.reddit.com/r/Monero/comments/1iph8fz/more_vitamins_for_monero_with_carrot_part_1/Monero Core Team posts funding transparency reporthttps://www.reddit.com/r/Monero/comments/1iixgk9/monero_general_fund_transparency_report_february/Explain Monero Core team!Software updatesCake Wallet releases v4.23.0 and v4.23.2Monero passphrase support for new and existing walletshttps://blog.cakewallet.com/cake-wallet-releases-improvements-to-zano-ledger-ethereum-and-more-v4-23-2-2/https://blog.cakewallet.com/cake-wallet-zano-integration-and-monero-passphrases-v4-23/Monero v0.18.4.0 is right around the cornerhttps://monero.observer/selsta-posts-monero-v0.18.4.0-release-to-do-list/https://github.com/monero-project/monero/issues/9758Links From the Episodehttps://mynymbox.io/Monerujo updatehttps://docs.cakewallet.com/IMPORTANT LINKS https://freesamourai.comhttps://p2prights.org/donate.htmlhttps://ungovernablemisfits.comVALUE FOR VALUEThanks for listening you Ungovernable Misfits, we appreciate your continued support and hope you enjoy the shows.You can support this episode using your time, talent or treasure.TIME:- create fountain clips for the show- create a meetup- help boost the signal on social mediaTALENT:- create ungovernable misfit inspired art, animation or music- design or implement some software that can make the podcast better- use whatever talents you have to make a contribution to the show!TREASURE:- BOOST IT OR STREAM SATS on the Podcasting 2.0 apps @ https://podcastapps.com- DONATE via Paynym @ https://paynym.rs/+misfit- DONATE via Monero @ https://xmrchat.com/ugmf- BUY SOME CLOTHING @ https://ungovernablemisfits.com/store/- BUY SOME ART!! @ https://ungovernablemisfits.com/art-gallery/CAKE WALLEThttps://cakewallet.comCake Wallet is an open-source, non-custodial wallet available on Android, iOS, macOS, and Linux.Features:- Built-in Exchange: Swap easily between Bitcoin and Monero.- User-Friendly: Simple interface for all users.Monero Users:- Batch Transactions: Send multiple payments at once.- Faster Syncing: Optimized syncing via specified restore heights- Proxy Support: Enhance privacy with proxy node options.Bitcoin Users:- Coin Control: Manage your transactions effectively.- Silent Payments: Static bitcoin addresses- Batch Transactions: Streamline your payment process.Thank you Cake Wallet for sponsoring the show!FOUNDATIONhttps://foundation.xyz/ungovernableFoundation builds Bitcoin-centric tools that empower you to reclaim your digital sovereignty.As a sovereign computing company, Foundation is the antithesis of today's tech conglomerates. Returning to cypherpunk principles, they build open source technology that “can't be evil”.Thank you Foundation Devices for sponsoring the show!Use code: Ungovernable for $10 off of your purchase
The Brothers listen to, and discuss, the 2001 Dave Navarro solo album Trust No One for the first time. They are ably assisted by FPM (Fabulous Pete Moore) who knows it inside-out.We are part of the Deep Dive Podcast Network: https://twitter.com/DeepDivePodNetFollow us on the good old socials:Twitter:Ben: https://twitter.com/universallyrhcpSam: https://twitter.com/stacktownsendInstagram:Ben: https://www.instagram.com/universallyspeakingrhcp_pod/Read ‘Me and My Friends' - The World's #1 RHCP Newsletter - Subscribe here: https://buttondown.email/rhcpsessions.Check out Red Hot Chili Riffs here: https://www.youtube.com/@RedHotChiliRiffsCheck out our Drum Ambassadors (Jack Johnson) projects here: https://www.youtube.com/channel/UCdy0pbWSOg6f8vcYnngIQ0ACheck out our Bass Ambassadors (Aidan Hampson) projects here: http://aidanhampson.co.uk/Check out friend of the pod, Dan Boyd's Pop Shock Podcast - for all your pop culture needs! Audio: https://anchor.fm/popshockpod / Video: https://youtube.com/channel/UCHY5pXX_x7Kv4e8wJmHoK5AFor your vinyl needs please shop at Black Star Records: https://www.blackstarrecords.co.uk and Black Wax Coffee and Records: https://blackwaxcoffee.co.uk/
Nikolay and Michael discuss the CREATE STATISTICS feature in Postgres — what it's for, how often it's used, and how to spot cases where it would help. Here are some links to things they mentioned:CREATE STATISTICS https://www.postgresql.org/docs/current/sql-createstatistics.htmlcitext https://www.postgresql.org/docs/current/citext.htmlStatistics Used by the Planner https://www.postgresql.org/docs/current/planner-stats.htmldefault_statistics_target https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-DEFAULT-STATISTICS-TARGETTomáš Vondra on Postgres TV https://www.youtube.com/watch?v=8la-OWfD3VIRecent commit to Postgres 18 for pg_upgrade https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=1fd1bd871012732e3c6c482667d2f2c56f1a9395Multivariate Statistics Examples https://www.postgresql.org/docs/current/multivariate-statistics-examples.htmlExtended statistics (README) https://github.com/postgres/postgres/blob/master/src/backend/statistics/READMEHow we used Postgres extended statistics to achieve a 3000x speedup (blog post by Jared Rulison) https://build.affinity.co/how-we-used-postgres-extended-statistics-to-achieve-a-3000x-speedup-ea93d3dcdc61~~~What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on social media, or by commenting on our Google doc!~~~Postgres FM is produced by:Michael Christofides, founder of pgMustardNikolay Samokhvalov, founder of Postgres.aiWith credit to:Jessie Draws for the elephant artwork
Heute haben wir viel faltbares und platzsparendes in der Sendung! Vom Fynn Waschmittel in Scheckkartenform über faltbare Fahrräder, die geländetauglich werden bis hin zu einem komplett flach faltbaren Helm. Nur der ZWIFT Cog und ein paar andere Themen fallen aus dem Muster :-) Freut Euch auf jeden Fall auf Detaillierte Infos zu unseren Brompton G Line und T Line Tests. Wir waren echt überrascht. Der komplett flach zusammenfaltbare Ventete Helm wurde uns freundlicher Weise zum Testen geschickt. Sieht bei mir zwar komisch aus und ist nicht ganz billig. Aber trotzdem spannend. Dazu News vom erlebnis.me - Verein, tolle Touren! Netflix gibt die Tour de France Dokumentation leider auf, Strava erlaubt wieder URLs und wir sprechen nochmals über die Lenker-Tacho Einheit von Flite.bike. Dazu Ingos ersten Gehversuche für das Sideloading beim Karoo 3: Spotify und 4 Datenfelder funzen schon mal. ## SPONSOR ## buycycle, der führende Marktplatz für gebrauchte Bikes (WERBUNG) Für kurze Zeit sparst du jetzt 30% auf die Seller-Protection mit dem in der Sendung genannten Gutschein-Code oder noch einfacher über den diesen Link: https://buycycle.com/enjoyyourbike ## LINKS ZUR SENDUNG ## Erlebnis-Touren & Strecken: https://www.erlebnis.me/ausfahrten/aktuelles-jahr/vereinsausfahrten-2025/ Die nächsten ZWIFT Events: https://www.zwift.com/eu-de/events/tag/enjoyyourbike Zwift Play auf alten Kickrn: https://www.youtube.com/watch?v=Ulc9M8OmvxE Andrés ZWIFT COG Video: https://youtu.be/8FgvLmXxacw?si=Xdeb8R94K2Z0qmjj Ingos G Line Video: https://youtu.be/fbq58zojod4?si=OhL7SlAfvpEAfCfs Andrés G Line Video: https://youtu.be/V41WD4DQ8Gs?si=j9wZYTX1ladbywW1 G Line im Shop: https://www.enjoyyourbike.com/brompton-g-line-mit-schutzblechen-und-rack-forest-green-gr.-m-94235481 T Line im Shop: https://www.enjoyyourbike.com/brompton-t-line-urban-mit-teleskop-sattelstuetze-und-schutzblechen-94235475 Waschmittel für Bikepacking: https://www.enjoyyourbike.com/fynn-performance-merino-adventure-pack-ultraleichte-reisewaschmittel-streifen-10-stueck-94235728 Strava URLs: https://www.instagram.com/p/DGCFCLMOXW4/?igsh=MW1nbnFodXg3dDN3OQ== Ventete Helm: https://ventete.com/products/ah-1?variant=40900438851766 Flite Bike: https://flite.bike/ Netflix gibt Tour de France Doku auf: https://www.rennrad-news.de/news/netflix-stellt-tour-de-france-unchained-ein/ Ingos Linknotizen für Karoo 3 Sideloading: Windrichtung https://github.com/timklge/karoo-headwind DI2 https://github.com/valterc/ki2/releases/tag/10.0 PowerBar https://github.com/timklge/karoo-powerbar/ VIN HKE 4 Datenfelder https://github.com/maduwatas/Vin-HkE/blob/main/README.md App Store für Spotify https://uptodown-android.de.uptodown.com/android Pick André: ZWIFT Play Controller https://eu.zwift.com/de/products/zwift-play Pick Ingo: Die Geschichte von Distanzfahrten https://grevet.de/blog/2024/11/11/was-sind-distanzfahrten-eine-neuentdeckte-quelle-von-1894/ ## INHALT ## 00:00:00 Intro: was erwartet Euch in dieser Sendung 00:02:00 Tag der Offenen Tür am 08.03: Kostenloser Bike-Check & Flohmarkt & guter Kaffee 00:17:52 Geile neue Ausfahrten & Strecken auf erlebnis.me! 00:18:09 buycycle: die beste Plattform für gebrauchte Fahrräder (Werbung) 00:20:56 Geile neue Ausfahrten & Strecken auf erlebnis.me! 00:25:32 ZWIFT Cog hat nur Vorteile? Kompatibilität und Erfahrungsbericht 00:49:24 Alles über Bromton G Line Gravel-Rad: Zwei Testberichte & Kaufberatung 01:06:08 Brompton Titan T Line: Ingos Gamechanger! Sauschnelles Rad 01:15:03 „Faltbares“ Waschmittel: Fynn Scheckkartengroßes Bikepacking-Waschmittel 01:21:04 Ingos Karoo 3 Hacks: Spotify & 4 Datenfelder Tests / Sideloading 01:36:21 Faltbarer Helm ausprobiert: Ventete sieht zwar komisch aus, funzt aber 01:55:50 Strava URLs bald wieder erlaubt & Instagram Tipps 02:11:14 Netflix cancelt Tour de France Doku 02:18:46 Flite Bike Lenkereinheit vorbestellbar: Geil oder nicht geil? 02:35:55 Picks André: Zwift Play 02:41:02 Pick Ingo: Distanzfahrten Artikel, Geschichte
Today we are talking about The open university initiative, Drupal in academia, and Fostering Drupal Education with guest Jean-Paul Vosmeer. We'll also cover Artisan as our module of the week. For show notes visit: https://www.talkingDrupal.com/488 Topics What is the Drupal Open University Initiative How did this initiative start Why is it important to get Drupal into Universities and Classrooms What stage is the initiative at Is Drupal currently in any universities Is it better to approach schools or professors directly How is the curriculum being developed What are the main differences between this initiative and resources like Drupalize.me, Drupal at your fingertips, or Drupal TB What is next on the roadmap Where does Drupal CMS fit in Where does the initiative need help How can someone get involved Resources Drupal Open University Initiative Metadrop blog about Artisan Drupal viking Do it with Drupal Drupal at your fingertips Drupal Open University OSPO https://todogroup.org/ https://en.wikipedia.org/wiki/Open_Source_Program_Office Content Model & Site Documentation Guests Jean-Paul Vosmeer - reactonline.nl jpvos Hosts Nic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi Avi Schwab - froboy.org froboy MOTW Correspondent Martin Anderson-Clutz - mandclu.com mandclu Brief description: Have you ever wanted to use the Drupal UI to configure numerous aspects of your Drupal site's look and feel? There's a theme for that. Module name/project name: Artisan Brief history How old: created in Sep 2024 by alejandro cabarcos though recent releases are by crzdev, both of metadrop Versions available: 1.3.8, which support Drupal 10 and 11 Maintainership Actively maintained, release in the last week Security coverage Documentation: no, but a lengthy README that includes developer notes Number of open issues: 7 open issues, 5 of which are bugs, but 3 are postponed Usage stats: 170 sites Module features and usage After installing the theme, there is a drush command to generate a subtheme, or you can manually duplicate an included starterkit. You also need to run a couple of npm commands to pull in all the front end libraries, and build the CSS files Once you set the subtheme as your site default, you can customize a variety of ways the site looks, including the fonts and weights to use for heading and default text, the colour and padding of various elements, border weights, border radius, and more. The customizations are grouped into tabs. The base tab includes a colour palette, base font, and link styling. Additional tabs include page layout, header, responsive, and footer, also breadcrumb, headings, display headings, buttons, forms, and components Artisan also provides a toggle to expose extra customization options for dark mode, so if you want your site to give users the option to switch back and forth between normal and dark, this is extremely powerful, but does make for some very long configuration pages You can create and save presets, for easy creation of reusable palettes There is also a companion Artisan Styleguide module that provides a page that previews the theme style applied to an extensive list of elements Last year I was considering making a more configurable subtheme of Olivero for the Event Platform initiative, so I was excited to read about Artisan in a metadrop blog post we'll include in the show notes
Join Scott as he continues polishing CircuitPython on Zephyr and answers questions folks ask. Visit the Adafruit shop online - http://www.adafruit.com Thanks to dcd for timecodes: 0:00 Getting started 1:40 Welcome - and grabs the macropad with rp2040 microprocessor 4:00 discuss debug connections 6:00 finding the schematic 8:08 progress redirected towards building zephyr in CI 9:43 CI and scheduler 12:00 tricks for building on windows 13:50 circuitpython/ports/zephyr ( fetching blobs for CI builds ) 15:08 UART and USB I/O with ports/zephyr-cp 19:53 using sublime merge to review recent changes 24:05 on big flaw in ninja - concurency management 25:00 back to zephyr2cp.py 26:00 split out USB vs storage 28:40 adafruit usb_vid_pid.csv tracking 30:35 commit recent changes 32:30 pre-commits are failing - why? 34:00 scheduler failed? 37:25 trying out the new sublime outline extension 38:00 shared_bindings_matrix.py 42:26 changing autogenede file generation 43:03 git mv ST autogen files 46:00 boldly git rm */*..... and regenerate them 47:48 TOML Kit (tomlkit ) allows comments! 50:12 more cptools work 51:00 stm32 discovery kit 51:44 RA8 may be in the future :-) 57:00 review stm32h7b3i_dk.dts 1:07:00 continue work on renesas_ek_ra8d1 port 1:24:00 what goes onto the second core of disimilar dual core systems like Portenta 1:31:48 hello from ra8 zephyr! 1:35:16 ra6 building too! 1:35:50 see if "make html" works 1:38:20 need to exclude the zephyr docs 1:42:00 peek at MCUmgr - Zephyr project docs 1:43:20 add zephyr-cp docs to supported_ports.rst 1:44:00 update README.md in zephyr-config 1:46:00 pushed to github tannewt/circuitpython.git 1:50:57 look at things that broke the build 1:55:07 commit a few changes - to be squashed later :-) 1:59:30 next steps in the zephyr thread 2:01:42 protothreads discussion 2:02:48 tasks for next week - (nordic) 2:05:17 wrap up - but first - investigate build failures :-) 2:10:00 re-wrap up :-) ----------------------------------------- LIVE CHAT IS HERE! http://adafru.it/discord Subscribe to Adafruit on YouTube: http://adafru.it/subscribe New tutorials on the Adafruit Learning System: http://learn.adafruit.com/ -----------------------------------------
In this episode I discuss power calculations using the R package PowerTOST. I gave an introduction to power calculations and the statistical premise. I reviewed bioequivalence study designs that are commonly used for generic drug development, food effect evaluation, and drug-drug interaction studies. Links discussed in the show: PowerTOST R package PowerTOST instructions (scroll down to the Read Me information) Example R code (Change the filetype to .R after downloading) Statistical Power Statistical approaches to establishing Bioequivalence from FDA Calculation of CV You can connect with me on LinkedIn and send me a message Send me a message Sign up for my newsletter Copyright Teuscher Solutions LLC All Rights Reserved
The Brothers go deep into one of the most iconic songs of the bands career. Album, video and live versions are all here. Come join us as we celebrate the Red Hot Chili Peppers!We are part of the Deep Dive Podcast Network: https://twitter.com/DeepDivePodNetFollow us on the good old socials:Twitter:Ben: https://twitter.com/universallyrhcpSam: https://twitter.com/stacktownsendInstagram:Ben: https://www.instagram.com/universallyspeakingrhcp_pod/Read ‘Me and My Friends' - The World's #1 RHCP Newsletter - Subscribe here: https://buttondown.email/rhcpsessions.Check out Red Hot Chili Riffs here: https://www.youtube.com/@RedHotChiliRiffsCheck out our Drum Ambassadors (Jack Johnson) projects here: https://www.youtube.com/channel/UCdy0pbWSOg6f8vcYnngIQ0ACheck out our Bass Ambassadors (Aidan Hampson) projects here: http://aidanhampson.co.uk/Check out friend of the pod, Dan Boyd's Pop Shock Podcast - for all your pop culture needs! Audio: https://anchor.fm/popshockpod / Video: https://youtube.com/channel/UCHY5pXX_x7Kv4e8wJmHoK5AFor your vinyl needs please shop at Black Star Records: https://www.blackstarrecords.co.uk and Black Wax Coffee and Records: https://blackwaxcoffee.co.uk/
This week we dig into your questions, and talk about Nvidia's new AI rig. -- During The Show -- 00:56 George From NYC Used computers for a church Lenovo laptops and Thinkcenters Dell Optiplex Ebay Made in the last 4 years Make sure they have TPM 2.0 04:50 Noah's new toy Flipper Zero (https://flipperzero.one/) Electronic multi-tool Had to legitimately bypass access control Read and emulate RFID and NFC Lots of Apps 08:58 HVAC - Ziggy Zigbee timer system? Wouldn't put the timer on device Steve's solution Why timers? 14:20 Battery Pack - Erik Anderson Power Pole Deep Cycle SLA INIU 100w Type C Dewalt Battery Adapter (https://www.amazon.com/Converter-Battery-Adapter-Regulator-Terminal/dp/B0CQJDGQDB) Offical Dewalt USB C Adapter (https://www.dewalt.com/product/dcb094k/20v-maxflexvolt-5-amp-usb-charging-kit?tid=577811) 83w 12v USB Outlet (https://www.amazon.com/dp/B0B1DHNLDS?ref=fed_asin_title) 21:40 NFS vs S3 for Home Lab - Brendan Recoverability Added complexity Would lean away from S3/Minio Hard to recover broken S3 file system It's ok to play with technology 28:21 Nextcloud Office - IK All-In-One master container Steve's attempt Not all Docker containers are official 33:52 News Wire Dillo 3.2 - github.io (https://dillo-browser.github.io/release/3.2.0/) OpenZFS 2.3 - github.com (https://github.com/openzfs/zfs/releases) Rsync 3.4 - samba.org (https://download.samba.org/pub/rsync/NEWS#3.4.0) Linux Mint 22.1 - linuxmint.com (https://www.linuxmint.com/rel_xia.php) Rhino Linux 2025.1 - rhinolinux.org (https://blog.rhinolinux.org/news-17) TuxCare Now Offering EOL MS Support - fossforce.com (https://fossforce.com/2025/01/tuxcare-stops-microsoft-from-killing-net-6-0/) Merit Systems Trying to Fund Open Source Devs - cnbc.com (https://www.cnbc.com/2025/01/16/merit-systems-raises-10-million-from-a16z-blockchain-capital.html) MiniMax Models - scmp.com (https://www.scmp.com/tech/big-tech/article/3294900/chinese-ai-start-minimax-releases-low-cost-open-source-models-rival-top-chatbots) 35:00 Ebook 2 Audio Book Ebook2Audiobook (https://github.com/DrewThomasson/ebook2audiobook/blob/main/README.md) Uses "local AI" Many types of text input Runs on CPU or GPU Surprised at the quality Steve's kid's apprenticeship Society has developed an aversion to anything "hard" Teaching the value of work and learning 42:00 Getting Started with AI What is AI? Math coprocessors CPUs are "generalist" processors GPUs are "specialized" processors CUDA Cores NVIDIA GB10 Grace Blackwell Superchip (https://www.nvidia.com/en-eu/project-digits/) 3 Classes of GPUs Design software story Project Digits (https://newsroom.arm.com/blog/arm-nvidia-project-digits-high-performance-ai) LMStudio.at (https://lmstudio.ai/) GPT4All (https://docs.gpt4all.io/) TecMint.com (https://www.tecmint.com/ai-for-linux-users/) -- The Extra Credit Section -- For links to the articles and material referenced in this week's episode check out this week's page from our podcast dashboard! This Episode's Podcast Dashboard (http://podcast.asknoahshow.com/424) Phone Systems for Ask Noah provided by Voxtelesys (http://www.voxtelesys.com/asknoah) Join us in our dedicated chatroom #GeekLab:linuxdelta.com on Matrix (https://element.linuxdelta.com/#/room/#geeklab:linuxdelta.com) -- Stay In Touch -- Find all the resources for this show on the Ask Noah Dashboard Ask Noah Dashboard (http://www.asknoahshow.com) Need more help than a radio show can offer? Altispeed provides commercial IT services and they're excited to offer you a great deal for listening to the Ask Noah Show. Call today and ask about the discount for listeners of the Ask Noah Show! Altispeed Technologies (http://www.altispeed.com/) Contact Noah live [at] asknoahshow.com -- Twitter -- Noah - Kernellinux (https://twitter.com/kernellinux) Ask Noah Show (https://twitter.com/asknoahshow) Altispeed Technologies (https://twitter.com/altispeed)
Did you know that this time of year is when couples therapists are booked out? Can't think why... But it's for this reason that we have today's little treat — an episode which Mia Freedman wanted to share with you all from No Filter. David Finch is a lot of things: he’s an Autism and Neurodiversity consultant, the author of The Journal of Best Practices; A Memoir of Marriage, Asperger Syndrome, and One Man’s Quest to Be a Better Husband, an essayist for the New York Times Modern Love column…and he’s also UNmarried. In this two-part special episode of No Filter, David Finch opens up to Mia about his life before and after his Asperger’s syndrome diagnosis, his quest to be the best husband and father he could be — and how he ended up UNmarried (and what that even means). You can hear the second half of Mia's conversation with David here. Support independent women's media You can find David’s books and essays here. Learn more about neurodivergent relationships here. Follow David on Instagram here. What To Read: Read: More People Are Being Diagnosed With Neurodiversity than Ever. Here’s why it’s a good thing. Read: I was diagnosed autistic at 45. Here are 6 things I want you to know. Read: Me and my husband were more like roommates than a couple. One conversation changed everything.' Read: "You keep your identities separate." 8 signs you're in the right relationship. THE END BITS: Listen to more No Filter interviews here and follow us on Instagram here.Discover more Mamamia podcasts here.Feedback: podcast@mamamia.com.auShare your story, feedback, or dilemma! Send us a voice message, and one of our Podcast Producers will come back to you ASAP.Rate or review us on Apple by clicking on the three dots in the top right-hand corner, click Go To Show then scroll down to the bottom of the page, click on the stars at the bottom and write a review. CREDITS:Host: Mia Freedman You can find Mia on Instagram here and get her newsletter here. Executive Producer: Naima Brown Audio Producer: Leah PorgesMamamia acknowledges the Traditional Owners of the Land we have recorded this podcast on, the Gadigal people of the Eora Nation. We pay our respects to their Elders past and present, and extend that respect to all Aboriginal and Torres Strait Islander cultures.Become a Mamamia subscriber: https://www.mamamia.com.au/subscribeSee omnystudio.com/listener for privacy information.
It's officially Christmas! The Brothers are joined by quizmaster extraordinaire Sam the Quiz Man, Aidan Hampson and A-Mase for the 3rd annual RHCP Quizmas Spectacular!We are part of the Deep Dive Podcast Network: https://twitter.com/DeepDivePodNetFollow us on the good old socials:Twitter:Ben: https://twitter.com/universallyrhcpSam: https://twitter.com/stacktownsendInstagram:Ben: https://www.instagram.com/universallyspeakingrhcp_pod/Read ‘Me and My Friends' - The World's #1 RHCP Newsletter - Subscribe here: https://buttondown.email/rhcpsessions.Check out Red Hot Chili Riffs here: https://www.youtube.com/@RedHotChiliRiffsCheck out our Drum Ambassadors (Jack Johnson) projects here: https://www.youtube.com/channel/UCdy0pbWSOg6f8vcYnngIQ0ACheck out our Bass Ambassadors (Aidan Hampson) projects here: http://aidanhampson.co.uk/Check out friend of the pod, Dan Boyd's Pop Shock Podcast - for all your pop culture needs! Audio: https://anchor.fm/popshockpod / Video: https://youtube.com/channel/UCHY5pXX_x7Kv4e8wJmHoK5AFor your vinyl needs please shop at Black Star Records: https://www.blackstarrecords.co.uk and Black Wax Coffee and Records: https://blackwaxcoffee.co.uk/
As the holiday season enters the picture, learn how a humble R package helps you to give thanks to the contributors of your open-source package. Plus a practical introduction to missing value interpolation with a tried-and-true R package with a rich history, and a comprehensive analysis to predict an NBA superstar's next shot result (who has made a lot of shots already in his career).Episode LinksThis week's curator: Jon Carroll - @jonocarroll@fosstodon.org (Mastodon) & @carroll_jono (X/Twitter)Give Thanks with the allcontributors PackageHow to Interpolate Missing Values in R: A Step-by-Sthttps://github.com/ropensci/allcontributors/?tab=readme-ov-file#contributorsep Guide with ExamplesPredicting NBA Score Plays - Steph Curry ShotsEntire issue available at rweekly.org/2024-W49Supplement Resourcesallcontributors - Acknowledge all contributors to a project https://docs.ropensci.org/allcontributors/Contributor section of {allcontributors} README https://github.com/ropensci/allcontributors/?tab=readme-ov-file#contributorszoo - S3 Infrastructure for Regular and Irregular Time Series https://cran.r-project.org/web/packages/zoo/index.htmlmice - Multivariate Imputation by Chained Equations https://amices.org/mice/naniar - Data structures, summaries, and visualization for missing data http://naniar.njtierney.com/hoopR - Data and tools for men's basketball https://hoopr.sportsdataverse.org/BasketballAnalyzeR - Analysis and Visualization of Basketball Data https://github.com/sndmrc/BasketballAnalyzeR/tree/masterOptimizing R/Shiny App Performance with Advanced Caching Techniques https://www.appsilon.com/post/r-shiny-caching-techniquesSupporting the showUse the contact page at https://serve.podhome.fm/custompage/r-weekly-highlights/contact to send us your feedbackR-Weekly Highlights on the Podcastindex.org - You can send a boost into the show directly in the Podcast Index. First, top-up with Alby, and then head over to the R-Weekly Highlights podcast entry on the index.A new way to think about value: https://value4value.infoGet in touch with us on social mediaEric Nantz: @rpodcast@podcastindex.social (Mastodon), @rpodcast.bsky.social (BlueSky) and @theRcast (X/Twitter)Mike Thomas: @mike_thomas@fosstodon.org (Mastodon), @mike-thomas.bsky.social (BlueSky), and @mike_ketchbrook (X/Twitter) Music credits powered by OCRemixDiddy Kong Luau Party - Diddy Kong Racing - Guifrog - https://ocremix.org/remix/OCR02794From Downtown - NBA Jam - ktriton, Mustin, Steve Lella - https://ocremix.org/remix/OCR02111
We’ve got fort updates, strange characters, and artifacts galore! Drew tells us about his monster encounters, and Kristin shares her new favorite weirdo, Shem the Shirtless Fisherdwarf. As a bonus at the end, we talk a little about some other games we’ve tried, including Elin, the game that feels like Adventure Mode! Extra Info: Transcript (see README for […]
In this heartfelt episode, Rachel and Amber sit down with Kimaree Lewis, the resilient mother of a burn survivor, to hear her powerful story of navigating trauma, healing, and hope. Kimaree opens up about the day her family's life changed forever, her son and family's emotional and physical challenges, and how her family's faith got them through the toughest times. Join us as Kimaree shares insights on caring for her family and also herself, how giving back as a Phoenix SOAR Peer Supporter has impacted both her and her son, and her advice for other caregivers. Tune in to hear how one mother's journey can offer hope to anyone facing life's most challenging moments.Enjoyed the show? Tell us by leaving a 5-star review and sharing on social media using hashtag #GirlswithGrafts and tagging Phoenix Society for Burn Survivors! Meet Our Guest Kimaree Lewis is the mother of five children and the wife to an awesome husband. She is a Human Resources Manager and in 2024, she received the Human Resources Professional of the year. Kimaree lives by the motto: “Lead others to look up to the person they see in the mirror.” She wants to help others create a reflection that they are proud of and a shadow they don't mind lurking behind them. Helping people is her passion and she feels full and accomplished when she knows she's helped better another's situation or circumstance. Links Watch our latest podcast episode with physical therapist, Ingrid Parry, where we talk about the importance of movement in burn recovery.Read “Me, Enough? A Sibling's Story of Becoming Free of Guilt and Shame,” where Katherine Hill shares her journey of letting go of the shame and guilt she felt after living through a house fire that injured her twin sister.Read “Self-Care for Caregivers.”Learn more about Phoenix SOAR (Survivors Offering Assistance in Recovery) and how to become a trained Peer Supporter. Podcast Sponsor Today's podcast is powered by the Pritzker Hageman Law Firm! The Pritzker Hageman burn injury legal team helps burn survivors and their loved ones pursue compensation and justice throughout the United States. Learn more at: LegalJourney.guide. Sponsor Girls with Grafts Interested in becoming a sponsor of the show? Email us at info@phoenix-society.org.
Episode 32: How can you build an app with a backend using AI in just 20 minutes? Matt Wolfe (https://x.com/mreflow) and Nathan Lands (https://x.com/NathanLands) sit down with AI enthusiast Riley Brown (https://x.com/rileybrown_ai) to explore this exciting and challenging process. In this episode, Riley brings his unique perspective and experience, from a non-coder to a developer leveraging AI tools. The discussion covers Riley's journey, the tools he recommends for beginners, like Cursor and Replit, and the integration with Firebase for seamless app development. They venture into creating a simple web app, discuss the evolution of app capabilities, and contemplate innovative features and platforms driven by AI. Whether you're a novice or an experienced developer, this episode offers a wealth of insights and practical advice. Check out The Next Wave YouTube Channel if you want to see Matt and Nathan on screen: https://lnk.to/thenextwavepd — Show Notes: (00:00) Riley Brown shares app-building methods, templates. (04:15) Using Claude artifacts for code generation amazed me. (08:35) Start with Cursor, avoid multiple tool distractions. (09:34) Codebase setup using SSH for syncing changes. (12:55) AI integrates and updates code in steps. (17:49) App to log and track AI skill development. (20:04) Tools: Cursor, Firebase, Replit for project management. (25:12) Discusses free use of Replit, Firebase, Cursor. (27:32) App for threading voice notes and AI formatting. (30:58) Appreciating design effort; seeking AI improvement. (33:31) Building community to create apps efficiently. (35:20) Follow Riley Brown on X, subscribe YouTube. — Mentions: Riley Brown: https://community.softwarecomposer.com/c/templates/replit-templates https://replit.com/@an732001/Riley-and-Ansh-Full-Stack-Nextjs-Template-version-1?v=1#README.md Software Composer: https://www.softwarecomposer.com/ Cursor: https://www.cursor.so/ Replit: https://replit.com/ Firebase: https://firebase.google.com/ Midjourney: https://www.midjourney.com/ Claude: https://www.anthropic.com/index/claude Wispr Flow: https://www.flowvoice.ai/ — Check Out Matt's Stuff: • Future Tools - https://futuretools.beehiiv.com/ • Blog - https://www.mattwolfe.com/ • YouTube- https://www.youtube.com/@mreflow — Check Out Nathan's Stuff: Newsletter: https://news.lore.com/ Blog - https://lore.com/ The Next Wave is a HubSpot Original Podcast // Brought to you by The HubSpot Podcast Network // Production by Darren Clarke // Editing by Ezra Bakker Trupiano
We conclude our look at the essential booklet Read Me or Rue It
We look into chapter 6 of Read Me or Rue It
We investigate chapter 5 of Read Me or Rue It
We look at chapter 4 of Read Me or Rue It
We check out chapter 3 of Read Me or Rue It
We peruse chapter 2 of Read Me or Rue It
We look at chapter 1 of Read Me or Rue It
From Vision to Venture is a Moesif podcast that highlights some of the biggest wins and challenges in the startup space today. Every episode, we talk to different founders to discover strategies they've used on their journey from early-stage startup to later-stage growth. Whether you want to hear more about managing life as a founder or raising a round of investment, this is the podcast for you. Our guest on this episode is Gregory Koberger, founder of ReadMe, an API documentation and developer tools platform. In today's episode, Greg shares the highs and lows of building ReadMe, from designing developer-centric tools and launching new product lines to handling market shifts and avoiding layoffs during tough times. Greg dives into his approach to scaling sustainably, managing burnout, and the invaluable role of a strong team. Join us for an inspiring conversation on overcoming founder challenges with resilience and purpose.
“For Gods Sake, Someone Pull The Lever!” Today we’re visited by a very special guest, who brings along his process, stories and great Dwarfy tips! Stick around in the episode for another great bop? ditty? (idk, I’m old – Drew) from Stephen! Extra Info: Transcript (see README for more details)
What's the difference between solving problems and recognizing patterns, and why does it matter for developers? In this episode, Stephanie and Joël discuss transitioning from collecting solutions to identifying patterns applicable to broader contexts in software development. They explore the role of heuristics, common misconceptions among junior and intermediate developers, and strategies for leveling up from a solution-focused mindset to thinking in patterns. They also discuss their experiences of moving through this transition during their careers and share advice for upcoming software developers to navigate it successfully. They explore how learning abstraction, engaging in code reviews, and developing a strong intuition for code quality help developers grow. Uncover the issue of over-applying patterns and gain insights into the benefits of broader, reusable approaches in code development. Join us to discover how to build your own set of coding heuristics, the pitfalls of pattern misuse, and how to become a more thoughtful developer. Tune in now! Key Points From This Episode: Stephanie unpacks the differences between patterns and solutions. The role of software development experience in recognizing patterns. Why transitioning from solving problems to recognizing patterns is crucial. Joël and Stephanie talk about the challenges of learning abstraction. Hear pragmatic strategies for implementing patterns effectively. How junior developers can build their own set of heuristics for code quality. Discover valuable tools and techniques to identify patterns in your work. Find out about approaches to documenting, learning, and sharing patterns. Gain insights into the process of refactoring a solution into a pattern. Outlining the common mistakes developers make and the pitfalls to avoid. Steps for navigating disagreements and feedback in a team environment. Links Mentioned in Today's Episode: RubyConf 2021 - The Intro to Abstraction I Wish I'd Received (https://www.youtube.com/watch?v=m0dC5RmxcFk) 'Ruby Science' (https://thoughtbot.com/ruby-science/introduction.html) Refactoring.Guru (https://refactoring.guru/) Thoughtbot code review guide (https://github.com/thoughtbot/guides/blob/main/code-review/README.md) The Bike Shed (https://bikeshed.thoughtbot.com/) Joël Quenneville on LinkedIn (https://www.linkedin.com/in/joel-quenneville-96b18b58/) Joël Quenneville on X (https://x.com/joelquen) Support The Bike Shed (https://github.com/sponsors/thoughtbot)
Foundations of Amateur Radio Every now and then you come across an idea that throws you for a loop. It comes seemingly out of nowhere and once you've seen it, you cannot unsee it. It's a lot like a 1929 painting I like called "The Treachery of Images", also known as "Ceci n'est pas une pipe", or in English, "This is Not a Pipe" by Belgian surrealist painter René Magritte. If you're not familiar with it, it's a painting of a pipe, and by being a painting, it's not a pipe. Obviously. Before I go into the idea that rocked my world, I need to set the stage a little. There are several modes I've discussed before, WSPR, or Weak Signal Propagation Reporter, FT8 or Franke-Taylor design, 8-FSK modulation and plenty others. Each of these modes has one thing in common. They require that all participants are using the same time. That is, both sender and receiver need to agree on when "now" is for this to work. A WSPR signal takes 110.6 seconds, every 120 seconds, starting on the even minute. It requires that the transmitter and receiver agree on the time within about 2 seconds. An FT8 signal takes 12.6 seconds within a 15 second window. It requires an accuracy of about 20 milliseconds. These timekeeping requirements are pretty easy to achieve in a modern network connected computer. You turn on a thing called NTP, or Network Time Protocol, point it at an appropriate clock and off you go. If you're not connected to the Internet, then things get squirrelly pretty quickly. You could buy yourself a GPS, set up a link between the GPS and your computer, run some software and use the GPS clock to synchronise time on your computer. Of course, this requires a GPS, a serial cable, software, configuration, battery power to keep the GPS running and probably a couple of other things. I've never done this, but given what I'm about to share, I don't think I ever will. What if you used a WSPR, or an FT8 signal, from someone else to synchronise your clock? If you've ever launched WSJT-X, you'll have seen a column marked DT, that's Delta Time, or the difference in time between the clock on your computer and that of the transmitter. If you could read the difference and use it to adjust your clock, you'd be in business. Charles NK8O pointed me to a GitHub Gist with a single little Python script, written by Peter K6PLI. It updates the clock on your computer using the Delta Time from WSJT-X. I'd point you at the script from here, but 3a730575, and 24 more characters, and that's just one element of the URL, doesn't run quite off the tongue, so I've cloned it into my VK6FLAB GitHub repository where it's called wsjt-time-sync. I added Peter's description to the ReadMe file, but I can take no credit for the effort, or the idea, that's all Peter. So, synchronise your clock using the signal that you're trying to decode. Seems pretty obvious now, but that was a brand new notion for me. Of course now I'm excited and wondering where else I might use this. Let me know if there's more to this that tickles your fancy. Also, just because I know Charles will poke my eye out with a Morse key if I don't mention this, you could use this script on your next POTA, Parks On The Air, or WWFF, World Wide Flora and Fauna activation, or anywhere else you go portable to make some noise. I know, right, Charles, using FT8 instead of Morse Code, what's next, the end of the hobby? I'll tell you a secret. From time to time, he even uses his voice! I'm Onno VK6FLAB
Topics covered in this episode: “We must replace uwsgi by something else” Let's build and optimize a Rust extension for Python Fake recruiter coding tests target devs with malicious Python packages Monthly PSF Board Office Hours Extras Joke Watch on YouTube About the show Sponsored by ScoutAPM: pythonbytes.fm/scout Connect with the hosts Michael: @mkennedy@fosstodon.org Brian: @brianokken@fosstodon.org Show: @pythonbytes@fosstodon.org Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Michael #1: “We must replace uwsgi by something else” uWSGI is now in maintenance mode: https://uwsgi-docs.readthedocs.io/en/latest/ The project is in maintenance mode (only bugfixes and updates for new languages apis). Do not expect quick answers on github issues and/or pull requests (sorry for that) A big thanks to all of the users and contributors since 2009. Reasonable options look like: granian uvicorn hypercorn gunicorn (potentially with uvicorn workers for async) Brian #2: Let's build and optimize a Rust extension for Python Itamar Turner-Trauring Example: algorithm for approximating the number of unique values in a list Comparison to non-approximation non-approx is faster but uses way more memory Rust version Use Maturin and PyO3 Pull in Rust dependencies (rand for random numbers) Optimization link-time optimization faster random store hashes only Future optimizations change algorithm maybe pass numpy array instead of Python list (I'd like to see that spedup) Michael #3: Fake recruiter coding tests target devs with malicious Python packages via python weekly GitHub projects that have been linked to previous, targeted attacks in which developers are lured using fake job interviews. Attackers posing as employees of major financial services firms. This previously happened via other means such as NPM This analysis revealed that the direct parent of the detected, malicious files is a PythonPYC file, meaning that once again the team encountered malware hidden in a compiled Python file. “The README files tell would-be candidates to make sure the project is running successfully on their system before making modifications.” What can you do (according to Michael)? Try out new packages in a docker container Work on code and projects using a VM which has snapshotting (to roll back completely after you're done) Fire up a Windows desktop in the cloud for the project then destroy it Brian #4: Monthly PSF Board Office Hours “The Office Hours will be sessions where you can share with us how we can help your community, express your perspectives, and provide feedback for the PSF.” “Unless we have a dedicated topic for a session, you are not limited to talking with us about the above topics, although the discussions should be focused on Python, the PSF, and our community. If you think there's something we can help with or we should know, we welcome you to come and talk to us!” Upcoming office hours October 8th, 2024: 9pm UTC November 12th, 2024: 2pm UTC December 10th, 2024: 9pm UTC January 14th, 2025: 2pm UTC February 11th, 2025: 9pm UTC March 11th, 2025: 1pm UTC April 8th, 2025: 9pm UTC May 13th, 2025: 1pm UTC (Live from PyCon US!) June 10th, 2025: 9pm UTC July 9th, 2025: 1pm UTC August 12th, 2025: 9pm UTC Extras Brian: PyCascades CFP closes Friday, Sept 20 PyCascades is in Portland in 2025 (Feb 8 & 9) uv now supports Python 3.13.0rc2 uv self update uv venv -p 3.13 Free threaded is still an open issue Michael: Big Python Humble Bundle with both of our products Get $1,800 worth of Python content and tools for $30 and contribute to charity Includes 5 Talk Python courses Several of Brian's and his book Djangonaut Space Session 3 Applications Open! I interviewed Sarah and Tushar on Talk Python AltTab: Windows alt-tab on macOS Joke: Election joke
Today we are talking about Progressive migration with Drupal, What it is, and how you can do it with your organization with guest Stephen Cross. We'll also cover Views JSON Source as our module of the week. For show notes visit: www.talkingDrupal.com/466 Topics What is a progressive migration What other types of migration are there What problem does progressive migration solve at the ATF What versions of Drupal are involved Technical implementation Technical challenges Non-Technical challenges Processes needed for success When to use another migration process Resources Drupal GovCon Presentation - Progressive Migration Talking Drupal #334 - Managing Drupal Teams in Government Guests Stephen Cross - stephencross.com stephencross Hosts Nic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi Nate Dentzau - dentzau.com nathandentzau MOTW Correspondent Martin Anderson-Clutz - mandclu.com mandclu Brief description: Have you ever wanted to use Drupal's Views interface to allow visitors to browse and navigate data from another source? There's a module for that Module name/project name: Views JSON Source Brief history How old: created in Apr 2020 by Pradeep Venugopal (venugopp), but recent releases are by Viktor Holovachek (astonvictor), a member of the Ukraine Drupal community Versions available: 2.0.2 compatible with Drupal 8.8 and newer, all the way up to Drupal 11 Maintainership Actively maintained Security coverage Documentation: pretty lengthy README to help you get started Number of open issues: 17 open issues, 4 of which are bugs against the current branch, although one had a fixed merged in the past week Usage stats: 1,641 sites Module features and usage After installing the module, you can create a view and specify it should show “JSON” instead of some kind of content entity In the view settings you can then provide a URL for where to retrieve the JSON, and an optional Apath value to indicate a section of the data to show It also supports contextual filters, so you can create a single view that will show different sections of data depending on the path used to access it From there you can build out your view in the normal way: using fields to specify what data should be shown and how, filters to limit which rows will be shown, and sort criteria to specify the order in which it will be listed. And of course, the ability to expose controls for users to filter and sort the data in ways that meet their own needs make this an extremely powerful way to make data available to your site's visitors We spoke a couple of episodes ago about how powerful it can be to use Drupal as the “glass” or experience layer through which visitors can interact with other systems, and I think this is another great example of that
Talk Python To Me - Python conversations for passionate developers
Python performance has come a long way in recent times. And it's often the data scientists, with their computational algorithms and large quantities of data, who care the most about this form of performance. It's great to have Stan Seibert back on the show to talk about Python's performance for data scientists. We cover a wide range of tools and techniques that will be valuable for many Python developers and data scientists. Episode sponsors Posit Talk Python Courses Links from the show Stan on Twitter: @seibert Anaconda: anaconda.com High Performance Python with Numba training: learning.anaconda.cloud PEP 0703: peps.python.org Python 3.13 gets a JIT: tonybaloney.github.io Numba: numba.pydata.org LanceDB: lancedb.com Profiling tips: docs.python.org Memray: github.com Fil: a Python memory profiler for data scientists and scientists: pythonspeed.com Rust: rust-lang.org Granian Server: github.com PIXIE at SciPy 2024: github.com Free threading Progress: py-free-threading.github.io Free Threading Compatibility: py-free-threading.github.io caniuse.com: caniuse.com SPy, presented at PyCon 2024: us.pycon.org Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy
You can hear the second half of Mia's conversation with David here. Subscribe to Mamamia David Finch is a lot of things: he's an Autism and Neurodiversity consultant, the author of The Journal of Best Practices; A Memoir of Marriage, Asperger Syndrome, and One Man's Quest to Be a Better Husband, an essayist for the New York Times Modern Love column…and he's also UNmarried. In this two-part special episode of No Filter, David Finch opens up to Mia Freedman about his life before and after his Asberger's syndrome diagnosis, his quest to be the best husband and father he could be…and how he ended up UNmarried (and what that even means). You can find David's books and essays here. Learn more about neurodivergent relationships here. Follow David on Instagram here. What To Read: Read: More People Are Being Diagnosed With Neurodiversity than Ever. Here's why it's a good thing. Read: I was diagnosed autistic at 45. Here are 6 things I want you to know. Read: Me and my husband were more like roommates than a couple. One conversation changed everything.' Read: "You keep your identities separate." 8 signs you're in the right relationship. THE END BITS: Listen to more No Filter interviews here and follow us on Instagram here.Discover more Mamamia podcasts here.Feedback: podcast@mamamia.com.auShare your story, feedback, or dilemma! Send us a voice message, and one of our Podcast Producers will come back to you ASAP.Rate or review us on Apple by clicking on the three dots in the top right-hand corner, click Go To Show then scroll down to the bottom of the page, click on the stars at the bottom and write a review. CREDITS:Host: Mia Freedman You can find Mia on Instagram here and get her newsletter here. Executive Producer: Naima Brown Audio Producer: Leah PorgesMamamia acknowledges the Traditional Owners of the Land we have recorded this podcast on, the Gadigal people of the Eora Nation. We pay our respects to their Elders past and present, and extend that respect to all Aboriginal and Torres Strait Islander cultures.Become a Mamamia subscriber: https://www.mamamia.com.au/subscribeSee omnystudio.com/listener for privacy information.
Welcome back to our series on the developer journey. In this episode, we tackle one of the most crucial yet often neglected aspects of development: the power of documentation. While it might seem tedious, proper documentation is vital to enhancing your workflow and ensuring that your work is accessible and understandable for others. Why The Power of Documentation Matters Developer documentation is often the unsung hero in the software development lifecycle. Many developers overlook it, leading to frustration down the line when they or their colleagues struggle to understand undocumented code. Documentation is akin to testing: everyone acknowledges its importance, yet it frequently gets pushed aside due to time constraints. This negligence can result in messy, hard-to-navigate codebases. The truth is that high-quality documentation is indispensable. It's not just about creating records but ensuring that your code's functionality is clear and easily understandable for anyone who might work with it in the future. Good documentation reflects your professionalism and dedication, whether you're writing APIs or developing software. Leverage Modern Tools The good news is that documenting your work has never been easier. Today's tools have revolutionized how we approach documentation, making it more integrated and less of a chore. For instance, if you're building APIs, tools like Swagger (now known as OpenAPI) can auto-generate user-friendly and comprehensive documentation. Similarly, Postman not only helps with API testing but also assists in creating documentation. In addition, static code analysis tools can help highlight areas that may require documentation, but they're only part of the solution. Modern auto-generation tools like Javadoc have set a precedent for documentation in various languages. Whether you're working with Java, Python, or JavaScript, there's likely a tool available to auto-generate documentation for your code. The key is to explore and understand what's available for your specific environment. Integrate the Power of Documentation Throughout the Development Process Documentation should be seamlessly integrated into every phase of development. It's not limited to code comments or README files; it extends to comprehensive setup guides, deployment instructions, and user manuals. For instance, ensuring your README file includes details on how to set up and deploy the application can save a lot of time for those who come after you. Moreover, tools like GitHub, Bitbucket, and Atlassian provide robust platforms for managing documentation alongside code. With these tools, you can create wikis, track issues, and maintain up-to-date documentation that evolves with your project. This way, your documentation is accurate and consistently synchronized with your codebase. The Power of Documentation for Different Audiences Understanding your audience is crucial. Developer documentation must often cater to various stakeholders, including developers, testers, and end-users. Here's a breakdown of what each might require: Developers: Need detailed comments on functions, classes, and APIs. This includes input parameters, return types, and possible exceptions. Well-commented code makes it easier for other developers to pick up where you left off without digging through the entire codebase. Testers: Require information on how the application should behave under different conditions. This includes setup instructions, test cases, and expected outcomes. A clear test plan and test case documentation can streamline the quality assurance process. End-users: They need user manuals and release notes that explain how to use the application and what's new in updates. This documentation should be clear, concise, and tailored to the user's level of expertise. Embracing the Power of Documentation Good documentation is more than just a set of guidelines or instructions; it's essential to a well-oiled development machine. When done right, it transforms the way teams work together, reduces the likelihood of costly errors, and ensures that your code can be easily maintained and evolved. By prioritizing documentation, you're investing in the long-term health of your projects. It fosters collaboration, enhances understanding, and leads to more reliable and robust software. In a fast-paced development environment, where changes are constant, and the stakes are high, having thorough and accessible documentation is not just a best practice—it's a competitive advantage. So, as you continue your development journey, remember that documentation isn't a task to be completed and forgotten. It's an ongoing process that should evolve with your code, adapting to new features, updates, and changes. Embrace, champion, and make it a core part of your development process. In doing so, you'll improve your efficiency and contribute to a culture of clarity and excellence in software development. Stay Connected: Join the Developreneur Community We invite you to join our community and share your coding journey with us. Whether you're a seasoned developer or just starting, there's always room to learn and grow together. Contact us at info@develpreneur.com with your questions, feedback, or suggestions for future episodes. Together, let's continue exploring the exciting world of software development. Additional Resources Organizing Business Documentation: A Critical Challenge for Entrepreneurs Test-Driven Development – A Better Object-Oriented Design Approach SDLC – The software development life cycle is simplified Using a Document Repository To Become a Better Developer The Developer Journey Videos – With Bonus Content
This week we dig into Steve's home assistant migration. We take your questions on how to get started with AI, a self hosted email horror story, and more Harbor Freight. -- During The Show -- 01:25 OpenSource AI - Craig Defining "open source AI" is hard Local Offline Generative AI on Linux - Part 1 : TextGen (https://peertube.tv/w/48EvS3Y1gJz5c9vHiZF8Ya) Local Offline Generative AI on Linux - Part 2 : ImageGen (https://peertube.tv/w/ko1LUdcrZqLmEQZkyy3cN2) The Artifical Dominion Matrix Chat (https://matrix.to/#/#TheArtificalDominion:matrix.org) What do you want to learn? LM Studio (https://lmstudio.ai/) GPT4ALL (https://flathub.org/apps/io.gpt4all.gpt4all) Haven't found a "safe for work" visual AI Glue cheese Stable Diffusion morality filter 10:50 Self Hosted Email Story - Yassine Noah is still gun shy on self hosted email 14:24 Security and Calendaring - Dan VPN back in 3rd party brokers Synology Surveillance Station (https://www.synology.com/en-global/surveillance) WireGuard Punch a hole in the firewall Dangers of punching a hole CalDav (https://en.wikipedia.org/wiki/CalDAV) Proton Mail calendar Nextcloud calendar Home Assistant calendar Radicale (https://radicale.org/v3.html) 28:51 Harbour Freight - Hank Snap-on feedback Mechanic vs DIY Still making hobo freight argument 31:51 Android Alternatives - Jayden Sailfish OS (https://sailfishos.org/) Ente Auth (https://github.com/ente-io/ente/blob/main/auth/README.md) Cross-platform Better than Authy e/os or Murena (https://murena.com/) 36:56 News Wire LANL Fierro - ladailypost.com (https://ladailypost.com/lanl-new-open-source-code-fierro-improves-safety-and-performance-of-manufactured-parts/) Aloha Browser - accesswire.com (https://www.accesswire.com/894895/aloha-a-privacy-first-browser-goes-open-source) GCC 14.2 - gnu.org (https://gcc.gnu.org/gcc-14/) GNU Binutils 2.43 - lwn.net (https://lwn.net/Articles/984539/) Peazip 9.9 - peazip.github.io (https://peazip.github.io/changelog.html) Firefox 129 - mozilla.org (https://www.mozilla.org/en-US/firefox/129.0/releasenotes/) Amarok 3.1 - kde.org (https://blogs.kde.org/2024/08/02/amarok-3.1-tricks-of-the-light-released/) Azure Linux 3.0 - phoronix.com (https://www.phoronix.com/news/Microsoft-Azure-Linux-3.0-GA) Serpent OS Pre-Alpha - serpentos.com (https://serpentos.com/blog/2024/08/01/serpent-os-prealpha0-released/) Nitrux 3.6 - sourceforge (https://sourceforge.net/projects/nitruxos/files/Release/ISO/) Linux 6.9 EOL - lwn.net (https://lwn.net/Articles/983790/) SLUBStick - securityweek.com (https://www.securityweek.com/new-slubstick-attack-makes-linux-kernel-vulnerabilities-more-dangerous/) DEV#POPPER - thehackernews.com (https://thehackernews.com/2024/07/north-korea-linked-malware-targets.html) TgRat - scmagazine.com (https://www.scmagazine.com/brief/updated-tgrat-trojan-sets-sights-on-linux-servers) RayV Lite - tomshardware (https://www.tomshardware.com/tech-industry/cyber-security/hackers-hope-to-democratize-laser-based-processor-hacking-dollar500-rayv-lite-relies-on-3d-printing-a-laser-pen-and-a-raspberry-pi-to-bring-costs-down) DCLM on HugginFace - computerworld.com (https://www.computerworld.com/article/3475866/apple-ships-truly-open-source-ai-models.html) Flux - decrypt.co (https://decrypt.co/242822/flux-ai-image-generator-review-midjourney-sd3-auraflow) 39:45 Secure Boot 100s of PCs sold with 12yr old and compromised platform keys Can see the use case threat model Locking subsidized hardware Technical merits vs implementation Key management stalkware breach theregister.com (https://www.theregister.com/2024/07/29/infosec_roundup/?td=rt-3a) 52:56 Home Assistant Migration Worried about thermals Critical Steve's kid gets clever Home Assistant notifies based on MAC address Noah's ethernet bathroom adventures Migrating Home Assistant Benchmarking Operating system choice Networking RHEL faster and more power efficient Home Assistant notifications 1:10:30 Frigate Frigate NVR (https://frigate.video/) Always on recording Documentation is hard NUC couldn't handle 6x 1080p Cameras GPU faster but more power hungry Challenges Still early days for Frigate -- The Extra Credit Section -- For links to the articles and material referenced in this week's episode check out this week's page from our podcast dashboard! This Episode's Podcast Dashboard (http://podcast.asknoahshow.com/402) Phone Systems for Ask Noah provided by Voxtelesys (http://www.voxtelesys.com/asknoah) Join us in our dedicated chatroom #GeekLab:linuxdelta.com on Matrix (https://element.linuxdelta.com/#/room/#geeklab:linuxdelta.com) -- Stay In Touch -- Find all the resources for this show on the Ask Noah Dashboard Ask Noah Dashboard (http://www.asknoahshow.com) Need more help than a radio show can offer? Altispeed provides commercial IT services and they're excited to offer you a great deal for listening to the Ask Noah Show. Call today and ask about the discount for listeners of the Ask Noah Show! Altispeed Technologies (http://www.altispeed.com/) Contact Noah live [at] asknoahshow.com -- Twitter -- Noah - Kernellinux (https://twitter.com/kernellinux) Ask Noah Show (https://twitter.com/asknoahshow) Altispeed Technologies (https://twitter.com/altispeed)
Today we are talking about The Benefits of Distributions, If they have drawbacks, and what the future of distributions looks like with guest Rajab Natshah and Mohammed Razem. We'll also cover Google Analytics Reports as our module of the week. For show notes visit: www.talkingDrupal.com/461 Topics What is a distribution How does this differ from profiles What does Varbase provide What types of users is Varbase geared towards Paragraphs or Layout Builder Vardoc How do you overcome fear of lock-in What do you think the future of distributions look like considering recipes Any plans to move Varbase to recipes Starshot Resources Varbase Distribution Vardoc Google analytics counter United nations refugee agency George washington university City of Detroit Bootstrap Layout Builder Bootstrap Styles Visual Distribution Operator Profile inheritance issue Starshot work tracks Linux from Scratch Guests Rajab Natshah - rajab-natshah Mohammed Razem - mohammed-j-razem Hosts Nic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi Josh Miller - joshmiller MOTW Correspondent Martin Anderson-Clutz - mandclu.com mandclu Brief description: Have you ever wanted to display Google Analytics charts directly within your Drupal website? There's a module for that. Module name/project name: Google Analytics Reports Brief history Created in Apr 2011 by raspberryman, but recent releases are by today's guest Rajab Natshah Versions available include 7.x-3.2, 8.x-3.2, and 4.0.0, that last two of which support Drupal 10 and 11 Maintainership Actively maintained, recent releases were less than a month ago Security coverage A documentation guide for older versions, and a README with detailed instructions to get it set up Number of open issues: 76 open issues, 9 of which are bugs against the current branch Usage stats: 4,272 sites Module features and usage To set up this module, you first need to set up the API connection in the Google Developers Console, and download the client secret JSON You'll then upload that into the Google Analytics Report API submodule along with the property ID to enable the connection Next, you need to install the Charts module, and either the Google Charts or Highcharts sub-module to see graphical reports You will now have a new Google Analytics Summary in your site's reports menu, and new "Google Analytics Reports Summary Block" and "Google Analytics Reports Page Block" blocks available I haven't had a chance to try the 4.0 version of this module yet, but I have used older versions with a variety of dashboard solutions, including Moderation Dashboard and Homebox One of the many benefits of using a powerful, open source framework like Drupal to build your site is its ability to act as the “glass” for a variety of other systems, and this module is a perfect demonstration of that
Who defines paradise, and who gets to live in its verdant incarnation on Earth? This is the question animating Olivia Laing's new book, The Garden Against Time, which ranges across the history of the English landscape, from John Milton's writing of Paradise Lost to Laing's own restoration of a walled garden. Alighting on the heartbreaking pastorals of 19th-century poet John Clare and the queer visions of 20th-century artist and filmmaker Derek Jarman, Laing pulls strands of history, literature, and resistance from the green blur that, for now, still surrounds us, even as it deceives us. Landscape architects like Capability Brown—so named for his capability to impose his will on any vista—were, as Laing writes, able “to fake nature so insidiously that even now those landscapes and the power relations they embody are mistaken for being just the way things are, natural, eternal, blandly reassuring, though what has actually taken place is the seizure of once common ground.” The author of five books of nonfiction and a novel, Olivia Laing joins Smarty Pants this week to explore both the powers that shaped the garden as we know it, and the power it has to change how we treat the earth, and ourselves. Go beyond the episode:Olivia Laing's The Garden Against Time: In Search of a Common ParadiseListen to John Clare's “I Love to See the Summer Beaming Forth” on our sister podcast, Read Me a PoemIn the essay “Jane Austen's Ivory Cage,” Mikita Brottman looks over the ha-has of Mansfield Park to see who else might be enclosed alongside the gardenWe have visited stately houses and their grounds twice before on Smarty Pants: with Adrian Tinniswood, who discussed the history of the country house after World War II, and with Hopwood DePree, who was attempting to restore his crumbling ancestral pile Tune in every (other) week to catch interviews with the liveliest voices from literature, the arts, sciences, history, and public affairs; reports on cutting-edge works in progress; long-form narratives; and compelling excerpts from new books. Hosted by Stephanie Bastek and sponsored by the Phi Beta Kappa Society.Subscribe: iTunes/Apple • Amazon • Google • Acast • RSS FeedHave suggestions for projects you'd like us to catch up on, or writers you want to hear from? Send us a note: podcast [at] theamericanscholar [dot] org. And rate us on iTunes! Hosted on Acast. See acast.com/privacy for more information.
Stephanie shares her newfound interest in naming conventions, highlighting a resource called "Classnames" that provides valuable names for programming and design. Joël, in turn, talks about using AI to generate names for D&D characters, emphasizing how AI can help provide inspiration and reasoning behind name suggestions. Then, they shift to Joël's interest in Roman history, where he discusses a blog by a Roman historian that explores distinctions between state and non-state peoples in the ancient Mediterranean. Together, the hosts delve into the importance of asking questions as consultants and developers to understand workflows, question assumptions, and build trust for better onboarding. Stephanie categorizes questions by engagement stages and their social and technical aspects, while Joël highlights how questioning reveals implicit assumptions and speeds up learning. They stress maintaining a curious mindset, using questions during PR reviews, and working with junior developers to foster collaboration. They conclude with advice on documenting answers and using questions for continuous improvement and effective decision-making in development teams. Class names inspiration (https://classnames.paulrobertlloyd.com/) How to Raise a Tribal Army in Pre-Roman Europe, Part II: Government Without States (https://acoup.blog/2024/06/14/collections-how-to-raise-a-tribal-army-in-pre-roman-europe-part-ii-government-without-states/) Diocletian, Constantine, Bedouin Sayings, and Network Defense (https://www.youtube.com/watch?v=qCUI5ryyMSE) The Power of Being New: A Proven Recipe for High Impact (https://hazelweakly.me/blog/the-power-of-being-new--a-proven-recipe-for-high-impact/#the-power-of-being-new-a-proven-recipe-for-high-impact) How to ask good questions (https://jvns.ca/blog/good-questions/) Transcript: JOËL: Hello and welcome to another episode of the Bike Shed, a weekly podcast from your friends at thoughtbot about developing great software. I'm Joël Quenneville. STEPHANIE: And I'm Stephanie Minn. And together, we're here to share a bit of what we've learned along the way. JOËL: So, Stephanie, what's new in your world? STEPHANIE: So, if it has not been clear about just kind of the things I'm mentioning on the podcast the past few weeks, I've been obsessed with naming things lately [chuckles] and just thinking about how to name things, and, yeah, just really excited about...or even just having fun with that more than I used to be as a dev. And I found a really cool resource called "Classnames." Well, it's like just a little website that a designer and developer shared from kind of as an offshoot from his personal website. I'll link it in the show notes. But it's basically just a list of common names that are very useful for programming or even design. It's just to help you find some inspiration when you're stuck trying to find a name for something. And they're general or abstract enough that, you know, it's almost like kind of like a design pattern but a naming pattern [laughs], I suppose. JOËL: Ooh. STEPHANIE: Yeah, right? And so, there's different categories. Like, here's a bunch of words that kind of describe collections. So, if you need to find the name for a containment or a group of things, here's a bunch of kind of words in the English language that might be inspiring. And then, there's also other categories like music for describing kind of the pace or arrangement of things. Fashion, words from fashion can describe, like, the size of things. You know, we talk about T-shirt sizes when we are estimating work. And yeah, I thought it was really cool that there's both things that draw on, you know, domains that most people know in real life, and then also things that are a little more abstract. But yeah, "Classnames" by Paul Robert Lloyd — that's been a fun little resource for me lately. JOËL: Very cool. Have you ever played around at all with using AI to help you come up with the naming? STEPHANIE: I have not. But I know that you and other people in my world have been enjoying using AI for inspiration when they feel a little bit stuck on something and kind of asking like, "Oh, like, how could I name something that is, like, a group of things?" or, you know, a prompt like that. I suspect that that would also be very helpful. JOËL: I've been having fun using that to help me come up with good names for D&D characters, and sometimes they're a little bit on the nose. But if I sort of describe my character, and what's their vibe, and a little bit of, like, what they do and their background, and, like, I've built this whole, like, persona, and then, I just ask the AI, "Hey, what might be some good names for this?" And the AI will give me a bunch of names along with some reasoning for why they think that would be a good match. So, it might be like, oh, you know, the person's name is, I don't know, Starfighter because it evokes their connection to the night sky or whatever because that was a thing that I put in the background. And so, it's really interesting. And sometimes they're, like, just a little too obvious. Like, you don't want, you know, Joe Fighter because he's a fighter. STEPHANIE: And his name is Joe [laughs]. JOËL: Yeah, but some of them are pretty good. STEPHANIE: Cool. Joël, what's new in your world? JOËL: I guess in this episode of how often does Joël think about the Roman Empire... STEPHANIE: Oh my gosh [laughs]. JOËL: Yes [laughs]. STEPHANIE: Spoiler: it's every day [laughs]. JOËL: Whaaat? There's a blog that I enjoy reading from a Roman historian. It's called "A Collection of Unmitigated Pedantry", acoup.blog. He's recently been doing an article series on not the Romans, but rather some of these different societies that are around them, and talking a little bit about a distinction that he calls sort of non-state peoples versus states in the ancient Mediterranean. And what exactly is that distinction? Why does it matter? And those are terms I've heard thrown around, but I've never really, like, understood them. And so, he's, like, digging into a thing that I've had a question about for a while that I've been really appreciating. STEPHANIE: Can you give, like, the reader's digest for me? JOËL: For him, it's about who has the ability to wield violence legitimately. In a state, sort of the state has a monopoly on violence. Whereas in non-state organizations, oftentimes, it's much more personal, so you might have very different sort of nobles or big men who are able to raise, let's say, private armies and wage private war on each other, and that's not seen as, like, some, like, big breakdown of society. It's a legitimate use of force. It's just accepted that that's how society runs. As opposed to in a state, if a, you know, wealthy person decided to raise a private army, that would be seen as a big problem, and the state would either try to put you down or, like, more generally, society would, like, see you as having sort of crossed a line you shouldn't have crossed. STEPHANIE: Hmm, cool. I've been reading a lot of medieval fantasy lately, so this is kind of tickling my brain in that way when I think about, like, what drives different characters to do things, and kind of what the consequences of those things are. JOËL: Right. I think it would be really fascinating to sort of project this framework forwards and look at the European medieval period through that lens. It seems to me that, at least from a basic understanding, that the sort of feudal system seems to be very much in that sort of non-state category. So, I'd be really interested to see sort of a deeper analysis of that. And, you know, maybe he'll do an addendum to this series. Right now, he's mostly looking at the Gauls, the Celtiberians, and the Germanic tribes during the period of the Roman Republic. STEPHANIE: Cool. Okay. Well, I also await the day when you somehow figure how this relates to software [laughter] and inevitably make some mind-blowing connection and do a talk about it [laughs]. JOËL: I mean, theming is always fun. There's a talk that I saw years ago at Strange Loop that was looking at the defense policy of the Roman Emperor Diocletian and the Roman Emperor Constantine, and the ways that they sort of defended the borders of the empire and how they're very different, and then related it to how you might handle network security. STEPHANIE: Whaat? JOËL: And sort of like a, hey, are we using more of a Diocletian approach here, or are we using more of a Constantine approach here? And all of a sudden, just, like, having those labels to put on there and those stories that went with it made, like, what could be a really, like, dry security talk into something that I still remember 10 years later. STEPHANIE: Yeah. Yeah. We love stories. They're memorable. JOËL: So, I'll make sure to link that in the show notes. STEPHANIE: Very cool. JOËL: We've been talking a lot recently about my personal note system, where I keep a bunch of, like, small atomic notes that are all usually based around a single thesis statement. And I was going through that recently, and I found one that was kind of a little bit juicy. So, the thesis is that consultants are professional question-askers. And I'm curious, as a consultant yourself, how do you feel about that idea? STEPHANIE: Well, my first thought would be, how do I get paid to only ask in questions [laughs] or how to communicate in questions and not do anything else [laughs]? It's almost like I'm sure that there is some, like, fantasy character, you know, where it's like, there's some villain or just obstacle where you have this monster character who only talks in questions. And it's like a riddle that you have to solve [laughs] in order to get past. JOËL: I think it's called a three-year-old. STEPHANIE: Wow. Okay. Maybe a three-year-old can do my job then [laughter]. But I do think it's a juicy one, and it's very...I can't wait to hear how you got there, but I think my reaction is yes, like, I do be asking questions [laughs] when I join a project on a client team. And I was trying to separate, like, what kinds of questions I ask. And I kind of came away with a few different categories depending on, like, the stage of the engagement I'm in. But, you know, when I first join a team and when I'm first starting out consulting for a team, I feel like I just ask a lot of basic questions. Like, "Where's the Jira board [laughs]?" Like, "How do you do deployments here?" Like, "What kind of Git process do you use?" So, I don't know if those are necessarily the interesting ones. But I think one thing that has been nice is being a consultant has kind of stripped the fear of asking those questions because, I don't know, these are just things I need to know to do my work. And, like, I'm not as worried about, like, looking dumb or anything like that [laughs]. JOËL: Yeah. I think there's often a fear that asking questions might make you look incompetent or maybe will sort of undermine your appearance of knowing what you're talking about, and I think I've found that to be sort of the opposite. Asking a lot of questions can build more trust, both because it forces people to think about things that maybe they didn't think about, bring to light sort of implicit assumptions that everyone has, and also because it helps you to ramp up much more quickly and to be productive in a way that people really appreciate. STEPHANIE: Yeah. And I also think that putting those things in, like, a public and, like, documented space helps people in the future too, right? At least I am a power Slack searcher [laughs]. And whenever I am onboarding somewhere, one of the first places I go is just to search in Slack and see if someone has asked this question before. I think the next kind of category of question that I discerned was just, like, questions to understand how the team understands things. So, it's purely just to, like, absorb kind of like perspective or, like, a worldview this team has about their codebase, or their work, or whatever. So, I think those questions manifest as just like, "Oh, like, you know, I am curious, like, what do you think about how healthy your codebase is? Or what kinds of bugs is your team, like, dealing with?" Just trying to get a better understanding of like, what are the challenges that this team is facing in their own words, especially before I even start to form my own opinions. Well, okay, to be honest, I probably am forming my own opinions, like, on the side [laughs], but I really try hard to not let that be the driver of how I'm showing up and especially in the first month I'm starting on a new team. JOËL: Would you say these sorts of questions are more around sort of social organization or, like, how a team approaches work, that sort of thing? Or do you classify more technical questions in this category? So, like, "Hey, tell me a little bit about your philosophy around testing." Or we talked in a recent episode "What value do you feel you get out of testing?" as a question to ask before even, like, digging into the implementation. STEPHANIE: Yeah, I think these questions, for me, sit at, like, the intersection of both social organization and technical questions because, you know, asking something like, "What's the value of testing for your team?" That will probably give me information about how their test suite is like, right? Like, what kinds of tests they are writing and kind of the quality of them maybe. And it also tells me about, yeah, like, maybe the reasons why, like, they only have just unit tests or maybe, like, just [inaudible 12:31] test, or whatever. And I think all of that is helpful information. And then, that's actually a really...I like the distinction you made because I feel like then the last category of questions that I'll mention, for now, feels like more geared towards technical, especially the questions I ask to debunk assumptions that might be held by the team. And I feel like that's like kind of the last...the evolution of my question-asking. Because I have, hopefully, like, really absorbed, like, why, you know, people think the way they do about some of these, you know, about their code and start to poke a little bit on being like, "Why do you think, you know, like, this problem space has to be modeled this way?" And that has served me well as a consultant because, you know, once you've been at an organization for a while, like, you start to take a lot of things for granted about just having to always be this way, you know, it's like, things just are the way they are. And part of the power of, you know, being this kind of, like, external observer is starting to kind of just like, yeah, be able to question that. And, you know, at the end of day, like, we choose not to change something, but I think it's very powerful to be able to at least, like, open up that conversation. JOËL: Right. And sometimes you open up that conversation, and what you get is a link to a big PR discussion or a Wiki or something where that discussion has already been had. And then, that's good for you and probably good for anybody else who has that question as well. STEPHANIE: I'm curious, for you, though, like, this thesis statement, atomic note, did you have notes around it, or was it just, like, you dropped it in there [laughs]? JOËL: So, I have a few things, one is that when you come in as a consultant, and, you know, we're talking here about consultants because that's what we do. I think this is probably true for most people onboarding, especially for non-junior roles where you're coming in, and there's an assumption of expertise, but you need to onboard onto a project. This is just particularly relevant for us as consultants because we do this every six months instead of, you know, a senior developer who's doing this maybe every two to three years. So, the note that I have here is that when you're brought on, clients they expect expertise in a technology, something like Ruby on Rails or, you know, just the web environment in general. They don't expect you as a consultant to be an expert in their domain or their practices. And so, when you really engage with this sort of areas that are new by asking a lot of questions, that's the thing that's really valuable, especially if those questions are coming from a place of experience in other similar things. So, maybe asking some questions around testing strategies because you've seen three or four other ways that work or don't work or that have different trade-offs. Even asking about, "Hey, I see we went down a particular path, technically. Can you walk me through what were the trade-offs that we evaluated and why we decided this was the path that was valuable for us?" That's something that people really appreciate from outside experts. Because it shows that you've got experience in those trade-offs, that you've thought the deeper thoughts beyond just shipping the next ticket. And sometimes they've made the decisions without actually thinking through the trade-offs. And so, that can be an opening for a conversation of like, "Hey, well, we just went down this path because we saw a blog article that recommended this, or we just did this because it felt right. Talk us through the trade-offs." And now maybe you have a conversation on, "Hey, here are the trade-offs that you're doing. Let me know if this sounds right for your organization. If not, maybe you want to consider changing some things or tweaking your approach." And I think that is valuable sort of at the big level where you're thinking about how the team is structured, how different parts of work is done, the technical architecture, but it also is valuable at the small level as well. STEPHANIE: Yeah, 100%. There is a blog post I really like by Hazel Weakly, and it's called "The Power of Being New: A Proven Recipe for High Impact." And one thing that she says at the beginning that I really enjoy is that even though, like, whenever you start on a new team there's always that little bit of pressure of starting to deliver immediate value, right? But there's something really special about that period where no one expects you to do anything, like, super useful immediately [laughs]. And I feel like it is both a fleeting time and, you know, I'm excited to continue this conversation of, like, how to keep integrating that even after you're no longer new. But I like to use that time to just identify, while I have nothing really on my plate, like, things that might have just been overlooked or just people have gotten used to that sometimes is, honestly, like, can be a quick fix, right? Like, just, I don't know, deleting a piece of dead code that you're seeing is no longer used but just gets fallen off other people's plates. I really enjoy those first few weeks, and people are almost, like, always so appreciative, right? They're like, "Oh my gosh, I have been meaning to do that." Or like, "Great find." And these are things that, like I said, just get overlooked when you are, yeah, kind of busy with other things that now are your responsibility. JOËL: You're talking about, like, that feeling of can you add value in the, like, initial time that you join. And I think that sometimes it can be easy to think that, oh, the only value you can add is by, like, shipping code. I think that being sort of noisy and asking a lot of questions in Slack is often a great way to add value, especially at first. STEPHANIE: Yeah, agreed. JOËL: Ideally, I think you come in, and you don't sort of slide in under the radar as, like, a new person on the team. Like, you come in, and everybody knows you're there because you are, like, spamming the channel with questions on all sorts of things and getting people to either link you to resources they have or explaining different topics, especially anything domain-related. You know, you're coming in with an outside expertise in a technology. You are a complete new person at the business and the problem domain. And so, that's an area where you need to ask a lot of questions and ramp up quickly. STEPHANIE: Yes. I have a kind of side topic. I guess it's not a side topic. It's about asking questions, so it's relevant [laughs]. But one thing that I'm curious about is how do you approach kind of doing this in a place where question asking is not normalized and maybe other people are less comfortable with kind of people asking questions openly and in public? Like, how do you set yourself up to be able to ask questions in a way that doesn't lead to just, like, some just, like, suspicion or discomfort about, like, why you're asking those questions? JOËL: I think that's the beauty of the consultant title. When an organization brings in outside experts, they kind of expect you to ask questions. Or maybe it's not an explicit expectation, but when they see you asking a lot of questions, it sort of, I think, validates a lot of things that they expect about what an outside expert should be. So, asking a lot of questions of trying to understand your business, asking a lot of questions to try to understand the technical architecture, asking questions around, like, some subtle edge cases or trade-offs that were made in the technical architecture. These are all things that help clients feel like they're getting value for the money from an outside expert because that's what you want an outside expert to do is to help you question some of your assumptions, to be able to leverage their, like, general expertise in a technology by applying it to your specific situation. I've had situations where I'll ask, like, a very nuanced, deep technical question about, like, "Hey, so there's, like, this one weird edge case that I think could potentially happen. How do we, like, think through about this?" And one of the, like, more senior people on the team who built the initial codebase responded, like, almost, like, proud that I've discovered this, like, weird edge case, and being like, "Oh yeah, that was a thing that we did think about, and here's why. And it's really cool that, like, day one you're, like, just while reading through the code and were like, 'Oh, this thing,' because it took us, like, a month of thinking about it before we stumbled across that." So, it was a weird kind of fun interaction where as a new person rolling on, one of the more experienced devs in the codebase almost felt, like, proud of me for having found that. STEPHANIE: I like that, yeah. I feel like a lot of the time...it's like, it's so easy to ask questions to help people feel seen, to be like, "Oh yeah, like, I noticed this." And, you know, if you withhold any kind of, like, judgment about it when you ask the question, people are so willing to be like, yeah, like you said, like, "Oh, I'm glad you saw that." Or like, "Isn't that weird? Like, I was feeling, you know, I saw that, too." Or, like, it opens it up, I think, for building trust, which, again, like, I don't even think this is something that you necessarily need to be new to even do. But if at any point you feel like, you know, maybe your working relationship with someone could be better, right? To the point where you feel like you're, like, really on the same page, yeah, ask questions [laughs]. It can be that easy. JOËL: And I think what can be really nice is, in an environment where question asking is not normalized, coming in and doing that can help sort of provide a little bit of cover to other people who are feeling less comfortable or less safe doing that. So, maybe there's a lot of junior members on the team who are feeling not super confident in themselves and are afraid that asking questions might undermine their position in the company. But me coming in as a sort of senior consultant and asking a lot of those questions can then help normalize that as a thing because then they can look and say, "Oh, well he's asking all these questions. Maybe I can ask my question, and it'll be okay." STEPHANIE: I also wanted to talk about setting yourself up and asking questions to get a good answer, asking good questions to get useful answers. One thing that has worked really well for me in the past few months has been sharing why I'm asking the question. And I think this goes back to a little bit of what I was hinting at earlier. If the culture is not really used to people asking questions and that just being a thing that is normal, sharing a bit of intention can help, like, ease maybe some nervousness that people might feel. Especially as consultants, we also are in a bit of a, I don't know, like, there is some power dynamics occasionally where it's like, oh, like, the consultants are here. Like, what are they going to come in and change or, like, start, you know, doing to, quote, unquote, "improve", whatever, I don't know [laughs]. JOËL: Right, right. STEPHANIE: Yeah, that's the consultant archetype, I think. Anyway. JOËL: Just coming in and being like, "Oh, this is bad, and this is bad, and you're doing it wrong." STEPHANIE: [laughs] JOËL: Ooh, I would be ashamed if I was the author of this code. STEPHANIE: Yeah, my hot take is that that is a bad consultant [laughs]. But maybe I'll say, like, "I am looking for some examples of this pattern. Where can I find them [laughs]?" Or "I've noticed that the team is struggling with, like, this particular part of the codebase, and I am thinking about improving it. What are some of your biggest challenges, like, working with this, like, model?" something like that. And I think this also goes back to, like, proving value, right? Even if it's like, sometimes I know kind of what I want to do, and I'll try to be explicit about that. But even before I have, like, a clear action item, I might just say like, "I'm thinking about this," you know, to convey that, you know, I'm still in that information gathering stage, but the result of that will be useful to help me with whatever kind of comes out of it. JOËL: A lot of it is about, like, genuine curiosity and an amount of empathetic listening. Existing team knows a lot about both the code and the business. And as a consultant coming on or maybe even a more senior person onboarding onto a team, the existing team has so much that they can give you to help you be better at your job. STEPHANIE: I was also revisiting a really great blog post from Julia Evans about "How to Ask Good Questions." And this one is more geared towards asking technical questions that have, like, kind of a maybe more straightforward answer. But she included a few other strategies that I liked a lot. And, frankly, I feel like I want to be even better at finding the right time to ask questions [laughs] and finding the right person to ask those questions to. I definitely get in the habit of just kind of like, I don't know, I'll just put it out there and [laughs], hopefully, get some answers. But there are definitely ways, I think, that you can be more strategic, right? About identifying who might be the best person to provide the answers you're looking for. And I think another thing that I often have to balance in the consulting position is when to know when to, like, stop kind of asking the really big questions because we just don't have time [laughs]. JOËL: Right. You don't want to be asking questions in a way that's sort of undermining the product, or the decisions that are being made, or the work that has to get done. Ideally, the questions that you're asking are helping move the project forward in a positive way. Nobody likes the, you know, just asking kind of person. That person's annoying. STEPHANIE: Do you have an approach or any thoughts about like, once you get an answer, like, what do you do with that? Yeah, what happens then for you? JOËL: I guess there's a lot of different ways it can go. A potential way if it's just, like, an answer explained in Slack, is maybe saying, "We should document this." Or maybe even like, "Is this documented anywhere? If not, can I add that documentation somewhere?" And maybe that's, you know, a code comment that we want to add. Maybe that's an entry to the Wiki. Maybe that's updating the README. Maybe that's adding a test case. But converting that into something actionable can often be a really good follow-up. STEPHANIE: Yeah, I think that mitigates the just asking [laughs] thing that you were saying earlier, where it's like, you know, the goal isn't to ask questions to then make more work for other people, right? It's to ask questions so, hopefully, you're able to take that information and do something valuable with it. JOËL: Right. Sometimes it can be a sort of setup for follow-up questions. You get some information and you're like, okay, so, it looks like we do have a pattern for interacting with third-party APIs, but we're not using it consistently. Tell me a little bit about why that is. Is that a new pattern that we've introduced and we're trying to, like, get more buy-in from the team? Is this a pattern that we used to have, and we found out we didn't like it? So, we stopped using it, but we haven't found a replacement pattern that we like. And so, now we're just kind of...it's a free-for-all, and we're trying to figure it out. Maybe there's two competing patterns, and there is this, like, weird politics within the tech team where they're sort of using one or the other, and that's something I'm going to have to be careful to navigate. So, asking some of those follow-up questions and once you have a technical answer can yield a lot of really interesting information and then help you think about how you can be impactful on the organization. STEPHANIE: And that sounds like advice that's just true, you know, regardless of your role or how long you've been in it, don't you think? JOËL: I would say yes. If you've been in the role a long time, though, you're the person who has that sort of institutional history in your mind. You know that in 2022, we switched over from one framework to another. You know that we used to have this, like, very opinionated architect who mandated a particular pattern, and then we moved away from it. You know that we were all in on this big feature last summer that we released and then nobody used it, and then the business pivoted, but there's still aspects of it that are left around. Those are things that someone knew onboarding doesn't know and that, hopefully, they're asking questions that you can then answer. STEPHANIE: Have you been in the position where you have all that, like, institutional knowledge? And then, like, how do you maintain that sense of curiosity or just that sense of kind of, like, what you're talking about, that superpower that you get when you're new of being able to just, you know, kind of question why things are the way they are? JOËL: It's hard, right? We're talking about how do you keep that sort of almost like a beginner's mindset, in this case, maybe less of a, like, new coder mindset and more of a new hire mindset. It's something that I think is much more front of mind for me because I rotate onto new clients every, like, 6 to 12 months. And so, I don't have very long to get comfortable before I'm immediately thrown into, like, a new situation. But something that I like to do is to never sort of solely be in one role or the other, a sort of, like, experienced person helping others or the new person asking for help. Likely, you are not going to be the newest person on the team for long. Maybe you came on as a cohort and you've got a group of new people, all of whom are asking different questions. And maybe somebody is asking a question that you've asked before, that you've asked in a different channel or on a call with someone. Or maybe someone joins two weeks after you; you don't have deep institutional knowledge. But if you've been asking a lot of questions, you've been building a lot of that for yourself, and you have a little bit that you can share to the next person who knows even less than you do. And that's an approach that I took even as an apprentice developer. When I was, like, brand new to Rails and I was doing an internship, and another intern joined me a couple of weeks after, and I was like, "You know what? I barely know anything. But I know what an instance variable is. And I can help you write a controller action. Let's pair on that. We'll figure it out. And, you know, ask me another question next week. I might have more answers for you." So, I guess a little bit of paying it forward. STEPHANIE: Yeah, I really like that advice, though, of, like, switching up the role or, like, kind of what you're working on, just finding opportunities to practice that, you know, even if you have been somewhere for a long time. I think that is really interesting advice. And it's hard, too, right? Because that requires, like, doing something new, and doing something new can be hard [laughs]. But if you're, you know, aren't in a consultant role, where you're not rotating onto new projects every 6 to 12 months, that, I feel like, would be a good strategy to grow in that particular way. JOËL: And even if you're not switching companies or in a consulting situation, it's not uncommon to have people switch from one team to another within an organization. And new team might mean new dynamics. That team might be doing a slightly different approach to project management. Their part of the code might be structured slightly differently. They might be dealing with a part of the business domain that you're less familiar with. While that might not be entirely new to you because, you know, you know a little bit of the organization's DNA and you understand the organization's mission and their core product, there are definitely a lot of things that will be new to you, and asking those questions becomes important. STEPHANIE: I also have another kind of, I don't know, it's not even a strategy. It's just a funny thing that I do where, like, my memory is so poor that, like, even code I wrote, you know, a month ago, I'm like, oh, what was past Stephanie thinking here [laughs]? You know, questioning myself a little bit, right? And being willing to do that and recognizing that, like, I have information now that I didn't have in the past. And, like, can that be useful somehow? You know, it's like, the code I wrote a month ago is not set in stone. And I think that's one way I almost, like, practice that skill with myself [laughs]. And yeah, it has helped me combat that, like, things are the way they are mentality, which, generally, I think is a very big blocker [laughs] when it comes to software development, but that's a topic for another day [laughs]. JOËL: I like the idea of questioning yourself, and I think that's something that is a really valuable skill for all developers. I think it can come up in things like documentation. Let's say you're leaving a comment on a method, especially one that's a bit weird, being able to answer that "Why was this weird technical decision made?" Or maybe you do this in your PR description, or your commit message, or in any of the other places where you do this, not just sort of shipping the code as is, but trying to look at it from an outsider's eyes. And being like, what are the areas where they're going to, like, get a quizzical look and be like, "Why is this happening? Why did you make this choice?" Bonus points if you talked a little bit about the trade-offs that were decided on to say, "Hey, there were two different implementations available for this. I chose to take implementation A because I like this set of trade-offs better." That's gold. And, I guess, as a reviewer, if I'm seeing that in a PR, that's going to make my job a lot easier. STEPHANIE: Yes. Yeah, I never thought about it that way, but yeah, I guess I do kind of apply, you know, the things that I would kind of ask to other team members to myself sometimes. And that is...it's cool to hear that you really appreciate that because I always kind of just did it for myself [laughs], but yeah, I'm sure that it, like, is helpful for other people as well. JOËL: I guess you were asking what are ways that you can ask questions even when you are more established. And talking about these sorts of self-reflective questions in the context of review got me thinking that PRs are a great place to ask questions. They're great when you're a newcomer. One of the things I like to do when I'm new on a project is do a lot of PR reviews so I can just see the weird things that people are working on and ask a lot of questions about the patterns. STEPHANIE: Yep. Same here. JOËL: Do a lot of code reading. But that's a thing that you can keep doing and asking a lot of questions on PRs and not in a, like, trying to undermine what the person is doing, but, like, genuine questions, I think, is a great way to maintain that mindset. STEPHANIE: Yeah, yeah, agreed. And I think when I've seen it done well, it's like, you get to be engaged and involved with the rest of your team, right? And you kind of have a bit of an idea about what people are working on. But you're also kind of entrusting them with ownership of that work. Like, you don't need to be totally in the weeds and know exactly how every method works. But, you know, you can be curious about like, "Oh, like, what were you thinking about this?" Or like, "What about this pattern appeals to you?" And all of that information, I think, helps you become a better, like, especially a senior developer, but also just, like, a leader on the team, I think. JOËL: Yeah, especially the questions around like, "Oh, walk me through some of the trade-offs that you chose for this method." And, you know, for maybe a person who's more senior, that's great. They have an opportunity to, like, talk about the decisions they made and why. That's really useful information. For a more junior person, maybe they've never thought about it. They're like, "Oh, wait, there are trade-offs here?" and now that's a great learning opportunity for them. And you don't want to come at it from a place of judgment of like, oh, well, clearly, you know, you're a terrible developer because you didn't think about the performance implications of this method. But if you come at it from a place of, like, genuine curiosity and sort of assuming the best of people on the team and being willing to work alongside them, help them discover some new concepts...maybe they've never, like, interacted so much with performance trade-offs, and now you get to have a conversation. And they've learned a thing, and everybody wins. STEPHANIE: Yeah. And also, I think seeing people ask questions that way helps more junior folks also learn when to ask those kinds of questions, even if they don't know the answer, right? But maybe they start kind of pattern matching. Like, oh, like, there might be some other trade-offs to consider with this kind of code, but I don't know what they are yet. But now I know to at least start asking and find someone who can help me determine that. And when I've seen that, that has been always, like, just so cool because it's upskilling happening [laughs] in practice. JOËL: Exactly. I love that phrase that you said: "Asking questions where you don't know the answers," which I think is the opposite of what lawyers are taught to do. I think lawyers the mantra they have is you never ask a witness a question that you don't know the answer to. But I like to flip that for developers. Ask a lot of questions on PRs where you don't know the answer, and you'll grow, and the author will grow. And this is true across experience levels. STEPHANIE: That's one of my favorite parts about being a developer, and maybe that's why I will never be a lawyer [laughter]. JOËL: On that note, I have a question maybe I do know the answer to. Shall we wrap up? STEPHANIE: Let's wrap up. Show notes for this episode can be found at bikeshed.fm. JOËL: This show has been produced and edited by Mandy Moore. STEPHANIE: If you enjoyed listening, one really easy way to support the show is to leave us a quick rating or even a review in iTunes. It really helps other folks find the show. JOËL: If you have any feedback for this or any of our other episodes, you can reach us @_bikeshed, or you can reach me @joelquen on Twitter. STEPHANIE: Or reach both of us at hosts@bikeshed.fm via email. JOËL: Thanks so much for listening to The Bike Shed, and we'll see you next week. ALL: Byeeeeeeee!!!!!!! AD: Did you know thoughtbot has a referral program? If you introduce us to someone looking for a design or development partner, we will compensate you if they decide to work with us. More info on our website at: tbot.io/referral. Or you can email us at: referrals@thoughtbot.com with any questions.
News includes a neat trick we learned that setup-beam can do for GitHub actions by reading a project's .tool-versions file, Wojtek's insight on reducing SDK API surfaces, Ash's support for UUIDv7, the introduction of the highly customizable Backpex admin panel, a new LiveView component library called SaladUI and its unique ReactJS component conversion feature, Jose Valim's technique of using AI for testing function names, and more! Show Notes online - http://podcast.thinkingelixir.com/209 (http://podcast.thinkingelixir.com/209) Elixir Community News - https://x.com/flo_arens/status/1805255159460532602 (https://x.com/flo_arens/status/1805255159460532602?utm_source=thinkingelixir&utm_medium=shownotes) – TIL setup-beam GitHub action can read asdf's .tool-versions file and parse the OTP and Elixir version out of it. - https://github.com/erlef/setup-beam (https://github.com/erlef/setup-beam?utm_source=thinkingelixir&utm_medium=shownotes) – The setup-beam GitHub action project. - https://github.com/erlef/setup-beam?tab=readme-ov-file#version-file (https://github.com/erlef/setup-beam?tab=readme-ov-file#version-file?utm_source=thinkingelixir&utm_medium=shownotes) – Link to README section about the version file support in setup-beam. - https://dashbit.co/blog/sdks-with-req-stripe (https://dashbit.co/blog/sdks-with-req-stripe?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post by Wojtek on reducing the surface of SDK APIs by focusing on data, not functions. - https://x.com/ZachSDaniel1/status/1805002425738334372 (https://x.com/ZachSDaniel1/status/1805002425738334372?utm_source=thinkingelixir&utm_medium=shownotes) – Ash now supports UUIDv7, a Time-Sortable Identifier for modern databases. - https://github.com/ash-project/ash/pull/1253 (https://github.com/ash-project/ash/pull/1253?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub pull request for Ash's support of UUIDv7. - https://uuid7.com/ (https://uuid7.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Information about UUID7 as a Time-Sortable Identifier. - https://elixirforum.com/t/backpex-a-highly-customizable-admin-panel-for-phoenix-liveview-applications/64314 (https://elixirforum.com/t/backpex-a-highly-customizable-admin-panel-for-phoenix-liveview-applications/64314?utm_source=thinkingelixir&utm_medium=shownotes) – Introduction to Backpex, a new admin backend library for Phoenix LiveView applications. - https://github.com/naymspace/backpex (https://github.com/naymspace/backpex?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for Backpex, a customizable administration panel for Phoenix LiveView applications. - https://github.com/bluzky/salad_ui (https://github.com/bluzky/salad_ui?utm_source=thinkingelixir&utm_medium=shownotes) – SaladUI, a Tailwind LiveView UI toolkit that includes a unique feature to convert ReactJS components. - https://salad-storybook.fly.dev/welcome (https://salad-storybook.fly.dev/welcome?utm_source=thinkingelixir&utm_medium=shownotes) – Storybook for SaladUI to explore components. - https://ui.shadcn.com/ (https://ui.shadcn.com/?utm_source=thinkingelixir&utm_medium=shownotes) – React Shad/cn UI component framework storybook page. - https://salad-storybook.fly.dev/examples/convert_shadui (https://salad-storybook.fly.dev/examples/convert_shadui?utm_source=thinkingelixir&utm_medium=shownotes) – Example of converting a ReactJS component to SaladUI. - https://github.com/codedge-llc/accessible (https://github.com/codedge-llc/accessible?utm_source=thinkingelixir&utm_medium=shownotes) – Accessible, a package to add Access behavior support to Elixir structs. - https://paraxial.io/blog/owasp-top-ten (https://paraxial.io/blog/owasp-top-ten?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post on how the OWASP Top 10 applies to Elixir and Phoenix applications. - https://owasp.org/www-project-top-ten/ (https://owasp.org/www-project-top-ten/?utm_source=thinkingelixir&utm_medium=shownotes) – The OWASP Top 10, a standard awareness document for developers and web application security. - https://x.com/josevalim/status/1804117870764339546 (https://x.com/josevalim/status/1804117870764339546?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim's technique of using AI to help review or determine function names in APIs. - https://fly.io/phoenix-files/using-ai-to-boost-accessibility-and-seo/ (https://fly.io/phoenix-files/using-ai-to-boost-accessibility-and-seo/?utm_source=thinkingelixir&utm_medium=shownotes) – Article on using AI to boost image accessibility and SEO, demonstrating working with OpenAI and Anthropic using Elixir. - https://2024.elixirconf.com/ (https://2024.elixirconf.com/?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf 2024 details, taking place from August 28-30 with various speakers and talks focused on Elixir. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)