POPULARITY
Categories
In this episode of Elixir Wizards, Charles Suggs and Emma Whamond are joined by Mike Ratliff, co-founder and CTO of GridVar, to talk about the role software plays in the changing energy infrastructure. With over 30 years of experience in technology, Mike shares the path that took him from the early internet and cloud computing into energy and utility software, along with what he has learned about staying adaptable as the industry continues to shift. Mike explains why building software for the power grid comes with a very different set of constraints than building a typical web application and breaks down some of the challenges utilities are facing, including grid interconnection delays, power quality, increasing energy demand, and the growth of distributed energy resources. We also discuss demand response, microgrids, virtual power plants, battery storage, and how software can help utilities better understand and manage a grid that is becoming more complex. Mike also explains why Elixir and the BEAM are a strong fit for always-on energy systems, how an Erlang MQTT server first led him into the ecosystem, and what it takes to introduce Elixir inside an established organization. The episode closes with a broader look at AI-assisted development, the value of domain expertise, and why technical leaders still need communication, judgment, and a compelling story to move important ideas forward. Key topics discussed in this episode: Mike Ratliff's path from software to energy technology Lessons from three decades of technology industry change The value of generalists in modern software engineering Why good technical judgment remains difficult to replace Building software that interacts with physical infrastructure Why utility technology adoption can move slowly Understanding today's grid interconnection backlog Power quality challenges affecting new grid connections Using simulation to accelerate utility engineering studies Centralized and distributed approaches to grid management How solar energy creates the duck curve Using demand response to balance electricity consumption Edge devices supporting real-time grid coordination Microgrids and resilience in distributed energy systems Cybersecurity considerations for increasingly connected power grids Preparing utility infrastructure for extreme weather events Battery storage and the growth of renewable energy How virtual power plants coordinate distributed resources Why Elixir works well for energy software BEAM reliability for always-on utility infrastructure Discovering Elixir through Erlang and MQTT Building an early virtual power plant with Elixir Making the business case for an Elixir migration Why technical leadership also requires effective storytelling Links Mentioned: GridVAR https://www.gridvar.com/ GridPoint https://www.gridpoint.com/ https://en.wikipedia.org/wiki/2025_Iberian_Peninsula_blackout Demand Response: https://en.wikipedia.org/wiki/Demand_response Virtual Power Plant: https://en.wikipedia.org/wiki/Virtual_power_plant Microgrid: https://en.wikipedia.org/wiki/Microgrid Volts podcast: https://www.volts.wtf/
Apresentação do artigo "On the Maintenance of Large-Scale Elixir Tests" Livia Almeida Barbosa (Remote Technology) https://doi.org/10.5753/se4fp.2025.13526Perfil no Linkedin da Lívia: https://www.linkedin.com/in/liviaab/Lívia já esteve no Elixir em Foco: Elixir em Produção na Remote, com Lívia Almeida Barbosahttps://www.youtube.com/watch?v=y8burRlBoh8Anais do I Workshop em Engenharia de Software para Programação Funcional https://sol.sbc.org.br/index.php/se4fpSite do Elixir em Foco: https://elixiremfoco.comA Erlang Ecosystem Foundation apoia este podcast financiando o software que utilizamos para gravar os episódios. A Erlang Ecosystem Foundation é uma organização sem fins lucrativos apoiada por mais de 1.000 membros que abraçam o seu modelo de Grupos de Trabalho colaborativos, e eventos de construção de comunidades. Os membros da EEF incluem líderes da indústria que se dedicam a promover o estado da arte para Erlang, Elixir, LFE e outras tecnologias baseadas no BEAM.Associe-se à Erlang Ecosystem Foundation em https://bit.ly/3Sl8XTO.
This conversation was recorded at GOTO Copenhagen 2025.https://gotocph.comSam Aaron - Live Coding Musician & Creator of Sonic PiJames Lewis - Principal Consultant & Technical Director at ThoughtworksRESOURCESSamhttps://www.patreon.com/samaaronhttps://bsky.app/profile/samaaron.bsky.socialhttps://twitter.com/samaaronhttps://github.com/samaaronhttps://linkedin.com/in/samaaronJameshttps://bsky.app/profile/boicy.bovon.orghttps://twitter.com/boicyhttps://linkedin.com/in/james-lewis-microservicesLinkshttps://sonic-pi.nethttps://twitter.com/sonic_pihttps://github.com/sonic-pi-net/sonic-pihttps://www.ableton.com/en/linkhttps://hydra.ojack.xyzDESCRIPTIONProgramming isn't just lines of code, it's a gateway to creating music & art. Legends such as Ada Lovelace are proof of that. With the aim to reshape the perception of coding which has traditionally been complex and intimidating, Sam Aaron created Sonic Pi, an open-source, free-to-use platform that empowers users to create music through code.What began as a humble endeavor has grown exponentially with more than millions of downloads globally and a large number of schools integrating the tool as part of their computing curriculum to teach children how to program.RECOMMENDED BOOKSSam Aaron & Russell Barnes • Code Music with Sonic Pi • https://amzn.to/4hBRYtCHans Gruendel • Making Music with Sonic Pi • https://amzn.to/3oVxGV7Hans Gruendel • Learn to Program with Sonic PI • https://amzn.to/3qCrLEOSimon Monk • Raspberry Pi Cookbook • https://amzn.to/43AGPRXMatthew Skelton & Manuel Pais • Team Topologies • http://amzn.to/3sVLyLQForsgren, Humble & Kim • Accelerate: The Science of Lean Software and DevOps • https://amzn.to/3tCz1xOBlueskyInstagramLinkedInFacebookCHANNEL MEMBERSHIP BONUSJoin this channel to get early access to videos & other perks:https://www.youtube.com/channel/UCs_tLP3AiwYKwdUHpltJPuA/joinLooking for a unique learning experience?Attend the next GOTO conference near you! Get your ticket: gotopia.techSUBSCRIBE TO OUR YOUTUBE CHANNEL - new videos posted daily!
In this episode of the Crazy Wisdom Podcast, host Stewart Alsop sits down with Tyler Cloutier, founder of Clockwork Labs and creator of SpaceTimeDB. They explore how SpaceTimeDB functions as more than just a database—it's essentially a distributed operating system that merges server logic with data storage, enabling real-time applications and time-travel capabilities. The conversation ranges from the technical architecture of databases and operating systems to the philosophy of distributed systems, touching on everything from Unix and Linux to how SpaceTimeDB could revolutionize AI-generated software deployment. Tyler explains how their system reduces the complexity of building real-time applications, makes deployment simpler for both humans and AI agents, and why games like their MMORPG BitCraft Online drove them to create this new infrastructure. They also discuss the future of the internet, the role of bots in gaming, and how SpaceTimeDB fits into the broader landscape of cloud computing alongside tools like Cloudflare, Vercel, and Docker. For more information, visit spacetimedb.com or check out Clockwork Labs on GitHub and Twitter.Timestamps00:00 Stewart introduces Tyler Cloutier, founder of Clockwork Labs, discussing the origin of SpaceTimeDB's name inspired by Einstein's theory and its time travel capabilities that store all operations indefinitely05:00 Tyler explains SpaceTimeDB as more of an operating system than a database, using tables instead of file systems while running code in a sandboxed environment with full atomic properties10:00 Discussion of how SpaceTimeDB replaces both Node.js and Postgres by merging web server and database functionality, eliminating separate deployment concerns15:00 Tyler explains JavaScript execution through Chrome's V8 engine and JIT compiling, leading to Node.js creation for server-side JavaScript development20:00 Explanation of stateless web servers versus stateful game servers, and why games require in-memory state management for real-time performance25:00 Tyler introduces reducers and real-time subscriptions, questioning why more applications aren't real-time when state changes should update immediately30:00 Discussion of Facebook as essentially a text-based MMO, comparing social media architecture to game server requirements and the need for unified systems35:00 Tyler explains ACID properties in databases: atomic, consistent, isolated, and durable, using game item trading examples40:00 Comparing SpaceTimeDB to smart contract systems without cryptocurrency or global consensus, positioning it as a smart database with centralized trust45:00 Tyler reveals SpaceTimeDB uses 43% fewer tokens than Postgres for AI-generated applications, making it valuable for vibe coding platforms50:00 Conversation shifts to bots in games and proof-of-human concepts, with Tyler proposing biometric systems and discussing potential in-person gaming applications55:00 Closing discussion about tracking AI-driven traffic through UTM parameters and finding SpaceTimeDB at spacetimedb.comKey Insights1. SpaceTimeDB is fundamentally a database that runs application code directly inside it, combining what traditionally required separate systems like Postgres and Node.js. Users compile their application logic into WebAssembly or JavaScript and upload it to run within the database itself. This architecture provides high performance because the entire server backend operates inside the database environment. The system also features time travel capabilities, storing every operation and change to data persistently and indefinitely, allowing users to set application state back to any earlier point in time. This makes SpaceTimeDB more accurately described as an operating system rather than just a database, where the abstraction is that everything is a table rather than a file.2. The inspiration for SpaceTimeDB came from building BitCraft Online, an MMORPG where all players exist in a single persistent world and rebuild civilization together. Traditional MMO backends required complex custom solutions to handle real-time state, with game servers storing state in memory and periodically writing to databases. This complexity existed because games cannot afford the latency of constantly delegating to distant databases like traditional web applications can. SpaceTimeDB solved this by making the database fast enough to handle real-time requirements directly, eliminating the need for separate game servers. This same performance advantage that benefits games also applies to web applications, which is why SpaceTimeDB evolved from a game-specific tool to a general-purpose platform.3. SpaceTimeDB functions as a distributed operating system where each database acts like a process in an actor model system, similar to Erlang or Scala Akka. Databases can send messages to other databases and be spawned across a cluster for horizontal scaling. This represents an overlay operating system running on top of Linux rather than competing with it, providing a distributed abstraction across many machines while Linux handles device drivers and hardware support. The vision is for the cloud to function as a single enormous computer running one operating system, where developers simply publish their programs without managing separate services, deployment, routing, networking, or persistence infrastructure.4. The real-time capabilities of SpaceTimeDB address a fundamental limitation in how most web applications work today. Traditional web servers are stateless, delegating all state to databases and accepting network round-trip latency for each request, which is why users often must refresh pages to see updates. SpaceTimeDB allows queries to be subscribed to, maintaining open connections that stream changes whenever query results update. This makes applications like Discord, Facebook, or banking systems naturally real-time without requiring page refreshes. The historical accident that more things are not real-time represents a problem SpaceTimeDB solves by unifying the web world with the game world's real-time requirements.5. SpaceTimeDB implements ACID properties—Atomic, Consistent, Isolated, and Durable—ensuring database operations are reliable and safe. Atomic means operations either fully happen or not at all, preventing issues like item duplication in games when trading between players. Consistent means declared invariants like unique usernames are always enforced. Isolated means concurrent operations do not interfere with each other. Durable means changes persist even if computers restart, with varying levels from in-memory on one machine to disk storage across multiple geographic locations. These properties are managed through reducers, functions inspired by React Redux that fold changes into application state incrementally.6. For AI and large language models, SpaceTimeDB offers significant advantages in building and deploying applications. Testing showed that creating applications with SpaceTimeDB uses 43% fewer tokens compared to Postgres implementations, costs less, has fewer bugs, and is easier to extend. This matters because the primary cost for vibe coding platforms is tokens. As more software gets written in the next twelve months than ever before, there is insufficient focus on infrastructure required to run all this AI-generated software. SpaceTimeDB positions itself as ideal for LLMs to target because of its simplified deployment model where developers just publish code and the system handles everything behind the scenes.7. SpaceTimeDB can be understood as a smart contract system without cryptocurrency or global decentralized consensus. Like blockchain smart contracts, it executes code with atomic, consistent, isolated, and durable properties, but avoids the expense and slowness of requiring all computers worldwide to agree on everything. Instead, it offers centralized trust where users trust Clockwork Labs not to modify deployed contracts, rather than the trustless but extremely costly blockchain approach. This makes it functionally similar to Cloudflare's durable objects but with full relational database capabilities. The system exists before the networking layer where Cloudflare operates, handling deployment, server, and database functions while Cloudflare could provide DDoS protection in front of it.
Last time we spoke about the battle of south Guangxi. In late 1939, amid the Sino-Japanese War stalemate, Japan aimed to sever China's vital supply lines from French Indochina by invading southern Guangxi. The 21st Army, including the 5th Division and Taiwan Mixed Brigade landed at Qinzhou Bay on November 15, capturing Nanning by November 24 after feinting at Beihai and overcoming scattered Chinese defenses under the 16th Army Group. Chinese forces, commanded by Bai Chongxi and reinforced by the elite 5th Army launched a counteroffensive in December. The brutal Battle of Kunlun Pass saw repeated assaults. However, Japanese counterattacks in January 1940, bolstered by the 18th Division and Konoye Brigade, recaptured Kunlun Pass and Binyang by February, inflicting over 10,000 Chinese losses and forcing retreats. A stalemate ensued until September 1940, when Japan pressured Indochina. Overextended Japanese forces withdrew south, allowing Chinese to recapture Nanning on October 30 and clear Guangxi by November 17. #199 The battle of West Suiyuan Welcome to the Fall and Rise of China Podcast, I am your dutiful host Craig Watson. But, before we start I want to also remind you this podcast is only made possible through the efforts of Kings and Generals over at Youtube. Perhaps you want to learn more about the history of Asia? Kings and Generals have an assortment of episodes on history of asia and much more so go give them a look over on Youtube. So please subscribe to Kings and Generals over at Youtube and to continue helping us produce this content please check out www.patreon.com/kingsandgenerals. If you are still hungry for some more history related content, over on my channel, the Pacific War Channel where I cover the history of China and Japan from the 19th century until the end of the Pacific War. Back in 1936, the Xi'an Incident had forced a fragile alliance between the Nationalists under Chiang Kai-shek and the Communists, forming a united front against Japan. This front extended to regional warlords like the Ma Clique, who controlled Ningxia, Gansu, and Qinghai. The Ma family, descendants of Muslim generals loyal to the Qing Dynasty, navigated complex loyalties but ultimately aligned with the Nationalist cause, driven by patriotism and self-preservation. The stakes in West Suiyuan were high. Control of the region meant access to the Suiyuan-Xinjiang Highway, a lifeline for Soviet aid to China. Japanese occupation could threaten the Shaanxi-Gansu-Ningxia Border Region, a Communist stronghold, and open paths to Lanzhou and beyond. The battles here, though overshadowed by larger theaters like Shanghai or Wuhan, demonstrated how peripheral fronts contributed to the national resistance. Over 70 years later, the sacrifices of more than 2,000 Ningxia soldiers remain a poignant reminder of the human cost of resistance, their anti-Japanese merits etched forever in the annals of Chinese history. The seeds of the Battle of West Suiyuan were sown in the turbulent years following the Xi'an Incident. This event in December 1936 led to the initial formation of a national united front against Japanese aggression. The Communist Party of China (CPC) mobilized masses in the Shaanxi-Gansu-Ningxia Border Region, strengthening anti-Japanese forces and exerting pressure on the Ma Clique. Chiang Kai-shek's Nationalist government also influenced the Mas, solidifying their resolve to resist Japan. The Ma Clique, a powerful Muslim warlord faction in Northwest China, was led by figures like Ma Hongkui (governor of Ningxia) and his cousin Ma Hongbin. They controlled a semi-autonomous region with a mix of Hui, Han, and Mongolian populations. Japan, seeking to exploit ethnic divisions, attempted to woo the Mas. Even after the July 7, 1937, outbreak of war, Japan persisted. On October 17, 1937, after occupying Baotou, the Japanese established the "Baotou Hui Muslim Branch" and appointed Jiang Wenhuan, a former Hui commander, to court Ma Hongkui. They sent envoys, including an imam from Northeast China, and even airdropped letters from "Manchukuo." In a dramatic move, Japanese commander Itagaki Seishiro flew to Alashan Banner to invite Ma Hongkui for talks. Ma sent Zhou Baihuang, who rebuffed Itagaki by invoking historical grievances: the Japanese role in the Eight-Nation Alliance's 1900 invasion, where Ma family members died at Zhengyang Gate. "The family feud remains unresolved, and the national humiliation is yet to be avenged; they are irreconcilable enemies," Zhou declared. Japan's plot to persuade surrender failed, leading to a major offensive against Suiyuan and Ningxia. Large numbers of troops reinforced Baotou, and bombings targeted Ningxia. In response, Ma Hongkui began building fortifications in places like Shizuishan and Dengkou. Starting in the winter of 1937, he constructed defense fortifications in the Shizuishan area in four phases. In the Shizuishan Weizha area, trenches several meters wide and deep were dug, covered with branches, straw, and loose soil for camouflage, to prevent the passage of Japanese armored vehicles and heavy weapons. Within a hundred li north of Dengkou and Sanshenggong, all major roads were cut off, and deep trenches were dug to destroy the Japanese army's access to Ningxia. The banks of the Yellow River ferry crossings in northern Ningxia and the Helan Mountain passages were all cut into steep cliffs. Important passageways were fortified with blocking positions and hidden artillery to repel invading Japanese troops. Among the various military commanders in Northwest China, Ma Hongbin possessed the strongest anti-Japanese spirit. Having joined the army at a young age, Ma Hongbin placed great emphasis on cultural learning and the cultivation of his personal character. Outside of military service, he was always seen with a book in hand, resembling a scholar. His long-term study fostered his upright character and patriotism. After the Japanese invasion of China, deeply moved by the nation's peril, he resolved to lead his troops to the battlefield to save the country from its crisis. In the spring of 1938, at the opening ceremony of an officer training course held in Wanghongbao, Yongning, Ma Hongbin addressed his subordinates from the podium: "Always remember that the nation comes first, the people come first, defend the land and country, and fulfill your duties. On the battlefield, you must be able to both attack and defend, and be prepared to live and die with the position, with the determination to fight to the end." The Ma forces were reorganized into the Nationalist structure. Ma Hongkui's 15th Route Army and Ma Hongbin's 35th Division (later expanded to the 81st Army) formed the 17th Army Group, with Ma Hongkui as Commander-in-Chief and Ma Hongbin as Deputy Commander-in-Chief and Commander of the 81st Army. The officer training of the 81st Army improved the anti-Japanese consciousness and combat quality of the entire army, preparing for the counterattack against the Japanese invasion. In May 1938, due to the weakened defenses of Suiyuan (at that time, the troops of Fu Zuoyi, the chairman of Suiyuan Province, had retreated to Shanxi), most of the area was occupied by Japanese and puppet troops. The Kuomintang Central Committee appointed Ma Hongbin as the commander of the Suiyuan West Defense Command. Ma Hongbin led his 81st Army and two cavalry brigades and one infantry brigade of Ma Hongkui's troops to Wuyuan (now Wuyuan County, Inner Mongolia Autonomous Region) to unify the command of the various anti-Japanese forces that had retreated into Suiyuan West. His mission was to prevent the Japanese army from advancing westward. After arriving in Wuyuan, Ma Hongbin convened a meeting of commanders from various forces to discuss the defense against the Japanese. The various armies in western Suiyuan were of different factions and not affiliated with each other, and most adopted a policy of seeking safety and avoiding danger in their defenses. Ma Hongbin deployed the main force of his 81st Army, the 35th Division, at key passes in the Wubu Langshan area northeast of Wuyuan to serve as the first line of defense, while deploying three brigades of Ma Hongkui's troops along the line from Wuyuan to Langshan as reinforcements. The terrain was challenging: vast deserts, mountains like Yinshan and Langshan, and the Yellow River's bends. Wubulangkou, a narrow pass between Erlang and Chashitai Mountains, was strategically vital. Defenses included anti-tank trenches and mines. These preparations reflected the Ningxia Army's blend of traditional cavalry tactics and modern training. The troops, many Hui Muslims, brought cultural cohesion and resilience, but faced equipment shortages—outdated mortars and rifles versus Japanese mechanization. In May 1938, Ma Hongbin arrived in Linhe (now part of Bayannur, Inner Mongolia) to establish his command post. After inspecting the situation of the friendly forces in the defense zone and designating the defense zone of his subordinate 81st Army, he ordered Ma Tengjiao, commander of the 35th Division, to lead four infantry regiments, namely the 103rd and 104th Brigades, to Suiyuan Western Defense Command to fight against the Japanese. Ma Hongbin established a command post in Linhe, where he and his son, Ma Dunjing, the chief of staff of the 81st Army, deployed their troops in areas such as Wuzhen and Siyitang. Ma Dunjing directed his troops to conduct exercises in the Wuzhen and Siyitang area, and invited Soviet military advisors to provide guidance, preparing for combat with an extremely serious attitude. To show his support for Ma Hongbin's leadership of the Suiyuan Western Defense Command, Ma Hongkui dispatched two cavalry brigades to Suiyuan Western Defense Command. The main reason why the Ma Clique army from Ningxia went to Suiyuan to fight against the Japanese was that the defense of Suiyuan was directly related to the safety of Ningxia. At the same time, after the Ma Clique army was incorporated into the anti-Japanese army, its primary task was to fight against the Japanese invaders and defend the country. In addition, the anti-Japanese enthusiasm of the people in the Northwest continued to rise. Under the impetus of the situation, it was inevitable that the Ningxia army would join the anti-Japanese war in Suiyuan. The initial engagement came in the late summer and early autumn of 1939, as Japanese troops, driving cars, armored vehicles, and tanks, advanced from Baotou towards the defenses of the 81st Army in western Suiyuan, attempting to annihilate the main force of the 81st Army. Ma Dunjing (the third son of Ma Hongbin), Chief of Staff of the 81st Army, personally commanded the operation at the front line in Wuda Town. The Japanese advanced to the defensive positions of the 35th Division and bombarded Ma's position with heavy artillery fire. The 35th Division returned fire with 82mm mortars. Because Ma's mortars were old-fashioned, they emitted smoke upon firing, revealing their positions. The Japanese immediately unleashed over 200 shells on the 35th Division's artillery positions, silencing them and rendering them incapable of retaliating. Taking advantage of this, the Japanese, under the powerful cover of artillery and machine gun fire, swarmed in by car, tank, and armored vehicle. The 35th Division held their ground, waiting for the Japanese troops to enter effective firing range and disembark from their vehicles. Suddenly, soldiers of the 1st Battalion of the 206th Regiment jumped out of their fortifications and charged into the enemy lines, engaging the Japanese in hand-to-hand combat. The Japanese were thrown into disarray, some killed before they could even disembark. Those who did disembark suffered heavy casualties, with the remaining soldiers turning back to their vehicles and fleeing in panic. Forced to retreat after suffering a decisive blow, the 35th Division captured two Japanese vehicles, over a hundred artillery shells, dozens of boxes of ammunition, as well as firearms and officer's swords. This marked the first victory in the Suiyuan-Western Anti-Japanese War. This victory boosted morale and public spirit. When the captured vehicles entered Wuyuan County, the people cheered enthusiastically, plastering the vehicles with various celebratory slogans. An elderly local artist even composed a song to celebrate the victory and sang it on the street: "Our old Western Army (referring to Ma Hongbin's 81st Army) is really good at fighting. We drove away the Japanese soldiers, captured cars and brought them into Wuyuan City, where the whole city celebrated and welcomed them. Relying on our old Western Army, we defeated the Japanese soldiers, and the people have peace." The campaign's defining battle occurred at Wubulangkou in early 1940, following the Chinese raid on Baotou in December 1939. In the autumn of 1939, the situation in Shanxi stabilized, and Fu Zuoyi, the chairman of Suiyuan Province who had retreated to Shanxi, led his troops back to western Suiyuan, establishing the Deputy Commander's Headquarters of the Eighth War Zone to unify command of military and political affairs in western Suiyuan and actively preparing for a counter-offensive. To coordinate with the nationwide winter offensive, Fu Zuoyi decided to attack Baotou, a key Japanese stronghold, to contain the Japanese forces in North China. The Battle of Baotou was spearheaded by the newly formed 31st Division of Fu Zuoyi's 35th Army, with the 35th Division of Ma Hongbin's 81st Army providing support. Under meticulous planning, on December 20th, Sun Lanfeng's newly formed 31st Division of Fu Zuoyi's army stormed into Baotou. The Japanese army, caught off guard, panicked and suffered over a thousand casualties, scattering in all directions, losing all their supplies within the city. Fu Zuoyi then directed his troops to withdraw to the rear of western Suiyuan, luring the enemy deeper into the territory for a later battle. The Battle of Baotou greatly angered the Japanese army. Therefore, more than 30,000 Japanese troops were mobilized from Zhangjiakou, Taiyuan, Datong, and other places, along with more than 1,500 military vehicles, armored vehicles, tanks, dozens of aircraft, and six divisions of puppet Mongolian troops, totaling more than 40,000 men. Under the command of Division Commander Kuroda, they launched a major offensive into western Suiyuan in early 1940, attempting to seize western and southern Inner Mongolia in one fell swoop. Facing the superior Japanese forces, the people and soldiers of western Suiyuan adopted a scorched-earth policy and mobile warfare to maneuver against the enemy. The specific deployment was as follows: the 7th Cavalry Division of Men Bingyue's troops blocked the Japanese troops in the Xishanzui and Maqidukou areas, and then turned to the right bank of the Yellow River to threaten the enemy's left flank; the 35th Division of Ma Hongbin's troops and the 1st Cavalry Brigade of Ma Hongkui's troops constructed positions in the Wubulangkou and Wuzhen areas, blocked the enemy, and then moved into Langshan to threaten the Japanese right flank; the 35th Army of Fu Zuoyi's troops assembled northwest of Wuyuan to launch mobile attacks on the enemy; other units chose favorable terrain to harass the exhausted enemy at any time; and the logistics personnel were transferred to the Dengkou and Shizuishan areas. Before Langshan Mountain, where the Yang family generals once fought against the Jin dynasty, a thousand-mile-long battlefield against the Japanese was set up. Wubulangkou is located in the western part of the Yinshan Mountains. Nestled between the eastern and western ends of the rugged and precipitous Erlang Mountain and Chashitai Mountain, it forms a strategically vital location. After Fu Zuoyi returned to western Suiyuan in 1939 to serve as deputy commander of the Eighth War Zone, the Ningxia army was placed under his command. At the end of December, Fu Zuoyi's troops stormed Baotou, inflicting over a thousand casualties on the Japanese. Okabe, commander of the Japanese Mengjiang Garrison, considered the defeat at Baotou a great humiliation and declared, "We must sweep through the Hetao region and completely annihilate Fu Zuoyi's army." To eliminate future troubles, the Japanese, "determined to decisively crush the enemy's base in the Hetao region with their main force," began in January 1940, mobilizing over 30,000 Japanese and puppet troops from Zhangjiakou, Datong, and other places, along with over a thousand vehicles, aircraft, artillery, and tanks. Under the command of Division Commander Kuroda Shigetoku, they launched a three-pronged, menacing invasion of western Suiyuan. On January 31, Kuroda led the main force of the Japanese central route, consisting of over 780 vehicles, armored vehicles, and tanks, and launched an attack at 4:30 PM on the positions of the 35th Division of the 81st Army in the area of Wubulangkou, Siyitang, and Wuzhen. Ubulangkou, where Ma Hongbin's 35th Division was stationed, is a transliteration of the Mongolian word "Ubulak," meaning "mouth of large and small springs." Located in the southern part of present-day Urad Middle Banner, it lies at the junction of Wuliangsutai, Delingshan Township, and Wengeng Sumu, a strategically important location nestled between two mountains. When the Battle of Ubulangkou began, Ma Hongbin was in Chongqing attending a high-level military conference convened by Chiang Kai-shek, and his troops were commanded by Ma Tengjiao, commander of the 35th Division. At approximately 8:00 AM on January 31, 1940, the Japanese army amassed its forces in the Zaoshulinzi desert area, directly north of Siyitang and directly east of Ubulangkou. Their vanguard first used three aircraft to circling and bombard the positions of Ma's 205th Regiment, followed by artillery bombardment. Under the cover of aircraft and artillery, Japanese tanks, armored vehicles, and hundreds of military vehicles carrying Japanese troops launched an attack on the Siyitang and Ubulangkou positions. Following Ma Hongbin's orders, a defensive trench, 3 meters wide and 3 meters deep, had been dug in front of the 81st Army's position, stretching approximately 10 kilometers from the foot of Wubulang Pass to the north bank of the Yellow River. A 50-meter-wide pit zone preceded the trench. The two sides fought fiercely until nightfall, suffering heavy casualties and remaining evenly matched. At the Siyitang position, Ding Liangyu, the company commander of the 1st Company, 1st Battalion, 205th Regiment, was wounded and died the following day; more than 30 platoon leaders, squad leaders, and soldiers were killed. Xue Wanyou, the battalion clerk, was hit by an artillery shell, his body torn apart and his head severed. Although the officers and soldiers of Ma's 35th Division suffered heavy casualties, they held their ground. Unable to break through, the Japanese used aircraft to continuously release poison gas with the wind at their backs. Although Ma's troops had prepared simple gas masks made of gauze wrapped in sawdust, the concentration of the gas was too high, causing many to experience headaches, chest tightness, and vomiting, greatly weakening their fighting capacity and making the situation increasingly critical. Around 10 PM, Division Commander Ma Tengjiao ordered Ma Jiangong, deputy battalion commander of the 2nd Battalion of the 206th Regiment, to lead two companies from Wulanaobao to reinforce the 208th Regiment via Siyitang. Ma Jiangong was killed by a grenade in the fierce fighting. The two companies fought desperately to break free from the enemy and finally joined up with the 208th Regiment. The enemy, realizing this, reinforced their forces and intensified their attack. At 11:30 PM, the 208th Regiment's position was breached, but the enemy dared not advance rashly. The battle resumed at dawn the next day, and the fighting at the Siyitang position remained extremely fierce. Ma Tengjiao ordered the 1st Battalion of the 206th Regiment to reinforce the Siyitang position. While traversing a seven- or eight-mile stretch of open land, the reinforcements were subjected to heavy artillery fire from the Japanese, suffering heavy casualties. However, the troops braved the artillery fire, bullets, and thick smoke, breaking through the enemy's fire blockade and reaching the position. The combined forces of the Wubulangkou and Siyitang positions continued to inflict powerful blows on the Japanese army. The 205th Regiment, holding the fortified Siyitang, engaged in bayonet fighting with the Japanese army. When their bayonets bent, the soldiers would grab the enemy and bite them, or detonate grenades to die alongside them. The troops had gone two days and two nights without food or water, and coupled with the bitter cold, they were exhausted and suffering heavy casualties. The battle was exceptionally fierce, tragic, and arduous. Ma Hongbin later recalled this battle, saying, "Even the world-famous battles of Taierzhuang and Changsha, where the National Revolutionary Army fought with such heroic spirit, were no more than this." In the early morning of February 1st, the Japanese army first bombarded the defensive positions at Wubulangkou and Siyitang with heavy artillery, and then used aircraft to dive-bomb the open area in front of Wubulangkou. Under the attack of enemy artillery and tanks combined with infantry, the 208th Regiment suffered heavy casualties, and the front-line positions at Wubulangkou were breached by the enemy. The 205th and 206th Regiments sent reinforcements, using bunkers and high ground fortifications to stubbornly resist the enemy, resulting in heavy casualties on both sides. Seeing that they could not capture the positions defended by the Ningxia army, the Japanese army released tear gas and sneezing gas. While attacking from the front, the Japanese army sent puppet Mongolian troops to flank and attack Wubulangkou from the rear of the mountain. Although the Ma troops resisted bravely, they were ultimately outnumbered, and their positions were successively breached by the enemy, forcing the remaining defenders to withdraw. In this battle, more than 1,000 officers and soldiers of the Ningxia Ma troops shed their blood in western Suiyuan, using their lives to block the enemy's advance. Ma's troops retreated, pursued by Japanese ground forces and strafed by aircraft, suffering over a thousand casualties and forced to retreat into the desert. They continued to fight the Japanese in the quicksand, killing another 200 enemy soldiers. After a grueling six-day, six-night march, the troops successfully returned to their Dengkou base for rest. Post-war statistics show that Ma's 35th Division originally had over 5,000 men; in the battle of Wubulangkou, over 1,000 were killed and 2,000 wounded, including 700 suffering from frostbite. This battle exemplified sacrificial defense, buying time for counteroffensives. Upon learning of the defeat of his troops in Chongqing, Ma Hongbin immediately flew back to Ningxia and rushed to Dengkou. After regrouping the troops and investigating officers who had failed in their command, he reorganized two regiments, replenished their equipment, and after a brief rest, led by Brigade Commander Ma Peiqing, returned to western Suiyuan. To cooperate with Fu Zuoyi's troops in continuing the fight against the Japanese invaders, the Ningxia army, mainly composed of the 35th Division, entered the Dala Banner area of Yimeng to fight the enemy. After occupying Wuyuan, the Japanese army believed that the Chinese army in western Suiyuan was in disarray and would be unable to recover its fighting capacity in a short time. Furthermore, due to its overextended battle lines and supply difficulties, the Japanese army had no spare troops to expand the war. Therefore, they centered their forces on Wuyuan, leaving a Japanese regiment and four divisions of puppet Mongolian troops, totaling over 15,000 men, to garrison the Hetao region, while the rest of their forces retreated eastward. After the main Japanese force withdrew, Fu Zuoyi decided to organize a campaign to recapture Wuyuan. In March 1940, he ordered his 35th Army to lead the attack on Wuyuan, while Ma's 81st Army moved from western Suiyuan to the Dalad Banner area on the south bank of the Yellow River in the Ordos League to construct fortifications and block Japanese reinforcements from Baotou. At midnight on March 20, Fu's 35th Army simultaneously launched attacks on Japanese strongholds in Wuyuan, Meilingmiao, and Xingongzhong. After two days of fierce fighting, our army finally recaptured Linhe and Wuyuan, killing Lieutenant General Mizukawa, the division commander of the Japanese army, and several thousand of his puppet troops. Upon hearing the news, the Japanese troops in Baotou crossed the Yellow River, attempting to outflank the 35th Army from the south. However, their westward advance was met with resistance from the positions of Ma's 81st Army. During the defensive battle, Ma's troops were bombarded by more than 30 Japanese artillery pieces. Due to outdated weaponry and lack of artillery counterattack, Ma's right flank was destroyed, allowing the enemy to encircle them from the rear. To avoid being outflanked, Ma's troops retreated north to the Shawo area to regroup. Ma Hongbin ordered each regiment to exploit the enemy's difficulty in vehicular movement in the desert, employing mobile warfare tactics, advancing when the enemy advanced and retreating when the enemy retreated, maintaining a distance of five or six li from the enemy, and choosing opportune moments to attack and exhaust them. Ma's troops also frequently formed assault teams to harass the enemy at night, keeping them constantly on edge. After maneuvering with the Japanese in the desert for several days using mobile warfare, Ma Hongbin's troops occupied a hilltop southwest of Xinminbao and laid an ambush. When the enemy approached, they unleashed a sudden barrage of fire, inflicting hundreds of casualties. This blow forced the Japanese army to abandon its southern reinforcement plan and retreat north across the Yellow River near Zhaojunfen. After the Japanese retreat, the 81st Army immediately launched an attack on the puppet Mongolian cavalry south of the Yellow River. After more than a month of battles, large and small, except for Chaidengtai, which was captured by Fu Zuoyi's troops, all other puppet strongholds were wiped out by Ma Hongbin's troops, and "the entire Damian Beach area in the northeast of the Ih Ju League was recovered." During the Qingming Festival in 1940, the 35th Division, returning to western Suiyuan, buried the officers and soldiers who died in the battle at Wubulangkou. With tears in their eyes, people buried the remains of 148 officers and soldiers at the Cemetery for Fallen Soldiers on the west side of Wubulangkou, and erected brick monuments in front of the graves according to the names on the surviving shoulder insignia of the fallen officers and soldiers' uniforms. Casualties on all sides were significant, reflecting the intensity of the fighting. For the Japanese, two brigades and the 72nd Cavalry Regiment took heavy hits, though official reports admitted only about 1,000 losses. Given that these units were sidelined from combat for an extended period afterward, the true figure was likely far higher. Battle reports from the 26th Division alone recorded over 3,000 casualties, nearly 20% of its strength,pushing the total Japanese toll, including other units, to between 4,000 and 5,000. Puppet forces fared even worse. The "Suiyuan-Western Autonomous Allied Army" proved utterly ineffective, collapsing almost immediately against the superior Ma Clique cavalry of the Nationalist 81st Army. While the puppet Mongolian cavalry had some combat capability, their reluctance to fight for the Japanese—often against their own kin, led to half-hearted engagements and quick retreats. Combined puppet casualties and prisoners numbered around 5,000 to 6,000, bringing the overall Japanese and puppet losses to 10,000–12,000 killed or wounded. The Chinese forces, vastly outmatched in equipment and relying on brave but undertrained local security units, endured heavy sacrifices. Domestic sources estimate their casualties at 15,000–20,000. This campaign marked the only major anti-Japanese engagement involving people from Ningxia, where over 10,000 Hui and Han fighters, under Ma Hongbin and Ma Hongkui, battled fiercely in what is now Linhe and Wuyuan in Inner Mongolia. Thousands perished, buried far from home, embodying the unyielding spirit of the Chinese nation. It stood as Northwest China's sole battlefield in the war, a point of pride for its people. Victory was hard-won, despite the Chinese having slightly more troops but far inferior weaponry. Success stemmed from the soldiers' bravery, tactical use of cavalry mobility, and crucially, the puppet Mongolians' unwillingness to fully commit. The campaign not only repelled the Japanese westward and southward advances, securing Northwest China's northern gateway and blocking incursions into Ningxia, Shaanxi, and Gansu, but also safeguarded key supply routes like the Suiyuan-Xinjiang Highway and connections to Lanzhou. This ensured a steady influx of Soviet aid, bolstering the national resistance and indirectly supporting efforts in Southwest China. I would like to take this time to remind you all that this podcast is only made possible through the efforts of Kings and Generals over at Youtube. Please go subscribe to Kings and Generals over at Youtube and to continue helping us produce this content please check out www.patreon.com/kingsandgenerals. If you are still hungry after that, give my personal channel a look over at The Pacific War Channel at Youtube, it would mean a lot to me. After a Chinese raid seized Baotou, Japan launched a major 1940 offensive with tens of thousands of troops, vehicles, armor, aircraft, and puppet Mongolian forces. Chinese defenders used scorched earth, fortifications at Wubulangkou, and mobile cavalry/desert tactics, ambushes, and night harassment. Fu Zuoyi later recaptured Wuyuan/Linhe. Casualties were heavy—Chinese estimates 15,000–20,000; Japanese/puppet losses possibly 10,000–12,000.
Neste episódio, Adolfo Neto e Zoey Pessanha conversaram com Thiago Esteves, criador do DeployEx, co-fundador na Calori Software e Líder técnico na Erlang Solutions.Recentemente, Thiago palestrou na Code BEAM America 2025 falando sobre seu projeto DeployEx:Bring Back the Power of BEAM Deployments with DeployExhttp://youtube.com/watch?v=YppU35JnGYw DeployEx - The ideal project to supervise your Elixir/Erlang/Gleam applicationhttps://github.com/thiagoesteves/deployex observer_web https://github.com/thiagoesteves/observer_web Artigo do Valim sobre interoperabilidade entre Kubernetes e VM BEAMhttps://dashbit.co/blog/kubernetes-and-the-erlang-vm-orchestration-on-the-large-and-the-small Links do Thiago Esteves:- https://www.linkedin.com/in/thiago-cesar-calori-esteves-972368115/ - https://github.com/thiagoesteves/ - https://codebeamamerica.com/participants/thiago-esteves/ Site do Elixir em Foco https://elixiremfoco.com/
Hvis man lider af en sygdom og man har prøvet alle de behandlingsformer der findes og man stadig ikke synes det har virket, så kan der være behov for en ny. Hvis den skal være teknologidrevet, så kan man gøre ligesom Camilla Bøgh Erlang og læse ingeniør. For herigennem fik hun viden til at undersøge, teste og siden udvikle appen Reelieve for ptsd ramte, som hun pitchede i løvens hule. Den fungerer som en digital servicehund, der kan hjælpe både før, under og efter et angstanfald. Links:Morningscore - Få (indtil videre) 4 ugers gratis prøveperiodePodimo (podcast app)
Este episódio foi originalmente publicado no podcast Elixir em Foco e está disponível em https://www.youtube.com/watch?v=ZuA5XwGWnqE.
Intervista a @gsantomaggio sviluppatore nel core team di RabbitMQ e contributor della BEAM VM.Dopo l'episodio 303 su Gleam, ho chiesto a chi lavora sulla BEAM ogni giorno di fare un reality check: il 90% del traffico internet passa davvero per Erlang? I milioni di processi sono un mito? Let it crash risolve tutto? E com'è davvero lavorare con Erlang nel 2026?Fonti e approfondimenti: - RabbitMQ: https://www.rabbitmq.com/ - The BEAM Book: https://blog.stenmans.org/theBeamBook/ - Episodio 303 su Gleam: https://youtu.be/[LINK]La mia app: https://play.google.com/store/apps/details?id=com.edodusi.coderoutine&hl=it-it#erlang #beam #rabbitmq #intervista #concurrency #distributedsystems #softwareengineering #backend
Jätkame eile alustatud teemal ning räägime emakakaelavähist, selle diagnoosimisest, ravist ja ennetamisest. Kuidas mõjutab ravi see, kui naisel pole veel lapsi? Külas on Ida-Tallinna Keskhaigla Naistenõuandla osakonnajuhataja ja naistearst dr Külli Erlang. Küsib Ingela Virkus.
“Mida varem saame alustada ravi, seda tõenäolisem on, et inimene saab terveks," ütleb Ida-Tallinna Keskhaigla Naistenõuandla osakonnajuhataja ja naistearst dr Külli Erlang. Miks emakakaelavähk tekib ja kellel selle tekkimiseks suurem soodumus on — sellest saates räägimegi. Küsib Ingela Virkus.
Conversa com Felipe Figueiredo sobre IA no desenvolvimento de software: produtividade, desqualificação e prazer em programar.Entrevistado: Felipe Figueiredo https://www.linkedin.com/in/felipegueiredo5 Entrevistador: Adolfo Neto https://adolfoneto.elixiremfoco.com/Links:Elixir Brasil no Telegram http://t.me/elixirbrHaskell Book https://haskellbook.com/Blog do Cal Newport https://calnewport.com/blog/Vídeos relacionados:I Quit an AI Startup After 6 Months - Here's What I learned https://www.youtube.com/watch?v=oOvl_htqhy8Como a IA afeta artistas? https://youtu.be/4HEjp0D3_CoElixir em Foco é o podcast da comunidade brasileira de Elixir, a linguagem de programação criada pelo brasileiro José Valim que é usada por empresas de todo o mundo para o desenvolvimento de aplicações escaláveis e de fácil manutenção. Saiba mais em https://elixiremfoco.com/.A Erlang Ecosystem Foundation apoia este podcast financiando o software que utilizamos para gravar os episódios. A Erlang Ecosystem Foundation é uma organização sem fins lucrativos apoiada por mais de 1.000 membros que abraçam o seu modelo de Grupos de Trabalho colaborativos, e eventos de construção de comunidades. Os membros da EEF incluem líderes da indústria que se dedicam a promover o estado da arte para Erlang, Elixir, LFE e outras tecnologias baseadas no BEAM.Associe-se à Erlang Ecosystem Foundation em https://bit.ly/3Sl8XTO.
Fredrik och Kristoffer snackar debuggers och markdownparsning. Debuggers - varför finns det inte fler bra, och varför använder inte fler de som finns? En debugger är inte bara ett verktyg för att hitta buggar - det är ett verktyg för att förstå kod. Kristoffers markdownparser är klar! Hur gick det, hur presterar den, och varför är nästa fundering ett personligt CMS? Ett stort tack till Cloudnet som sponsrar vår VPS! Har du kommentarer, frågor eller tips? Vi är @kodsnack, @thieta, @krig, och @bjoreman på Mastodon, har en sida på Facebook och epostas på info@kodsnack.se om du vill skriva längre. Vi läser allt som skickas. Gillar du Kodsnack får du hemskt gärna recensera oss i iTunes! Du kan också stödja podden genom att ge oss en kaffe (eller två!) på Ko-fi, eller handla något i vår butik. Länkar Björeman // Melin // Åhs My traceroute - MTR Homebrew - pakethanterare för Macos (främst) Lidén data Squadcast We don't do things not because they are easy … Ryan Fleury bygger debugger för C och C++ på Epic Odin GDB Remedy debugger RAD debugger printf Xbox 360 En arg britt som slår en på fingrarna Gleam Kristoffers markdownparser Commonmark Obsidian-markdown Github flavored markdown YAML Djot - striktare än Markdown Right-flanking delimiter run i Commonmark Feynman Edb - ny Erlang-debugger Stöd oss på Ko-fi! DWARF och DSYM NIF Boken Pro Git Mörk borg Lustre - webbibliotek för Gleam CMS - content management system Pingback Medium Helix Dataview Paste URL into selection Note refactor Lazyvim Gleam gathering i Bristol i februari Titlar 50% paketförlust Det kanske är mitt fel En gammal switch med tomma buffrar Rättvist på nätet Ljudet framför allt Nästa omöjligt att debugga Ett otroligt bra verktyg printf-debugging Förstå kod Breakpoints på en pixel på skärmen Visionen för vad som är möjligt Konceptet debugger Copad YAML i toppen Gleam-native Vi tror att det kan vara lätt Sjutton specialfall Right-flanking runs Feynmanmetoden De sista fyra testfallen Debuggervänliga Breakpoint i en produktionsprocess Smink på grisen Hur svårt är det att bygga en debugger? Bättre än den officiella Enpersons-CMS Tredollars-VPS Bekväm i Vim Sourcemaps för Erlang
Entrevistados:Giulliano Carvalho https://www.linkedin.com/in/giulliano-carvalho-2a149bb/ Leonardo Bessa https://www.linkedin.com/in/leobessa/Astride.us https://astride.us/ https://www.linkedin.com/company/astride-us/Indicações:A meta: Um processo de melhoria contínua por Eliyahu M. Goldratthttps://amzn.to/3MtGBbDGênesis: Inteligência Artificial, Esperança e Espírito HumanoHenry A. Kissinger, Craig Mundie, Eric Schmidthttps://amzn.to/4pv8Fdl Remote: Office Not RequiredJason Fried, David Heinemeier Hanssonhttps://amzn.to/48Axr4n O Projeto Fênix: um Romance Sobre TI, DevOps e Sobre Ajudar o seu Negócio a Vencer Capa comumGene Kim, Kevin Behr, George Spaffordhttps://amzn.to/4pm2us8 Rápido e devagar: Duas formas de pensarDaniel Kahnemanhttps://amzn.to/48DhWZI Tidewave https://tidewave.ai/ Phoenix New https://phoenix.new/ Entrevistadores: Adolfo Neto https://adolfoneto.elixiremfoco.com/ Herminio TorresZoey PessanhaElixir em Foco é o podcast da comunidade brasileira de Elixir, a linguagem de programação criada pelo brasileiro José Valim que é usada por empresas de todo o mundo para o desenvolvimento de aplicações escaláveis e de fácil manutenção. Saiba mais em https://elixiremfoco.com/.A Erlang Ecosystem Foundation apoia este podcast financiando o software que utilizamos para gravar os episódios. A Erlang Ecosystem Foundation é uma organização sem fins lucrativos apoiada por mais de 1.000 membros que abraçam o seu modelo de Grupos de Trabalho colaborativos, e eventos de construção de comunidades. Os membros da EEF incluem líderes da indústria que se dedicam a promover o estado da arte para Erlang, Elixir, LFE e outras tecnologias baseadas no BEAM.Associe-se à Erlang Ecosystem Foundation em https://bit.ly/3Sl8XTO.
Fredrik snackar med Andreas Ekeroot (mannen från avsnitt 603!) om abstraktioner, Ash, och annat. Vi börjar med att diskutera abstraktioner lite mer allmänt, från filsystem via abstraktioner i språket Go till Fredriks favoritabstraktion (eller i alla fall den första han kom att tänka på). Sedan berättar Andreas om ramverket Ash och dess abstraktioner, och hur han med glädje använt det för att generera en hel massa back-office och annat utifrån sin domänmodell. Fredrik undrar om inlärningskurvor, tankesätt, och om det inte känns som att man ska riskera att bli inlåst i ett ramverk av den typen. Som avslutning snackar vi lite om att ta bort abstraktioner, och känner oss peppade kring Gleam. Ett stort tack till Cloudnet som sponsrar vår VPS! Har du kommentarer, frågor eller tips? Vi är @kodsnack, @thieta, @krig, och @bjoreman på Mastodon, har en sida på Facebook och epostas på info@kodsnack.se om du vill skriva längre. Vi läser allt som skickas. Gillar du Kodsnack får du hemskt gärna recensera oss i iTunes! Du kan också stödja podden genom att ge oss en kaffe (eller två!) på Ko-fi, eller handla något i vår butik. Länkar Andreas Avsnitt 603 Tidigare avsnitt med Andreas Monader Filsystem Postgres fsync Go "Gammal" React - med klassbaserade komponenter istället för funktionsbaserade Codemod Goroutines Tuplar Struct tags Brutalism Elixir Marvin i Liftarens guide till galaxen Hellboy DSL - domänspecifika språk Ash Graphql Hibernate ORM ETS - Erlang term storage Stöd oss på Ko-fi Phoenix Liveview CRUD Thundering herd Ash-boken av Rebecka Le och Zach Daniel Genserver REPL - Read-eval-print-loop Fly.io Heroku Coreos Flatcar - en pytteliten Linux Podman Asdf - verktygsversionshanterare Asdf - podden Openstreetmap Zach Daniel - skapare av Ash Django NIF:ar - native implemented functions Erlang: the movie Elm Zig Gleam Titlar Mannen från avsnitt 603 Monader är en abstraktion Det är en upplevelse Vi har inga garantier, men fort går det Databaser som sparar Fsync är en skurk Code reviews baklänges Go känns väldigt brutalistiskt Öststatskraft Folkets öststatsklump Inga dekorationer, bara HUS Alla abstraktioner hela tiden Nu sitter vi här med Hibernate Tryck på stora generera-knappen Jag har byggt en thundering herd Thundering herd of admins På giganters axlar Stora kod-knappen Kunskap på Y-axeln Mikrodosera kunskap Abstraktioner som andra har byggt Fast i en hyperskalär Varför är det här en stor grej? Det bästa lekplatserna i världen Abstraktionsvision Typiskt förr Gleam-positiv
This interview was recorded at GOTO Copenhagen 2024.https://gotocph.comDaniel Terhorst-North - Originator of Behavior Driven Development (BDD) & Principal at Dan North & AssociatesKevlin Henney - Consultant, Programmer, Keynote Speaker, Technologist, Trainer & WriterRESOURCESDanielhttps://bsky.app/profile/tastapod.comhttps://twitter.com/tastapodhttps://www.linkedin.com/in/tastapodhttps://github.com/tastapodhttps://mastodon.social/@tastapodhttp://dannorth.net/blogKevlinhttps://bsky.app/profile/kevlin.bsky.socialhttps://about.me/kevlinhttps://twitter.com/KevlinHenneyhttps://linkedin.com/in/kevlinhttps://instagram.com/kevlin.henneyhttps://kevlinhenney.medium.comLinkshttps://jaoo.dk/jaoo2004/index2.jsphttps://jaoo.dk/archivesRECOMMENDED BOOKSJez Humble & David Farley • Continuous Delivery • https://amzn.to/452ZRkyNicole Forsgren, Jez Humble & Gene Kim • Accelerate • https://amzn.to/442Rep0Kevlin Henney & Trisha Gee • 97 Things Every Java Programmer Should Know • https://amzn.to/3kiTwJJKevlin Henney • 97 Things Every Programmer Should Know • https://amzn.to/2Yahf9UHenney & Monson-Haefel • 97 Things Every Software Architect Should Know • https://amzn.to/3pZuHsQGojko Adzic • Specification by Example • https://amzn.to/44uqT6zInspiring Tech Leaders - The Technology PodcastInterviews with Tech Leaders and insights on the latest emerging technology trends.Listen on: Apple Podcasts SpotifyBlueskyTwitterInstagramLinkedInFacebookCHANNEL MEMBERSHIP BONUSJoin this channel to get early access to videos & other perks:https://www.youtube.com/channel/UCs_tLP3AiwYKwdUHpltJPuA/joinLooking for a unique learning experience?Attend the next GOTO conference near you! Get your ticket: gotopia.techSUBSCRIBE TO OUR YOUTUBE CHANNEL - new videos posted daily!
Today, the Elixir Wizards wrap up Season 14 “Enter the Elixirverse.” Dan, Charles, and Sundi look back at some common themes: Elixir plays well with others, bridges easily to access languages and tools, and remains a powerful technology for data flow, concurrency, and developer experience. We revisit the popular topics of the year, from types and tooling to AI orchestration and reproducible dev environments, and share what we're excited to explore next. We also invite your questions and takeaways to help shape future seasons and conference conversations. Season 14 doubles as a handy primer for anyone curious about how Elixir integrates across the stack. Key topics discussed in this episode: * Lessons from a season of interoperability * Set-theoretic types and what new compiler warnings unlock * AI in practice: LLM orchestration, fallbacks, and real-world use * SDUI and GraphQL patterns for shipping UI across web/iOS/Android * Dataframes in Elixir with Explorer for analytics workflows * Python interoperability (ErlPort, PythonX) and when to reach for it * Reproducible dev environments with Nix and friends * Performance paths: Rustler and Zig for native extensions * Bluetooth & Nerves: Blue Heron and hardware integrations * DevEx upgrades: LiveView, build pipelines, and standard project setup * Observability and ops: Prometheus/Grafana and sensible deployments * Community feedback, conferences, and what's on deck for next season Links mentioned in this episode: Cars.com S14E06 SDUI at Scale with Elixir https://youtu.be/nloRcgngTk?si=g4Zd4N1s56Ronrtw https://hexdocs.pm/phoenixliveview/Phoenix.LiveView.html https://wordpress.com/ https://elixir-lang.org/ S14E01 Zigler: Zig NIFs for Elixir https://youtu.be/hSAvWxh26TU?si=d55tVuZbNw0KCfT https://ziglang.org/ https://hexdocs.pm/zigler/Zig.html https://github.com/blue-heron/blueheron https://github.com/elixir-explorer/explorer S14E08 Nix for Elixir Apps https://youtu.be/yymUcgy4OAk?si=BRgTlc2VK5bsIhIf https://nixos.org/ https://nix.dev/ S14E07 Set Theoretic Types in Elixir https://youtu.be/qMmEnXcHxL4?si=Ux2lebiwEp3mc0e S14E10 Python in Elixir Apps https://youtu.be/SpVLrrWkRqE?si=ld3oQVXVlWHpo7eV https://www.python.org/ https://hexdocs.pm/pythonx/ https://github.com/Pyrlang/Pyrlang https://github.com/erlport/erlport S14E03 LangChain: LLM Integration for Elixir https://youtu.be/OwFaljL3Ptc?si=A0sDs2dzJ0UoE2PY https://github.com/brainlid/langchain S14E04 Nx & Machine Learning in Elixir https://youtu.be/Ju64kAMLlkw?si=zdVnkBTTLHvIZNBm S14E05 Rustler: Bridging Elixir and Rust https://youtu.be/2RBw7B9OfwE?si=aRVYOyxxW8fTmoRA https://github.com/rusterlium/rustler Season 3: Working with Elixir https://youtube.com/playlist?list=PLTDLmInI9YaDbhMRpGuYpboVNbp1Fl9PD&si=hbe7qt4gRUfrMtpj S14E11 Vibe Coding the LoopedIn Crochet App https://youtu.be/DX0SjmPE92g?si=zCBPjS1huRDIeVeP Season 5: Adopting Elixir YouTubeLaunchisode and Outlaws Takeover with Chris Keathley, Amos King, and Anna Neyzberg S13E01 Igniter: Elixir Code Generation https://youtu.be/WM9iQlQSF_g?si=e0CAiML2qC2SxmdL Season 8: Elixir in a Polyglot Environment https://youtube.com/playlist?list=PLTDLmInI9YaAPlvMd-RDp6LWFjI67wOGN&si=YCI7WLA8qozD57iw !! We Want to Hear Your Thoughts *!!* Have questions, comments, or topics you'd like us to discuss on the podcast? Share your thoughts with us here: https://forms.gle/Vm7mcYRFDgsqqpDC9
In this episode of Elixir Wizards, host Sundi Myint chats with SmartLogic engineers and fellow Wizards Dan Ivovich and Charles Suggs about the practical tooling that surrounds Elixir in a consultancy setting. We dig into how standardized dev environments, sensible scaffolding, and clear observability help teams ship quickly across many client projects without turning every app into a snowflake. Join us for a grounded tour of what's working for us today (and what we've retired), plus how we evaluate new tech (including AI) through a pragmatic, Elixir-first lens. Key topics discussed in this episode: Standardizing across projects: why consistent environments matter in consultancy work Nix (and flakes) for reproducible dev setups and faster onboarding Igniter to scaffold common patterns (auth, config, workflows) without boilerplate drift Deployment approaches: OTP releases, runtime config, and Ansible playbooks Frontend pipeline evolution: from Brunch/Webpack to esbuild + Tailwind Observability in practice: Prometheus metrics and Grafana dashboards Handling time-series and sensor data When Explorer can be the database Picking the right tool: Elixir where it shines, integrations where it counts Using AI with intention: code exploration, prototypes, and guardrails for IP/security Keeping quality high across multiple codebases: tests, telemetry, and sensible conventions Reducing context-switching costs with shared patterns and playbooks Links mentioned: http://smartlogic.io https://nix.dev/ https://github.com/ash-project/igniter Elixir Wizards S13E01 Igniter with Zach Daniel https://youtu.be/WM9iQlQSFg https://github.com/elixir-explorer/explorer Elixir Wizards S14E09 Explorer with Chris Grainger https://youtu.be/OqJDsCF0El0 Elixir Wizards S14E08 Nix with Norbert (Nobbz) Melzer https://youtu.be/yymUcgy4OAk https://jqlang.org/ https://github.com/BurntSushi/ripgrep https://github.com/resources/articles/devops/ci-cd https://prometheus.io/ https://capistranorb.com/ https://ansible.com/ https://hexdocs.pm/phoenix/releases.html https://brunch.io/ https://webpack.js.org/loaders/css-loader/ https://tailwindcss.com/ https://sass-lang.com/dart-sass/ https://grafana.com/ https://pragprog.com/titles/passweather/build-a-weather-station-with-elixir-and-nerves/ https://www.datadoghq.com/ https://sqlite.org/ Elixir Wizards S14E06 SDUI at Cars.com with Zack Kayser https://youtu.be/nloRcgngTk https://github.com/features/copilot https://openai.com/codex/ https://www.anthropic.com/claude-code YouTube Video: Vibe Coding TEDCO's RFP https://youtu.be/i1ncgXZJHZs Blog: https://smartlogic.io/blog/how-i-used-ai-to-vibe-code-a-website-called-for-in-tedco-rfp/ Blog: https://smartlogic.io/blog/from-vibe-to-viable-turning-ai-built-prototypes-into-market-ready-mvps/ https://www.thriftbooks.com/w/eragon-by-christopher-paolini/246801 https://tidewave.ai/ !! We Want to Hear Your Thoughts *!!* Have questions, comments, or topics you'd like us to discuss in our season recap episode? Share your thoughts with us here: https://forms.gle/Vm7mcYRFDgsqqpDC9
SANS Internet Stormcenter Daily Network/Cyber Security and Information Security Stormcast
Erlang OTP SSH Exploits A recently patched and easily exploited vulnerability in Erlang/OTP SSH is being exploited. Palo Alto collected some of the details about this exploit activity that they observed. https://unit42.paloaltonetworks.com/erlang-otp-cve-2025-32433/ WinRAR Exploited WinRAR vulnerabilities are actively being exploited by a number of threat actors. The vulnerability allows for the creation of arbitrary files as the archive is extracted. https://thehackernews.com/2025/08/winrar-zero-day-under-active.html Citrix Netscaler Exploit Updates The Dutch Center for Cyber Security is updating its guidance on recent Citrix Netscaler attacks. Note that the attacks started before a patch became available, and attackers are actively hiding their tracks to make it more difficult to detect a compromise. https://www.ncsc.nl/actueel/nieuws/2025/07/22/casus-citrix-kwetsbaarheid https://www.bleepingcomputer.com/news/security/netherlands-citrix-netscaler-flaw-cve-2025-6543-exploited-to-breach-orgs/ OpenSSH Post Quantum Encryption Starting in version 10.1, OpenSSH will warn users if they are using quantum-unsafe algorithms https://www.openssh.com/pq.html
News includes the BEAM runtime fitting into just 16MB for the GRiSP Nano prototype, the BBC using Elixir to serve most of their web and mobile traffic, GenStage's pull-based design delivering 50% performance improvements, a new PDF data extraction library that leverages Python through PythonX, AppSignal's guide to deploying Phoenix with Kamal, an Elixir School lesson on embedding Lua in applications, Peter Solnica's new inflection library for word transformations, Fly.io announcing Docker Compose compatibility for multi-container deployments, and the full ElixirConf 2025 agenda going live with discount tickets available, and more! Show Notes online - http://podcast.thinkingelixir.com/263 (http://podcast.thinkingelixir.com/263) Elixir Community News https://paraxial.io/ (https://paraxial.io/utm_source=thinkingelixir&utm_campaign=thinkingelixir-july2025) – Paraxial.io is sponsoring today's show! Sign up for a free trial of Paraxial.io today and mention Thinking Elixir when you schedule a demo for a special offer. https://www.grisp.org/blog/posts/2025-06-11-grisp-nano-codebeam-sto (https://www.grisp.org/blog/posts/2025-06-11-grisp-nano-codebeam-sto?utm_source=thinkingelixir&utm_medium=shownotes) – GRiSP Nano prototype shows BEAM can run in just 16MB of memory https://grisp.myshopify.com/collections/frontpage/products/grisp-2 (https://grisp.myshopify.com/collections/frontpage/products/grisp-2?utm_source=thinkingelixir&utm_medium=shownotes) – GRiSP 2 tiny computer available now for BEAM applications https://bsky.app/profile/ettomatic.bsky.social/post/3lua7lpcxi22s (https://bsky.app/profile/ettomatic.bsky.social/post/3lua7lpcxi22s?utm_source=thinkingelixir&utm_medium=shownotes) – Bluesky post announcing BBC's ElixirConf EU talk https://www.youtube.com/watch?v=e99QDd0_C20 (https://www.youtube.com/watch?v=e99QDd0_C20?utm_source=thinkingelixir&utm_medium=shownotes) – How Elixir Powers the BBC From PoC to Production at Scale by Ettore Berardi https://careers.bbc.co.uk/job/Senior-Software-Engineer/24846-en_GB/ (https://careers.bbc.co.uk/job/Senior-Software-Engineer/24846-en_GB/?utm_source=thinkingelixir&utm_medium=shownotes) – BBC job posting for Senior Software Engineer using Elixir https://x.com/accomazzo/status/1945622634731114801 (https://x.com/accomazzo/status/1945622634731114801?utm_source=thinkingelixir&utm_medium=shownotes) – GenStage's pull-based design explanation with 6-minute video showing 50% speed improvement https://x.com/nelsonmestevao/status/1947087502902231412 (https://x.com/nelsonmestevao/status/1947087502902231412?utm_source=thinkingelixir&utm_medium=shownotes) – X post announcing the pdf_extractor library for data extraction from PDFs https://github.com/nelsonmestevao/pdf_extractor/ (https://github.com/nelsonmestevao/pdf_extractor/?utm_source=thinkingelixir&utm_medium=shownotes) – PDF data extraction library for Elixir https://hexdocs.pm/pdf_extractor/readme.html (https://hexdocs.pm/pdf_extractor/readme.html?utm_source=thinkingelixir&utm_medium=shownotes) – Documentation for pdf_extractor library https://github.com/jsvine/pdfplumber (https://github.com/jsvine/pdfplumber?utm_source=thinkingelixir&utm_medium=shownotes) – Python pdfplumber library that pdf_extractor leverages https://github.com/livebook-dev/pythonx (https://github.com/livebook-dev/pythonx?utm_source=thinkingelixir&utm_medium=shownotes) – PythonX library for seamless Python integration with Elixir https://podcast.thinkingelixir.com/244 (https://podcast.thinkingelixir.com/244?utm_source=thinkingelixir&utm_medium=shownotes) – Interview with Jonatan Kłosko about PythonX https://blog.appsignal.com/2025/06/10/deploying-phoenix-applications-with-kamal.html (https://blog.appsignal.com/2025/06/10/deploying-phoenix-applications-with-kamal.html?utm_source=thinkingelixir&utm_medium=shownotes) – AppSignal article on deploying Phoenix applications with Kamal https://kamal-deploy.org/ (https://kamal-deploy.org/?utm_source=thinkingelixir&utm_medium=shownotes) – Kamal deployment tool - Capistrano for Containers https://github.com/elixirschool/school_house (https://github.com/elixirschool/school_house?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir School open source repository https://elixirschool.com/en/lessons/misc/lua (https://elixirschool.com/en/lessons/misc/lua?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir School lesson on embedding Lua in Elixir applications https://hexdocs.pm/lua/ (https://hexdocs.pm/lua/?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir Lua package documentation https://github.com/tv-labs/lua (https://github.com/tv-labs/lua?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir friendly wrapper around luerl Erlang package https://github.com/rvirding/luerl (https://github.com/rvirding/luerl?utm_source=thinkingelixir&utm_medium=shownotes) – Luerl Erlang package for Lua integration https://bsky.app/profile/solnic.dev/post/3luaizmyjvt2c (https://bsky.app/profile/solnic.dev/post/3luaizmyjvt2c?utm_source=thinkingelixir&utm_medium=shownotes) – Peter Solnica announces new Inflection library on Bluesky https://github.com/solnic/drops_inflector (https://github.com/solnic/drops_inflector?utm_source=thinkingelixir&utm_medium=shownotes) – Drops Inflector library for word inflections in Elixir https://bsky.app/profile/fly.io/post/3lt4bjcouwn2y (https://bsky.app/profile/fly.io/post/3lt4bjcouwn2y?utm_source=thinkingelixir&utm_medium=shownotes) – Fly.io announces Docker Compose compatibility https://community.fly.io/t/docker-compose-compatibility-the-journey-begins/25285 (https://community.fly.io/t/docker-compose-compatibility-the-journey-begins/25285?utm_source=thinkingelixir&utm_medium=shownotes) – Fly.io community post about Docker Compose compatibility journey https://community.fly.io/t/using-containers-with-flyctl/24729 (https://community.fly.io/t/using-containers-with-flyctl/24729?utm_source=thinkingelixir&utm_medium=shownotes) – Guide on using containers with flyctl https://fly.io/docs/machines/guides-examples/multi-container-machines/ (https://fly.io/docs/machines/guides-examples/multi-container-machines/?utm_source=thinkingelixir&utm_medium=shownotes) – Fly.io documentation for multi-container machines https://elixirstream.dev/gendiff (https://elixirstream.dev/gendiff?utm_source=thinkingelixir&utm_medium=shownotes) – David's Elixir gendiff project https://elixirconf.com/ (https://elixirconf.com/?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf 2025 full agenda now live https://ti.to/elixirconf/2025/discount/ThinkingElixir (https://ti.to/elixirconf/2025/discount/ThinkingElixir?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf tickets with ThinkingElixir discount code for 10% off 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 - 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)
In this episode of Elixir Wizards, Dan Ivovich and Charles Suggs sit down with Norbert “NobbZ” Melzer to discuss how Nix enables reproducible builds, consistent development environments, and reliable deployments for Elixir projects. Norbert shares his journey from Ruby to Elixir, contrasts Nix with NixOS, and walks us through flakes, nix-shell workflows, sandboxed builds, and rollback capabilities. Along the way, we cover real-world tips for managing Hex authentication, integrating Nix into CI/CD, wrapping Mix releases in Docker, and avoiding common pitfalls, such as flake performance traps. Whether you're spinning up your first dev shell or rolling out a production release on NixOS, you'll come away with a clear, gradual adoption path and pointers to the community mentors and resources that can help you succeed. Key topics discussed in this episode: Reproducible, sandboxed builds vs. traditional package managers Nix flakes for locked dependency graphs and version pinning nix-shell: creating consistent development environments across teams Rollback and immutable deployment strategies with Nix/NixOS Integrating Nix with the Elixir toolchain: Hex, Mix, and CI/CD pipelines Flakes vs. standard shells: when and how to transition Handling private Hex repositories and authentication in Nix Cross-platform support (macOS/Darwin, Linux variants) Channels, overlays, and overrides for customizing builds Dockerizing Elixir releases using Nix-based images Home Manager for personal environment configuration Security patching workflows in a Nix-managed infrastructure Common pitfalls: flake performance, sandbox workarounds, and symlink behavior Community resources and the importance of human mentorship Links mentioned: https://jobrad-loop.com/ https://nixos.org/ https://nix.dev/ https://nix.dev/manual/nix/2.18/command-ref/nix-shell https://github.com/nix-darwin/nix-darwin https://asdf-vm.com/ https://go.dev/ https://docs.redhat.com/en/documentation/redhatenterpriselinux/8/html/packaginganddistributingsoftware/introduction-to-rpm_packaging-and-distributing-software Nix Flake templates for Elixir https://github.com/jurraca/elixir-templates https://www.docker.com/ https://www.sudo.ws/ https://ubuntu.com/ https://archlinux.org/ Nobbz's blog https://blog.nobbz.dev/blog/ https://ayats.org/blog/nix-workflow @nobbz.dev on BlueSky @NobbZ1981 on Twitter https://www.linkedin.com/in/norbert-melzer/ https://youtu.be/HbtbdLolHeM?si=6M7fulTQZmuWGGCM (talk on CodeBEAM)
News includes Phoenix LiveView 1.1.0 release candidates featuring change tracking in comprehensions by default and TypeScript annotations, José Valim's inspiring DevLabs interview about building authentic tools and fostering healthy ecosystems, Matthew Sinclair's comprehensive post outlining 9 compelling reasons to choose Elixir, Peter Solnica's exciting teaser about rebuilding rom-rb in Elixir, Igniter's growing adoption with 45 packages now using it for simplified installation, ElixirConf 2025 US tickets available with ThinkingElixir discount, Figma's S-1 filing revealing their staggering $300,000 daily AWS costs, and more! Show Notes online - http://podcast.thinkingelixir.com/261 (http://podcast.thinkingelixir.com/261) Elixir Community News https://paraxial.io/ (https://paraxial.io/utm_source=thinkingelixir&utm_campaign=thinkingelixir-july2025) – Paraxial.io is sponsoring today's show! Sign up for a free trial of Paraxial.io today and mention Thinking Elixir when you schedule a demo for a special offer. https://hexdocs.pm/phoenixliveview/1.1.0-rc.2/changelog.html#v1-1-0-rc-2-2025-07-05 (https://hexdocs.pm/phoenix_live_view/1.1.0-rc.2/changelog.html#v1-1-0-rc-2-2025-07-05?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix LiveView 1.1.0 release candidate with change tracking in comprehensions by default https://bsky.app/profile/steffend.me/post/3lteubbasjc2g (https://bsky.app/profile/steffend.me/post/3lteubbasjc2g?utm_source=thinkingelixir&utm_medium=shownotes) – Steffen's thread about LiveView 1.1.0 RC changes and improvements Includes Colocated JS hooks and TypeScript type annotations to all public JavaScript APIs https://x.com/vmelnikova_en/status/1939754121005031881 (https://x.com/vmelnikova_en/status/1939754121005031881?utm_source=thinkingelixir&utm_medium=shownotes) – DevLabs interview announcement with José Valim https://www.youtube.com/watch?v=ihn2fuc_ueQ (https://www.youtube.com/watch?v=ihn2fuc_ueQ?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim on feeding desire to learn, healthy Elixir ecosystem and the future of AI tooling https://bsky.app/profile/matthewsinclair.com/post/3ltfyuekfkc2w (https://bsky.app/profile/matthewsinclair.com/post/3ltfyuekfkc2w?utm_source=thinkingelixir&utm_medium=shownotes) – Matthew Sinclair's post about why Elixir is a great choice https://matthewsinclair.com/blog/0181-why-elixir (https://matthewsinclair.com/blog/0181-why-elixir?utm_source=thinkingelixir&utm_medium=shownotes) – "Why Elixir? A Rebuttal to Common Misconceptions" blog post with 9 reasons https://hex.pm/packages/recon (https://hex.pm/packages/recon?utm_source=thinkingelixir&utm_medium=shownotes) – Collection of functions and scripts to debug Erlang in production. https://hex.pm/packages/observer_cli (https://hex.pm/packages/observer_cli?utm_source=thinkingelixir&utm_medium=shownotes) – Visualize Erlang/Elixir Nodes On The Command Line https://bsky.app/profile/solnic.dev/post/3ltf3e7nije24 (https://bsky.app/profile/solnic.dev/post/3ltf3e7nije24?utm_source=thinkingelixir&utm_medium=shownotes) – Peter Solnica teaser about rebuilding rom-rb in Elixir https://bsky.app/profile/zachdaniel.dev/post/3ltg6dak7fk2f (https://bsky.app/profile/zachdaniel.dev/post/3ltg6dak7fk2f?utm_source=thinkingelixir&utm_medium=shownotes) – Zach Daniel shares that Igniter now has 45 packages using it for simplified installation https://ti.to/elixirconf/2025/discount/ThinkingElixir (https://ti.to/elixirconf/2025/discount/ThinkingElixir?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf 2025 US tickets with "ThinkingElixir" discount code for 10% off https://www.figma.com/blog/s1-public/ (https://www.figma.com/blog/s1-public/?utm_source=thinkingelixir&utm_medium=shownotes) – Figma's S-1 filing announcement for going public https://www.sec.gov/Archives/edgar/data/1579878/000162828025033742/figma-sx1.htm (https://www.sec.gov/Archives/edgar/data/1579878/000162828025033742/figma-sx1.htm?utm_source=thinkingelixir&utm_medium=shownotes) – Figma's SEC S-1 filing document https://www.datacenterdynamics.com/en/news/design-platform-figma-spends-300000-on-aws-daily/ (https://www.datacenterdynamics.com/en/news/design-platform-figma-spends-300000-on-aws-daily/?utm_source=thinkingelixir&utm_medium=shownotes) – Figma spends $300,000 daily on AWS services according to S-1 filing 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 - 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)
News includes the first CVE released under EEF's new CNA program for an Erlang zip traversal vulnerability, Phoenix MacroComponents being delayed for greater potential, Supabase announcing Multigres - a Vitess-like proxy for scaling Postgres to petabyte scale, a surge of new MCP server implementations for Phoenix and Plug including Phantom, HermesMCP, ExMCP, Vancouver, and Excom, a fun blog post revealing that Erlang was the only language that didn't crash under extreme load testing against 6 other languages, LiveDebugger v0.3.0 being teased with Firefox extension support and enhanced debugging capabilities, and more! Show Notes online - http://podcast.thinkingelixir.com/258 (http://podcast.thinkingelixir.com/258) Elixir Community News https://www.honeybadger.io/ (https://www.honeybadger.io/utm_source=thinkingelixir&utm_medium=podcast) – Honeybadger.io is sponsoring today's show! Keep your apps healthy and your customers happy with Honeybadger! It's free to get started, and setup takes less than five minutes. https://cna.erlef.org/cves/cve-2025-4748.html (https://cna.erlef.org/cves/cve-2025-4748.html?utm_source=thinkingelixir&utm_medium=shownotes) – New CVE for Erlang regarding zip traversal - 4.8 severity (medium) with workaround available or update to latest patched OTP versions First CVE released under the EEF's new CNA (CVE Numbering Authority) program - a successful process milestone https://bsky.app/profile/steffend.me/post/3lrlhd5etkc2p (https://bsky.app/profile/steffend.me/post/3lrlhd5etkc2p?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix MacroComponents is being delayed in search of greater potential https://github.com/phoenixframework/phoenixliveview/pull/3846 (https://github.com/phoenixframework/phoenix_live_view/pull/3846?utm_source=thinkingelixir&utm_medium=shownotes) – Draft PR for Phoenix MacroComponents development https://x.com/supabase/status/1933627932972376097 (https://x.com/supabase/status/1933627932972376097?utm_source=thinkingelixir&utm_medium=shownotes) – Supabase announcement of Multigres project https://supabase.com/blog/multigres-vitess-for-postgres (https://supabase.com/blog/multigres-vitess-for-postgres?utm_source=thinkingelixir&utm_medium=shownotes) – Multigres - Vitess for Postgres, announcement of a new proxy for scaling Postgres databases to petabyte scale https://github.com/multigres/multigres (https://github.com/multigres/multigres?utm_source=thinkingelixir&utm_medium=shownotes) – Multigres GitHub repository Sugu, co-creator of Vitess, has joined Supabase to build Multigres https://hex.pm/packages/phantom_mcp (https://hex.pm/packages/phantom_mcp?utm_source=thinkingelixir&utm_medium=shownotes) – Phantom MCP server - comprehensive implementation supporting Streamable HTTP with Phoenix/Plug integration https://hex.pm/packages/hermes_mcp (https://hex.pm/packages/hermes_mcp?utm_source=thinkingelixir&utm_medium=shownotes) – HermesMCP - comprehensive MCP server with client, stdio and Plug adapters https://hex.pm/packages/ex_mcp (https://hex.pm/packages/ex_mcp?utm_source=thinkingelixir&utm_medium=shownotes) – ExMCP - comprehensive MCP implementation with client, server, stdio and Plug adapters, uses Horde for distribution https://hex.pm/packages/vancouver (https://hex.pm/packages/vancouver?utm_source=thinkingelixir&utm_medium=shownotes) – Vancouver MCP server - simple implementation supporting only tools https://hex.pm/packages/excom (https://hex.pm/packages/excom?utm_source=thinkingelixir&utm_medium=shownotes) – Excom MCP server - simple implementation supporting only tools https://www.youtube.com/watch?v=4dzZ44-xVds (https://www.youtube.com/watch?v=4dzZ44-xVds?utm_source=thinkingelixir&utm_medium=shownotes) – AshAI video demo showing incredible introspection capabilities for MCP frameworks https://freedium.cfd/https:/medium.com/@codeperfect/we-tested-7-languages-under-extreme-load-and-only-one-didnt-crash-it-wasn-t-what-we-expected-67f84c79dc34 (https://freedium.cfd/https:/medium.com/@codeperfect/we-tested-7-languages-under-extreme-load-and-only-one-didnt-crash-it-wasn-t-what-we-expected-67f84c79dc34?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post comparing 7 languages under extreme load - Erlang was the only one that didn't crash https://github.com/software-mansion/live-debugger (https://github.com/software-mansion/live-debugger?utm_source=thinkingelixir&utm_medium=shownotes) – LiveDebugger v0.3.0 release being teased with new features https://bsky.app/profile/membrane-swmansion.bsky.social/post/3lrb4kpmmw227 (https://bsky.app/profile/membrane-swmansion.bsky.social/post/3lrb4kpmmw227?utm_source=thinkingelixir&utm_medium=shownotes) – Software Mansion preview of LiveDebugger v0.3.0 features including Firefox extension and enhanced debugging capabilities https://smartlogic.io/podcast/elixir-wizards/s14-e03-langchain-llm-integration-elixir/ (https://smartlogic.io/podcast/elixir-wizards/s14-e03-langchain-llm-integration-elixir/?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir Wizards podcast episode featuring discussion with Mark Ericksen on the Elixir LangChain project for LLM integration 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 - 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)
Today on Elixir Wizards, hosts Sundi Myint and Charles Suggs catch up with Sean Moriarity, co-creator of the Nx project and author of Machine Learning in Elixir. Sean reflects on his transition from the military to a civilian job building large language models (LLMs) for software. He explains how the Elixir ML landscape has evolved since the rise of ChatGPT, shifting from building native model implementations toward orchestrating best-in-class tools. We discuss the pragmatics of adding ML to Elixir apps: when to start with out-of-the-box LLMs vs. rolling your own, how to hook into Python-based libraries, and how to tap Elixir's distributed computing for scalable workloads. Sean closes with advice for developers embarking on Elixir ML projects, from picking motivating use cases to experimenting with domain-specific languages for AI-driven workflows. Key topics discussed in this episode: The evolution of the Nx (Numerical Elixir) project and what's new with ML in Elixir Treating Elixir as an orchestration layer for external ML tools When to rely on off-the-shelf LLMs vs. custom models Strategies for integrating Elixir with Python-based ML libraries Leveraging Elixir's distributed computing strengths for ML tasks Starting ML projects with existing data considerations Synthetic data generation using large language models Exploring DSLs to streamline AI-powered business logic Balancing custom frameworks and service-based approaches in production Pragmatic advice for getting started with ML in Elixir Links mentioned: https://hexdocs.pm/nx/intro-to-nx.html https://pragprog.com/titles/smelixir/machine-learning-in-elixir/ https://magic.dev/ https://smartlogic.io/podcast/elixir-wizards/s10-e10-sean-moriarity-machine-learning-elixir/ Pragmatic Bookshelf: https://pragprog.com/ ONNX Runtime Bindings for Elixir: https://github.com/elixir-nx/ortex https://github.com/elixir-nx/bumblebee Silero Voice Activity Detector: https://github.com/snakers4/silero-vad Paulo Valente Graph Splitting Article: https://dockyard.com/blog/2024/11/06/2024/nx-sharding-update-part-1 Thomas Millar's Twitter https://x.com/thmsmlr https://github.com/thmsmlr/instructorex https://phoenix.new/ https://tidewave.ai/ https://en.wikipedia.org/wiki/BERT(language_model) Talk: PyTorch: Fast Differentiable Dynamic Graphs in Python (https://www.youtube.com/watch?v=am895oU6mmY) by Soumith Chintala https://hexdocs.pm/axon/Axon.html https://hexdocs.pm/exla/EXLA.html VLM (Vision Language Models Explained): https://huggingface.co/blog/vlms https://github.com/ggml-org/llama.cpp Vector Search in Elixir: https://github.com/elixir-nx/hnswlib https://www.amplified.ai/ Llama 4 https://mistral.ai/ Mistral Open-Source LLMs: https://mistral.ai/ https://github.com/openai/whisper Elixir Wizards Season 5: Adopting Elixir https://smartlogic.io/podcast/elixir-wizards/season-five https://docs.ray.io/en/latest/ray-overview/index.html https://hexdocs.pm/flame/FLAME.html https://firecracker-microvm.github.io/ https://fly.io/ https://kubernetes.io/ WireGuard VPNs https://www.wireguard.com/ https://hexdocs.pm/phoenixpubsub/Phoenix.PubSub.html https://www.manning.com/books/deep-learning-with-python Code BEAM 2025 Keynote: Designing LLM Native Systems - Sean Moriarity Ash Framework https://ash-hq.org/ Sean's Twitter: https://x.com/seanmoriarity Sean's Personal Blog: https://seanmoriarity.com/ Erlang Ecosystems Foundation Slack: https://erlef.org/slack-invite/erlef Elixir Forum https://elixirforum.com/ Sean's LinkedIn: https://www.linkedin.com/in/sean-m-ba231a149/ Special Guest: Sean Moriarity.
News includes Elixir v1.19.0-rc.0 with significant type checking improvements and faster compile times, Gleam v1.11.0 delivering 30% faster JavaScript performance, the new Elixir Outreach stipend program providing funding for speakers to present at non-Elixir conferences, a batch of ElixirConf US 2024 videos featuring talks were published, the open-sourcing of Noora design system for Phoenix LiveView, upcoming support for “for” comprehensions in HEEX templates, and José Valim's announcement of Tidewave - the groundbreaking MCP server that gives AI agents runtime access to your Elixir applications rather than just static code, and more! Show Notes online - http://podcast.thinkingelixir.com/257 (http://podcast.thinkingelixir.com/257) Elixir Community News https://www.honeybadger.io/ (https://www.honeybadger.io/utm_source=thinkingelixir&utm_medium=podcast) – Honeybadger.io is sponsoring today's show! Keep your apps healthy and your customers happy with Honeybadger! It's free to get started, and setup takes less than five minutes. https://github.com/elixir-lang/elixir/releases/tag/v1.19.0-rc.0 (https://github.com/elixir-lang/elixir/releases/tag/v1.19.0-rc.0?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir v1.19.0-rc.0 release with mix format --migrate, type checking improvements, faster compile times, and parallel dependency compilation https://x.com/gleamlang/status/1929535582423650789 (https://x.com/gleamlang/status/1929535582423650789?utm_source=thinkingelixir&utm_medium=shownotes) – Gleam v1.11.0 announcement https://gleam.run/news/gleam-javascript-gets-30-percent-faster/ (https://gleam.run/news/gleam-javascript-gets-30-percent-faster/?utm_source=thinkingelixir&utm_medium=shownotes) – Gleam compiled JavaScript runs 30% faster performance improvement https://github.com/gleam-lang/gleam/blob/main/changelog/v1.11.md (https://github.com/gleam-lang/gleam/blob/main/changelog/v1.11.md?utm_source=thinkingelixir&utm_medium=shownotes) – Gleam v1.11.0 changelog with testing tools and performance improvements https://elixir-lang.org/blog/2025/06/02/elixir-outreach-stipend-for-speakers/ (https://elixir-lang.org/blog/2025/06/02/elixir-outreach-stipend-for-speakers/?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir Outreach stipend program by Dashbit, Oban and the EEF providing up to $700 USD for speakers presenting Elixir to other ecosystems https://www.youtube.com/watch?v=aknKAFzEsBg (https://www.youtube.com/watch?v=aknKAFzEsBg?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf US 2024 video release featuring multiple talks https://www.youtube.com/playlist?list=PLqj39LCvnOWbW2Zli4LurDGc6lL5ij-9Y (https://www.youtube.com/playlist?list=PLqj39LCvnOWbW2Zli4LurDGc6lL5ij-9Y?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf US 2024 playlist with 16 new videos https://www.youtube.com/watch?v=PSrzruaby1M (https://www.youtube.com/watch?v=PSrzruaby1M?utm_source=thinkingelixir&utm_medium=shownotes) – Ash AI Launch talk by Zach Daniel from ElixirConf EU https://tuist.dev/blog/2025/06/10/open-sourcing-noora-for-the-web (https://tuist.dev/blog/2025/06/10/open-sourcing-noora-for-the-web?utm_source=thinkingelixir&utm_medium=shownotes) – Noora design system for Phoenix LiveView open-sourced announcement https://noora.tuist.dev/ (https://noora.tuist.dev/?utm_source=thinkingelixir&utm_medium=shownotes) – Noora - complete, accessible design system for Phoenix LiveView with Figma files and ready-to-use components https://github.com/phoenixframework/phoenixliveview/pull/3827 (https://github.com/phoenixframework/phoenix_live_view/pull/3827?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix LiveView PR adding support for for comprehensions in HEEX templates with keyed change tracking https://hexdocs.pm/lua/changelog.html#v0-3-0-2025-06-09 (https://hexdocs.pm/lua/changelog.html#v0-3-0-2025-06-09?utm_source=thinkingelixir&utm_medium=shownotes) – Lua for Elixir v0.3.0 changelog with new guard functions https://bsky.app/profile/davelucia.com/post/3lr6g7g3nqs26 (https://bsky.app/profile/davelucia.com/post/3lr6g7g3nqs26?utm_source=thinkingelixir&utm_medium=shownotes) – Bluesky post about Lua for Elixir update with guard support https://x.com/bcardarella/status/1929976577749664052 (https://x.com/bcardarella/status/1929976577749664052?utm_source=thinkingelixir&utm_medium=shownotes) – Brian Cardarella announcing websocketdist library release https://x.com/bcardarella/status/1930262610705846640 (https://x.com/bcardarella/status/1930262610705846640?utm_source=thinkingelixir&utm_medium=shownotes) – Brian explaining the use-case behind websocketdist library https://github.com/otp-interop/websocketdist (https://github.com/otp-interop/web_socket_dist?utm_source=thinkingelixir&utm_medium=shownotes) – websocketdist library for Erlang distribution over WebSockets https://www.erlang.org/doc/system/distributed.html (https://www.erlang.org/doc/system/distributed.html?utm_source=thinkingelixir&utm_medium=shownotes) – Erlang distributed systems documentation https://x.com/josevalim/status/1930670782788653284 (https://x.com/josevalim/status/1930670782788653284?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim announcing Tidewave on X/Twitter https://dashbit.co/blog/announcing-tidewave (https://dashbit.co/blog/announcing-tidewave?utm_source=thinkingelixir&utm_medium=shownotes) – Dashbit blog post announcing Tidewave - Elixir MCP server for AI runtime intelligence https://github.com/tidewave-ai/mcpproxyrust#installation (https://github.com/tidewave-ai/mcp_proxy_rust#installation?utm_source=thinkingelixir&utm_medium=shownotes) – Tidewave MCP proxy installation and setup instructions 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 - 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)
Connor Rigby joins the Elixir Wizards to talk about Blue Heron BLE (Bluetooth Low Energy) support for Elixir apps. Blue Heron implements the BLE specs in pure Elixir, leveraging binary pattern matching and concurrent message processing to handle Bluetooth protocols. Unlike most solutions that require C ports or NIFs, Blue Heron runs entirely in user space, so it works seamlessly in both Nerves-based embedded projects and (eventually) desktop Elixir applications. We discuss how Nerves development differs from building Phoenix apps. Connor shares challenges he's experienced with hardware compatibility, where some chips only partially implement the spec, and he discusses the surprisingly deep (but sometimes incomplete) world of BLE device profiles. His tip for anyone entering the BLE space: read the official spec instead of trusting secondhand blog posts. Tools like Nerves LiveBook give you hands-on examples, so you can get a BLE prototype running on a Raspberry Pi and your phone in no time. Key topics discussed in this episode: Blue Heron origins and “bird” naming convention BLE vs. Bluetooth Classic: core differences Pure Elixir implementation—no C dependencies Binary pattern matching for packet parsing Hardware transport options: UART, SPI, USB, SDIO GenServer patterns in Nerves vs. Phoenix Linux requirement and power-consumption trade-offs GATT (Generic Attribute Table) implementation patterns SQLite integration for Nerves apps Hardware chip quirks and spec compliance Manufacturer-specific commands and workarounds BLE device profiles and spec gaps Security Management Profile (SMP) for encryption Device connection and pairing workflows Web vs. embedded development differences Where to get started: hardware recommendations and docs Links mentioned: https://github.com/ConnorRigby/ https://github.com/blue-heron/ https://nerves-project.org/ BLE (Bluetooth Low Energy) https://en.wikipedia.org/wiki/BluetoothLowEnergy https://developer.apple.com/ibeacon/ https://learnyousomeerlang.com/building-otp-applications Linux https://www.linux.org/ HCI (Host Controller Interface) https://en.wikipedia.org/wiki/Hostcontrollerinterface Circuits UART Library https://hexdocs.pm/circuitsuart/readme.html SPI (Serial Peripheral Interface) https://github.com/elixir-circuits/circuitsspi SDIO (Secure Digital Input Output https://en.wikipedia.org/wiki/SDIO Raspberry Pi https://www.raspberrypi.com/ Coral SoM Dev Board https://coral.ai/products/dev-board/ BeagleBone Single-Board Linux Computer https://www.beagleboard.org/boards/beaglebone-black https://www.bluetooth.com/bluetooth-resources/intro-to-bluetooth-gap-gatt/ Genservers https://hexdocs.pm/elixir/1.12/GenServer.html https://hexdocs.pm/ecto/Ecto.html https://github.com/elixir-sqlite/ectosqlite3 https://github.com/nerves-livebook/nerveslivebook Special Guest: Connor Rigby.
In the Season 14 premiere, hosts Dan Ivovich and Sundi Myint chat with Isaac Yonemoto, creator of the Zigler library, to explore how Zigler brings Zig's performance and safety to Elixir through Native Implemented Functions (NIFs). Isaac walks through the core design of Zigler and how it auto-generates the Elixir-to-Zig bridge, enforces type safety, and exposes multiple execution modes (normal, dirty, threaded). The conversation covers real-world applications, from SIMD-powered token selection for LLM hardware acceleration to OTP-style fault tolerance in low-level code. Isaac shares his own journey: stepping back from professional software work to launch a biotech startup focused on reducing drug manufacturing costs while continuing to maintain Zigler and even leveraging Elixir for bioinformatics pipelines. Topics discussed in this episode: What is the Zigler library and what does it do? What does it mean to run a "dirty NIF"? Async mode is temporarily removed from Zig (therefore, yielding NIFs is temporarily deprecated in Zigler) Zigler's three execution modes (normal, dirty, and threaded) and how you switch modes with a single config change Isaac's journey from professional software work to launching a biotech startup How Isaac leverages Elixir in bioinformatics pipelines at his startup LLM hardware acceleration using Zigler NIFs and SIMD-powered token picking Fault-tolerant load balancing of NIF workloads via OTP principles Transparent handling and recovery from hardware failures through monitoring Potential future memory-safety features in Zig and their implications The Elixir-based borrow-checker prototype: purpose and design Unit-checking for scientific computations to enforce correctness New OS support in Zigler 0.14: macOS, Windows, and FreeBSD Inline Zig code authoring directly within Elixir modules Isaac's commitment to maintain Zigler through its 1.0 release (...and beyond?) Links mentioned: https://github.com/E-xyza/zigler https://github.com/ziglang/zig https://vidalalabs.com/ Zig Programming Language: https://ziglang.org/ https://obsidian.md/ https://hexdocs.pm/elixir/macros.html https://erlang.org/documentation/doc-4.7.3/doc/extensions/macros.html A Deep Dive Into the Elixir AST: https://dorgan.ar/posts/2021/04/theelixirast/ https://www.erlang.org/doc/system/nif.html https://nodejs.org/en Llama Open-Source LLM: https://www.llama.com/ Mixtral Open-Source LLM: https://mistral.ai/news/mixtral-of-experts https://Fly.io SIMD: https://en.wikipedia.org/wiki/Singleinstruction,multiple_data https://opentrons.com/ CI/CD: https://en.wikipedia.org/wiki/CI/CD https://hexdocs.pm/zigler/Zig.html http://www.x.com/DNAutics https://bsky.app/profile/dnautics.bsky.social
SANS Internet Stormcenter Daily Network/Cyber Security and Information Security Stormcast
Honeypot Iptables Maintenance and DShield-SIEM Logging In this diary, Jesse is talking about some of the tasks to maintain a honeypot, like keeping filebeats up to date and adjusting configurations in case your dynamic IP address changes https://isc.sans.edu/diary/Honeypot%20Iptables%20Maintenance%20and%20DShield-SIEM%20Logging/31876 XRPL.js Compromised An unknown actor was able to push malicious updates of the XRPL.js library to NPM. The library is officially recommended for writing Riple (RPL) cryptocurrency code. The malicious library exfiltrated secret keys to the attacker https://www.aikido.dev/blog/xrp-supplychain-attack-official-npm-package-infected-with-crypto-stealing-backdoor https://github.com/XRPLF/xrpl.js/security/advisories/GHSA-33qr-m49q-rxfx Cisco Equipment Affected by Erlang/OTP SSH Vulnerability Cisco published an advisory explaining which of its products are affected by the critical Erlang/OTP SSH library vulnerability https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-erlang-otp-ssh-xyZZy
A fabulous converstation with Davide Bettio and Paul Guyot about AtomVM - the Erlang virtual machine for IoT devices. https://www.atomvm.net/ https://github.com/bettio https://github.com/pguyot We want to connect with you! Twitter: @BeamRadio1 Send us your questions via Twitter @BeamRadio1 #ProcessMailbox Keep up to date with our hosts: Bluesky @akoutmos.bsky.social @ektastrophe.bsky.social @lawik.bsky.social @RedRapids.bskysocial Twitter: @akoutmos @ektastrophe @meryldakin Sponsored by Groxio (https://grox.io) and Underjord (https://underjord.io)
SANS Internet Stormcenter Daily Network/Cyber Security and Information Security Stormcast
Microsoft Entra User Lockout Multiple organizations reported widespread alerts and account lockouts this weekend from Microsoft Entra. The issue is caused by a new feature Microsoft enabled. This feature will lock accounts if Microsoft believes that the password for the account was compromised. https://www.bleepingcomputer.com/news/microsoft/widespread-microsoft-entra-lockouts-tied-to-new-security-feature-rollout/ https://learn.microsoft.com/en-us/entra/identity/authentication/feature-availability Erlang/OTP SSH Exploit An exploit was published for the Erlang/OTP SSH vulnerability. The vulnerability is easy to exploit, and the exploit and a Metasploit module allow for easy remote code execution. https://github.com/exa-offsec/ssh_erlangotp_rce/blob/main/ssh_erlangotp_rce.rb Sonicwall Exploited An older command injection vulnerability is now exploited on Sonicwall devices after initially gaining access by brute-forcing credentials. https://psirt.global.sonicwall.com/vuln-detail/SNWLID-2021-0022 Unpatched Vulnerability in Bubble.io An unpatched vulnerability in the no-code platform bubble.io can be used to access any project hosted on the site. https://github.com/demon-i386/pop_n_bubble
SANS Internet Stormcenter Daily Network/Cyber Security and Information Security Stormcast
RedTail: Remnux and Malware Management A description showing how to set up a malware analysis in the cloud with Remnux and Kasm. RedTail is a sample to illustrate how the environment can be used. https://isc.sans.edu/diary/RedTail%2C%20Remnux%20and%20Malware%20Management%20%5BGuest%20Diary%5D/31868 Critical Erlang/OTP SSH Vulnerability Researchers identified a critical vulnerability in the Erlang/OTP SSH library. Due to this vulnerability, SSH servers written in Erlang/OTP allow arbitrary remote code execution without prior authentication https://www.openwall.com/lists/oss-security/2025/04/16/2 Brickstorm Analysis An analysis of a recent instance of the Brickstorm backdoor. This backdoor used to be more known for infecting Linux systems, but now it also infects Windows. https://www.nviso.eu/blog/nviso-analyzes-brickstorm-espionage-backdoor https://blog.nviso.eu/wp-content/uploads/2025/04/NVISO-BRICKSTORM-Report.pdf OpenAI GPT 4.1 Controversy OpenAI released its latest model, GPT 4.1, without a safety report and guardrails to prevent malware creation. https://opentools.ai/news/openai-stirs-controversy-with-gpt-41-release-lacking-safety-report
Integration testing is always a tricky thing, fraught with problems setting up the right environment and attempting to control the system's state. That's particularly true when you're dealing with a mix of software and hardware, and even worse when you don't have control of what the hardware can do.This week I'm joined by Dave Lucia of TVLab's, who's building systems for testing television software at scale, and it's a problem that needs a huge variety of techniques to crack it. He's using cameras, real time video processing, Erlang & Elixir and a host of other tools to make it possible to test a fleet of televisions on demand.Sometimes good systems revolve around a single big idea; this time it's a large combination of solutions, coordinated by the BEAM, that gets the job done.--TVLabs: https://tvlabs.ai/Flipper Zero: https://flipperzero.oneATSC 3.0 “NextGen TV”: https://en.wikipedia.org/wiki/ATSC_3.0Support Developer Voices on Patreon: https://patreon.com/DeveloperVoicesSupport Developer Voices on YouTube: https://www.youtube.com/@developervoices/joinKris on Bluesky: https://bsky.app/profile/krisajenkins.bsky.socialKris on Mastodon: http://mastodon.social/@krisajenkinsKris on LinkedIn: https://www.linkedin.com/in/krisjenkins/
Zack Kayser and Ethan Gunderson, Software Engineers at Cars Commerce, join the Elixir Wizards to share their expertise on telemetry and observability in large-scale systems. Drawing from their experience at Cars.com—a platform handling high traffic and concurrent users—they discuss the technical and organizational challenges of scaling applications, managing microservices, and implementing effective observability practices. The conversation highlights the pivotal role observability plays in diagnosing incidents, anticipating system behavior, and asking unplanned questions of a system. Zack and Ethan explore tracing, spans, and the unique challenges introduced by LiveView deployments and WebSocket connections. They also discuss the benefits of OpenTelemetry as a vendor-agnostic instrumentation tool, the significance of Elixir's telemetry library, and practical steps for developers starting their observability journey. Additionally, Zack and Ethan introduce their upcoming book, Instrumenting Elixir Applications, which will offer guidance on integrating telemetry and tracing into Elixir projects. Topics Discussed: Cars.com's transition to Elixir and scaling solutions The role of observability in large-scale systems Uncovering insights by asking unplanned system questions Managing high-traffic and concurrent users with Elixir Diagnosing incidents and preventing recurrence using telemetry Balancing data collection with storage constraints Sampling strategies for large data volumes Tracing and spans in observability LiveView's influence on deployments and WebSocket behavior Mitigating downstream effects of socket reconnections Contextual debugging for system behavior insights Observability strategies for small vs. large-scale apps OpenTelemetry for vendor-agnostic instrumentation Leveraging OpenTelemetry contrib libraries for easy setup Elixir's telemetry library as an ecosystem cornerstone Tracing as the first step in observability Differentiating observability from business analytics Profiling with OpenTelemetry Erlang project tools The value of profiling for performance insights Making observability tools accessible and impactful for developers Links Mentioned https://www.carscommerce.inc/ https://www.cars.com/ https://hexdocs.pm/telemetry/readme.html https://kubernetes.io/ https://github.com/ninenines/cowboy https://hexdocs.pm/bandit/Bandit.html https://hexdocs.pm/broadway/Broadway.html https://hexdocs.pm/oban/Oban.html https://www.dynatrace.com/ https://www.jaegertracing.io/ https://newrelic.com/ https://www.datadoghq.com/ https://www.honeycomb.io/ https://fly.io/phoenix-files/how-phoenix-liveview-form-auto-recovery-works/ https://www.elastic.co/ https://opentelemetry.io/ https://opentelemetry.io/docs/languages/erlang/ https://opentelemetry.io/docs/concepts/signals/traces/ https://opentelemetry.io/docs/specs/otel/logs/ https://github.com/runfinch/finch https://hexdocs.pm/telemetry_metrics/Telemetry.Metrics.html https://opentelemetry.io/blog/2024/state-profiling https://www.instrumentingelixir.com/ https://prometheus.io/ https://www.datadoghq.com/dg/monitor/ts/statsd/ https://x.com/kayserzl https://github.com/zkayser https://bsky.app/profile/ethangunderson.com https://github.com/open-telemetry/opentelemetry-collector-contrib Special Guests: Ethan Gunderson and Zack Kayser.
News includes Saša Jurić updating his project for "The Soul of Erlang and Elixir" talk with the latest technologies, the release of Phoenix LiveView RC 8 with exciting new features, ErrorTracker v0.5.0's enhancements for Ash applications, and the introduction of the NX MLX backend for Apple Silicon, offering efficient machine learning on Mac hardware. Plus, a new VS Code plugin called "Refactorex" brings robust refactoring capabilities to Elixir. We also interview Gonzalo Rodriguez about Tower, a vendor-agnostic error tracking and reporting tool in Elixir, discussing its creation, functionality, and how it simplifies error management across various services. And more! Show Notes online - http://podcast.thinkingelixir.com/232 (http://podcast.thinkingelixir.com/232) Elixir Community News https://x.com/sasajuric/status/1863889108449337415 (https://x.com/sasajuric/status/1863889108449337415?utm_source=thinkingelixir&utm_medium=shownotes) – Saša Jurić updated the project used in his "The Soul of Erlang and Elixir" talk, rewriting it with the latest versions of Erlang, Elixir, & Phoenix. https://github.com/sasa1977/souloferlangandelixir (https://github.com/sasa1977/soul_of_erlang_and_elixir?utm_source=thinkingelixir&utm_medium=shownotes) – The updated GitHub project for "The Soul of Erlang and Elixir" talk, now using the latest technologies. https://www.youtube.com/watch?v=JvBT4XBdoUE (https://www.youtube.com/watch?v=JvBT4XBdoUE?utm_source=thinkingelixir&utm_medium=shownotes) – Saša Jurić's 2019 talk "The Soul of Erlang and Elixir" is available on YouTube. https://github.com/phoenixframework/phoenixliveview/blob/main/CHANGELOG.md#100-rc8-2024-12-02 (https://github.com/phoenixframework/phoenix_live_view/blob/main/CHANGELOG.md#100-rc8-2024-12-02?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix LiveView RC 8 is out, with new features like extended HEEx syntax and more. From RC7, there is support for targeting inner and closest query selectors in JS commands. https://x.com/crbelaus/status/1861450830181720333 (https://x.com/crbelaus/status/1861450830181720333?utm_source=thinkingelixir&utm_medium=shownotes) – ErrorTracker v0.5.0 release includes support for Ash applications, better mobile experience, and more. https://bsky.app/profile/samrat.me/post/3lbzwr7gxmk2q (https://bsky.app/profile/samrat.me/post/3lbzwr7gxmk2q?utm_source=thinkingelixir&utm_medium=shownotes) – The NX MLX backend for Apple Silicon is announced, offering efficient machine learning on Apple hardware. https://github.com/elixir-nx/emlx (https://github.com/elixir-nx/emlx?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for NX MLX, Elixir support for the Apple MLX machine learning framework on Apple Silicon. MLX is designed by Apple for efficient machine learning on MacOS hardware. https://github.com/cocoa-xu/nif_call (https://github.com/cocoa-xu/nif_call?utm_source=thinkingelixir&utm_medium=shownotes) – Cocoa's nif_call package allows calling Elixir functions from inside a NIF. https://bsky.app/profile/zachdaniel.dev/post/3lc2leowiek26 (https://bsky.app/profile/zachdaniel.dev/post/3lc2leowiek26?utm_source=thinkingelixir&utm_medium=shownotes) – Zach Daniel's ElixirConf EU talk on the Ash framework is available on YouTube. https://www.youtube.com/watch?v=vjnPjrCF4rs (https://www.youtube.com/watch?v=vjnPjrCF4rs?utm_source=thinkingelixir&utm_medium=shownotes) – Ash: The Story of a Function by Zach Daniel explains why Ash exists and the problems it solves. https://github.com/gp-pereira/refactorex (https://github.com/gp-pereira/refactorex?utm_source=thinkingelixir&utm_medium=shownotes) – New VS Code plugin "Refactorex" by Gabriel Pereira for refactoring Elixir code with several built-in refactorings. https://adventofcode.com/2024/ (https://adventofcode.com/2024/?utm_source=thinkingelixir&utm_medium=shownotes) – Advent of Code is active, with people participating using their favorite programming languages. https://notes.club (https://notes.club?utm_source=thinkingelixir&utm_medium=shownotes) – A platform that hosts a frontend of Livebooks on GitHub, organized by author, likes, and tags, useful for exploring how people are solving Advent of Code problems in Elixir. https://github.com/ljgago/kino_aoc (https://github.com/ljgago/kino_aoc?utm_source=thinkingelixir&utm_medium=shownotes) – A GitHub repository for a Livebook Smart Cell which aids in solving Advent of Code directly from Livebook. https://github.com/nettinho/smaoc (https://github.com/nettinho/smaoc?utm_source=thinkingelixir&utm_medium=shownotes) – Another Livebook Smart Cell repository on GitHub for Advent of Code that facilitates problem interaction within Livebook. 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://www.mimiquate.com/blog/tower-universal-and-agnostic-elixir-exception-tracking (https://www.mimiquate.com/blog/tower-universal-and-agnostic-elixir-exception-tracking?utm_source=thinkingelixir&utm_medium=shownotes) https://github.com/mimiquate/tower (https://github.com/mimiquate/tower?utm_source=thinkingelixir&utm_medium=shownotes) – The root Tower project https://github.com/mimiquate/tower_email (https://github.com/mimiquate/tower_email?utm_source=thinkingelixir&utm_medium=shownotes) – Email sending when error encountered (uses Swoosh) https://github.com/mimiquate/towererrortracker (https://github.com/mimiquate/tower_error_tracker?utm_source=thinkingelixir&utm_medium=shownotes) https://github.com/mimiquate/tower_sentry (https://github.com/mimiquate/tower_sentry?utm_source=thinkingelixir&utm_medium=shownotes) https://github.com/mimiquate/tower_slack (https://github.com/mimiquate/tower_slack?utm_source=thinkingelixir&utm_medium=shownotes) Pull requests for the mentioned Bandit updates https://github.com/mtrudel/bandit/pull/411 (https://github.com/mtrudel/bandit/pull/411?utm_source=thinkingelixir&utm_medium=shownotes) https://github.com/mtrudel/bandit/pull/417 (https://github.com/mtrudel/bandit/pull/417?utm_source=thinkingelixir&utm_medium=shownotes) https://github.com/mtrudel/bandit/pull/420 (https://github.com/mtrudel/bandit/pull/420?utm_source=thinkingelixir&utm_medium=shownotes) Guest Information https://x.com/grzuy (https://x.com/grzuy?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter/X https://github.com/grzuy/ (https://github.com/grzuy/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github https://bsky.app/profile/grzuy.bsky.social (https://bsky.app/profile/grzuy.bsky.social?utm_source=thinkingelixir&utm_medium=shownotes) – on Bluesky 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)
AJ (Alykhan Jetha), CEO and CTO of Marketcircle, joins the Elixir Wizards to share his experience building and evolving Daylite, their award-winning CRM and business productivity app for Apple users. He details his experiences as a self-taught programmer and how Marketcircle has navigated pivots, challenges, and opportunities since its founding in 1999. AJ explains why they migrated Daylite's backend to Elixir, focusing on their sync engine, which demands high concurrency and fault tolerance. He highlights how Elixir has improved performance, reduced cloud costs, and simplified development with its approachable syntax and productive workflows. The conversation also touches on the technical hurdles of deploying native apps for Apple devices and the potential for integrating new technologies like LiveView Native to streamline cross-platform development. For technical founders, AJ emphasizes the importance of leveraging your strengths (“superpowers”), staying deeply connected to the development process, and finding stability in tools like Elixir amidst a rapidly evolving tech ecosystem. He also shares Marketcircle's roadmap for migrating more customers to Elixir-powered systems and explores the potential for new features in their native apps. Tune in for insights on building resilient systems, navigating technical and business challenges, and how Elixir is shaping Marketcircle's future. Topics discussed in this episode: AJ's journey as a self-taught programmer and entrepreneur Marketcircle's evolution since 1999 and lessons from their pivots Daylite's growth as a flagship product for Apple users Migrating to Elixir for high concurrency and fault tolerance How Elixir improved performance and reduced cloud costs The simplicity of Elixir and its impact on developer onboarding Challenges in managing a growing microservices architecture Insights into deploying native apps for the Apple ecosystem Exploring LiveView Native for future cross-platform development Advice for technical founders: leveraging your superpowers Staying connected to development to maintain system understanding The role of Elixir in improving development efficiency and stability Planning gradual customer migrations to an Elixir-powered backend Potential new features for Daylite's native apps Benefits of collaboration with the Elixir community #ElixirMullet -- native app in the front, Elixir in the back Navigating a rapidly evolving tech ecosystem as a founder Leveraging Elixir to future-proof Marketcircle's systems Balancing technical and business priorities in a startup environment AJ's thoughts on the future of Elixir in powering business tools Links mentioned: https://www.marketcircle.com/ Daylite.app https://www.nextcomputers.org/ https://www.digitalocean.com/ Python Async https://docs.python.org/3/library/asyncio.html https://github.com/sinatra/sinatra https://github.com/dependabot https://kafka.apache.org/ https://www.djangoproject.com/ https://github.com/socketry/falcon https://github.com/puma/puma https://www.swift.org/blog/announcing-swift-6/ https://en.wikipedia.org/wiki/Async/await https://www.ffmpeg.org/ https://www.sqlite.org/ https://github.com/commanded/commanded https://pragprog.com/titles/khpes/real-world-event-sourcing/ https://en.wikipedia.org/wiki/ShipofTheseus https://reactnative.dev/ https://www.electronjs.org/ https://en.wikipedia.org/wiki/WebOS https://www.linkedin.com/in/alykhanjetha/ https://bsky.app/profile/ajetha.bsky.social Special Guest: Alykhan Jetha.
News includes the release of community-maintained prebuilt MacOS builds for OTP by the Erlef, advancements in Elixir NX with the ability to "shard" functions, and exciting updates in Phoenix Live View as it approaches its 1.0 milestone. We also cover Gleam's upcoming release, José Valim's success story with the Elixir type system, and information about the upcoming Elixir is Weird conference. Join us as we dive deeper into these stories and more! Show Notes online - http://podcast.thinkingelixir.com/229 (http://podcast.thinkingelixir.com/229) Elixir Community News https://elixirforum.com/t/new-community-maintained-otp-builds-for-macos/67338 (https://elixirforum.com/t/new-community-maintained-otp-builds-for-macos/67338?utm_source=thinkingelixir&utm_medium=shownotes) – The Erlef has released community-maintained prebuilt MacOS builds for OTP, eliminating the need to install additional dependencies. https://github.com/michallepicki/asdf-erlang-prebuilt-macos (https://github.com/michallepicki/asdf-erlang-prebuilt-macos?utm_source=thinkingelixir&utm_medium=shownotes) – The release includes guidance for using these prebuilt builds with asdf as an alternate Erlang plugin. https://dockyard.com/blog/2024/11/06/2024/nx-sharding-update-part-1 (https://dockyard.com/blog/2024/11/06/2024/nx-sharding-update-part-1?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir NX is gaining the ability to 'shard' Nx functions, allowing code to be processed in parallel for increased efficiency. https://bsky.app/profile/akoutmos.bsky.social/post/3laondxqnnc2w (https://bsky.app/profile/akoutmos.bsky.social/post/3laondxqnnc2w?utm_source=thinkingelixir&utm_medium=shownotes) – Peter Ulrich and Alex Koutmous released a paid library called Phx2Ban, a Fail2Ban alternative for the Phoenix framework. Phoenix Live View is nearing its 1.0 milestone, with interesting PRs being discussed. https://github.com/phoenixframework/phoenixliveview/pull/3482 (https://github.com/phoenixframework/phoenix_live_view/pull/3482?utm_source=thinkingelixir&utm_medium=shownotes) – A PR to keep assigns between live navigation in Phoenix Live View, enhancing performance by avoiding unnecessary reloads. https://github.com/phoenixframework/phoenixliveview/pull/3498 (https://github.com/phoenixframework/phoenix_live_view/pull/3498?utm_source=thinkingelixir&utm_medium=shownotes) – A PR to reserve curly brackets for HEEX syntax in Phoenix Live View, which aims to standardize interpolation syntax. https://github.com/phoenixframework/phoenixliveview/pull/3478 (https://github.com/phoenixframework/phoenix_live_view/pull/3478?utm_source=thinkingelixir&utm_medium=shownotes) – A PR proposing the concept of 'phx-portal' to allow content rendering outside its normal spot in LiveView. https://x.com/gleamlang/status/1855604711606358394 (https://x.com/gleamlang/status/1855604711606358394?utm_source=thinkingelixir&utm_medium=shownotes) – Gleam is preparing for a new release, with V1.6.0 RC-1 now available. https://github.com/gleam-lang/gleam/releases/tag/v1.6.0-rc1 (https://github.com/gleam-lang/gleam/releases/tag/v1.6.0-rc1?utm_source=thinkingelixir&utm_medium=shownotes) – The release notes for Gleam v1.6.0 RC-1 can be found here. https://github.com/gleam-lang/gleam/blob/v1.6.0-rc1/CHANGELOG.md (https://github.com/gleam-lang/gleam/blob/v1.6.0-rc1/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes) – The changelog for Gleam v1.6.0 RC-1 is available for review. https://github.com/elixir-ecto/postgrex/commit/3308f277f455ec64f2d0d7be6263f77f295b1325#diff-0da854f0c1cda9486d776c72ecda6a2e595a7667b72688669bbd80d6b80f0f96R1210 (https://github.com/elixir-ecto/postgrex/commit/3308f277f455ec64f2d0d7be6263f77f295b1325#diff-0da854f0c1cda9486d776c72ecda6a2e595a7667b72688669bbd80d6b80f0f96R1210?utm_source=thinkingelixir&utm_medium=shownotes) – The Elixir type system identified dead code in Postgrex, showing its progress and usefulness. https://github.com/phoenixframework/phoenixliveview/commit/6c6e2aaf6a01957cc6bb8a27d2513bff273e8ca2 (https://github.com/phoenixframework/phoenix_live_view/commit/6c6e2aaf6a01957cc6bb8a27d2513bff273e8ca2?utm_source=thinkingelixir&utm_medium=shownotes) – The type system also identified dead code in Phoenix LiveView. https://x.com/josevalim/status/1856288364665639005 (https://x.com/josevalim/status/1856288364665639005?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim shared the success of the Elixir type system in identifying dead code. Elixir is Weird conference has a Call for Talks for their event on April 17, 2025, in Providence, RI, USA. https://bsky.app/profile/elixirisweird.bsky.social/post/3lapjx4lw4k2a (https://bsky.app/profile/elixirisweird.bsky.social/post/3lapjx4lw4k2a?utm_source=thinkingelixir&utm_medium=shownotes) – Details about the Elixir is Weird conference and the Call for Talks can be found here. https://x.com/sasajuric/status/1856261149320192317 (https://x.com/sasajuric/status/1856261149320192317?utm_source=thinkingelixir&utm_medium=shownotes) – Saša Jurić is considering a live coding presentation style for his Alchemy Conf talk. https://alchemyconf.com/ (https://alchemyconf.com/?utm_source=thinkingelixir&utm_medium=shownotes) – More information about Alchemy Conf, taking place from March 31 to April 3, can be found on their website. Discussion about Bluesky uptick and Elixir community members moving there. 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 - 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 X - @bernheisel (https://x.com/bernheisel) - 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)
Today in the Creator's Lab, Tony Dang joins Elixir Wizards Sundi Myint and Owen Bickford to break down his journey of creating a local-first, offline-ready to-do app using Phoenix LiveView, Svelte, and CRDTs (Conflict-free Replicated Data Types). Tony explains why offline functionality matters and how this feature can transform various apps. He shares insights on different libraries, algorithms, and techniques for building local-first experiences and highlights the advantages of Elixir and Phoenix LiveView. Tony also shares his go-to tools, like Inertia.js for connecting Phoenix backends with JavaScript frontends, and favorite Elixir packages like Oban, Joken, and Hammer, offering a toolkit for anyone building powerful, adaptable applications. Topics discussed in this episode: Tony Dang's background from mechanical engineer to web developer Building an offline-enabled to-do app with Phoenix LiveView and Svelte CRDTs: Conflict-free Replicated Data Types for merging changes offline How to make a LiveView app work offline Sending full state updates vs. incremental updates for performance optimization Inspiring others through open-source projects and community contributions Learning vanilla Phoenix and Channels to understand LiveView better Handling stale CSRF tokens when reconnecting to a LiveView app offline Exploring service workers and browser APIs for managing offline connectivity Balancing the use of JavaScript and Elixir in web development Fostering a supportive and inspiring Elixir community Links mentioned: Working in Elevators: How to build an offline-enabled, real-time todo app (https://www.youtube.com/watch?v=PX9-lq0LL9Q) w/ LiveView, Svelte, & Yjs Tony's Twitter: https://x.com/tonydangblog https://liveview-svelte-pwa.fly.dev/ https://github.com/tonydangblog/liveview-svelte-pwa CRDT: https://en.wikipedia.org/wiki/Conflict-freereplicateddatatype PWA: https://en.wikipedia.org/wiki/Progressivewebapp https://github.com/josevalim/sync https://github.com/sveltejs/svelte https://github.com/woutdp/livesvelte https://github.com/yjs/yjs https://github.com/satoren/yex https://github.com/y-crdt/y-crdt https://linear.app/ https://github.com/automerge/automerge https://hexdocs.pm/phoenix/1.4.0-rc.1/presence.html Vaxine, the Rich CRDT Database for ElixirPhoenix Apps (https://www.youtube.com/watch?v=n2c5eWIfziY) | James Arthur | Code BEAM America 2022 https://github.com/electric-sql/vaxine Hybrid Logical Clocks https://muratbuffalo.blogspot.com/2014/07/hybrid-logical-clocks.html https://en.wikipedia.org/wiki/256(number) CSRF Tokens in LiveView https://hexdocs.pm/phoenixliveview/Phoenix.LiveView.html#getconnectparams/1 https://hexdocs.pm/phoenix/channels.html Authentication with Passkeys (https://www.youtube.com/playlist?list=PL8lFmBcH3vX-JNIgxW3THUy7REthSRFEI) Talk by Tony https://www.meetup.com/dc-elixir/ https://github.com/rails/rails https://github.com/facebook/react-native https://github.com/vuejs https://github.com/laravel/laravel https://hexdocs.pm/phoenixliveview/js-interop.html https://github.com/inertiajs https://github.com/inertiajs/inertia-phoenix https://savvycal.com/ https://github.com/wojtekmach/req https://github.com/oban-bg/oban https://github.com/joken-elixir/joken https://github.com/ExHammer/hammer Special Guest: Tony Dang.
Plutôt que de démarrer sa rentrée sur un Rebel Ridge trop timoré pour lui, Yannick Dahan a préféré partager son ressenti comme lui seul sait le faire (envolées lyriques, vocabulaire substantifique, accent séfarade outrancier...) sur BLACK MYTH: WUKONG. Le premier jeu AAA du studio Game Science est le succès surprise de l'été 2024, laissant derrière lui CONCORD et STAR WARS OUTLAWS. Entre audace industrielle, travail d'artisans et maîtrise des récits mythologiques, Yannick revient sur ce qui fait le succès de cette nouvelle adaptation de la Pérégrination vers l'Ouest.BLACK MYTH: WUKONG est sorti le 20 août sur PlayStation 5 et Steam.Sun Wukong a rejeté sa vie d'illustre immortel, ce qui a provoqué la colère des cieux et a poussé Erlang à mener une armée pour le ramener à la cour. Après son refus, Erlang a vaincu Sun Wukong et a scellé le Roi des Singes dans la pierre. Mais avant sa défaite, Sun Wukong avait réussi à contenir son essence et son pouvoir dans cinq reliques cachées à travers le pays.Pour nous soutenir, il y a deux adresses.PATREON : https://www.patreon.com/capturemagTIPEEE : https://www.tipeee.com/capture-magPour acheter notre mag CAPTURE MAG N°1 - LE CINÉMA DE WILLIAM FRIEDKIN, rendez-vous chez votre libraire ou site marchand (Fnac, Amazon, etc.).Akileos : https://bit.ly/AkiFriedLibrairies indépendantes : https://www.librairiesindependantes.com/product/9782355746161/Pour acheter notre livre CAPTURE MAG 2012-2022 : NOTRE DÉCENNIE DE CINÉMA, rendez-vous chez votre libraire ou site marchand.Akileos : https://bit.ly/CapMookLibrairies indépendantes : https://bit.ly/AchTMookRetrouvez toutes nos émissions sur http://www.capturemag.frEn MP3 sur Acast : https://bit.ly/3v6ee7sSur SPOTIFY : https://spoti.fi/3PJYnF3Sur DEEZER : https://bit.ly/2wtDauUSur APPLE podcasts : https://apple.co/2UW3AyOSur Google Podcasts : https://bit.ly/39W69oR#sunwukong #blackmyth #blackmythwukong Hébergé par Acast. Visitez acast.com/privacy pour plus d'informations.
To kick off Elixir Wizards Season 13, The Creator's Lab, we're joined by Zach Daniel, the creator of Igniter and the Ash framework. Zach joins hosts Owen Bickford and Charles Suggs to discuss the mechanics and aspirations of his latest brainchild, Igniter—a code generation and project patching framework designed to revolutionize the Elixir development experience. Igniter isn't just about generating code; it's about generating smarter code. By leveraging tools like Sourcerer and Rewrite, Igniter allows developers to modify source code and batch updates by directly interacting with Elixir's AST instead of regex patching. This approach streamlines new project setup and package installations and enhances overall workflow. They also discuss the strategic implications of Igniter for the broader Elixir community. Zach hopes Igniter will foster a more interconnected and efficient ecosystem that attracts new developers to Elixir and caters to the evolving needs of seasoned Elixir engineers. Topics discussed in this episode: Advanced package installation and code generation improve the developer experience Scripting and staging techniques streamline project updates Innovative methods for smoother installation processes in Elixir packages High-level tools apply direct patches to source code Progressive feature additions simplify the mix phx.new experience Chaining installers and composing tasks for more efficient project setup Continuous improvement in developer experiences to boost Elixir adoption Encourage listeners to collaborate by sharing code generation patterns Introduction of a new mix task aimed at removing the "unless" keyword in preparation for Elixir 1.18 You can learn more in the upcoming book "Building Web Applications with Ash Framework" by Zach and Rebecca Links mentioned: https://smartlogic.io/ https://alembic.com.au/blog/igniter-rethinking-code-generation-with-project-patching https://hexdocs.pm/igniter/readme.html https://github.com/ash-project/igniter https://www.zachdaniel.dev/p/serialization-is-the-secret https://www.zachdaniel.dev/p/welcome-to-my-substack https://ash-hq.org/ https://hexdocs.pm/sourceror/readme.html https://smartlogic.io/podcast/elixir-wizards/s10-e09-hugo-lucas-future-of-elixir-community/ https://github.com/hrzndhrn/rewrite https://github.com/zachdaniel https://github.com/liveshowy/webauthn_components https://hexdocs.pm/elixir/Regex.html https://github.com/msaraiva/vscode-surface https://github.com/swoosh/swoosh https://github.com/erlef/oidcc https://alembic.com.au/ https://www.zachdaniel.dev/ Special Guest: Zach Daniel.
The panel explores Poka Yoke with Bryan Hunter - the concept of mistake-proofing and its application in Erlang and Elixir. Bryan Hunter [GigCityElixir24] Poka Yoke, STAMP and the BEAM (https://youtu.be/0-aJwz6oPow?si=5hTL8HwHiJfYQb4S) Engineering A Safer World (https://a.co/d/1iQdN70) by Nancy G. Leveson We want to connect with you! Twitter: @BeamRadio1 Send us your questions via Twitter @BeamRadio1 #ProcessMailbox Keep up to date with our hosts on Twitter @akoutmos @lawik @meryldakin @RedRapids @smdebenedetto @StevenNunez and on Mastodon @akoutmos@fosstodon.org @lawik@fosstodon.org @redrapids@genserver.social @steven@genserver.social Sponsored by Groxio (https://grox.io) and Underjord (https://underjord.io)
Lustre is a web framework that takes a lot of inspiration from Elm, some from React, and a surprising amount from Erlang's actor model, to provide a library that blurs the lines between executing on the client, or on the server.Support Developer Voices on Patreon: https://patreon.com/DeveloperVoicesSupport Developer Voices on YouTube: https://www.youtube.com/@DeveloperVoices/join–Lustre: https://hexdocs.pm/lustre/index.htmlGleam: https://gleam.run/Join the Gleam Community: https://gleam.run/community/Processing (AV Framework for Java): https://processing.org/Vue.js: https://vuejs.org/Svelte: https://svelte.dev/Elm: https://elm-lang.org/Elm Table: https://package.elm-lang.org/packages/gribouille/elm-table/5.3.0/Hayleigh on Twitter: https://x.com/hayleighdotdevKris on Mastodon: http://mastodon.social/@krisajenkinsKris on LinkedIn: https://www.linkedin.com/in/krisjenkins/Kris on Twitter: https://twitter.com/krisajenkins
News includes the release of OTP 27.1 with significant improvements to the Zip module, the upcoming deprecation of the unless keyword in Elixir 1.18, support for Data Channels in Elixir WebRTC, new test-related feature highlighted by ElixirStreams to tackle intermittent failures, a detailed blog from Discord on reducing their websocket traffic by 40%, ElixirConf Lightning talks on YouTube, and more! Show Notes online - http://podcast.thinkingelixir.com/222 (http://podcast.thinkingelixir.com/222) Elixir Community News https://erlangforums.com/t/erlang-otp-27-1-released/4006 (https://erlangforums.com/t/erlang-otp-27-1-released/4006?utm_source=thinkingelixir&utm_medium=shownotes) – OTP 27.1 was released, which is the first maintenance patch for OTP 27. It brings important fixes including upgrades in the Zip module with support for large archives, extended timestamps, UID/GID support, and enhanced directory handling. Several Windows-specific fixes are also included. https://x.com/moomerman/status/1838235643983364206 (https://x.com/moomerman/status/1838235643983364206?utm_source=thinkingelixir&utm_medium=shownotes) – unless keyword will be deprecated in upcoming Elixir 1.18. Users are encouraged to use if !condition instead. A mix format --migrate command is available to assist with the transition. https://github.com/elixir-lang/elixir/pull/13851 (https://github.com/elixir-lang/elixir/pull/13851?utm_source=thinkingelixir&utm_medium=shownotes) – Related GitHub pull request regarding the deprecation of unless keyword. https://github.com/elixir-lang/elixir/pull/13841 (https://github.com/elixir-lang/elixir/pull/13841?utm_source=thinkingelixir&utm_medium=shownotes) – Another related GitHub pull request for deprecating the unless keyword in Elixir 1.18. https://github.com/gleam-lang/gleam/releases/tag/v1.5.0-rc2 (https://github.com/gleam-lang/gleam/releases/tag/v1.5.0-rc2?utm_source=thinkingelixir&utm_medium=shownotes) – Gleam v1.5.0-rc2 was released for testing. https://elixir-webrtc.org/ (https://elixir-webrtc.org/?utm_source=thinkingelixir&utm_medium=shownotes) – Support for Data Channels in Elixir WebRTC was added, enhancing the project with features for sending arbitrary data over P2P connections. https://github.com/elixir-webrtc (https://github.com/elixir-webrtc?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub organization for Elixir WebRTC, including recent updates and projects. https://x.com/mickel8v2/status/1838565408711880801 (https://x.com/mickel8v2/status/1838565408711880801?utm_source=thinkingelixir&utm_medium=shownotes) – Twitter announcement about the addition of data channels in Elixir WebRTC. https://blog.swmansion.com/data-channels-in-elixir-webrtc-0853c7d0e256 (https://blog.swmansion.com/data-channels-in-elixir-webrtc-0853c7d0e256?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post explaining the significance and uses of data channels in Elixir WebRTC. https://www.elixirstreams.com/tips/mix-test-repeat-until-failure (https://www.elixirstreams.com/tips/mix-test-repeat-until-failure?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirStreams video tip on using mix test --repeat-until-failure n to run tests until failure, handy for diagnosing intermittent test failures. Mark's favorite seed to use is --seed 0, which runs tests in sequential order, which is helpful during TDD. https://www.elixirstreams.com/tips/mix-test-slowest-modules (https://www.elixirstreams.com/tips/mix-test-slowest-modules?utm_source=thinkingelixir&utm_medium=shownotes) – New --slowest-modules n flag added to mix test helps identify modules with the slowest tests, complementing the existing --slowest n flag for individual tests. https://discord.com/blog/how-discord-reduced-websocket-traffic-by-40-percent (https://discord.com/blog/how-discord-reduced-websocket-traffic-by-40-percent?utm_source=thinkingelixir&utm_medium=shownotes) – Discord shared a new blog post detailing how they reduced websocket traffic by 40% by switching from zlib to zstandard for compression and implementing PASSIVE_UPDATE_V2. https://github.com/silviucpp/ezstd (https://github.com/silviucpp/ezstd?utm_source=thinkingelixir&utm_medium=shownotes) – The Erlang library ezstd used by Discord, which they contributed to by adding streaming support. https://www.youtube.com/watch?v=QJCWzN1Vahs (https://www.youtube.com/watch?v=QJCWzN1Vahs?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf Lightning talks released on YouTube, available as a single hour-long video with chapter timestamps. https://www.youtube.com/playlist?list=PLqj39LCvnOWbW2Zli4LurDGc6lL5ij-9Y (https://www.youtube.com/playlist?list=PLqj39LCvnOWbW2Zli4LurDGc6lL5ij-9Y?utm_source=thinkingelixir&utm_medium=shownotes) – Playlist for ElixirConf Lightning talks on YouTube. https://elixirfriends.transistor.fm/episodes/friend-1-peter-ullrich (https://elixirfriends.transistor.fm/episodes/friend-1-peter-ullrich?utm_source=thinkingelixir&utm_medium=shownotes) – A new Elixir podcast called 'Elixir Friends' launched by German Velasco, featuring a casual and relaxed format. The first episode guest is Peter Ullrich. https://www.youtube.com/watch?v=5apHLuFi5JI (https://www.youtube.com/watch?v=5apHLuFi5JI?utm_source=thinkingelixir&utm_medium=shownotes) – The Elixir Friends podcast is also available as a YouTube video with a runtime of 1:22:10. 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)
News includes a proof of concept for Phoenix Sync by José Valim, exciting new developments in Elixir's type system, Algora.tv's open-source Twitch for developers, Sean Moriarity's insights on the future of Nx, Axon, and Bumblebee, a powerful new feature in Livebook integrating with Fly.io, and more! Show Notes online - http://podcast.thinkingelixir.com/219 (http://podcast.thinkingelixir.com/219) Elixir Community News - https://github.com/josevalim/sync (https://github.com/josevalim/sync?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix Sync - A proof of concept of an Elixir/Phoenix node that runs PostgreSQL Replication to synchronize data with clients, as showcased at ElixirConf US 2024 keynote by José Valim. - https://x.com/TylerAYoung/status/1829248168908968220 (https://x.com/TylerAYoung/status/1829248168908968220?utm_source=thinkingelixir&utm_medium=shownotes) – Tyler Young's Twitter thread discussing the big idea behind Phoenix Sync which involves frontend applications syncing with backend using Phoenix channels and logical replication. - https://elixir-lang.org/blog/2024/08/28/typing-lists-and-tuples/ (https://elixir-lang.org/blog/2024/08/28/typing-lists-and-tuples/?utm_source=thinkingelixir&utm_medium=shownotes) – New ElixirLang blog post exploring how various Elixir idioms interact with the upcoming type system, especially focusing on lists and tuples. - https://x.com/josevalim/status/1829537976378159139 (https://x.com/josevalim/status/1829537976378159139?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim's Twitter post about the mathematical soundness of set-theoretic types as discussed in the latest ElixirLang blog post. - https://github.com/algora-io/tv (https://github.com/algora-io/tv?utm_source=thinkingelixir&utm_medium=shownotes) – Algora.tv is trending as an open-source Twitch for developers using Membrane for real-time video processing. - https://dockyard.com/blog/2024/08/20/where-are-nx-axon-bumblebee-headed (https://dockyard.com/blog/2024/08/20/where-are-nx-axon-bumblebee-headed?utm_source=thinkingelixir&utm_medium=shownotes) – Sean Moriarity's blog post on DockYard discussing the current state of the AI space and future directions for Nx, Axon, and Bumblebee. - https://github.com/elixir-nx/nx/commit/ab8261180cd54ca95c0c34035a5380ade2805afb (https://github.com/elixir-nx/nx/commit/ab8261180cd54ca95c0c34035a5380ade2805afb?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim's commit in Nx demonstrating how few lines of code are required to support compiling a machine learning model in one node and sending it to another for execution using Erlang erpc module. - https://x.com/cigrainger/status/1829822647489728679 (https://x.com/cigrainger/status/1829822647489728679?utm_source=thinkingelixir&utm_medium=shownotes) – New Livebook feature shared online integrates with Fly.io platform to run local notebooks on arbitrary hardware with a few clicks, allowing scalability and elasticity. - https://x.com/josevalim/status/1828781593387004065 (https://x.com/josevalim/status/1828781593387004065?utm_source=thinkingelixir&utm_medium=shownotes) – Image from Chris McCord's talk showing a Livebook connecting to a production node and getting intellisense for remote node code. - https://elixirstatus.com/p/wmpxg-code-beam-america-2025-call-for-talks-is-open- (https://elixirstatus.com/p/wmpxg-code-beam-america-2025-call-for-talks-is-open-?utm_source=thinkingelixir&utm_medium=shownotes) – Call for Talks for CodeBEAM America 2025 is open. Deadline for proposals is October 20, 2024. Conference dates are March 6-7, 2025, in San Francisco and Online. - https://codebeamamerica.com/#cft (https://codebeamamerica.com/#cft?utm_source=thinkingelixir&utm_medium=shownotes) – Official site for CodeBEAM America 2025 Call for Talks. - https://codebeamnyc.com/ (https://codebeamnyc.com/?utm_source=thinkingelixir&utm_medium=shownotes) – CodeBEAM NYC conference on November 15th, a one-day event. - Reflections on ElixirConf discussion. 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)
News includes the upcoming signed installers for Livebook and Elixir on Windows, the release of Telemetry v1.3 with improved documentation, LiveView Native 0.3.0's announcement ahead of ElixirConf, Google Research introducing an alternative SQL syntax with a pipe, a Livebook leveraging LLMs and FFMPEG for media conversion, legal updates on the US non-compete agreements ban, and potential antitrust actions against Google, and more! Show Notes online - http://podcast.thinkingelixir.com/218 (http://podcast.thinkingelixir.com/218) Elixir Community News - https://x.com/josevalim/status/1825954736094457943 (https://x.com/josevalim/status/1825954736094457943?utm_source=thinkingelixir&utm_medium=shownotes) – The next versions of Livebook and Elixir will have signed installers on Windows, thanks to the Erlang Ecosystem Foundation and Wojtek Mach. - https://x.com/wojtekmach/status/1826521109476344035 (https://x.com/wojtekmach/status/1826521109476344035?utm_source=thinkingelixir&utm_medium=shownotes) – Wojtek Mach discusses the challenges of packaging Livebook into a .msix for the Windows Store and asks for contributions from those familiar with the process. - https://hexdocs.pm/telemetry/1.3.0/readme.html (https://hexdocs.pm/telemetry/1.3.0/readme.html?utm_source=thinkingelixir&utm_medium=shownotes) – Telemetry v1.3 is out with improved documentation, rewritten to ExDoc from Erlang edoc, thanks to contributions from Wojtek Mach and Andrea Leopardi. OTP 27 is required. - https://x.com/bcardarella/status/1826266402631889091 (https://x.com/bcardarella/status/1826266402631889091?utm_source=thinkingelixir&utm_medium=shownotes) – LiveView Native 0.3.0 is now released with the official announcement at ElixirConf. Blog posts, tutorials to follow. - https://x.com/bcardarella/status/1826279303623082421 (https://x.com/bcardarella/status/1826279303623082421?utm_source=thinkingelixir&utm_medium=shownotes) – Additional details about the LiveView Native 0.3.0 release. - https://twitter.com/simonw/status/1827482890680332386 (https://twitter.com/simonw/status/1827482890680332386?utm_source=thinkingelixir&utm_medium=shownotes) – Google Research released a paper on an alternative SQL syntax with a pipe, similar to Ecto querying syntax. - https://simonwillison.net/2024/Aug/24/pipe-syntax-in-sql/ (https://simonwillison.net/2024/Aug/24/pipe-syntax-in-sql/?utm_source=thinkingelixir&utm_medium=shownotes) – More details on the new SQL syntax introduced by Google for ZetaSQL. - https://twitter.com/ac_alejos/status/1794105872680972458 (https://twitter.com/ac_alejos/status/1794105872680972458?utm_source=thinkingelixir&utm_medium=shownotes) – A Livebook that uses LLMs and FFMPEG to simplify the process of converting videos or audio by suggesting the right flags and switches. - https://github.com/acalejos/CinEx (https://github.com/acalejos/CinEx?utm_source=thinkingelixir&utm_medium=shownotes) – Detailed information on using LLMs within Livebook for conversion tasks. - https://www.reuters.com/legal/us-judge-strikes-down-biden-administration-ban-worker-noncompete-agreements-2024-08-20/ (https://www.reuters.com/legal/us-judge-strikes-down-biden-administration-ban-worker-noncompete-agreements-2024-08-20/?utm_source=thinkingelixir&utm_medium=shownotes) – A US Judge struck down the FTC's ban on non-compete agreements, stating the FTC lacks legal authority and the ban is too wide-reaching. - https://www.nytimes.com/2024/08/13/technology/google-monopoly-antitrust-justice-department.html (https://www.nytimes.com/2024/08/13/technology/google-monopoly-antitrust-justice-department.html?utm_source=thinkingelixir&utm_medium=shownotes) – The US government is considering ordering Google to be broken up following antitrust allegations. - https://www.macrumors.com/2024/08/22/apple-eu-default-app-update/ (https://www.macrumors.com/2024/08/22/apple-eu-default-app-update/?utm_source=thinkingelixir&utm_medium=shownotes) – Apple might allow EU residents to delete apps currently blocked from removal, addressing app store issues in the EU. - Living in a time when industry rules are being challenged creates opportunities for new businesses and markets, as highlighted by ongoing legal issues with major tech companies like Google and Apple. 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)
News includes a new video from José Valim demonstrating Livebook deployments, Chris McCord's "Pawsitively" project integrating content moderation with Livebook, the release of Zigler 0.13.1, a new AI-centric library called Honeycomb by Sean Moriarity and Andrés Alejos, an Elixir job listing at Apple, and more! Show Notes online - http://podcast.thinkingelixir.com/216 (http://podcast.thinkingelixir.com/216) Elixir Community News - https://www.youtube.com/watch?v=lwLx5beXxsg (https://www.youtube.com/watch?v=lwLx5beXxsg?utm_source=thinkingelixir&utm_medium=shownotes) – How to deploy a Livebook app with Livebook Teams. - https://livebook.dev/teams/ (https://livebook.dev/teams/?utm_source=thinkingelixir&utm_medium=shownotes) – Link to Livebook Teams homepage. - https://docs.google.com/forms/d/e/1FAIpQLScDfvUqT4fs95dqNGyoXwVMDVl059jT6r5MPgXB99XVMCuw/viewform (https://docs.google.com/forms/d/e/1FAIpQLScDfvUqT4f_s95dqNGyoXwVMD_Vl059jT6r5MPgXB99XVMCuw/viewform?utm_source=thinkingelixir&utm_medium=shownotes) – Request to join the free Livebook Teams beta. - https://x.com/chris_mccord/status/1821586189364994202 (https://x.com/chris_mccord/status/1821586189364994202?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord shared a demo project called "Pawsitively" which implements a content moderation system. - https://gist.github.com/chrismccord/4824237157902ed1c47f825b1f1d9d27 (https://gist.github.com/chrismccord/4824237157902ed1c47f825b1f1d9d27?utm_source=thinkingelixir&utm_medium=shownotes) – Gist of the demo which uses Livebook and Mistral LLM for content moderation. - https://pawsitively.fly.dev/ (https://pawsitively.fly.dev/?utm_source=thinkingelixir&utm_medium=shownotes) – Play with the "Pawsitively" demo online. - The demo defines everything in a Livebook file and covers “Manual Docker Deployment”. - https://x.com/dnautics/status/1822878889275719795 (https://x.com/dnautics/status/1822878889275719795?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of Zigler 0.13.1. - https://github.com/E-xyza/zigler (https://github.com/E-xyza/zigler?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub page for Zigler. - https://hexdocs.pm/zigler/0.13.1/Zig.html (https://hexdocs.pm/zigler/0.13.1/Zig.html?utm_source=thinkingelixir&utm_medium=shownotes) – Zigler 0.13.1 documentation. - https://ziglang.org/ (https://ziglang.org/?utm_source=thinkingelixir&utm_medium=shownotes) – Official site for the Zig programming language. - https://podcast.thinkingelixir.com/83 (https://podcast.thinkingelixir.com/83?utm_source=thinkingelixir&utm_medium=shownotes) – Podcast episode discussing Zig and Zigler in depth. - https://x.com/germsvel/status/1823304992876618032 (https://x.com/germsvel/status/1823304992876618032?utm_source=thinkingelixir&utm_medium=shownotes) – German Velasco shows how to use Macro.to_string/1 to convert AST to clearer Elixir code. - https://github.com/elixir-error-tracker/error-tracker/releases/tag/v0.2.0 (https://github.com/elixir-error-tracker/error-tracker/releases/tag/v0.2.0?utm_source=thinkingelixir&utm_medium=shownotes) – Release details for ErrorTracker 0.2.0. - https://evilmartians.com/chronicles/soft-deletion-with-postgresql-but-with-logic-on-the-database (https://evilmartians.com/chronicles/soft-deletion-with-postgresql-but-with-logic-on-the-database?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post about hard and soft deletion with PostgreSQL. - https://x.com/josevalim/status/1821143821649948822 (https://x.com/josevalim/status/1821143821649948822?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim shares a tip on soft deletion with PostgreSQL. - https://dashbit.co/blog/soft-deletes-with-ecto (https://dashbit.co/blog/soft-deletes-with-ecto?utm_source=thinkingelixir&utm_medium=shownotes) – Article on implementing soft deletes with Ecto. - https://github.com/seanmor5/honeycomb (https://github.com/seanmor5/honeycomb?utm_source=thinkingelixir&utm_medium=shownotes) – New AI-centric library Honeycomb for fast LLM inference with Elixir and Bumblebee. - https://x.com/sean_moriarity/status/1820887135291085244 (https://x.com/sean_moriarity/status/1820887135291085244?utm_source=thinkingelixir&utm_medium=shownotes) – Sean Moriarity's announcement of Honeycomb library. - https://x.com/wojtekmach/status/1823339271731683743 (https://x.com/wojtekmach/status/1823339271731683743?utm_source=thinkingelixir&utm_medium=shownotes) – Wojtek Mach explains more about Hex.pm's "Bob" and its future directions. - https://github.com/erlef/build-and-packaging-wg/issues/80 (https://github.com/erlef/build-and-packaging-wg/issues/80?utm_source=thinkingelixir&utm_medium=shownotes) – Proposal on managing Erlang builds. - https://x.com/wojtekmach/status/1823374248569626638 (https://x.com/wojtekmach/status/1823374248569626638?utm_source=thinkingelixir&utm_medium=shownotes) – Further updates on Bob and Erlang builds. - https://jobs.apple.com/en-us/details/200562288/senior-software-engineer-elixir-environmental-systems (https://jobs.apple.com/en-us/details/200562288/senior-software-engineer-elixir-environmental-systems?utm_source=thinkingelixir&utm_medium=shownotes) – The Elixir developer position at Apple. - https://2024.elixirconf.com/schedule/#schedules (https://2024.elixirconf.com/schedule/#schedules?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf 2024 schedules are posted. - https://x.com/i/lists/1819858270737268846 (https://x.com/i/lists/1819858270737268846?utm_source=thinkingelixir&utm_medium=shownotes) – Twitter list of ElixirConf speakers. - https://2024.elixirconf.com/ (https://2024.elixirconf.com/?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf 2024 official website. - ElixirConf weekly hangouts with speakers at 11am CDT on Twitter. Talks span from August 28-30. 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)
News includes a new video by German Velasco explaining quote and unquote in Elixir macros, updates on the Hex.pm “Bob” project for pre-built Elixir and Erlang binaries, Sonic Pi sponsorships and support from Dashbit, the release of ElixirLS v0.23.0, and Google's recent antitrust ruling. We also cover new developments with the Error Tracker library, Florian Arens' guide to building a Phoenix HEEx component, and upcoming events at ElixirConf 2024, and more! Show Notes online - http://podcast.thinkingelixir.com/215 (http://podcast.thinkingelixir.com/215) Elixir Community News - https://x.com/germsvel/status/1820765760630706343 (https://x.com/germsvel/status/1820765760630706343?utm_source=thinkingelixir&utm_medium=shownotes) – German Velasco has a new short Elixir video explaining quote and unquote in macros. - https://github.com/hexpm/bob/pull/193 (https://github.com/hexpm/bob/pull/193?utm_source=thinkingelixir&utm_medium=shownotes) – The Hex.pm “Bob” project creates pre-built binaries of different Elixir and Erlang versions. This PR adds an Erlang build for MacOS. - https://x.com/wojtekmach/status/1819378019644936595 (https://x.com/wojtekmach/status/1819378019644936595?utm_source=thinkingelixir&utm_medium=shownotes) – Wojtek Mach shared his recent work on Twitter about the now merged PR for MacOS Erlang build. - https://x.com/josevalim/status/1820799818089836940 (https://x.com/josevalim/status/1820799818089836940?utm_source=thinkingelixir&utm_medium=shownotes) – Sonic Pi's creator, Sam Aaron, is seeking sponsorships as his Patreon support halved. José Valim shared that Dashbit supports him. - https://podcast.thinkingelixir.com/106 (https://podcast.thinkingelixir.com/106?utm_source=thinkingelixir&utm_medium=shownotes) – Episode 106 discusses SonicPi and its move to Elixir. - https://sonic-pi.net/ (https://sonic-pi.net/?utm_source=thinkingelixir&utm_medium=shownotes) – Sonic Pi allows writing Ruby code to generate live music. - https://x.com/lukaszsamson/status/1820384249054175636 (https://x.com/lukaszsamson/status/1820384249054175636?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirLS v0.23.0 released, announcement on Twitter/X. - https://elixirforum.com/t/elixirls-the-elixir-language-server/5857/225?u=lukaszsamson (https://elixirforum.com/t/elixirls-the-elixir-language-server/5857/225?u=lukaszsamson?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirLS v0.23.0 release announced with detailed information on ElixirForum. - https://github.com/elixir-lsp/elixir-ls/blob/v0.23.0/CHANGELOG.md (https://github.com/elixir-lsp/elixir-ls/blob/v0.23.0/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes) – Detailed changelog for ElixirLS v0.23.0. - https://elixirforum.com/t/errortracker-an-elixir-based-built-in-error-tracking-solution/65245 (https://elixirforum.com/t/errortracker-an-elixir-based-built-in-error-tracking-solution/65245?utm_source=thinkingelixir&utm_medium=shownotes) – New Error Tracker library for Elixir that adds a built-in error tracking solution. - https://github.com/elixir-error-tracker/error-tracker (https://github.com/elixir-error-tracker/error-tracker?utm_source=thinkingelixir&utm_medium=shownotes) – Error Tracker library allows inserting exceptions into the database and resolving them. - https://farens.me/blog/building-a-table-of-contents-component-for-a-phoenix-blog (https://farens.me/blog/building-a-table-of-contents-component-for-a-phoenix-blog?utm_source=thinkingelixir&utm_medium=shownotes) – Florian Arens wrote about building a Phoenix HEEx component to create a Table of Contents for a Markdown blog post. - https://github.com/leandrocp/mdex (https://github.com/leandrocp/mdex?utm_source=thinkingelixir&utm_medium=shownotes) – Uses MDEx to parse Markdown to HTML and Floki to parse HTML for headers. - https://x.com/wojtekmach/status/1819141239788523703 (https://x.com/wojtekmach/status/1819141239788523703?utm_source=thinkingelixir&utm_medium=shownotes) – Req gets file upload support with form uploads, including streaming files. - https://x.com/wojtekmach/status/1819119285920243803 (https://x.com/wojtekmach/status/1819119285920243803?utm_source=thinkingelixir&utm_medium=shownotes) – Wojtek Mach shows how Req now works as a distributed HTTP client with upload support. - https://x.com/bcardarella/status/1819431997179109792 (https://x.com/bcardarella/status/1819431997179109792?utm_source=thinkingelixir&utm_medium=shownotes) – New LiveView Native release candidate 0.3.0-rc.3 announced. - https://github.com/liveview-native/liveviewnative/blob/main/CHANGELOG.md (https://github.com/liveview-native/live_view_native/blob/main/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes) – Release mostly includes changes on configuration and setup. - https://finance.yahoo.com/news/us-judge-describes-google-built-224025324.html (https://finance.yahoo.com/news/us-judge-describes-google-built-224025324.html?utm_source=thinkingelixir&utm_medium=shownotes) – US court rules that Google illegally used monopoly powers in antitrust case. - Judge says, "Google is a monopolist, and it has acted as one to maintain its monopoly." - https://x.com/ElixirConf/status/1820510964481175736 (https://x.com/ElixirConf/status/1820510964481175736?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf 2024 weekly hangouts at 11am CDT to discuss with speakers. - https://x.com/i/lists/1819858270737268846 (https://x.com/i/lists/1819858270737268846?utm_source=thinkingelixir&utm_medium=shownotes) – Twitter list of ElixirConf speakers to follow. - https://2024.elixirconf.com/ (https://2024.elixirconf.com/?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf 2024 - August 28-30, featuring multiple speakers and sessions 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)
News includes Chris McCord's speedrun video on adding a self-hosted llama2-7b to an existing application, Tyler Young's release of parameterized_test v0.2.0, major updates in Oban Pro's new launch week, potential for CRDTs being added to Mnesia DB, Zach Daniel's blog post on Igniter for code generation, and a preview of ElixirConf 2024 with exciting speakers and topics, and more! Show Notes online - http://podcast.thinkingelixir.com/213 (http://podcast.thinkingelixir.com/213) Elixir Community News - https://x.com/chris_mccord/status/1815409966611648705 (https://x.com/chris_mccord/status/1815409966611648705?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord does a YouTube video speedrun of adding a self-hosted llama2-7b to an existing application. He's running it against Ollama and making REST API calls to it, showing how to run the Ollama server on a private Fly.io IPv6 network using auto-stop and auto-start features. - https://x.com/TylerAYoung/status/1815391743484870980 (https://x.com/TylerAYoung/status/1815391743484870980?utm_source=thinkingelixir&utm_medium=shownotes) – Tyler Young shared a new release of his library parameterizedtest, version v0.2.0, which includes support for longer test names, comments in tables, and Obsidian markdown table format. - https://github.com/s3cur3/parameterized_test (https://github.com/s3cur3/parameterized_test?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for Tyler Young's parameterizedtest library that makes it easier to create tests using multiple combinations in markdown tables. - https://x.com/Exadra37/status/1815694986345611683 (https://x.com/Exadra37/status/1815694986345611683?utm_source=thinkingelixir&utm_medium=shownotes) – The Mnesia database may receive native support for automated conflict resolution via CRDTs, sponsored by ErlangSolutions and developed by Vincent Lau. - https://www.youtube.com/watch?v=tHdPRyMjmW8 (https://www.youtube.com/watch?v=tHdPRyMjmW8?utm_source=thinkingelixir&utm_medium=shownotes) – Vincent Lau spoke at Code BEAM Europe 2023 about his work on adding CRDTs to Mnesia for automated conflict resolution. - https://www.erlang.org/doc/apps/mnesia/mnesia.html (https://www.erlang.org/doc/apps/mnesia/mnesia.html?utm_source=thinkingelixir&utm_medium=shownotes) – Documentation on Mnesia, a distributed key-value DBMS built into Erlang. - https://x.com/sorentwo/status/1791166342034255938 (https://x.com/sorentwo/status/1791166342034255938?utm_source=thinkingelixir&utm_medium=shownotes) – Oban Pro's launch week introduces unified migrations, worker aliases, better support for distributed databases, faster unique job checks, and the @job decorator for small jobs. - https://x.com/sorentwo/status/1807155900609904973 (https://x.com/sorentwo/status/1807155900609904973?utm_source=thinkingelixir&utm_medium=shownotes) – Improvements in Oban Pro include better batch workflows with mermaid visualizations. - https://getoban.pro/articles/pro-1-5-launch-week-day-1 (https://getoban.pro/articles/pro-1-5-launch-week-day-1?utm_source=thinkingelixir&utm_medium=shownotes) – Article on Oban Pro's launch week, detailing new features and improvements. - https://getoban.pro/articles/pro-1-5-launch-week-day-2 (https://getoban.pro/articles/pro-1-5-launch-week-day-2?utm_source=thinkingelixir&utm_medium=shownotes) – Second day of Oban Pro's launch week article series. - https://getoban.pro/articles/pro-1-5-launch-week-day-3 (https://getoban.pro/articles/pro-1-5-launch-week-day-3?utm_source=thinkingelixir&utm_medium=shownotes) – Third day of Oban Pro's launch week article series. - https://alembic.com.au/blog/igniter-rethinking-code-generation-with-project-patching (https://alembic.com.au/blog/igniter-rethinking-code-generation-with-project-patching?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post by Zach Daniel about Igniter, a tool for rethinking code generation with project patching, useful for installing libraries into existing Phoenix applications. - https://2024.elixirconf.com/ (https://2024.elixirconf.com/?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf 2024 Preview with details on scheduled speakers and topics. 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)
In this episode we dive into the exciting release of Elixir 1.17.0-rc.1 and other news from the community. Our main segment features an in-depth interview with Ellie Fairholm and Josep Giralt D'Lacoste about their new Elixir book "Engineering Elixir Applications - Navigate Each Stage of Software Delivery with Confidence." We explore their professional experiences, the concept of "BeamOps," and the unique DevOps challenges and advantages in the BEAM ecosystem. Ellie and Josep share insights about the writing process, their collaboration, and what's next for the book. Tune in to hear all this and more! Show Notes online - http://podcast.thinkingelixir.com/206 (http://podcast.thinkingelixir.com/206) Elixir Community News - https://x.com/josevalim/status/1797607009715691637 (https://x.com/josevalim/status/1797607009715691637?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim announces the release of Elixir 1.17.0-rc.1. - https://hexdocs.pm/elixir/1.17/gradual-set-theoretic-types.html (https://hexdocs.pm/elixir/1.17/gradual-set-theoretic-types.html?utm_source=thinkingelixir&utm_medium=shownotes) – Introduction to gradual set-theoretic types in Elixir 1.17. - https://github.com/elixir-lang/elixir/blob/v1.17/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/v1.17/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes) – Detailed changelog of Elixir 1.17.0-rc.1. - Added mix profile.tprof profiler in Erlang/OTP 27+ and Deprecated mix profile.cprof and mix profile.eprof. - https://2024.elixirconf.com/ (https://2024.elixirconf.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Information about ElixirConfUS 2024, including keynotes, speakers, and training. - David speaking on “Dancing with Data, Guide to ETLs” at ElixirConfUS 2024. - Mark speaking on “Elixir & AI - Creating Autonomous Agents with LangChain” at ElixirConfUS 2024. - https://dashbit.co/blog/elixir-ml-s1-2024-mlir-arrow-instructor (https://dashbit.co/blog/elixir-ml-s1-2024-mlir-arrow-instructor?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim's post on the Dashbit blog discussing the state of ML in Elixir in 2024. - https://mlir.llvm.org/ (https://mlir.llvm.org/?utm_source=thinkingelixir&utm_medium=shownotes) – Introduction of MLIR (Multi-Level Intermediate Representation) in Elixir's ML projects. - Broader ML/AI community and new projects in Elixir, including instructor_ex and Elixir LangChain. - https://x.com/germsvel/status/1796127412511551857 (https://x.com/germsvel/status/1796127412511551857?utm_source=thinkingelixir&utm_medium=shownotes) – German Velasco's video showcasing new OTP 27 process labels feature. - https://www.youtube.com/watch?v=XNQhDl4a9Ko (https://www.youtube.com/watch?v=XNQhDl4a9Ko?utm_source=thinkingelixir&utm_medium=shownotes) – Google algorithm leak exposed through a GitHub project explained using Elixir. - https://x.com/akoutmos/status/1796637514704273870 (https://x.com/akoutmos/status/1796637514704273870?utm_source=thinkingelixir&utm_medium=shownotes) – Akoutmos discusses the Google algorithm leak and its analysis using Elixir. - https://hexdocs.pm/googleapicontent_warehouse/api-reference.html (https://hexdocs.pm/google_api_content_warehouse/api-reference.html?utm_source=thinkingelixir&utm_medium=shownotes) – Hexdocs publish the Google algorithm API reference. - https://ipullrank.com/google-algo-leak (https://ipullrank.com/google-algo-leak?utm_source=thinkingelixir&utm_medium=shownotes) – Analysis of Google's algorithm leak and relevancy to Elixir. - https://x.com/PJUllrich/status/1796198764681506898 (https://x.com/PJUllrich/status/1796198764681506898?utm_source=thinkingelixir&utm_medium=shownotes) – Introducing Crawly, an application framework for web crawling and data extraction. - https://github.com/elixir-crawly/crawly (https://github.com/elixir-crawly/crawly?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for the Crawly web crawling framework. 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://pragprog.com/titles/beamops/engineering-elixir-applications/ (https://pragprog.com/titles/beamops/engineering-elixir-applications/?utm_source=thinkingelixir&utm_medium=shownotes) – PragProg book listing - https://twitter.com/pragprog/status/1779253657097117890 (https://twitter.com/pragprog/status/1779253657097117890?utm_source=thinkingelixir&utm_medium=shownotes) - https://twitter.com/sm_debenedetto/status/1779558393373409481 (https://twitter.com/sm_debenedetto/status/1779558393373409481?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.hashicorp.com/ (https://www.hashicorp.com/?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.erlang-solutions.com/ (https://www.erlang-solutions.com/?utm_source=thinkingelixir&utm_medium=shownotes) - https://opentofu.org/ (https://opentofu.org/?utm_source=thinkingelixir&utm_medium=shownotes) - https://xkcd.com/927/ (https://xkcd.com/927/?utm_source=thinkingelixir&utm_medium=shownotes) - https://en.wikipedia.org/wiki/Blue%E2%80%93green_deployment (https://en.wikipedia.org/wiki/Blue%E2%80%93green_deployment?utm_source=thinkingelixir&utm_medium=shownotes) - https://docs.docker.com/engine/swarm/ (https://docs.docker.com/engine/swarm/?utm_source=thinkingelixir&utm_medium=shownotes) 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) - Dave Lucia - @davydog187 (https://twitter.com/davydog187)
This week we're joined by Louis Pilfold, the creator of the Gleam programming language. For the uninitiated, Gleam is a functional programming language for building type-safe systems that compiles to Erlang and JavaScript and it's written in Rust. We discuss the inspiration and development of Gleam, how it compares to other languages, where it shines, the overwhelming amount of support Louis is getting through GitHub sponsors, what's next for Gleam and their near-term plans for a language server.