🏡


to read (pdf)

  1. Neobrutalism components - Start making neobrutalism layouts today
  2. Debunking zswap and zram myths
  3. Building a Pipeline for Agentic Malware Analysis | Tim Blazytko
  4. Study of Binaries Created with Rust through Reverse Engineering - JPCERT/CC Eyes | JPCERT Coordination Center official Blog
  5. Letting AI Actively Manage Its Own Context | 明天的乌云

  1. April 01, 2026
    1. 🔗 mandiant/capa v9.4.0 release

      This release includes Ghidra PyGhidra support, performance improvements, dependency updates, and 26 new rules. We'd like to thank the following contributors: @devs6186, Daniel Adeboye (@AdeboyeDN), Aditya Pandey (@EclipseAditya), aryanyk, Ben Knutson (@blenbot), @CosmoWorker, kamran ul haq (@kami922), @Maijin, @res2500, and others!

      New Features

      Breaking Changes

      New Rules (26)

      Bug Fixes

      • main: suggest --os flag in unsupported OS error message to help users override ELF OS detection @devs6186 #2577
      • render: escape sample-controlled strings before passing to Rich to prevent MarkupError @devs6186 #2699
      • rules: handle empty or invalid YAML documents gracefully in Rule.from_yaml and get_rules @devs6186 #2900
      • Fixed insecure deserialization vulnerability in YAML loading @0x1622 (#2770)
      • loader: gracefully handle ELF files with unsupported architectures kamranulhaq2002@gmail.com #2800
      • loader: handle SegmentationViolation for malformed ELF files @kami922 #2799
      • lint: disable rule caching during linting @Maijin #2817
      • vmray: skip processes with invalid PID or missing filename @EclipseAditya #2807
      • features: fix Regex.get_value_str() returning escaped pattern instead of raw regex @EclipseAditya #1909
      • render: use default styling for dynamic -vv API/call details so they are easier to see @devs6186 #1865
      • loader: handle struct.error from dnfile and show clear CorruptFile message @devs6186 #2442
      • address: fix TypeError when sorting locations containing mixed address types @devs6186 #2195
      • loader: skip PE files with unrealistically large section virtual sizes to prevent resource exhaustion @devs6186 #1989
      • engine/render: fix unbounded range sentinel precedence so count(...): N or more uses explicit ((1 << 64) - 1) @blenbot #2936
      • cache: support *BSD @williballenthin @res2500 #2949

      capa Explorer Web

      • webui: fix 404 for "View rule in capa-rules" by using encodeURIComponent for rule name in URL @devs6186 #2482
      • webui: show error when JSON does not follow expected result document schema; suggest reanalyzing for VT URLs @devs6186 #2363
      • webui: fix global search to match feature types (match, regex, api, …) @devs6186 #2349

      capa Explorer IDA Pro plugin

      Performance

      • perf: eliminate O(n²) tuple growth and reduce per-match overhead @devs6186 #2890

      Development

      • doc: document that default output shows top-level matches only; -v/-vv show nested matches @devs6186 #1410
      • doc: fix typo in usage.md, add documentation links to README @devs6186 #2274
      • doc: add table comparing ways to consume capa output (CLI, IDA, Ghidra, dynamic sandbox, web) @devs6186 #2273
      • binja: add mypy config for top-level binaryninja module to fix mypy issues @devs6186 #2399
      • rules: pre-filter extracted bytes with 4-byte prefixes for faster candidate selection instead of linear scan #2128
      • ci: deprecate macos-13 runner and use Python v3.13 for testing @mike-hunhoff #2777
      • ci: pin pip-audit action SHAs and update to v1.1.0 @kami922 #1131

      Raw diffs

    2. 🔗 Luke Muehlhauser Media diet for Q1 2026 rss

      Music

      Music I most enjoyed discovering this quarter:

      I also listened to a significant portion of the recorded works by each of the (new-to-me) composers listed below.2 My favorites pieces from them (names linked to playlists) were:

      • Oliver Davis (b. 1972): most of Flight (2015), most of Dance (2016), most of Liberty (2018), most of Arcadia (2019), most of Solace (2021), some of Air (2022), most of Blue (2023), most of Life (2025)
        • With these new listens, Davis has crossed the 5-hour mark as one of my favorite musical artists!
      • Marcus Paus (b. 1979): Decameron mvt 10 (2020), Tuba Mirum (2021), The War Cross mvt 15 (2023)
      • Federico Jusid (b. 1973): Tango Rhapsody mvt 3 (2010), Isabel "A Todo Galope" (2013), The English "Opening Credits" (2022)
      • Vladimir Martynov (b. 1946): Requiem "Sequentia" (1998), Passionslieder "Kommunionsgesange" (1977)
      • Aleksey Igudesman (b. 1973): Koberia Fantasy (2018), Joyful Variations (2020), Peace-acaglia (2024)
      • Russell Peck (b. 1945): some of Signs of Life II (1986)
      • Giancarlo Castro D'Addona (b. 1980): Concerto for Clarinet & Big Band (2005?), Tuba Concerto (2007), "Walking Faster" (2009), Concierto Sureño (2010), "Rhapsody for Talents" (2013), "Melk Abbey" (2017?)
      • Alexis Aranda (b. 1974): Concierto de Fuego para Violonchelo y Orquesta (2009), Piano Concerto No. 2 mvt 3 (2012), Flute Concerto “Acqua” mvts 2, 3 (2013), Double Concerto for Flute & Guitar mvts 1, 3 (2017)
      • Andrew Pearce (b. 1975): some of Maison Yves Rocher (2018)
      • Peter Breiner (b. 1957): some of Songs and Dances from the Silk Road (2003), Beatles Concerti Grossi Nos. 1-4 (1986), Beatles Concerti Grossi 5-9 (2018)
      • Tarquinio Merula (b. 1595): "Ciaccona" (1637)
      • Stuart Hancock (b. 1975): Violin Concerto mvt 3 (2005), "Variations on a Heroic Theme" (2007)
      • Daniel Freiberg (b. 1957): Latin American Chronicles mvt 3 (2015), Northern Journey (2017)
      • Loris Tjeknavorian (b. 1937): Dances Fantastic mvt 7 (1993), Ararat Suite mvts 3, 5, 7 (1998)
      • Srul Irving Glick (b. 1934): Old Toronto Klezmer Suite mvt 1 (1998)
      • José Alberto Pina (b. 1984): "A Mi Banda" (2003), "Himne a la Festa" (2006), "Crucifixus" (2008), The Bermuda Triangle (2009/2013), "Es Vedra" (2010), "The Legend of Maracaibo" (2011), The Island of Light (2013), The Ghost Ship (2017), Pompeii (2019), Dunkirk (2020), Sajelbon (2021), "Steel Overture" (2022), "Excalibur" (2023), "The Ambitious Plan" (2023), "The Scary Mountains" (2024), "Promesa" (2025), Cleopatra (2025)
      • Takashi Kako (b. 1947): "Medina" (1990), "The Wind of Gibraltar" (1992), Passage of the Gods mvts 1, 3 (2006)
      • Gediminas Gelgotas (b. 1986): "Extracadenza" (2015)
      • Krzesimir Debski (b. 1953): some of With Fire and Sword (1999), some of Ancient Tale (2003)
      • Kirill Richter (b. 1989): some of Chronos (2019), "In Memoriam" (2019), "Waltz No. 1" & "Waltz No. 3" (2025)
      • Saul Gomez Soler (b. 1982): some of Suite Al’Ariba (2018), "Gioia" (2020)
      • Alex Poelman (b. 1981): "1944" (2021)
      • Matej Mestrovic (b. 1969): some of Eat Suite (2014), Danube Rhapsody mvts 1, 2, 4 (2015), Chinese Rhapsody (2015), New England Rhapsody (2015), "Pleter" (2022)
      • Vaja Azarashvili (b. 1936): Piano Concerto No. 2 (2023)
      • Murat Kabardokov (b. 1986): "Baso Ostinato" (2015?), "Alla Barocco" (2015), Above the Mountains "Main Theme" (2017), "Hunderkuakua" (2021)
      • Masamichi Amano (b. 1957): "Tragedy Occurs Again" (1993), "Spy Swordsman Jubei and the Fivefold Group" (1998), "New Departure" (2000)
      • Can Atilla (b. 1969): "Yine Gel Ne Olursan Ol" (2008), Symphony of Love (2024)
      • Kim Andre Arnesen (b. 1980): "Cry of the Sea" & "The Strangers" (2016), Holy Spirit Mass "Amen" (2017)
      • Alexey Rybnikov (b. 1945): "Adagio for Cello & Strings in D Minor" (1981), Concerto Grosso No. 2 (2006)
      • Olli Mustonen (b. 1967): Concerto for 3 Violins mvts 1, 2, 4 (1998)
      • Vladimir Cosma (b. 1940): "Danse roumaine" (1972)
      • Harry Stafylakis (b. 1982): "Brittle Fracture" (2013), Arc of Horizon (2015), "Sun Exhaling Light" (2017), Symphony No. 1 "Holocene Extinction" (2017), "Atlas" (2018), Weighted (2019), "Source Code" (2019), "Focus" (2019), "To Wake and Find the World Still Burning" (2022), "Incinerate" (2022), Calibrating Frictions [album] (2023), Piano Concerto No. 1 "Mythos" (2023), Violin Concerto "On a Path to Singularity" (2024)
      • Joey Roukens (b. 1982): In Unison mvt 1 (2017)
      • Lee Che-Yi (b. 1970): Dancing Strings mvts 1 & 2 (2011), Lukang Impression (2017), Four Seasons in the Peach Garden mvt 4 (2018)
      • Jim Bonney (b. 1971): Chaos Theory (2000)
      • Chiel Meijering (b. 1954): "Slash" (1995), "The truth requires a hairier buck" (1996), "Rip Off" & "Joe Montana" (2001), "Joke" & "The Roof of Blue Glass" & "Rondo" (2007), The Pied Piper mvt 4 (2012)
      • Andy Scott (b. 1966): Dark Rain (2005), "Three Letter Word" (2010), Spirit of Mingus (2012)
      • Sergei Akhunov (b. 1967): Le quattro stagioni (2011)
      • Anton Batagov (b. 1965): Bodhicharyavatara "Adopting the Spirit of Awakening" (2009), The One Thus Gone mvt 4 (2016)
      • Howard Blake (b. 1938): Four Miniatures (orchestral) (1964), Concert Dances mvt 5 (1992)
      • Alexandre Rabinovitch-Barakovsky (b. 1945): La belle musique No. 3 (1977), Musique populaire (1980), "Liebliches Lied" (1980), Discours sur la delivrance (1982), La belle musique No. 4 (1987), Das tibetanische gebet (1987), 3 Invocations (1996), Incantations (1996), Schwanengesang an Apollo (1996), La triade (1998), Les six etats intermediaires (1998), Die Zeit (2000), Jiao (2004), Maithuna (2005)
        • With these new listens, Rabinovitch-Barakovsky has crossed the 5-hour mark as one of my favorite musical artists!
      • Sven Helbig (b. 1968): some of Pocket Symphonies (2013)
      • Yasushi Akutagawa (b. 1925): some of Village of Eight Gravestones (1977), Village of Eight Gravestones Suite (1977), Mt. Hakkoda Suite (1977)
      • Arash Safaian (b. 1981): UberBach (2016), This Is (Not) Beethoven (2019), "Lara" (2019), "Marie's Piece" (2023)
      • Michael Kurth (b. 1971): "May Cause Dizziness" (2010), Everything Lasts Forever mvt 3 (2012), A Thousand Words mvts 2, 3, 4 (2015), some of Miserere (2017), Origin Story (2023), "All Will Be Revealed" (2023), "Suspectivish" (2025)
      • Alexey Kurbatov (b. 1983): Sextet "Train" (2016)
      • Polina Nazaykinskaya (b. 1987): Nostalghia (2018), "A Summer Rain" & "Remembrance" (2020), "Songs for Tasya" (2021), Emily mvt 1 (2023)
      • Victoriano Valencia (b. 1970): "Siete Colores" (2003), "Sanjuanito" (2003), "Fandanguillo" (2003), Suite No. 1 (2003), "Gualajo y Candelo" (2004), "Leon Bambuco" (2004), "San Pelayo" (2005), "La gaïta de Arlington" (2006), Suite No. 2 (2007), "Fandanguería" (2007), "Mayito" (2007), "Juana Jacinta" (2008), "Espiritu" (2009), "El Mono" (2011), "Balin" (2012), Ritmos de la Tierra (2013), Suite de los Juegos (2013), "Macondo" (2015), "Puyax" (2017), Concerto for Clarinet & Band (2018), Concerto for Saxophone & Band (2019), Fandango! Secretos de La Rueda Oscura (2022)
      • Fahir Atakoglu (b. 1963): "Med Cezir" (1993), "12 + Lai" & "Yesilada" & "Demirkirat" & "Vals" (1994), some of East Side Story (2005), 15 Temmuz Destani (2020)
      • Roland Szentpali (b. 1977): "Blow on Fire" & "Cinder Dance" (2007), "Carmen Fantasy" (2007)
      • Giovanni Allevi (b. 1969): "Angelo Ribelle" (2006), "Mandella" (2012), Violin Concerto "La danza della strega" (2012), Piano Concerto No. 1 mvts 1, 3 (2017)
      • Kinan Azmeh (b. 1976): "Love on 139th Street in D" (2005), Ibn Arabi Suite mvt 3 (2013), In the Element mvt 3 (2018)
      • Pacho Flores (b. 1981): Cantos y Revueltas (2018), Albares (2022)
      • Masanori Taruya (b. 1978): "A Picture Book Without a Picture" & "Liberty Guiding the People" & "Magellan's Voyage to Unknown Continent" (2004), "Tears of the Princess Kushinada Flowing in Hii" (2012)
      • Li Bochan (b. 1992): "Ode to Chu" (2014), "Late Autumn" (2014), "Chant on Strings" (2016), "Bamboo Stone" (2017)
      • Cristian Carrara (b. 1977): Destinazione del Sangue mvt 3 (2008), "East West Romance" (2009), "A Little Tango to My Wife" (2011), "Liber Mundi" (2012), Slot Machine mvt 3 (2014), Machpelah mvt 2 (2015)
      • Andrew Staniland (b. 1977): The Laws of Nature mvts 1, 2 (2025)
      • Ilari Hylkila (b. 1978): "Return to the Indian Valley" (2002), "Reflection of Destiny" (2002), "Force" (2003), "Honor March" (2003), "Tristesse" (2003), "Dance of Giants" (2004), "Unknown Legend" (2005), "The Zest" (2007), "Hero Tale" (2008), "Sinia" (2008), "Cinclus Arctica" (2010), "Magical Forest" (2010), "Metalflare" (2010), "Nimia" (2012), "Sankar" (2012), "Waltz Unforgettable" (2014), "Wonderworld" (2014), Into the Wind (2015), "My Christmas Dream" (2016), "Taiga" (2018), "Dark" (2018), "Adorable Creatures" (2018), Saga (2018), "Yet" (2018), Lapland Imagery mvts 1, 5 (2020), "Echoes from Central Finland" (2025)
      • Kristjan Jarvi (b. 1972): "Aurora" (2016), "Kritical Mass" (2017), "Midnight Sun" (2019)
      • Mily Balakirev (b. 1837): Symphony No. 1 mvt 2 (1898)
      • Marcus Warner (b. 1996): "Africa" (2014), some of Oceans (2016), "Wintersong" (2017), "Tokyo Rain" & "Helsinki" (2018)
      • Efrain Oscher (b. 1974): some of Barroqueana Venezolanas 1-4 (2017), Barroqueana Sudamericana No. 1 (2018), Danzas Latinas (2019)
      • Wang Jianmin (b. 1956): Erhu Rhapsody No. 6 (2023)
      • Aldo Lopez-Gavilan (b. 1979): "Pan Con Timba" (2005), "La Jutia Preguntona" (2009), "Oddudua" (2011), "Epilogo" (2012)
      • Tuluyhan Ugurlu (b. 1968): "Yaşamımız Bu Toprakta" & "Allaturca" (2002), "A World Capital Istanbul" (2006)
      • Fang Dongqing (b. 1981): "A Dance of Fire" (2016)
      • Francisco Valor Llorens (b. 1979): most of Creu Daura (2006), Llegenda (2014), Dolca Mareta, les Llagrimes de Maria (2021), most of Francisco Valor in Live (2021), Mazon (2023), some of Suite Alcodianima (2023), some of Crucis Petra (2023), plus dozens of other short compositions
        • With these new listens, Valor Llorens has crossed the 5-hour mark as one of my favorite musical artists!
      • Hayato Hirose (b. 1974): "Marching Blues" (2005), "Norman Rockwell Suite" (2006), "The Bell of Hope" (2010)
      • M.M. Keeravani (b. 1961): Baahubali "Wkkb" (2015), RRR "The Water" (2022)
      • Rafael Mullor Grau (b. 1962): "Un moro mudejar" (1981)
      • Jose Rafael Pascual Vilaplana (b. 1971): "Cavall de Foc" (1996), "Jessica" (2000), "Falhanis" (2015), Out of Earth mvt 3 (2015), "Hernandiana" (2017)
      • Florian Christl (b. 1990): some of Inspiration (2018), "Glass" & "Timelapse" (2022), "Vienna" (2024)
      • Michele Mangani (b. 1966): "Clarinettomania" (2015), Clarinet Concerto mvts 1, 3 (2018)
      • Nancy Galbraith (b. 1951): "Danza de los Duendes" (1991), "Febris Ver" (2011), "Euphonic Blues" (2012), Effervescent Air (2012), Strange Travels (2013), Violin Concerto No. 1 mvts 1, 3 (2016), Everything Flows (2019)
      • Jose Maria Vitier (b. 1954): Mediopunto mvts 1, 3 (1977), Vitral mvts 1, 3 (1982), "Contradanza festiva" (1991), "Epílogo" (1993), "Rítmico" (2012)
      • José Suñer-Oriola (b. 1964): Vasa mvts 1, 3 (1999), El Jardín de las Hespérides mvt 4 (2014)
      • Ramón García i Soler (b. 1971): Oryza (2015)
      • Armand Amar (b. 1953): "To amo" & "La terre vue du ciel" (2004), "Mere et enfant" (2005), some of Home (2009), "La vallee de la solitude" (2014), some of Human (2015), some of L 'histoire de l'amour (2016), "Arrivee a Nice" & "La traversee" (2017)
      • Christopher Stark (b. 1980): "Velocity Meadows" (2015)
      • Hardy Mertens (b. 1960): "Viva El Litro" (2008)
      • Marek Bednar (Marc Cooper) (b. 1985): "Violin Sonata in E Minor" & "Flash Flood" & "Violin Concerto in D Minor" (2025), "The Awakening of Spring" & "The Weimar Punk-Opera" (2026)
      • George Deac (b. 1970): "Modul X-01" & "Polonaise: The Emperor's Entrance" & "Metamorphosis" & "Neon Shadows" & "The Hero's Return" & "Midnight in Andalusia" & "The Clockwork Machine" & "Elegy for a Forgotten Princess" & "The Broken Waltz" & "St. Petersburg Nocturne" & "Clarinet Dance in Central Park" & "Starlight Farewell" & "Oracle of the Cold Moon" (2026)
      • Mario Burki (b. 1977): "Napoleon" (2009), "Milestone" (2013), La Corrida de Toros (2016), Utinam (2021)
      • Roland Batik (b. 1951): Piano Concerto No. 1 mvt 3 (1993)
      • Gordon Hamilton (b. 1982): "Baby Steps First" (2014), Thum Prints (2015), "482 Variations on a Very Short Theme" (2016)
      • Simon Dobson (b. 1981): "Firefly" (2015), "Clash" (2016)
      • Hugo Chinesta (b. 1977): The Gates of the Alhambra mvt 4 (2007), The Angel of the Apocalypse (2019)
      • Valgeir Sigurosson (b. 1971): "Past Tundra" (2011), "Ancor che col partire" (2013)
      • MAias Alyamani (b. 1981): "Dance" & "Zainno el Marje" (2010), most of White (2011), "Al Ad'am" (2012), most of Offstage (2014), most of A Decade of MAqam Ensemble (2018), "Najaz" (2019), "Reborn" (2020)
      • Dimitri Cervo (b. 1968): "Uguabe" (1999), "Toronuba" (2000), "Brasil Amazonico" (2005), "Toro-Lobiana" (2007), Flute Concerto mvts 1, 3 (2008), "Abertura Brasil 2012" (2012), "Abertura 2014" (2014), Suite Concertante (2017), "Abertura Brasil 2018" (2018), Trombone Concerto (2018)
      • Nuno Corte-Real (b. 1971): Folias (2024)
      • Juan J. Colomer (b. 1966): some of Sorolla: Vision of Spain (2013), Sorolla Breve Suite (2022)
      • Vakhtang Kakhidze (b. 1959): "Satyr's Dance" (1989), Blitz Fantasy mvt 4 (2000)
      • Abraham Cupeiro (b. 1980): some of Os Sons Esquecidos (2017), Pangea (2020), some of Mythos (2024)
      • Tielman Susato (b. ~1510): some of Danseyre (1551)
      • Chen Gang (b. 1935): "Golden Hearth" (1972), "Deep Gratitude" (1974), "Drum and Song" (1976)
      • Gauthier Dupertuis (b. 1997): "Terminal" (2025)
      • Katahj Copley (b. 1998): "Grosso Blue" (2018), "HayWire" (2018), "Infinity" (2020), "Halcyon Hearts" (2021), "In Living Color" (2021), "Uptilt" (2021), "Equinox" (2021), "Havens" (2022), "Iridessi" (2023)
      • Jeff Tyzik (b. 1951): "Fire Dance" (1978), "Blues Suite for String Orchestra" (1985), "Skater's Overture" (1996), New York Cityscape (2008), "Riffs" (2009), Images (2012), "Dream Sequence for Flute and Orchestra" (2015), "Three Latin Dances" (2018), "Give My Regards to George" (2020), Dance Suite for Oboe, String Orchestra, and Piano (2021), Jazz Concerto for Soprano Saxophone (2023)
      • Ricardo Molla Albero (b. 1992): Finisterrai (2022)
      • Nunzio Ortolano (b. 1967): "Russian Melodies" (1999), "Texas" (2000), "Event" (2001), "Giuditta" (2001), "Preludio e Marcia" (2001), "I Tre Puntini" (2005), "Prelude for Concert" (2007), "Manola" (2008), "Tano Tano" (2014)
      • Alexander Litvinovsky (b. 1962): some of Consort Lessons (1999), "Steps Upward" (2001), "Theatre" & "L'incendie" & "La fin de la guerre" (2015), "Procession du crepuscule" & "Melisande au rouet" (2021), "In fuga dai briganti" & "Volare sul Colombo" (2022), "Morning Jogging" & "Playful Goatlings" (2023), "Games and Fun (2024)
      • Soon Hee Newbold (b. 1974): "American Landscape" (2006), "Angel City" (2025), "The Iliad" (2025)
      • Greg Dombrowski (b. 1983): "Birth of a Hero" (2018), some of Heart of Darkness (2019), "Manifesto" & "Past in Flames" & "The Immortalist" (2020), "Reprise" (2020), "Born a Legend" & "To Boldly Go" (2021),
      • Anthony Fiumara (b. 1968): "As I Opened Fire" (2014), "Here Comes Everybody" (2017)
      • Jaz Coleman (b. 1960): Magna Invocatio (2018)
      • Lino Guerreiro (b. 1977): "Maud'Adib" (2008), "Fanfare Overture" (2013), "Mazurkax" (2014), "al-Uqsur" (2015), Balkan (2019)
      • Carlos Marques (b. 1973): "Artis Calambria" (2011)
      • Carl Wittrock (b. 1966): "Lord Tullamore" (2001), "Journey of the Half Moon" (2017)
      • Filippo Ledda (b. 1975): "Argon" (2018)
      • Marcel Khalife (b. 1950): "Mare" (1998), Andalusian Suite for Oud and Orchestra (2002), Sharq (2007), Arabian Concerto (2008), "Achikain" (2016)
      • Francois Rousselot (b. 1984): "New World Coming" & "The Lost World" & "World of Wonders" (2015), Live Epic Orchestra (2021), "Hope Is Reborn" & "Strat of Adventure" (2022), "Bird Flight" (2023), "Weigh Anchor" & "Raising the Sails" & "The Final Treasure" (2026)
      • David Fanshawe (b. 1942): "Trafalgar" (2005), Pacific Song mvts 2, 3 (2007)
      • Jim Papoulis (b. 1961): "Sing for Peace" (2004), "Can You Hear" (2005), "Oye" (2006), "Stand Together" (2008), "Kusimama" (2011), "Sililiza" (2012), "Juntos" (2013), "There Is Peace" (2015), "We Are the Voices" (2015), "Regalando Belleza" (2017), "Sing to Bring Us Together" (2018), "I Will Raise My Voice" (2019)
      • Gu Guanren (b. 1942): Spring Suite mvts 2, 3, 5 (1979)
      • Robert Davidson (b. 1965): From to Here (2020)
      • Guido Lopez-Gavilan (b. 1944): "Camerata en Guaguanco" (1983), Por el Mar de las Antillas Anda un Violin mvt 3 (2003), "Ritmotiv" (2006)
      • Lukas Hurnik (b. 1967): Variations on the Theme by Frank Zappa (2003)
      • Conni Ellisor (b. 1953): Blackberry Winter mvts 1, 3 (1995), "The Littlest Star" (2000), Broad Band of Light (2012), Tres Danzas de Vida mvt 3 (2013), "The Bell Witch Dances" (2014)
      • Iiro Rantala (b. 1970): "Pizzitaxi" (1990), "Topi" & "Final Fantasy" & "Tango Ouh" (1993), "Tango Dada" (1995), some of Sisu (1997), "Proko-type of Polka" & "Another Ragtime" (1998), Piano Concerto in G-Sharp Major / A-Flat Major mvt 3 (2002), "A Concert Tango" (2002), "Beba" & "Third Ball" (2005), Jouluoratorio "Intro" (2012), Veneziana (2023)
      • Azael Tormo Munoz (b. 1966): "Malaguenya de Barxeta" (2018), "Escenas de Carnaval" (2024)
      • Christiaan Janssen (b. 1974): "Impresiones de Estepona" (2024)
      • Randall Standridge (b. 1976): "Choose Joy" (2022), "Groovitude" (2025)
      • Timothy Shortell (b. 2002): "Onward" (2019), "Convergence" & "Shattered Destiny" (2020)
      • Law Wai Lun (b. 1944): Prince Sang Nila Utama and Singa (2003), The Celestial Web (2003), Journey Through Taoyuan mvts 1,3 (2021)
      • Philippe Geiss (b. 1961): "Medina" (2004), United Colors of Saxophones (2009), "Foxy Music" (by 2011), "Sax Heroes" (2011), "Sir Patrick" (2012), "Klezmer Salsa" (by 2012), "Zerbace" (2016), several other short pieces (years unknown)
      • Francois Dompierre (b. 1943): Piano Concerto in A Major (1978), Les Diableries mvts 3, 5 (1979), "Celeste" (1988), "Maxime Theme" (1994), "Frenetique" (2012), "Partance" (2022)
      • Wlodek Pawlik (b. 1958): "Let's All Go to Heaven" & "Magic Seven" (2009), some of Night in Calisia (2013), some of America (2015)
      • Clint Needham (b. 1981): "Urban Sprawl" (2011), "Free Radicals" (2017)
      • Plus the following composers for which I didn't "strongly like" any of their pieces I listened to: Leo Brouwer (b. 1939), Soren Hyldgaard (b. 1962), Efrem Podgaits (b. 1949), Karol Beffa (b. 1973), Fabien Waksman (b. 1980), Eric Tanguy (b. 1968), Robin Holloway (b. 1943), Peter Seabourne (b. 1950), Rick Sowash (b. 1950), Fabian Muller (b. 1964), Jerome Ducros (b. 1974), Kareem Roustom (b. 1971), John Estacio (b. 1966), Joep Franssens (b. 1955), Richard Galliano (b. 1950), Herman Beeftink (b. 1953), Lorenzo Palomo (b. 1938), Ian Clarke (b. 1964), Stephen Lias (b. 1966), Jeff Manookian (b. 1953), Gabriela Montero (b. 1970), Jukka Linkola (b. 1955), Ney Rosauro (b. 1952), Boris Pigovat (b. 1953), Bert Appermont (b. 1973), Ilya Demutsky (b. 1983), Paul Desenne (b. 1959), Gonzalo Grau (b. 1972), Franco Cesarini (b. 1961), Kassia (b. ~810), Alexander Comitas [Eduard de Boer] (b. 1957), Yared (b. 505), Kevin Lau (b. 1982), Jiang Kui (b. 1155), Wlad Marhulets (b. 1986), Ofer Ben-Amots (b. 1955), Paul Dresher (b. 1951), Valery Gavrilin (b. 1939), Ugis Praulins (b. 1957), Alla Pavlova (b. 1952), Esteban Benzecry (b. 1970), Kaoru Wada (b. 1962), Jose Elizondo (b. 1972), Jerod Impichchaachaaha' Tate (b. 1968), Paul Hart (b. 1945), Julian Cochran (b. 1974), Juan Pablo Contreras (b. 1987), Kalevi Aho (b. 1949), Joel Puckett (b. 1977), Tania Leon (b. 1943), Stamatis Spanoudakis (b. 1948), Thierry Deleruyelle (b. 1983), Fernando Velazquez (b. 1976), Arturo Rodriguez (b. 1976), Anton García Abril (b. 1933), Luis Serrano Alarcon (b. 1972), Enjott Schneider (b. 1950), Paul Carr (b. 1961), Kevin Houben (b. 1977), Addie Muljadi Sumaatmadja (b. 1959), Ryan Cayabyab (b. 1954), Ashenafi Kebede (b. 1938), Ahmad Pejman (b. 1935), Adil Bestybayev (b. 1959), Fred Onovwerosuoke (b. 1960), Narongrit Dhamabutra (b. 1962), Nkeiru Okoye (b. 1972), Justinian Tamusuza (b. 1951), Christian Onyeji (b. 1967), Vu Viet Anh (b. 1978), Nguyen Van Nam (b. 1932), Majid Entezami (b. 1948), Muammer Sun (b. 1932), Cetin Isikozlu (b. 1939), Dnu Huntrakul (b. 1950), Josefino "Chino" Toledo (b. 1959), Njane Mugambi (b. 197?), Shaka Marko (b. 2000), Francisco Zumaque (b. 1945), Jorge Pinzon (b. 1968), Victor Agudelo (b. 1979), Ali Osman (b. 1958), Salim Dada (b. 1975), Steve Dobrogosz (b. 1956), Luke Howard (b. 1978), Ante Grgin (b. 1945), Eleni Karaindrou (b. 1939), Ara Gevorgyan (b. 1960), Francesco Tristano (b. 1981), Leonid Desyatnikov (b. 1955), Osama Abdulrasol (b. 1968), Rahim AlHaj (b. 1967), Taro Iwashiro (b. 1965), Stacy Garrop (b. 1969), Marc-Andre Hamelin (b. 1961), Fernando Otero (b. 1972), Koichi Sugiyama (b. 1931), Robert Jager (b. 1939), Peeter Vahi (b. 1955), Bill Douglas (b. 1944), Alexander Peskanov (b. 1955), Paul Reade (b. 1943), Ma Shui-long (b. 1939), Aldemaro Romero (b. 1928), Murad Kazhlayev (b. 1931), Albert Schnelzer (b. 1972), Mike Mower (b. 1958), Tobias Brostrom (b. 1978), Eugen Doga (b. 1937), Erkki-Sven Tuur (b. 1959), Vincent Ho (b. 1975), Yasuhide Ito (b. 1960), Valerie Coleman (b. 1970), Enrico Chapela (b. 1974), Dan Visconti (b. 1982), Bernhard Gander (b. 1969), Gian Piero Reverberi (b. 1939), Stewart Copeland (b. 1952), Holly Harrison (b. 1988), Earl Maneein (b. 1976), David Wallace (b. 1970), Christian Kolonovits (b. 1952), Regis Campo (b. 1968), Richard Dubugnon (b. 1968), Gene Pritsker (b. 1971), B. Tommy Andersson (b. 1964), Go Shiina (b. 1974), Pierre Jalbert (b. 1925), Robert Paterson (b. 1970), Paul Stanhope (b. 1969), Rene Eespere (b. 1953), Hanna Kulenty (b. 1961), Mieczyslaw Weinberg (b. 1919), Arno Babajanian (b. 1921), Andrei Eshpai (b. 1925), Sulkhan Tsintsadze (b. 1925), Igor Frolov (b. 1937), Tikhon Khrennikov (b. 1913), Anatoly Lyadov (b. 1855), Blas Galindo (b. 1910), Boris Papandopulo (b. 1906), John White (b. 1936), York Bowen (b. 1884), Lars-Erik Larsson (b. 1908), Doreen Carwithen (b. 1922), Dag Wiren (b. 1905), Walter Piston (b. 1894), Radames Gnattali (b. 1906), Coleridge-Taylor Perkinson (b. 1932), Lera Auerbach (b. 1973), Dani Howard (b. 1993), Cheryl Frances-Hoad (b. 1980), Helen Grime (b. 1981), Caio Faco (b. 1992), Edward W. Hardy (b. 1992), Karin Rehnqvist (b. 1957), Kuzma Bodrov (b. 1980), Outi Tarkiainen (b. 1985), Augusta Read Thomas (b. 1964), George Benjamin (b. 1960), Mischa Zupko (b. 1971), Heather Schmidt (b. 1974), Uljas Pulkkis (b. 1975), Richard Prior (b. 1966), Wouter Lenaerts (b. 1981), Kevin Day (b. 1996), Bechara El-Khoury (b. 1957), Francisco Jose Martinez Gallego (b. 1969), Leszek Mozdzer (b. 1970), Chang Su Koh (b. 1970), Alexander Tchaikovsky (b. 1946), Christian Lindberg (b. 1958), Mikhail Bronner (b. 1952), Yo Goto (b. 1958), Andres Valero-Castells (b. 1973), Martin Romberg (b. 1978), Bob Chilcott (b. 1955), Krzysztof Herdzin (b. 1970), James Swearingen (b. 1947), Martin Bresnick (b. 1946), Torstein Aagaard-Nilsen (b. 1964), Ian Cusson (b. 1981), Ronaldo Miranda (b. 1948), Odaline de la Martinez (b. 1949), Jack Stamp (b. 1954), Anthony DiLorenzo (b. 1967), Andres Martin (b. 1981), Kow Otani (b. 1957), Tracy Silverman (b. 1960), Wang I-Yu (b. 1981), Peter Eotvos (b. 1944), Chris Thile (b. 1981), Jose Evangelista (b. 1943), Maxime Goulet (b. 1980), David Heath (b. 1958), Yosuke Fukuda (b. 1982), Gil Shohat (b. 1973), James Lee III (b. 1975), Ricardo Lorenz (b. 1961), Thierry Huillet (b. 1965), Sean O'Loughlin (b. 1972), Jake Runestad (b. 1986), Naji Hakim (b. 1955), David Rivas Domínguez (b. 1980), Nicola Campogrande (b. 1969), Eduardo Alonso-Crespo (b. 1956), Andrea Tarrodi (b.1981), Joe Cutler (b. 1968), Gordon Chin (b. 1957), Martín Palmeri (b. 1965), Thomas Hewitt Jones (b. 1984), Itaru Sakai (b. 1970), Elena Ruehr (b. 1963), Lorenzo Pusceddu (b. 1964), Joe Chindamo (b. 1961), Patrick Cassidy (b. 1956), Yasuharu Takanashi (b. 1963), Maximo Diego Pujol (b. 1957), Rihards Dubra (b. 1964), Stella Sung (b. 1959), Teo Aparicio-Barberán (b. 1967), John Harle (b. 1956), Gavin Higgins (b. 1983), Victoria Borisova-Ollas (b. 1969), Lev "Ljova" Zhurbin (b. 1978), Claudia Montero (b. 1962), Mikolaj Majkusiak (b. 1983), Rob Smith (b. 1968), Roshanne Etezady (b. 1973), Noizgenie (b. ????), Wings of Fates (b. 19??), Ruben Dario Gomez (b. 1973), Fritz Kreisler (b. 1875), Roberto Di Marino (b. 1956), Alexander L'Estrange (b. 1974), Nicholas Lens (b. 1957), Guillermo Lago (Willem van Merwijk) (b. 1960), Richard Einhorn (b. 1952), Dave Maric (b. 1970), Robert Honstein (b. 1980), Mikael Karlsson (b. 1975), Paul Halley (b. 1952), Hirokazu Fukushima (b. 1971), Carlos Pellicer (b. 1981), Ryan George (b. 1978), Armando Ghidoni (b. 1959), Eiji Suzuki (b. 1965), Richard Saucedo (b. 1957), Vivian Fung (b. 1975), Patrick Zimmerli (b. 1968), Gareth Glyn (b. 1951), Christopher Tyler Nickel (b. 1978), Aleksandar Simic (b. 1973), Wang Chenwei (b. 1988), Efrain Amaya (b. 1959), Veljo Tormis (b. 1930), Nikita Koshkin (B. 1956), Eduardo Gamboa (b. 1960), Hasan Niyazi Tura (b. 1982), Evencio Castellanos (b. 1915), Chung Yiu-Kwong (b. 1956), Anatoly Kalvarsky (b. 1934), John Carmichael (b. 1930), Vadim Bibergan (b. 1937), Charles Camilleri (b. 1931), Igor Andric (b. 1996), Qasim Naqvi (b. 1977), Milos Bok (b. 1968), Oguzhan Balci (b. 1977), Eduardo Angulo (b. 1954), Toshio Mashima (b. 1949), Tolibkhon Shakhidi (b. 1946), Andrey Rubtsov (b. 1982), Niels Marthinsen (b. 1963), Carlos Franzetti (b. 1948), Antti Martikainen (b. 1985), Jo Blankenburg (b. 1972), Jeroen D'hoe (b. 1968), Michael John Trotta (b. 1978), Hilarion Alfeyev (b. 1966), Filip Ceunen (b. 1983), Jesus Orielso Santiago Jacome (b. 1968), Juan Jose Ramírez Gomez (b. 196?), Nikola Resanovic (b. 1955), Yalil Guerra (b. 1973), Jaan Raats (b. 1932), Lior Navok (b. 1971), Alejandro Vinao (b. 1951), Gernot Wolfgang (b. 1957), Chris Pilsner (b. 1986), Jose Ignacio Blesa Lull (b. 1982), Mzilikazi Khumalo (b. 1932), Peter Louis van Dijk (b. 1953), Qinisela Sibisi (b. 1963), Santiago Quinto Serna (b. 1971), Jean-Pascal Beintus (b. 1966), Nicola Vicentino (b. 1511), Anthony Philip Heinrich (b. 1781), Claude T. Smith (b. 1932), Valery Saparov (b. 1947), Peng-Peng Gong (b. 1992), Thomas Enhco (b. 1988), Carlo Boccadoro (b. 1963), Eino Tamberg (b. 1930), He Zhanhao (b. 1933), Nikolai Rakov (b. 1908), William Mathias (b. 1934), Jesus Guridi (b. 1886), Edmundo Villani-Cortes (b. 1930), Alexei Machavariani (b. 1913), Yuzo Toyama (b. 1931), Jeno Hubay (b. 1858), Selim Palmgren (b. 1878), Charles de Beriot (b. 1802), Federico Moreno Torroba (b. 1891), Arthur Benjamin (b. 1893), Mark Isaacs (b. 1958), Ivan Torrent (b. 1978), Ryan Amon (b. 1978), Gerrit Wunder (b. 1978), Piet Swerts (b. 1960), Philip Harper (b. 1973), Ken Steven (b. 1993), Katerina Gimon (b. 1993), Paolo Ugoletti (b. 1956), Michael Schelle (b. 1950), Baptiste Trotignon (b. 1974), Penka Kouneva (b. 1967), Miguel Kertsman (b. 1965), Maciej Zielinski (b. 1971)

      Rediscovered or revisited, and really liked:

      • Yngwie Malmsteen: Rising Force (1984), "Trilogy Suite" (1986), "Leviathan" (1992), "Overture 1622" (1995), Concerto Suite for Electric Guitar and Orchestra (1998), some of Spellbound (2012), some of World on Fire (2016)

      I also listened to a significant portion of the recorded works by each of the (not new-to-me) composers listed below.3 My favorites pieces from them (names linked to playlists) were:

      • Richard Harvey (b. 1953): most of Concerto Antico (1995)
      • Toshiyuki Honda (b. 1957): Metropolis "Metropolis" & "Run" (2001)
      • Nicholas Britell (b. 1980): "Billie Jean King" & "Bobby Riggs" (2017), "The War in Afghanistan" & "The Iraq War Symphony" (2018), "Succession Main Theme" & "Strings con Fuoco" (2019), Don 't Look Up (2021)
      • Tony Banks (b. 1950): "Blade" (2011)
      • Volker Bertelmann (b. 1966): Drowning (2015), some of All Quiet on the Western Front (2022)
      • Abel Korzeniowski (b. 1972): W.E. (2012), Romeo & Juliet (2013), some of Penny Dreadful (2014), "Wayward Sisters" (2016), "Ghost Waltz" (2016), "Maybe We Are Only Two People" (2021), some of Emily (2022)
      • Ibrahim Maalouf (b. 1980): some of Diagnostic (2011), Levantine Symphony No. 1 (2018)
      • Richard Addinsell (b. 1904): "Warsaw Concerto" (1941)
      • Florent Ghys (b. 1979): "Hommage a Kevin Volans" (2007), "Phase parisienne" (2011), "Friday 3PM" & "Thursday Afternoon" (2016)
      • Thomas Ades (b. 1971): Asyla mvt 3 (1997), Dante "The Thieves" & "The Ascent" (2020)
      • Brian Tyler (b. 1972): "Iron Man 3" (2013), "Thor: The Dark World" & "Thor, Son of Odin" (2013), "Formula 1 Theme" (2018)
      • Jean-Michel Blais (b. 1984): "Nostos" (2016), some of Aubades (2022)
      • Poppy Ackroyd (b. 1982): "Light" (2018)
      • Motoi Sakuraba (b. 1965): "Gwynevere, Princess of Sunlight" (2011), "Sinh, the Slumbering Dragon" (2014)
      • Giacomo Puccini (b. 1858): "O mio babbino caro" (1918), "Nessun dorma" (1926)
      • Tyondai Braxton (b. 1978): "The Violent Light Through Falling Shards" (2005), Central Market (2009)
      • Basil Poledouris (b. 1945): some of Conan the Barbarian (1982), Sword and Sorcery Spectacular (1983), "Hymn to Red October" (1990), Quigley Down Under "Main Title" & "The Fight" (1990), "The Tradition of the Games" (1996)
      • Plus the following composers for which I didn't "strongly like" any of their pieces I listened to: John Luther Adams (b. 1953), Somei Satoh (b. 1947), Jeroen van Veen (b. 1969), Lepo Sumera (b. 1950), Urmas Sisask (b. 1960), Orlando Gough (b. 1953), Tarik O'Regan (b. 1978), Sebastian Fagerlund (b. 1972), Christopher Cerrone (b. 1984), Jorg Widmann (b. 1973), Rick Wakeman (b. 1949), Laurie Anderson (b. 1947), Kelly-Marie Murphy (b. 1964), Esa-Pekka Salonen (b. 1958), Goran Bregovic (b. 1950), Steven Mackey (b. 1956), Krzysztof Penderecki (b. 1933), Michael Thomas Foumai (b. 1987), Jon Gibson (b. 1940), Charles Ives (b. 1874), Arthur Honegger (b. 1892), Frederick Delius (b. 1862), Fredrik Hogberg (b. 1971)

      Movies/TV

      Ones I "really liked" (no star), or "loved" (star):

      • Various: It 's Always Sunny in Philadelphia, season 15 (2021)
      • Various: The Great , season 1 (2020) ★
      • Various: The Great , seasons 2-3 (2021-2023)
      • Nash Edgerton: Mr. Inbetween , seasons 1-3 (2018-2021)
      • Yorgos Lanthimos: Bugonia (2025) ★
      • Drew Hancock: Companion (2025)
      • Josh Safdie: Marty Supreme (2025) ★
      • George Miller: Furiosa: A Mad Max Saga (2024) ★
      • Weronika Tofilska & Josephine Bornebusch: Baby Reindeer (2024)
      • Tim Kirkby & Harry Bradbeer: Fleabag , seasons 1-2 (2016-2019)
      • Nathan Fielder: The Rehearsal , seasons 1-2 (2022-2025) ★
      • David Zellner & Nathan Zellner: The Curse (2024) ★
      • John Wilson: How To with John Wilson , seasons 1-2 (2020-2021)

      Games

      All games I finished or decided to stop playing:

      • [none]

      Standup comedy

      • Ricky Gervais: Humanity (2018), SuperNature (2022)
      • Ronny Chieng: Asian Comedian Destroys America (2019)
      • Tom Papa: You 're Doing Great (2020)
      • Julia Sweeney: God Said Ha! (1995)
      • Doug Stanhope: The Great White Stanhope (1998), Oslo: Burning the Bridge to Nowhere (2011)
      • Joe List: This Year 's Material (2022)
      • Romesh Ranganathan: Irrational (2016), The Cynic (2025)
      • Ray Romano: Live at Carnegie Hall (2001)
      • Ari Shaffir: America 's Sweetheart (2025)
      • Dustin Nickerson: 30 Isn 't Old, But It Is Almost Old (2024)
      • Michelle Wolf: Joke Show (2019)
      • Phoebe Waller-Bridge: Fleabag (2019)
      • Mike Birbiglia: My Girlfriend 's Boyfriend (2013)
      • Louis CK: Oh My God (2013), Live at the Comedy Store (2015), Back to the Garden (2023)
      • Nate Bargatze: The Greatest Average American (2021)
      • Elon Gold: Chosen and Taken (2014)
      • Ken Kirkman: Just Keep Livin? (2017)
      • Patton Oswalt: No Reason to Complain (2004)
      • Dan Soder: On the Road (2024)
      • Dylan Moran: Monster (2004)
      • Mark Normand: Still Got It (2014), Soup to Nuts (2023)
      • Phil Hanley: Ooh La La (2022)
      • Rachel Feinstein: Big Guy (2024)
      • Nick Mullen: The Year of the Dragon (2023)
      • Simon Amstell: Numb (2012)
      • Ismo: Hello (2026)

      Books

      I post book ratings and reviews to my Goodreads account instead of here.

      1. A remix of Mozart's "Lacrimosa" from K. 626.
      2. The pieces I listened to for each composer were: Davis, Brouwer, Paus (plus a few film scores), Jusid (plus a few film scores), Martynov, Podgaits, Beffa, Waksman, Tanguy, Holloway, Seabourne, Sowash, Muller, Ducros, Roustom, Estacio, Franssens, Galliano, Beeftink, Palomo, Igudesman, Clarke, Peck, D'Addona, Aranda, Lias, Pearce, Manookian, Montero, Linkola, Rosauro, Pigovat, Breiner, Appermont, Merula, Demutsky, Hancock (plus several film/TV scores), Desenne, Freiberg, Grau, Cesarini, Kassia, Comitas, Yared, Lau, Jiang, Tjeknavorian, Marhulets, Glick, Ben-Amots, Dresher, Pina, Gavrilin, Kako (plus some TV/film scores and jazz albums), Praulins, Pavlova, Gelgotas, Benzecry, Wada (plus a few film/TV scores), Elizondo, Tate, Hart, Cochran, Contreras, Aho, Puckett, Leon, Debski (plus some film scores), Richter, Soler, Poelman, Mestrovic, Azarashvili, Spanoudakis, Kabardokov, Deleruyelle, Amano (plus several film/TV scores), Velazquez, Rodriguez, Abril (plus several film/TV scores), Alarcon, Schneider, Carr, Houben, Sumaatmadja, Cayabyab, Kebede, Pejman, Atilla, Bestybayev, Onovwerosuoke, Dhamabutra, Okoye, Tamusuza, Onyeji, Vu, Nguyen, Entezami (plus a few film scores), Sun, Isikozlu, Huntrakul, Toledo, Mugambi, Marko, Zumaque, Pinzon, Agudelo, Osman, Dada, Dobrogosz, Howard, Grgin, Karaindrou (plus lots more music for films and plays), Gevorgyan, Tristano, Arnesen, Desyatnikov, Abdulrasol, AlHaj, several film/TV/videogame scores by Iwashiro, Garrop, Hamelin, Otero, Rybnikov, all the Dragon Quest symphonic suites by Sugiyama, Jager, Vahi, Douglas, Mustonen, Peskanov, Reade, Ma, Romero, Kazhlayev, Cosma (plus several film/TV scores), Stafylakis, Roukens, Schnelzer, Mower, Lee, Bonney, Meijering, Brostrom, Scott, Doga (plus several film scores and Film Music Vols. 1-4), Tuur, Ho, Ito, Coleman, Chapela, Visconti, Gander, Reverberi, Copeland (plus a few film scores), Harrison, Maneein (plus a few metal albums), Wallace, Kolonovits, Campo, Dubugnon, Pritsker, Akhunov, Andersson, Batagov, Blake (plus several film scores), several film/TV/videogame scores by Shiina, Rabinovitch-Barakovsky, Jalbert, Helbig, Paterson, Stanhope, Kulenty, Weinberg, Babajanian, Eshpai, Tsintsadze, Akutagawa (plus several film scores), Frolov, Khrennikov, Lyadov, Galindo, Papandopulo, White, Bowen, Larsson, Carwithen (plus Film Music), Wiren, Piston, Gnattali, Perkinson, Auerbach, Howard, Frances-Hoad, Safaian, Grime, Faco, Hardy, Rehnqvist, Bodrov, Tarkiainen, Thomas, Benjamin, Kurth, Zupko, Schmidt, Pulkkis, Prior, Lenaerts, Kurbatov, Nazaykinskaya, Day, El-Khoury, Valencia, Martinez Gallego, Atakoglu, Szentpali, Mozdzer, Koh, A. Tchaikovsky, Lindberg, Bronner, Goto, Valero-Castells, Romberg, Chilcott, Allevi (plus a few albums of piano music), Herdzin, Swearingen, Azmeh, Bresnick, Aagaard-Nilsen, Flores, Cusson, Miranda, O. Martinez, Stamp, Taruya, DiLorenzo, Martin, Li, Silverman, several film/game soundtracks by Otani, Wang I-Yu, Eotvos, Thile, Carrara, Staniland, Evangelista, Goulet, Hylkila, Heath, Jarvi, Fukuda, Balakirev, Shohat, several albums by Warner, Lee, Lorenz, Huillet, O'Loughlin, Runestad, Hakim, Rivas Dominguez, Campogrande, Alonso-Crespo, Tarrodi, Cutler, Chin, Oscher, Wang Jianmin, Lopez-Gavilan, Palmeri, Jones, Ugurlu, Fang, Valor Llorens, Ruehr, Hirose, Mullor Grau, Pusceddu, several film scores by Keeravani, Pascual Vilaplana, Chindamo, Christl, Cassidy, Mangani, various soundtracks by Takanashi, Pujol, Galbraith, Dubra, Sung, Vitier, Aparicio-Barberán, Harle, Suñer-Oriola, Higgins, García i Soler, Borisova-Ollas, Amar (plus several film/TV scores), Stark, Deac, Zhurbin, Mertens, Montero, Majkusiak, Rob Smith, Etezady, Bednar, Noizgenie, Wings of Fates, Gomez, Kreisler, Marino, L'Estrange, Lens, Lago, Einhorn (plus a few film scores), Burki, Maric, Honstein, Karlsson, Halley, Fukushima, Batik, George, Ghidoni, Hamilton, Dobson, Suzuki, Saucedo, Chinesta, Fung, Zimmerli, Sigurosson (plus a few film scores and non-classical albums), Glyn, Nickel, Alyamani, Simic, Wang Chenwei, Amaya, Cervo, Corte-Real, Colomer, Kakhidze, Cupeiro, Tormis, Koshkin, Gamboa, Tura, Castellanos, Chung, Kalvarsky, Chen Gang, Carmichael, Bibergan, Camilleri, Dupertuis, Copley, Andric, Naqvi, Bok, Balci, Angulo, Tyzik, Mashima, Shakhidi, Molla Albero, Rubtsov, Ortolano, Marthinsen, Litvinovsky, Newbold, Franzetti, various albums by Martikainen, Blankenburg, Dombrowski, Fiumara, D'hoe, Trotta, Coleman, Alfeyev, Guerreiro, Marques, Wittrock, Ceunen, Santiago Jacome, Ramírez Gomez, Ledda, Resanovic, Guerra, Raats, Rousselot, Navok, Vinao, Wolfgang, Pilsner, Blesa Lull, Fanshawe, Papoulis, Gu, Khumalo, van Dijk, Sibisi, Quinto Serna, Beintus, Vicentino, Heinrich, Claude T. Smith, Davidson, Saparov, Lopez-Gavilan, Hurnik, Ellisor, Gong, Enhco, Boccadoro, Tamberg, Rantala (plus several jazz albums), He, Rakov, Mathias, Guridi, Villani-Cortes, Machavariani, Toyama, Hubay, Palmgren, Beriot, Moreno Torroba, Benjamin, Tormo Munoz, Isaacs, Janssen, Standridge, a few albums by Torrent, a few albums and film/videogame scores by Amon, Wunder, Shortell, Swerts, Harper, Steven, Gimon, Law, Ugoletti, Geiss, Schelle, Trotignon, Kouneva (plus some film/TV/videogame scores), Kertsman, Zielinski, Dompierre, Pawlik (plus a few jazz albums), Needham.
      3. The pieces I listened to for each composer were: Harvey (plus a few film/TV scores), Honda, Adams, several film/TV scores by Britell, Banks, Bertelmann (plus several film/TV scores and Hauschka albums), Satoh, Veen, several film/TV scores by Korzeniowski, Maalouf (plus several jazz and soundtrack albums), Sumera, Sisask, Addinsell (plus some film music), Gough, Ghys, O'Regan, Fagerlund, Cerrone, Widmann, Wakeman, Anderson, Murphy, Tyler, Salonen, Bregovic (plus several film scores and a few other albums), Blais, Ackroyd, several videogame soundtracks by Sakuraba, Mackey, Puccini, Penderecki, Foumai, Gibson, Ives, Braxton, Honegger, Delius, Hogberg.
    3. 🔗 r/Yorkshire I took many photos on my trip there last year but this is the one I find myself returning to the most rss

      I took many photos on my trip there last year but this is the one I find myself returning to the most | Take a guess where! Also thought I’d add a photo of a rather charming fellow I encountered submitted by /u/one-tea27
      [link] [comments]
      ---|---

    4. 🔗 r/reverseengineering I wrote a custom decompiler for the bytecode used by Naughty Dog in the The Last of Us & Uncharted games rss
    5. 🔗 mhx/dwarfs dwarfs-0.15.3 release

      Bug fixes

      • The 0.15.2 release did not include the legacy FUSE v2 driver binaries (dwarfs2) in the static release tarballs.

      • The op_readlink implementation is now guaranteed to terminate the returned string, as required by the FUSE specification.

      Build

      • Warning supressions for (newer) GCC warnings triggered warnings on older GCC versions. These have been fixed.

      Other

      • Some automatic code refactoring from clang-tidy was applied and some minor issues were fixed in the process.

      Full Changelog : v0.15.2...v0.15.3

      SHA-256 Checksums

      70edc89104233aa8afe7548c4b83c97625baf44c34f625fa99deff4b4b01f89f  dwarfs-0.15.3-Linux-aarch64.tar.xz
      40c97466c7f8bd6c031ddc3adf3b5a4c90efbccbf1b734e24bf00c8cbf7f8413  dwarfs-0.15.3-Linux-arm.tar.xz
      07eb788cfc9cee51e80f319a95591d92510211ac12fcc08e58231903f5e9d835  dwarfs-0.15.3-Linux-i386.tar.xz
      10dd05063a8ae4732f49dbb61abb9dbd1ff9d759a9f8ff88a39ecd4251b12660  dwarfs-0.15.3-Linux-loongarch64.tar.xz
      b975fa2e0388ccd81b586b766cf30d4c7550a740013394f1a3eb60b66d754036  dwarfs-0.15.3-Linux-ppc64le.tar.xz
      e90b19f10fcb7b9c3f0951032f878ed1501d853b393f0cbf2c47f310c9221442  dwarfs-0.15.3-Linux-ppc64.tar.xz
      bd53abaf33983401635fc1d1e27565b9dd7aa3f21aa1dd8168115608658fa951  dwarfs-0.15.3-Linux-riscv64.tar.xz
      6cc901e63f7f7c7f31f8b11e31a9390f0f03a2199efebefdee4d05c7bd45935c  dwarfs-0.15.3-Linux-s390x.tar.xz
      2dba61946786ec563c96783f719316199eeb55a4cbde1436e1b5796f28494fa8  dwarfs-0.15.3-Linux-x86_64.tar.xz
      2a9c6b7cb2841f3c7b75839da9326724a2817e4467b20e79e3e24c3eefc13eca  dwarfs-0.15.3.tar.xz
      24b3654c6353c4253605d13361c3187b08d38c5844ea3e67145ad0f694a4bdc8  dwarfs-0.15.3-Windows-AMD64.7z
      e51b8658ffdfacf8fbe232c4425c58a3cc22e4ad8802494d1e6e940106758222  dwarfs-fuse-extract-0.15.3-Linux-aarch64
      9b1f82d9b9fcf93909ea0fc97ad0439f9521120d145d6a43b2ef759511ae259d  dwarfs-fuse-extract-0.15.3-Linux-aarch64.upx
      a5c9e9ab2f1b8446f3162569dd5b6738643f117391a729456cc244cc91dae6ce  dwarfs-fuse-extract-0.15.3-Linux-arm
      8fbc03a7aa43b3e7a5bce862e41407feb349018a22941db4819cf6fd21e53571  dwarfs-fuse-extract-0.15.3-Linux-arm.upx
      7a733919ad311d9c2418e4da08905d61a78d55518998531273b4375ec213a82f  dwarfs-fuse-extract-0.15.3-Linux-i386
      e8d79bb1e9f56b7811ed9288449f724700b8bf7fc49063a6e1e42e07cd272849  dwarfs-fuse-extract-0.15.3-Linux-i386.upx
      f1ea878bb3e01bb61ad998d3a08f15d4ac43a43a03a877a383697612f50189c9  dwarfs-fuse-extract-0.15.3-Linux-loongarch64
      2594e3d37a3cf3cf278e74a04e08a343c3c939f7545e01d66e4054e2af916447  dwarfs-fuse-extract-0.15.3-Linux-ppc64
      87a9fafe6b926668acaa63bf4a6542375c5c8e330426d2992b37785a21c6642e  dwarfs-fuse-extract-0.15.3-Linux-ppc64le
      a4ef6a576e27486123388c5a4426d84621f911890ebe1d0039c22b4910f3097b  dwarfs-fuse-extract-0.15.3-Linux-riscv64
      4f095dbc965f875645ac99c09b69254a88dabb6f767581c4463799879ee1046d  dwarfs-fuse-extract-0.15.3-Linux-riscv64.upx
      374e2a4153800818017534bbb4ed28266ebef4b7912e18af0a6084b6afaf9cc3  dwarfs-fuse-extract-0.15.3-Linux-s390x
      6b46fcef644fbc88a8e8235f9aece0be1940d568daa631ff0f71c6c2787f0dfe  dwarfs-fuse-extract-0.15.3-Linux-x86_64
      9a17a645c121340b687f3e1ea1f1d350ac4b4de390ee0e75ec82ccd2f95cc963  dwarfs-fuse-extract-0.15.3-Linux-x86_64.upx
      87a514821c762371a50dac7a271a6c78af3a23cc0c7cc47571713f8fb6707684  dwarfs-universal-0.15.3-Linux-aarch64
      daa98361d4671f2afb644c59065632e8e1bc8f033b0692478e5039852d5d39db  dwarfs-universal-0.15.3-Linux-aarch64.upx
      88692a6670bec935eaee69d61a9066f3d0e13591229c784b45e056760bc7c9ca  dwarfs-universal-0.15.3-Linux-arm
      c62d47af8becf42bae630839d3d04736b56322f1a6d4fc341ad33ea6cd8a28f2  dwarfs-universal-0.15.3-Linux-arm.upx
      abf7897855c5d2d84beb11f845630ac14365de5793ebc605679314c7c375a9ad  dwarfs-universal-0.15.3-Linux-i386
      42eabcba8ff64c56931d63a7824d59dd58ad86ee603bbad0944fbcb501f0a78d  dwarfs-universal-0.15.3-Linux-i386.upx
      ca2723e432f6b751157c62ef5f6bb4e86e9465f327a1b786ff3f6edbf7bf01c5  dwarfs-universal-0.15.3-Linux-loongarch64
      691915391b8e77dd0bd3993f70d0198b2abdef69350d850781d0679a9612d8ce  dwarfs-universal-0.15.3-Linux-ppc64
      a37f7f25f0acb898971f0911f655cbe432673a26c340d3c5b3cbfd43e569ebcf  dwarfs-universal-0.15.3-Linux-ppc64le
      ad30fdecbc301ae10c14ee1141806d16dabd14400c32f980bda4c5643b78049c  dwarfs-universal-0.15.3-Linux-riscv64
      404b334707b865cd5ee6bc8749af335301afe94da2fb2524e46ab6613b783f97  dwarfs-universal-0.15.3-Linux-riscv64.upx
      393257fb56de88d219e79496c24f50f57a4dece910a255ed421b894b00c93804  dwarfs-universal-0.15.3-Linux-s390x
      30c868737fdf7b4167b35650839bcbce0fd73d203f83702bc0afa7eaa2e1bded  dwarfs-universal-0.15.3-Linux-x86_64
      f2d2c33c7f22995abd45601dbd61fdee673727d67069c443828fecd6704c7e7c  dwarfs-universal-0.15.3-Linux-x86_64.upx
      0ce305dc4c593f9f30098fdc3aec6367159b8f2f25627cda19c794a9c1378b34  dwarfs-universal-0.15.3-Windows-AMD64.exe
      4c0c1ac1bb786e62658bf06502c710047ae2c7a670c707abbb92918caef13de4  dwarfs-universal-small-0.15.3-Linux-aarch64
      11cecac8b833dc15c1cf18f148400a0608ff1d56d608f1f8a8466ffc584ee66e  dwarfs-universal-small-0.15.3-Linux-aarch64.upx
      064a3f389fe7c815449406f1beefea914ec7ce554171fbc27110ceed87518026  dwarfs-universal-small-0.15.3-Linux-arm
      a5f000b76db896cc1cdcd4bf0b588602c6da3238ac5a96581671bce18db525dc  dwarfs-universal-small-0.15.3-Linux-arm.upx
      c34ceb2ea5e662d46a3fc8220cec23a2b8f8dee5ac000125e00c30f69a235644  dwarfs-universal-small-0.15.3-Linux-i386
      242176ab5768625dc59154445125d41b95cbf8459db890da77c8923e4544199a  dwarfs-universal-small-0.15.3-Linux-i386.upx
      98c3d497e030cd5d8bad7525650875417cbc00a911d2b813e754cc440f09676b  dwarfs-universal-small-0.15.3-Linux-loongarch64
      ad942bbac4235d3a2ac1e1f54e0b3e8e97630726595279df0687bffaa64300f0  dwarfs-universal-small-0.15.3-Linux-ppc64
      b1341c2d3469a96c5c8f4404145bb9af986b8f6a0d8b5f168d0ec528c872c249  dwarfs-universal-small-0.15.3-Linux-ppc64le
      e7d05a966ad8a9e469f01b8281ba9680c9fa85912bb5881d50567f935f001602  dwarfs-universal-small-0.15.3-Linux-riscv64
      9f3afa8633708a3dbcf6c06b34dd75a6b06c46ac703669c8926154b6eb60a9f2  dwarfs-universal-small-0.15.3-Linux-riscv64.upx
      4de99aed5e01bd7b85aac72414e61848917e878103a28d76a7f8caabf013d7d0  dwarfs-universal-small-0.15.3-Linux-s390x
      16fc1f7bc8d6034a2101323e31b3e18aebf91ed0b8eb41a10c1d4886968aa25c  dwarfs-universal-small-0.15.3-Linux-x86_64
      1b7b64d88a361a4f21679366c802513a927081be263bd87aa805c65c1a20d52b  dwarfs-universal-small-0.15.3-Linux-x86_64.upx
      
    6. 🔗 backnotprop/plannotator v0.16.3 release

      Follow @plannotator on X for updates


      Missed recent releases? Release | Highlights
      ---|---
      v0.16.2 | Draggable comment popovers, cross-file annotation visibility, custom diff fonts, OpenCode verbose log fix
      v0.16.1 | SSE stream idle timeout fix for external annotations API
      v0.16.0 | GitHub Copilot CLI, external annotations API, bot callback URLs, interactive checkboxes, print support, diff display options
      v0.15.5 | Custom display names, GitHub viewed file sync, expand/collapse all in file tree, search performance, WSL fix
      v0.15.2 | Compound Planning skill, folder annotation, /plannotator-archive slash command, skill installation via platform installers
      v0.15.0 | Live AI chat in code review, plan archive browser, folder file viewer, resizable split pane, Pi full feature parity
      v0.14.5 | GitLab merge request review, login page image fix, Windows install path fix
      v0.14.4 | GitHub review submission, repo identifier in tab title, nested code fence parser fix, Pi paste URL wiring
      v0.14.3 | PR context panel, diff search in code review, OpenCode permission normalization, landing page redesign
      v0.14.2 | OpenCode plan mode prompt replacement, Windows non-ASCII path fix, Pi link fix
      v0.14.1 | Single submit_plan with auto-detect, viewed-file draft persistence, Bear nested tag fix


      What's New in v0.16.3

      v0.16.3 brings Pi phase configuration, a CLI help message, and two code review fixes that address missing untracked files when the agent runs from a subdirectory and scroll position persisting across file switches. 4 PRs, 3 from external contributors, 2 first-timers.

      Pi Phase Configuration

      Pi users can now customize Plannotator's phase behavior (model, tools, prompt) through configuration files. Phase settings can be defined in a project-level plannotator.json, in .pi/agent, or globally in ~/.pi/agent. This lets you tailor Plannotator's planning workflow per project or globally without modifying the extension itself.

      CLI Help and No-Arg Usage

      Running plannotator directly in a terminal with no arguments previously hung waiting for stdin, giving no indication of what it expected. Now it prints a short clarification message and exits. plannotator --help shows a top-level usage message listing available subcommands. The existing hook contract (stdin-fed JSON from Claude Code) is unchanged.

      Untracked File Discovery Fix

      When an agent's working directory was a subdirectory of the repo (e.g., after cd packages/foo/), git ls-files --others would only find untracked files within that subtree, silently dropping files elsewhere in the repo. Paths in the diff output were also CWD-relative instead of root-relative, causing mismatches with tracked file diffs. The fix resolves the repo root and uses it as the CWD for both git ls-files and git diff --no-index. A regression test verifies the fix from a subdirectory.

      Additional Changes

      • Review scroll reset. The code review diff viewport now resets to the top-left when switching files, instead of preserving the scroll position from the previous file (#452, closing #451 reported by @UberMouse)

      Install / Update

      macOS / Linux:

      curl -fsSL https://plannotator.ai/install.sh | bash
      

      Windows:

      irm https://plannotator.ai/install.ps1 | iex
      

      Claude Code Plugin: Run /plugin in Claude Code, find plannotator , and click "Update now".

      Copilot CLI:

      /plugin marketplace add backnotprop/plannotator
      /plugin install plannotator-copilot@plannotator
      

      OpenCode: Clear cache and restart:

      rm -rf ~/.bun/install/cache/@plannotator
      

      Then in opencode.json:

      {
        "plugin": ["@plannotator/opencode@latest"]
      }
      

      Pi: Install or update the extension:

      pi install npm:@plannotator/pi-extension
      

      What's Changed

      New Contributors

      Contributors

      @stk-code contributed Pi phase configuration support (#446), bringing per-project customization to the Pi extension.

      @foxytanuki returned for a second contribution with the CLI help message (#448), after the SSE timeout fix in v0.16.1.

      @blimmer identified and fixed the untracked file discovery bug (#449, #450), including a regression test. First contribution.

      @UberMouse reported the scroll position issue in code review (#451).

      Full Changelog : v0.16.2...v0.16.3

    7. 🔗 eric-tramel/slop-guard v0.4.1 release

      slop-guard v0.4.1

      v0.4.1 is a focused security release. It pins the project's direct dependencies to exact versions so installs stay deterministic and do not float onto newly published upstream artifacts without review.

      Why this release exists

      Recent supply-chain attacks across Python packaging are a reminder that open- ended dependency ranges widen the blast radius of a compromised release. slop-guard previously allowed several dependencies to resolve from lower bounds upward. That made routine installs convenient, but it also meant a fresh environment could pick up new transitive behavior at install time.

      This release closes that gap by replacing those open ranges with exact pins for the packages the project controls directly in pyproject.toml and the lock metadata. The result is a tighter and more predictable install surface for local development and downstream users. CI now resolves the same reviewed versions instead of whatever newest compatible release appears at install time.

      What changed

      • Pinned build dependencies: hatch-vcs and hatchling.
      • Pinned runtime dependencies: mcp and the conditional typing-extensions requirement for Python <3.12.
      • Pinned development dependencies: pytest, pytest-cov, ruff, and ty.

      Install and pin

      If you want a fixed slop-guard release in MCP or CLI workflows:

      uvx slop-guard==0.4.1
      

      If you install the tool persistently:

      uv tool install slop-guard==0.4.1
      

      Upgrade notes

      This release does not change the public CLI or MCP tool surface. It is a hardening release aimed at reproducibility and supply-chain risk reduction. If you already pin slop-guard itself in automation, upgrade that pin to 0.4.1 to pick up the tighter dependency policy.

    8. 🔗 r/reverseengineering Chinese Security Reverse Engineered - Trust Decision Solver (Popmart) rss
    9. 🔗 milankovo/ida-search v0.1.1 release

      Full Changelog : v0.1.0...v0.1.1

    10. 🔗 milankovo/ida-search v0.1.0 release
    11. 🔗 r/Yorkshire Inspiration exhibition train’s final tour dates announced. With Hull & Scarborough dates. The latter would be the final one rss

      Inspiration exhibition train’s final tour dates announced. With Hull & Scarborough dates. The latter would be the final one | submitted by /u/CaptainYorkie1
      [link] [comments]
      ---|---

    12. 🔗 jellyfin/jellyfin 10.11.7 release

      🚀 Jellyfin Server 10.11.7

      We are pleased to announce the latest stable release of Jellyfin, version 10.11.7! This minor release brings several bugfixes to improve your Jellyfin experience. As always, please ensure you take a full backup before upgrading!

      WARNING : This release contains several extremely important security fixes. These vulnerabilities will be disclosed in 14 days as per our security policy. Users of all versions prior to 10.11.7 are advised to upgrade immediately.

      You can find more details about and discuss this release on our forums.

      Changelog (29)

      🔒 Security

      📈 General Changes

    13. 🔗 r/reverseengineering Community RecRoom server emulation project rss
  2. March 31, 2026
    1. 🔗 jellyfin/jellyfin 10.11.1 release

      🚀 Jellyfin Server 10.11.1

      We are pleased to announce the latest stable release of Jellyfin, version 10.11.1!

      This minor release brings several bugfixes to improve your Jellyfin experience.

      As always, please ensure you stop your Jellyfin server and take a full backup before upgrading!

      You can find more details about and discuss this release on our forums.

      Changelog (26)

      📈 General Changes

    2. 🔗 r/reverseengineering Please, I need your help with a project that we are doing.If you are interested please join rss
    3. 🔗 r/york Beautiful sunset today rss

      Beautiful sunset today | submitted by /u/silvergal81
      [link] [comments]
      ---|---

    4. 🔗 r/LocalLLaMA Claude Code's source just leaked — I extracted its multi-agent orchestration system into an open-source framework that works with any LLM rss

      By now you've probably seen the news: Claude Code's full source code was exposed via source maps. 500K+ lines of TypeScript — the query engine, tool system, coordinator mode, team management, all of it.

      I studied the architecture, focused on the multi-agent orchestration layer — the coordinator that breaks goals into tasks, the team system, the message bus, the task scheduler with dependency resolution — and re-implemented these patterns from scratch as a standalone open-source framework.

      The result is open-multi-agent. No code was copied — it's a clean re- implementation of the design patterns. Model-agnostic — works with Claude and OpenAI in the same team.

      What the architecture reveals → what open-multi-agent implements:

      • Coordinator pattern → auto-decompose a goal into tasks and assign to agents
      • Team / sub-agent pattern → MessageBus + SharedMemory for inter-agent communication
      • Task scheduling → TaskQueue with topological dependency resolution
      • Conversation loop → AgentRunner (the model → tool → model turn cycle)
      • Tool definition → defineTool() with Zod schema validation

      Unlike claude-agent-sdk which spawns a CLI process per agent, this runs entirely in-process. Deploy anywhere — serverless, Docker, CI/CD.

      MIT licensed, TypeScript, ~8000 lines.

      GitHub: https://github.com/JackChen-me/open-multi-agent

      submitted by /u/JackChen02
      [link] [comments]

    5. 🔗 r/Yorkshire East coast residents encouraged to get involved in £20m regeneration efforts rss

      East coast residents encouraged to get involved in £20m regeneration efforts | submitted by /u/willfiresoon
      [link] [comments]
      ---|---

    6. 🔗 sacha chua :: living an awesome life Thinking about Emacs coaching goals with Prot rss

      I want to get better at learning with other people's help, so I'm going to experiment with engaging Prot as an Emacs coach. Our first session is this week. Time to lay the groundwork!

      If I meet with Prot twice a month for three months, that's a budget of €60 (~CAD 100), which is a reasonable size for an experiment especially since I still have the budget set aside from the Google Open Source Peer Bonus and lovely folks already donated to cover the costs for EmacsConf. When I schedule something with someone, the accountability makes it easier to get stuff done and out the door. For this, a real person is much better than AI because:

      • I get to take advantage of Prot's very large context window, and he knows stuff about the Emacs, the community, and me that I might not remember to mention
      • He can ask real questions and prod at things that are unclear or contradictory, unlike the confirmation bias of LLMs
      • He might point out things that wouldn't occur to me to ask about
      • It triggers my "I promised someone I'd do this" thing
      • I get to support an individual worth supporting rather than contributing to the concentration of wealth and information in for-profit entities

      My motivations:

      • I want to make better use of my focused time during the rest of the schoolyear. For the next three months, my schedule will be fairly predictable and I'll have regular chunks of focused time. Over the past two months, I've averaged around 10 hours of Emacs-related stuff per week (including 1.5 hours or so for Emacs News). I'm currently thinking about language learning and speech input. EmacsConf is on the horizon and will probably ramp up after September, but I can also think ahead of workflow improvements or ways to collaborate with other people. I might put together an Emacs News Highlights presentation. Also, I'm always looking out for ways to build the community.

        Summer break during July and August will shake things up again, but I might be able to find some focused time early morning or evening. I'd like to be in a good position to make the most of those time fragments.

      • I want to improve my Emacs Lisp development workflow and learn more about libraries and techniques that might be useful. I'm beginning to have more time to sharpen the saw and I'm curious about all the cool stuff that I missed or skimmed over the past ten years. What are some useful setups for completion, debugging, navigation, etc.?
        • Current: I sporadically use the extra awesomeness in seq, pcase, lispy, erefactor, ert, buttercup, and undercover, but not consistently. I'd like to reduce the friction and make these habitual.
        • Areas of friction / improvement:
          • writing tests, especially for things that are more interactive
          • navigating code that might be scattered in literate config files or in Emacs Lisp files
          • forgetting to restart or to make sure all code is saved; running tests via Emacs batch mode will help, as will package-isolate and restart-emacs
      • I want to improve my workflows for writing, making videos, and streaming. If I get better at sharing what I'm working on, I might be able to connect with more people and bounce ideas around. Also, accountability might help me nudge this over the threshold. I probably still need to work in stops and starts, so I want to reduce the friction. I'm curious about other people's workflows for sharing. I like joining meetups, but I tend to share stuff only if no one else has anything planned, because I have my blog and my YouTube channel in case I want to share anything with a wider group of people. I just have to actually post things.
        • Current: ~1.5 Emacs posts a week aside from Emacs News, attending meetups, sporadically adding short video demos to posts

          Average number of Emacs-related posts that aren't Emacs News
          (let* ((start "2026-02-01")
                 (end "2026-03-31")
                 (posts (my-blog-posts
                         start end
                         (lambda (o)
                           (and (member "emacs" (alist-get 'categories o))
                                (not (member "emacs-news" (alist-get 'categories o)))))))
                 (count (length posts)))
            (my-weekly-average count start end))
          
        • Goal: 2-3 non-News posts a week, one video a month, one stream or meetup a month; maybe also beyond looking at the numbers, it might be interesting to build more momentum around a topic, set up trails/navigation, cultivate more of a digital garden
        • Areas of friction / improvement:
          • Resisting "one more tweak"
          • Streaming: Still need to get the hang of talking to myself or having half-conversations with chat: can be worked around by scheduling a session with Prot and opening it to the public
          • Hiding private information or setting up a separate Emacs for demonstration
          • Harvesting videos/clips/notes afterwards
      • I want to move more of my configuration into files and libraries that other people can reuse, like sachac/learn-lang and sachac/speech-input. I can also separate the function definitions from the configuration in my code so that people can reuse the functions if they want.
        • Areas of friction / improvement
          • renaming things when I want to move them to a library
          • duplicating small functions (ex: simplify string)
          • figuring out how to make it possible for someone else to start using my stuff

      Starting questions for Prot:

      • Meta: what are people finding useful for coaching and behaviour change, like learning new keyboard shortcuts or workflows?
      • Your literate config exports to individual .el files. I could probably do something similar to separate my functions from my personal config in order to make it easier for people to reuse parts of my config. Is it worth doing so? Do people tell you that they use those private Emacs Lisp files by loading them, or do they mostly rely on your published packages?
      • Do you have some tweaks to make it easier to jump to function definitions considering a literate configuration?
      • What's your general process for migrating things from your config to a repository or package?

      Could be fun. Let's experiment!

      You can e-mail me at sacha@sachachua.com.

    7. 🔗 r/reverseengineering I reverse engineered the Govee H8630 smart display: UART shell, hardcoded AES keys, and MQTT control. rss
    8. 🔗 r/Leeds Dog friends rss

      Hi guys! Me and my partner have a dog called Nyla she’s a malanois Doberman lurcher cross and she’s very barkey…she’s made a few friends in the apartments we stay in but she doesn’t see them too much…we are trying to control her barking but it’s working very slowly…I want her to have more doggy friends and maybe make friends myself with the owners… she’s genuinely such a loving dog and she doesn’t great with mainly boys we’ve only tried her with one girl and the girl didn’t like her…the problem is just that people seem to be scared of her or scared she’s aggressive because of her bark..she’s never bit anyone or another dog :) anyone with a dog who is friendly wanna make doggy friends?

      submitted by /u/ReplyDeep9863
      [link] [comments]

    9. 🔗 r/LocalLLaMA Analyzing Claude Code Source Code. Write "WTF" and Anthropic knows. rss

      So I spent some time going through the Claude Code source, expecting a smarter terminal assistant.

      What I found instead feels closer to a fully instrumented system that observes how you behave while using it.

      Not saying anything shady is going on. But the level of tracking and classification is much deeper than most people probably assume.

      Here are the things that stood out.

      1. It classifies your language using simple keyword detection

      This part surprised me because it’s not “deep AI understanding.”

      There are literal keyword lists. Words like:

      • wtf
      • this sucks
      • frustrating
      • shit / fuck / pissed off

      These trigger negative sentiment flags.

      Even phrases like “continue”, “go on”, “keep going” are tracked.

      It’s basically regex-level classification happening before the model responds.

      2. It tracks hesitation during permission prompts

      This is where it gets interesting.

      When a permission dialog shows up, it doesn’t just log your final decision.

      It tracks how you behave:

      • Did you open the feedback box?
      • Did you close it?
      • Did you hit escape without typing anything?
      • Did you type something and then cancel?

      Internal events have names like:

      • tengu_accept_feedback_mode_entered
      • tengu_reject_feedback_mode_entered
      • tengu_permission_request_escape

      It even counts how many times you try to escape.

      So it can tell the difference between:

      “I clicked no quickly” vs
      “I hesitated, typed something, then rejected”

      3. Feedback flow is designed to capture bad experiences

      The feedback system is not random.

      It triggers based on pacing rules, cooldowns, and probability.

      If you mark something as bad:

      • It can prompt you to run /issue
      • It nudges you to share your session transcript

      And if you agree, it can include:

      • main transcript
      • sub-agent transcripts
      • sometimes raw JSONL logs (with redaction, supposedly)

      4. There are hidden trigger words that change behavior

      Some commands aren’t obvious unless you read the code.

      Examples:

      • ultrathink → increases effort level and changes UI styling
      • ultraplan → kicks off a remote planning mode
      • ultrareview → similar idea for review workflows
      • /btw → spins up a side agent so the main flow continues

      The input box is parsing these live while you type.

      5. Telemetry captures a full environment profile

      Each session logs quite a lot:

      • session IDs
      • container IDs
      • workspace paths
      • repo hashes
      • runtime/platform details
      • GitHub Actions context
      • remote session IDs

      If certain flags are enabled, it can also log:

      • user prompts
      • tool outputs

      This is way beyond basic usage analytics. It’s a pretty detailed environment fingerprint.

      6. MCP command can expose environment data

      Running:

      claude mcp get <name>
      

      can return:

      • server URLs
      • headers
      • OAuth hints
      • full environment blocks (for stdio servers)

      If your env variables include secrets, they can show up in your terminal output.

      That’s more of a “be careful” moment than anything else.

      7. Internal builds go even deeper

      There’s a mode (USER_TYPE=ant) where it collects even more:

      • Kubernetes namespace
      • exact container ID
      • full permission context (paths, sandbox rules, bypasses)

      All of this gets logged under internal telemetry events.

      Meaning behavior can be tied back to a very specific deployment environment.

      8. Overall takeaway

      Putting it all together:

      • Language is classified in real time
      • UI interactions and hesitation are tracked
      • Feedback is actively funneled into reports
      • Hidden commands change behavior
      • Runtime environment is fingerprinted

      It’s not “just a chatbot.”

      It’s a highly instrumented system observing how you interact with it.

      I’m not claiming anything malicious here.

      But once you read the source, it’s clear this is much more observable and measurable than most users would expect.

      Most people will never look at this layer.

      If you’re using Claude Code regularly, it’s worth knowing what’s happening under the hood.

      Curious what others think.

      Is this just normal product telemetry at scale, or does it feel like over- instrumentation?

      If anyone wants, I can share the cleaned source references I used.

      X article for share in case: https://x.com/UsmanReads/status/2039036207431344140?s=20

      submitted by /u/QuantumSeeds
      [link] [comments]

    10. 🔗 r/Yorkshire Upcoming planned engineering work effecting TPE rss

      Upcoming planned engineering work effecting TPE | submitted by /u/CaptainYorkie1
      [link] [comments]
      ---|---

    11. 🔗 r/reverseengineering dexfinder: A Lightning-fast, Pure-Go Alternative to Android's veridex with N-level Call Tracing & ProGuard Deobfuscation rss
    12. 🔗 r/reverseengineering I reverse-engineered the WHOOP 4.0 Bluetooth protocol and built a PoC Flutter app. Read /research first! rss
    13. 🔗 r/reverseengineering your hex editor should color-code bytes rss
    14. 🔗 r/Leeds Breaking News, Yorkshire Buses closing up shop at 8pm tonight rss

      Yorkshire Buses who run the following routes:

      1 (Leeds BS to Wakefield Power Par)

      30 (Horsfroth to Pudsey)

      51 (Doncaster to Norton on Sundays/BH)

      61 (St James Hospital to South Leeds Stadium)

      61A (St James Hospital to Cross Green/Hunslet)

      116 (Leeds to Wakefield via Osset)

      118 (White Rose Centre to Wakefield, limited service)

      212 (Dewsbury to Wakefield)

      https://bustimes.org/operators/yorkshire-travel-group

      Will be closing up shop at 8pm tonight

      submitted by /u/CaptainYorkie1
      [link] [comments]

    15. 🔗 r/Yorkshire What things are iconically yorkshire? rss

      For my scout unit (going to the world scout jamboree) we are collaborating with the other Yorkshire groups to make our badges a Yorkshire rose, and there is 4 groups and a competition for the 5th petals design, so what should i put on that is iconically yorkshire?

      submitted by /u/Alarmed_Leg9757
      [link] [comments]

    16. 🔗 r/LocalLLaMA Just a helpful open-source contributor rss

      Just a helpful open-source contributor | submitted by /u/MagicZhang
      [link] [comments]
      ---|---

    17. 🔗 r/LocalLLaMA How it started vs How it's going rss

      How it started vs How it's going | Unrelated, simple command to download a specific version archive of npm package: npm pack @anthropic-ai/claude-code@2.1.88 submitted by /u/HornyGooner4401
      [link] [comments]
      ---|---

    18. 🔗 r/Yorkshire The March Hare rss
    19. 🔗 @binaryninja@infosec.exchange Join [@mr_phrazer](https://infosec.exchange/@mr_phrazer) with us on Thursday mastodon

      Join @mr_phrazer with us on Thursday @4pm ET to pit machine versus machine!

      We'll be comparing LLM options for both assisted and fully-automatic reverse engineering, including different CLI interfaces, MCP servers, plugins, and agents.

      Get notified so you don't miss who comes out on top of reversing's biggest battle yet: https://www.youtube.com/live/TBqBpaqecMA

    20. 🔗 r/reverseengineering [Challenge] Ropper and ROPgadget are blind to this standard binary. Can you build a 48-byte ROP chain without using my tool, LCSAJdump? rss
    21. 🔗 r/reverseengineering Quick write-up: TLS callbacks in a real malware sample (Rust runtime initialization) rss
    22. 🔗 r/Yorkshire North Yorkshire doing what it does best. Is there a better harbor view in the UK? rss
    23. 🔗 r/Harrogate Light bulbs recycling rss

      Does anyone know of any stores that have a bin for recycling light bulbs? I don't drive so going all the way to the household waste recycling centre isn't the most convenient for me.

      thanks!

      submitted by /u/jaf_1987
      [link] [comments]

    24. 🔗 r/wiesbaden Moved to Wiesbaden rss

      Hi all, my Family just moved here a week ago and I was curious on what we could do with our 1 year old, best restaurants, bakeries, etc. if anyone has any in mind :)

      submitted by /u/daddyciwa
      [link] [comments]

    25. 🔗 r/Yorkshire The Tiled Hall Cafe, Leeds Art Gallery rss
    26. 🔗 r/Leeds The Tiled Hall Cafe rss

      Surely one of the prettiest places to enjoy a coffee and a cake in Leeds – the mosaic ceiling is stunning!

      You'll find it inside Leeds Art Gallery if you haven't been already.

      submitted by /u/Yorkshire-List
      [link] [comments]

    27. 🔗 r/Leeds Potential Money Saving Trick (Leeds to London Commute) rss

      I have been commuting between Leeds and London for the past 8-9 months, ever since I relocated. However, every time I commuted, the cost of a return ticket with a railcard was a staggering £60 to £70.

      This is where I applied a bit of Logic and Maths to determine whether there is a way to get to London at a lower cost. Below is what I do nowadays:

      • Purchase Norther Line or LNER ticket from Leeds to Doncaster with railcard which costs me around £5 - £6
      • Purchase Hull Trains or Grand Central line tickets from Doncaster to Kings Cross for a price between £18 - £21

      This has effectively brought down my cost by almost 50% although I must admit that there is an increase in journey time by approx 35 - 40 minutes.

      submitted by /u/BondBagri
      [link] [comments]

    28. 🔗 r/york York > Whitby - stop along the way? rss

      Hello all!

      My partner and I live in York and we're driving to Whitby on Friday for the weekend

      We've done the trip loads of times but always on public transport (shout out coastliner my fave bus route ever) and we're only recently on the road in a car.

      We realised we don't actually know the area that well outside of York & Whitby, and want to break the drive up and explore a bit, does anyone have any recommendations of places we could stop for lunch/a wander/something fun to see on the drive over? Not bothered if it's a bit off the beaten track or a slight detour, any suggestions welcome :)

      submitted by /u/throwaway1335927
      [link] [comments]

    29. 🔗 r/york Housing rss

      where can we look for housing in York? it seems so so limited in the centre or even up clifton way. I'd be ideally after a houseshare as I think living alone would be bad for me but I can't find anything or anyone to hunt with and every lead I have falls apart.

      I'd be moving in aug/September (starting a Master's; placement-heavy so happy to live with professionals) and getting genuinely really downtrodden by the whole thing. I've had really bad housemate situations before so I'm careful as is but options are really very limited...

      spareroom/rightmove/zoopla/the usual private lettings agents have the odd option but they're HMOs and I don't know anyone in York yet and I'm not rich lol

      ETA not against hmos in thr slightest genuinely just don't know anybody and had always been told to sign up to them With people in case other rooms don't get filled. Landlords in ny undergrad city would often ask tenants to make up the missing rent themselves

      submitted by /u/4rami4
      [link] [comments]

    30. 🔗 r/Harrogate Hoxton North Closure? rss

      I’m sorry…what?!?

      This place is always packed, I always have to wait for a table to eat, how is this place not a viable business anymore? This makes no sense to me and I’m sad to see them go…

      submitted by /u/CyclePrevious9043
      [link] [comments]

    31. 🔗 r/LocalLLaMA Claude code source code has been leaked via a map file in their npm registry rss

      Claude code source code has been leaked via a map file in their npm registry | From Chaofan Shou on 𝕏 (files): https://x.com/Fried_rice/status/2038894956459290963 submitted by /u/Nunki08
      [link] [comments]
      ---|---

    32. 🔗 MetaBrainz MerchBrainz rss

      We have added a range of great new MetaBrainz designs to our merch store: https://www.redbubble.com/people/metabrainz/shop

      These designs by Monkey, previously only available to MetaBrainz summit attendees, have been lightly modified (summit-specific text removed) for everyday wear. Are many people going to know what you're repping? No. Are the ones that do going to go " DAAAAAAAAAAAAMN IT'S THE BRAINZ YO"? Most definitely!

      Note: We don 't print 'em, so these mockups may differ from the final product.

      Choose your fighter: synth, bollywood, psychedelic, vaporwave or black metal, as well as the classic logo and unicorn designs. We also dropped a couple of additional designs today. As well as a 'new notes!?' sticker/magnet there is a new "I made 1,ooo edits and all I got was this lousy T-shirt" design, and a 100,000 edit version. Rumour has it there are secret versions of this shirt available for super high-scorers…

      Do you have great/fun/stupid ideas for MetaBrainz-themed shirts or other merch? Let us know!

    33. 🔗 r/reverseengineering Introducing the Rootkit Techniques Matrix and updates to the Guide rss
    34. 🔗 Cryptography & Security Newsletter Web PKI Reimagined with Merkle Tree Certificates rss

      In the past several years, the world has been busy with the migration to post-quantum cryptography, but you couldn’t hear much of Google's plans when it comes to Web PKI. However, work has been in progress for several years, going back to at least early 2023. In late 2025, joining with other interested parties, Google migrated its work to an IETF working group called PLANTS. Work is now ongoing to refine the design and validate it in collaboration with Cloudflare. Recently, Google published a blog post to officially announce this work and provide further details about its future steps. In short, the core design is baked, and the remainder of 2026 will be spent on validating the core technology. In 2027, Google will bootstrap the next-generation Web PKI.

    35. 🔗 r/york Queuing up at the monks cross leisure centre? rss

      Saw a massive line of people in line for something. Someone said people had been there since 5am. Anyone know why?

      submitted by /u/Valuable_Victory_948
      [link] [comments]

    36. 🔗 mhx/dwarfs dwarfs-0.15.2 release

      32-bit glibc Build Fixes and FUSE Driver Cleanup

      32-bit native build fixes

      (#354)

      This release fixes a set of issues that showed up in native 32-bit builds, most notably on openSUSE Tumbleweed with glibc. The most important one was related to sparse file tests that create files larger than 4 GiB: glibc requires _FILE_OFFSET_BITS=64 for 64-bit file operations in that environment, and without it those tests would fail. This was not just a test bug, all the binaries simply could not deal with files larger than 4 GiB in this scenario.

      However, this was only an issue for glibc-based 32-bit builds. It did not affect musl-libc-based builds, which is why it went unnoticed for some time. This did not affect the statically linked release binaries, which are using musl-libc.

      A few additional 32-bit related issues were also fixed: the formatting code for times and ratios relied too heavily on floating-point arithmetic and turned out not to be deterministic across platforms and compilers. That code has now been rewritten to use integer arithmetic instead, avoiding platform- specific behavior. A bug in the test code itself, which surfaced only with GCC, has been fixed as well.

      FUSE driver refactoring

      The FUSE drivers (dwarfs, dwarfs2) have gone through a substantial internal cleanup and refactoring pass in this release. This fixes a number of subtle startup and option-handling issues and makes the behavior of the different driver variants much more consistent.

      One visible improvement is error reporting for invalid options. For example, if -o image_size=1234 was used instead of the correct -o imagesize=1234, older versions would end up reporting a misleading filesystem loading failure rather than flagging the unknown option directly. That kind of behavior has now been fixed.

      Internally, this also removes a great deal of preprocessor-heavy startup logic that had diverged over time across the various FUSE implementations and modes (high-level, low-level, Windows, FUSE v2, and FUSE v3). The resulting code is much easier to follow, more consistent across platforms, and better covered by tests.


      Bug fixes

      • The image size was not passed correctly to one instance of the filesystem parser, which caused errors when loading a DwarFS image embedded inside a larger file (for example, a multi-layer file). Thanks to Ruan Formigoni for the pull request fixing this issue.

      • The performance monitor timer for op_lseek in the FUSE driver was not initialized correctly. This could lead to segmentation faults or bus errors due to an uninitialized index into a std::deque. The issue has been fixed, and an additional check has been added to catch similar errors in the future.

      • Native 32-bit glibc builds could fail in tests involving sparse files larger than 4 GiB because _FILE_OFFSET_BITS=64 was required for 64-bit file operations. Additional non-deterministic test failures related to time and ratio formatting were also fixed by rewriting that code to use integer arithmetic instead of floating-point arithmetic. A separate test bug that surfaced only with GCC was fixed as well. Addresses #354.

      • The FUSE drivers (dwarfs, dwarfs2) were refactored to eliminate a number of subtle startup and option-handling issues and to make behavior much more consistent across the various supported FUSE variants.

      • The manual pages shown with --man for all tools unintentionally included the license header from XML comments at the top of the source files. The renderer now ignores those comments.

      Build

      • After benchmarking the latest mimalloc allocator, it turns out to perform mostly on par with jemalloc. It is still less configurable, but it is clearly usable when that extra configurability is not needed.

      • The small universal release binaries are now built with mimalloc instead of jemalloc, reducing their size by about 10%.

      • Older Clang versions, such as those shipped with Ubuntu 22.04, are no longer supported because they cannot use libstdc++'s std::expected implementation. DwarFS can still be built on Ubuntu 22.04 with GCC.

      Test

      • A few particularly slow tests were identified through profiling and have been reworked to run faster while still covering most of the same code paths.

      New Contributors

      Full Changelog : v0.15.1...v0.15.2

      SHA-256 Checksums

      f81290d5c4890a274a60a82b801e62110975ca466799e4408ad046bc70695aef  dwarfs-0.15.2-Linux-aarch64.tar.xz
      2466659a4e783d1bc794e17215dcdf093fae8e9493ffaa03091a85c8c11369f2  dwarfs-0.15.2-Linux-arm.tar.xz
      fd6ed59b7805539c6fc6e6e508344d10479f6587abe1040a1e86997f19b52fa0  dwarfs-0.15.2-Linux-i386.tar.xz
      62f5f2bac65232184cb14e7bb7921a38b34440dcd688080eebdcdc512915d3ba  dwarfs-0.15.2-Linux-loongarch64.tar.xz
      08e556adeb248a20aec04bf70886146f5e56bd0efc0bbe225aae69d20b25d33e  dwarfs-0.15.2-Linux-ppc64le.tar.xz
      1668eca05412c2bd848ad4aa606a61fb2bf48f3cf92aac556149778a713885f2  dwarfs-0.15.2-Linux-ppc64.tar.xz
      3110c8f630a4ae65fe16e4e3280f74d34b2c7a8224630e03361ed799819eeb9f  dwarfs-0.15.2-Linux-riscv64.tar.xz
      5879d6d1e406a5ddf4dc68d8179540bd797af5d58abe7def9e62c6841221eb95  dwarfs-0.15.2-Linux-s390x.tar.xz
      ad9ef4edf2d124b5c8d4540b2298a9b520e15841c68b921192d9bcb83eb69455  dwarfs-0.15.2-Linux-x86_64.tar.xz
      6b7edcb2121347e273753d949f72913f006ec12477248384b24c48989ec34995  dwarfs-0.15.2.tar.xz
      c34c05e7f65edcfd5f21bc3fed2de90d3f4b8c5b311d3b5ae302ae3ec6fc7161  dwarfs-0.15.2-Windows-AMD64.7z
      46d690ecf546539d3229df9e3ad2412a806e4dee95e22c9ea843d934003f21bb  dwarfs-fuse-extract-0.15.2-Linux-aarch64
      3d49d59416bcb989504b70bc63ebcbbb5be5c9a049bd432cefeb4620aa0fc3ae  dwarfs-fuse-extract-0.15.2-Linux-aarch64.upx
      d6b4f4fc498e48031f7e7bb5ed3297a1272a68465f1803ad599ee486b0d49799  dwarfs-fuse-extract-0.15.2-Linux-arm
      c5214353ad9de53a7fbff6aa5adfa65a9b830b694be839d5de1dbec9ff6a12f0  dwarfs-fuse-extract-0.15.2-Linux-arm.upx
      5056562a6e12bcb20e7e07aeff0fa31113bae52f6feefd1a79f87d412c8bcd6d  dwarfs-fuse-extract-0.15.2-Linux-i386
      92ac91f59581663985250cc0bcad02742c5cf1a5b009925212f97c1a424f69c3  dwarfs-fuse-extract-0.15.2-Linux-i386.upx
      ede37a302b6e038f25dc4a35f25d8c9378fb2ae35600ec445a1eec0bf8b9d64c  dwarfs-fuse-extract-0.15.2-Linux-loongarch64
      eec1b96f2d19c04aeda2099914e0b905cec6dec98be439f1bfc4f8f31c447554  dwarfs-fuse-extract-0.15.2-Linux-ppc64
      983ee30f114bbafdeefc7ca8a79eecffa33c6314b9c516e7183424ec1d75802c  dwarfs-fuse-extract-0.15.2-Linux-ppc64le
      fba9d984f3258f5c35e441b2eb468e25baa9f339e6100013c5a2fbb1c6bfcc1e  dwarfs-fuse-extract-0.15.2-Linux-riscv64
      a3210163095b118407f6b8bd174d60bdb92a9d3fa70b9cdcb761d39570bd2bbb  dwarfs-fuse-extract-0.15.2-Linux-riscv64.upx
      28f9ca8b2c9ccfc3c7e5949ed89b33a24aade539b3e0de40d5d364e0d06b0065  dwarfs-fuse-extract-0.15.2-Linux-s390x
      85084aae43406fa8892df1cc24bd6df96948d99e8a35ca4c2873518fef0fa41c  dwarfs-fuse-extract-0.15.2-Linux-x86_64
      40d027c79c7be4a5f7701433477f832390c3aaab437ca3bb2e3f0aa0a007d557  dwarfs-fuse-extract-0.15.2-Linux-x86_64.upx
      b9c25399e1e4672601c0afbcb44e522af71698ea41691384555abe09776c113e  dwarfs-universal-0.15.2-Linux-aarch64
      432a460080765f52b2b6e51ef99ca87bc4ba1cdf8fa9257155cd89d1b20edbc8  dwarfs-universal-0.15.2-Linux-aarch64.upx
      114496a88f27af058481d09e4c75a5079ff9567317745fd50ca4ae79eec30070  dwarfs-universal-0.15.2-Linux-arm
      23703b2ce7de3a3ed52f1441759f91a10ab654243678a050e98e5fda0d821c05  dwarfs-universal-0.15.2-Linux-arm.upx
      35771934f6dc34038624cf99179bcfb4fe707c533e294d4a75cebdc56785cf08  dwarfs-universal-0.15.2-Linux-i386
      24d6ae52dc7166d667cabb47b77233f3a2e87848fb7ffc71a1d230aeb54dd5f7  dwarfs-universal-0.15.2-Linux-i386.upx
      a3d97d40a2cc1baf70efe5e5509f9537826b13ee27bdf3bf95a2914361d31181  dwarfs-universal-0.15.2-Linux-loongarch64
      547650e46dde48abdd5824115e3c39cb66d551e4647383716591ea5bbcfb7f2e  dwarfs-universal-0.15.2-Linux-ppc64
      9712e02402f2a2094a565d39ec2bad2a3a43dbc042a18c93035726de4b133c24  dwarfs-universal-0.15.2-Linux-ppc64le
      24f53482d4992797b178e9d63156519569168d2ad469c998451670c44362c418  dwarfs-universal-0.15.2-Linux-riscv64
      912b7c0205df9c3a3af61e9b5816fd7b83219259db3ecbe9d0761be97335d0c1  dwarfs-universal-0.15.2-Linux-riscv64.upx
      13719648b094adf2c86df6dcc1c34f6b414d01f2032ab1c035bcc95e97f7d135  dwarfs-universal-0.15.2-Linux-s390x
      7e4d7ed1b4c8d3f1db01d6914e5b8bcba1d1eb69dfaafe06d32214797fb0dd55  dwarfs-universal-0.15.2-Linux-x86_64
      3f073cf225f975415da316aacee1825497a981ff7dad654bf50adb9b2592f7bb  dwarfs-universal-0.15.2-Linux-x86_64.upx
      af985a17f080dd708f4fe8c6993adfa0a9f2545f96322e86dd4464ec2bcc0838  dwarfs-universal-0.15.2-Windows-AMD64.exe
      feb6e82cd37eba74540c20ab4b73f82c5698f37bada15c7869ab976e04792c46  dwarfs-universal-small-0.15.2-Linux-aarch64
      622c917795af04b045d070846ef8492f1c033f5722aa2c02549e218bcaaeace3  dwarfs-universal-small-0.15.2-Linux-aarch64.upx
      759c66628b384769e9a3bcd5f98feadec3faa5334910e865c57551a44258f817  dwarfs-universal-small-0.15.2-Linux-arm
      2b2fb1d586d79eff8024f69ffc805a341323358ef96ea7cbaf06b41fb76e9628  dwarfs-universal-small-0.15.2-Linux-arm.upx
      041cd1200eeac5cf6bdd0c8dc922d119390959a4881b70eddf82d7ac79ae8d89  dwarfs-universal-small-0.15.2-Linux-i386
      1dee9fc1846b902f544d8fcfaf7299b0381fa5d8345c2e9eb5d581ce73350b86  dwarfs-universal-small-0.15.2-Linux-i386.upx
      c41cc39c690bba884077f995233eeeef968e6de20b2814fc4c1836281892ce70  dwarfs-universal-small-0.15.2-Linux-loongarch64
      9f45a53288ac79192454aa5c96d90c92d47206a6162516b5d8f7efa6b85128a4  dwarfs-universal-small-0.15.2-Linux-ppc64
      8a6d16cc922ba48b17c78964388cd04f5fa39593340a1721453ed3ebc766862c  dwarfs-universal-small-0.15.2-Linux-ppc64le
      5f05442e1426ce962a0f319f0e27167943024758f5dd508053683a8cefa261a7  dwarfs-universal-small-0.15.2-Linux-riscv64
      b84b860adee190cadd0d54a643d9eb787366320371d67944e3e0aff035a4acb5  dwarfs-universal-small-0.15.2-Linux-riscv64.upx
      49cc48c441feb0a96b1685a6919ae361a8ae27e060e7a0ff1d92b8611091edaa  dwarfs-universal-small-0.15.2-Linux-s390x
      85f0a2a95c8438a06e1177936ae1e4d9e45cec7876824037776b7866cb19973c  dwarfs-universal-small-0.15.2-Linux-x86_64
      ff16901aa36b692a98bacfda58c68c5868ff4dd72babe61b33571165730cf477  dwarfs-universal-small-0.15.2-Linux-x86_64.upx
      
    37. 🔗 r/reverseengineering hCAPTCHA Reverse Engineered rss
    38. 🔗 r/reverseengineering hCAPTCHA Reverse Engineered rss
    39. 🔗 backnotprop/plannotator v0.16.2 release

      Follow @plannotator on X for updates


      Missed recent releases? Release | Highlights
      ---|---
      v0.16.1 | SSE stream idle timeout fix for external annotations API
      v0.16.0 | GitHub Copilot CLI, external annotations API, bot callback URLs, interactive checkboxes, print support, diff display options
      v0.15.5 | Custom display names, GitHub viewed file sync, expand/collapse all in file tree, search performance, WSL fix
      v0.15.2 | Compound Planning skill, folder annotation, /plannotator-archive slash command, skill installation via platform installers
      v0.15.0 | Live AI chat in code review, plan archive browser, folder file viewer, resizable split pane, Pi full feature parity
      v0.14.5 | GitLab merge request review, login page image fix, Windows install path fix
      v0.14.4 | GitHub review submission, repo identifier in tab title, nested code fence parser fix, Pi paste URL wiring
      v0.14.3 | PR context panel, diff search in code review, OpenCode permission normalization, landing page redesign
      v0.14.2 | OpenCode plan mode prompt replacement, Windows non-ASCII path fix, Pi link fix
      v0.14.1 | Single submit_plan with auto-detect, viewed-file draft persistence, Bear nested tag fix
      v0.14.0 | PR review via GitHub URL, /plannotator-last for annotating agent messages, OpenCode plan mode permissions fix, VS Code SSH proxy fix


      What's New in v0.16.2

      v0.16.2 focuses on annotation UX. Comment popovers are now draggable, annotation counts surface across sidebar tabs, and the code review diff viewer supports custom fonts. 4 PRs.

      Draggable Comment Popovers

      Comment popovers in both plan review and code review can now be repositioned by dragging their header bar. Previously, popovers near viewport edges or at the bottom of long documents would clip or overlap content, forcing users to scroll to work around them. A shared useDraggable hook handles the drag mechanics with a 3px movement threshold that prevents interfering with header button clicks. Once dragged, auto-positioning pauses so the popover stays where you put it. Position resets when a new annotation is selected.

      The same drag behavior applies to the annotation toolbar in code review line comments.

      Cross-File Annotation Visibility

      Annotations are now visible across sidebar tabs. The Files and Vault browsers show per-file annotation count badges, with folders displaying aggregate counts from descendants. A summary header reports "N annotations in M files" when any file has annotations. Dot indicators appear on the Files and Vault tab icons when annotated files exist, even when the sidebar is collapsed.

      The table of contents badge was redesigned from a heavy accent circle to a lighter muted rounded badge, and the same component is reused across all sidebar trees. Navigation back buttons now adapt based on context, returning to the correct sidebar tab when navigating between files.

      Custom Diff Fonts

      The code review diff viewer now supports custom monospace fonts and font size adjustments. A Code Font dropdown and font size slider appear in the Display settings tab. Nine fonts are available: Fira Code, Hack, IBM Plex Mono, Inconsolata, JetBrains Mono, Red Hat Mono, Roboto Mono, Source Code Pro, and Atkinson Hyperlegible Mono. Fonts load on demand from Google Fonts and jsDelivr CDN. The overrides apply to the diff shadow DOM, annotations, suggestions, and AI chat code blocks. Settings persist via the ConfigStore system.

      Additional Changes

      • OpenCode verbose log fix. Removed writeRemoteShareLink stderr output that flooded the TUI on remote sessions, and stripped leftover debug logs from the PR viewed files feature (#440, closing #435 reported by @h4rvey-g)

      Install / Update

      macOS / Linux:

      curl -fsSL https://plannotator.ai/install.sh | bash
      

      Windows:

      irm https://plannotator.ai/install.ps1 | iex
      

      Claude Code Plugin: Run /plugin in Claude Code, find plannotator , and click "Update now".

      Copilot CLI:

      /plugin marketplace add backnotprop/plannotator
      /plugin install plannotator-copilot@plannotator
      

      OpenCode: Clear cache and restart:

      rm -rf ~/.bun/install/cache/@plannotator
      

      Then in opencode.json:

      {
        "plugin": ["@plannotator/opencode@latest"]
      }
      

      Pi: Install or update the extension:

      pi install npm:@plannotator/pi-extension
      

      What's Changed

      • fix(opencode): remove verbose logs that flood the TUI by @backnotprop in #440
      • feat(review): custom diff font family and size overrides by @backnotprop in #441
      • feat(ui): draggable comment popover and annotation toolbar by @backnotprop in #442
      • feat(ui): cross-file annotation visibility and adaptive navigation by @backnotprop in #444

      Community

      @h4rvey-g reported the OpenCode TUI flooding issue in #435, which led to the verbose log cleanup in #440.

      Full Changelog : v0.16.1...v0.16.2

    40. 🔗 r/Yorkshire Gresley Society announces major exhibition celebrating Sir Nigel Gresley’s 150th anniversary at The Danum Gallery in Doncaster. 04/04/2026 to 30/05/2026 rss

      Gresley Society announces major exhibition celebrating Sir Nigel Gresley’s 150th anniversary at The Danum Gallery in Doncaster. 04/04/2026 to 30/05/2026 | submitted by /u/CaptainYorkie1
      [link] [comments]
      ---|---

    41. 🔗 r/LocalLLaMA Qwen3.5-Omni results have been published by Alibaba rss

      Qwen3.5-Omni results have been published by Alibaba | submitted by /u/Fear_ltself
      [link] [comments]
      ---|---

    42. 🔗 r/LocalLLaMA I just want to catch up on local LLM's after work.. rss
    43. 🔗 Servo Blog February in Servo: faster layout, pause and resume scripts, and more! rss

      Servo 0.0.6 includes some exciting new features:

      Plus a bunch of new DOM APIs:

      Servo 0.0.6 showing ‘transform-style: preserve-3d’, ‘vertical-align’
shorthand with ‘baseline-shift’, objects being previewed in DevTools when
passed to console.log(), pausing script execution in DevTools, and opening a
modal &lt;dialog&gt; with <button
command>

      This is a big update, so here’s an outline:

      Work in progress We’ve started working on accessibility support for web content (@alice, @delan, #42333, #42402), gated by a pref (--pref accessibility_enabled). Each webview will be able to expose its own accessibility tree, which the embedder can then integrate into its own accessibility tree. As part of this work: AccessKit now supports combining accessibility trees with its new “subtree” feature (@DataTriny, @delan, @lukewarlow, @alice, AccessKit/accesskit#655, AccessKit/accesskit#641) egui has been migrated to the new AccessKit API (@delan, @lukewarlow, @lucasmerlin, @DataTriny, emilk/egui#7850) we added a Servo API for activating accessibility features (@delan, @alice, #42336), although this has since become a WebView API We’ve started implementing document.execCommand() (@TimvdLippe, #42621, #42626, #42750), gated by a pref (--pref dom_exec_command_enabled). This feature is also enabled in experimental mode , and together with contenteditable , it’s critical for rich text editing on the web. The work done in February includes: document.queryCommandEnabled() (@TimvdLippe, #42634) document.queryCommandSupported() (@TimvdLippe, #42731) document.queryCommandIndeterm() , queryCommandState() , and queryCommandValue() (@TimvdLippe, #42748) the canonicalize whitespace algorithm – this is used by the ‘delete’, ‘forwardDelete’, and ‘insertText’ commands (@TimvdLippe, #42704) contentEditable on HTMLElement – for execCommand() only, excluding any support for interactive editing (@TimvdLippe, #42633, #42734) Developer tools

      DevTools has seen some big improvements in February!

      When enabled in servoshell, the DevTools server is more secure by default, listening only on localhost when only a port number is specified (@Narfinger, #42502). You can open the port for remote debugging by passing a full SocketAddr, such as --devtools=[::]:6080 or --devtools=0.0.0.0:6080.

      In the Inspector tab, you can now edit DOM attributes , and the DOM tree updates when attributes change (@simonwuelker, #42601, #42785). You can now list the event type and phase of event listeners attached to a DOM node as well (@simonwuelker, #42355).

      In the Console tab, objects can now be previewed when passed to console.log() and friends (@simonwuelker, #42296, #42510, #42752), and boolean values are now syntax highlighted (@pralkarz, #42513).

      In the Debugger tab, you can now pause and resume script execution, both manually and when breakpoints are hit (@eerii, @atbrakhi, #42599, #42580, #42874). We’ve also started working on other debugger features (@atbrakhi, @eerii, #42306), including stepping execution (@eerii, @atbrakhi, #42844, #42878, #42906), so once again stay tuned!

      Servo 0.0.6 showing DevTools debugger setting breakpoints, pausing on those breakpoints, and resuming script execution

      servoshell Back in August, we added a servo:preferences page to servoshell that allows you to set some of Servo’s most common preferences at runtime (@jdm, #38159). servoshell now has a servo:config page (@arihant2math, #40324), allowing you to set any preference, even internal ones. Note that preference changes are not yet persistent, and not all prefs take effect when changed at runtime. You can now press F5 to reload the page in servoshell (@Narfinger, #42538), in addition to pressing Ctrl+R or ⌘R. We’ve fixed a regression where the caret stopped being visible in the location bar (@mrobinson, #42470). Embedding API

      Servo is now easier to build offline , using the complete source tarball included in each release (@jschwe, #42852). Go to a release on GitHub, then download servo-[version]-src-vendored.tar.gz to get started.

      You can now add and remove user stylesheets with User­Content­Manager::add­_stylesheet and remove­_stylesheet, and remove user scripts with User­Content­Manager::remove­_script (@mukilan, #42288). Previously user stylesheets were only configurable via servoshell’s --user-stylesheet option.

      User stylesheets work a bit differently to userstyles , since they cascade via the user origin, not the author origin. For more details about the tradeoffs, check out Customising the web: browsers as user agents (slides).

      Before opening any context menus on behalf of web content, Servo now closes any context menus that were opened by web content (@mrobinson, #42487), to avoid UI problems on some platforms. This is done by calling WebView­Delegate::hide­_embedder­_control before calling show­_embedder­_control in those cases.

      Input method events from web content now indicate whether or not the virtual keyboard should be shown (@stevennovaryo, @mrobinson, #42467), with the new Input­Method­Control::allow­_virtual­_keyboard method. Generally the virtual keyboard should only be shown when the page has sticky activation.

      We’re reworking our gamepad API , with WebView­Delegate::play­_gamepad­_haptic­_effect and stop­_gamepad­_haptic­_effect being replaced by a new API that (as of the end of February at least) is known as GamepadProvider (@atbrakhi, #41568). The old methods are no longer called (#43743), and may be removed at some point.

      We now have better diagnostic output when we fail to create an OpenGL context (@mrobinson, #42873), including when the OpenGL versions supported by the device are too old.

      Servo::constellation_sender was removed (@jdm, #42389), since it was never useful to embedders.

      We’ve also made some changes to Preferences:

      • devtools­_server­_port is now devtools­_server­_listen­_address, and can now take either a port number (as before) or a full SocketAddr (@Narfinger, #42502)

      • dom­_worklet­_blockingsleep is now dom­_worklet­_blockingsleep­_enabled (@mukilan, #42897)

      • Removed many unused preferences (@mukilan, #42897) – js­_asyncstack, js­_discard­_system­_source, js­_dump­_stack­_on­_debuggee­_would­_run, js­_ion­_offthread­_compilation­_enabled, js­_mem­_gc­_allocation­_threshold­_avoid­_interrupt­_factor, js­_mem­_gc­_allocation­_threshold­_factor, js­_mem­_gc­_allocation­_threshold­_mb, js­_mem­_gc­_decommit­_threshold­_mb, js­_mem­_gc­_dynamic­_heap­_growth­_enabled, js­_mem­_gc­_dynamic­_mark­_slice­_enabled, js­_shared­_memory, js­_throw­_on­_asmjs­_validation­_failure, js­_throw­_on­_debuggee­_would­_run, js­_werror­_enabled, and network­_mime­_sniff

      More on the web platform If you navigate to a video file or audio file as a document , the player now has controls (@webbeef, #42488). Images now rotate according to their EXIF metadata by default (@rayguo17, #42567), like they would once we add support for ‘image-orientation: from-image’. We’re implementing system-font-aware font fallback (@mrobinson, #42466), with support for this on macOS landing this month (@mrobinson, #42776). This allows Servo to render text in scripts that are not covered by web fonts or any of the fonts on Servo’s built-in lists of fallback fonts, as long as they are covered by fonts installed on the system. Servo now supports the newer pointermove , pointerdown , pointerup , and pointercancel events (@webbeef, #41290). The older touchmove , touchstart , touchend , and touchcancel events continue to be supported. The default language in ‘Accept-Language’ and navigator.language is now taken from the $LANG environment variable if present (@webbeef, #41919), rather than always being set to en-US. < input type=color> now supports any CSS color value (@simonwuelker, #42275), including the more complex values like color-mix(). We’ve also landed the colorspace attribute (@simonwuelker, #42279), but only in the web- facing side of Servo for now, not the embedding API or in servoshell. ‘vertical-align’ is now a shorthand for ‘alignment-baseline’ and ‘baseline-shift’ (@Loirooriol, #42361), and scrollParent on HTMLElement is now a function per this recent spec update (@TimurBora, #42689). Cookies are now more conformant (@sebsebmc, #42418, #42427, #42435). ‘Expires’ and ‘Max-Age’ attributes are now handled correctly in ‘Set-Cookie’ headers, get() and getAll() on CookieStore now trim whitespace in cookie names and values, and the behaviour of set() on CookieStore has been improved. < iframe> elements are now more conformant in how load events are fired on the element and its contentWindow (@TimvdLippe, #42254), although there are still some bugs. This has long behaved incorrectly in Servo, and it has historically caused many problems in the Web Platform Tests. IndexedDB is now more conformant in our handling of transactions (@Taym95, #41508, #42732), and when opening and closing connections (@gterzian, @Taym95, #42082, #42669). We’ve started implementing Largest Contentful Paint timings (@shubhamg13, #42024), and we’ve landed a bunch of improvements to how First Contentful Paint timings work in Servo: we now include ‘background-image’ (@shubhamg13, #42569) we now include ‘border-image’ (@shubhamg13, #42581) we now ignore subtrees with ‘opacity: 0’ (@shubhamg13, #42768) we now ignore zero-sized subtrees (@shubhamg13, #42178) we now ignore <iframe> (@shubhamg13, #42498) we now ignore <video> and unless they actually have an image (@shubhamg13, #42411) we now ignore mouse moves when deciding when to stop measuring (@shubhamg13, #41999) new WebSocket() now resolves relative URLs (@webbeef, #42425). requestFullscreen() on Element now requires user activation (@stevennovaryo, #42060). performance.getEntries() now returns PerformanceResourceTiming entries for navigations in <iframe> (@muse254, #42270). When geolocation is enabled (--pref dom_geolocation_enabled), navigator­.geolocation­.get­Current­Position() and watch­Position() now support the optional errors argument (@arihant2math, #42295). We now support the ‘-webkit-text-security’ property in CSS (@mrobinson, #42181), which is not specified anywhere but required for MotionMark. Performance and stability

      Our about:memory page now knows how to report many new kinds of memory usage , including the DevTools server (@Narfinger, #42478, #42480), WebGL (@sagudev, #42570), localStorage and sessionStorage (@arihant2math, #42484), and some of the memory used by IndexedDB (@arihant2math, #42486). We’ve also started internally tracking the memory usage of the media subsystem (@Narfinger, #42504) and WebXR (@Narfinger, #42505).

      Layout has seen a lot of performance work in February, with our main focus being on improving incremental layout of the box tree and fragment tree.

      We now have our first truly incremental box tree layout (@mrobinson, @Loirooriol, @lukewarlow, #42700), rather than our previous “dirty roots”-based approach. Depending on how they were damaged, some boxes for floats (as above, #42816), independent formatting contexts (as above, #42783), and their descendants (as above, #42582) can now be reused, and they avoid damaging their parents (as above, #42847). We also destroy boxes with ‘display: none’ earlier in the layout process (as above, #42584).

      Incremental fragment tree layout is improving too! Whereas we previously had to decide whether to run fragment tree layout in an “all or nothing” way, we can now reuse cached fragments in independent formatting contexts (@mrobinson, @Loirooriol, @lukewarlow, #42687, #42717, #42871). We can also measure how much work is being done on each layout (as above, #42817).

      Servo uses shared memory for many situations where copying data over channels would be too expensive, such as for images and fonts. In multiprocess mode (--multiprocess), we use the operating system to create the shared memory in a way that can be shared with other processes, such as shm_open(3) or CreateFileMappingW, but this consumes resources that can sometimes be exhausted. We only need to use those kinds of shared memory in multiprocess mode, so we’ve reworked Servo to use Arc<Vec<u8>> in single-process mode (@Narfinger, #42083), which should avoid resource exhaustion.

      Parsing web pages is complicated: we want pages to render incrementally as they stream in from the network, and we want to prefetch resources, but scripts can call document.write(), which injects markup “on the spot”. This is further complicated if that markup also contains a <script>.

      We’ve recently landed some fixes to Servo’s async parser (@simonwuelker, #42882, #42910), which handles these issues more efficiently. This is currently an obscure and somewhat buggy feature (--pref dom­_servoparser­_async­_html­_tokenizer­_enabled), but if we can get the feature working more reliably (#37418), it could halve the energy Servo spends on parsing, lower latency for pages that don’t use document.write(), and even improve the html5ever API for the ecosystem.

      We’ve also landed optimisations for ‘Content-Security-Policy’ (@Narfinger, #42716), IntersectionObserver (@Narfinger, @mrobinson, @stevennovaryo, #42366, #42390), layout queries (@webbeef, #42327), the bfcache (@Narfinger, #42703), loading images (@Narfinger, #42684), and checks for multiprocess mode (@Narfinger, #42782), as well as the interfaces between Servo and SpiderMonkey (@sagudev, #42135, #42576).

      We’ve continued our long-running effort to use the Rust type system to make certain kinds of dynamic borrow failures impossible (@Gae24, @pralkarz, @BryanSmith00, @sagudev, @Narfinger, @TimvdLippe, @kkoyung, @TimurBora, @onsah, #42342, #42294, #42370, #42417, #42619, #42616, #42637, #42640, #42662, #42679, #42681, #42665, #42667, #42699, #42712, #42725, #42729, #42726, #42720, #42738, #42737, #42735, #42751, #42805, #42809, #42780, #42820, #42715, #42635, #42880, #42846).

      Bug fixes We’ve landed some fixes for issues preventing Servo from being built on Windows arm64 (@dpaoliello, @npiesco, #42371, #42341). Work to enable Windows arm64 as a build platform is ongoing (@npiesco, #42312). < img height> now takes the default from the aspect ratio of the image (@Loirooriol, #42577), rather than using a width of 300px by default. < svg width=0> and < svg height=0> now take the default width and height (respectively) from the aspect ratio of the (@Loirooriol, #42545). We’ve fixed a bug in the result of layout queries , such as getBoundingClientRect(), on inline < svg> (@jdm, @Loirooriol, #42594), and we’ve fixed layout bugs related to ‘display: table-cell’ (@Loirooriol, #42778), ‘display: list-item’ (@Loirooriol, #42825, #42864), ‘inset: auto’ (@Loirooriol, #42586), ‘width: max-content’ (@mrobinson, @Loirooriol, @lukewarlow, #42574), ‘align-self: last baseline’ (@rayguo17, #42724), ‘list-style-image’ (@lukewarlow, #42332), ‘content: ’ (@lukewarlow, #42332), negative ‘margin’ (@Loirooriol, #42889), and ink overflow (@mrobinson, #42403). HTML and CSS bugs: Empty ‘url()’ values making requests when they shouldn’t (@rayguo17, #42622) < template> failing to throw HierarchyRequestError when a DOM API is used to create an invalid hierarchy (@TimvdLippe, #42276) < input> and < textarea> selection behaviour being incorrect when the text contains more than one script (@mrobinson, #42399) < script nonce> validation failing to work correctly in some cases (@dyegoaurelio, #40956) < a target> failing to work correctly after the related <iframe> is removed and a new one added with the same name (@jdm, #42344) < base> not taking effect in some cases, or taking effect when given a data: or javascript: URL (@TimvdLippe, #42255, #42339) JavaScript and DOM bugs: event.target being incorrect on touchmove , touchend , and touchcancel events (@yezhizhen, #42654) touchmove events not being fired when part of a two-finger pinch zoom (@yezhizhen, #42528) touchend events erroneously firing after touchcancel events (@yezhizhen, #42654) assignedNodes() on HTMLSlotElement returning incorrect results after the <slot> was removed from the shadow tree (@rayguo17, #42250) Largest Contentful Paint timings no longer being collected after reloading or navigating (@shubhamg13, #41169) PerformancePaintTiming being exposed to Worker globals when they shouldn’t be (@shubhamg13, #42409) JavaScript modules resolved incorrectly when there are overlapping .imports or .scopes or import maps (@Gae24, #42668, #42630, #42754, #42821) changes to how we trigger garbage collection breaking Speedometer (@sagudev, #42271) WebDriver bugs: Pointer actions and wheel actions behaving incorrectly when devicePixelRatio ≠ 1 (@yezhizhen, #42387, #42628) Wheel actions throwing incorrect exceptions when they are missing properties (@yezhizhen, #42745) pointerMove actions with non-zero duration failing to interleave with other actions (@yezhizhen, #42289) We’ve fixed crashes in DevTools , in the Inspector tab (@eerii, @mrobinson, #42330), when exiting Servo while DevTools is connected (@simonwuelker, #42543), when setting breakpoints (@atbrakhi, #42810), and after clients disconnect (@simonwuelker, #42583). We’ve fixed crashes in layout , when using ‘background-repeat: round’ (@mrobinson, #42303), when using ‘list-style- image’ or ‘content: ’ (@lukewarlow, #42332), when calling elementFromPoint() on Document (@mrobinson, @Loirooriol, @lukewarlow, #42822), and when handling layout queries like getBoundingClientRect() on inline <svg> (@jdm, @Loirooriol, #42594). We’ve fixed crashes related to stylesheets , when removing stylesheets from the DOM (@TimvdLippe, #42273), when changing the href of a (@TimvdLippe, #42481), and when loading stylesheets with --layout-threads=1 (@mrobinson, @Loirooriol, @lukewarlow, #42685). We’ve also fixed crashes when using multitouch input (@yezhizhen, #42350), when using MediaStreamAudioSourceNode (@mrobinson, #42914), when calling add() on HTMLOptionsCollection (@mrobinson, #42263), when calling elementFromPoint() on Document or ShadowRoot(), when we fail to open a database for IndexedDB (@jdm, @mrobinson, #42444), and when certain pages are run with a mozjs debug build (@Gae24, #42428). Donations

      Thanks again for your generous support! We are now receiving 6985 USD/month (−0.4% from January) in recurring donations. This helps us cover the cost of our speedy CI and benchmarking servers, one of our latest Outreachy interns , and funding maintainer work that helps more people contribute to Servo.

      Servo is also on thanks.dev, and already 32 GitHub users (–1 from January) that depend on Servo are sponsoring us there. If you use Servo libraries like url, html5ever, selectors, or cssparser, signing up for thanks.dev could be a good way for you (or your employer) to give back to the community.

      We now have sponsorship tiers that allow you or your organisation to donate to the Servo project with public acknowlegement of your support. If you’re interested in this kind of sponsorship, please contact us at join@servo.org.

      6985 USD/month

      10000

      Use of donations is decided transparently via the Technical Steering Committee’s public funding request process , and active proposals are tracked in servo/project#187. For more details, head to our Sponsorship page.

    44. 🔗 exe.dev Prompt engineering is dead, but Claude still tries rss

      A year ago, Claude was better at prompting than I was. Not any more.

      Coding agents have gotten dramatically better. Good prompting used to require carefully calibrated instructions and harnesses. Now a good prompt includes goals, context, and maybe some preferences and operational details.

      LLMs used to be lackadaisical about following rules. No longer. If you tell them exactly what to do, they will do exactly that. That can be helpful! But in the real, messy world, it's extraordinarily difficult to define in advance a good set of rules. Instead, we constantly exercise judgment. Agents are really good at on-the-fly judgment now. Delegation beats micromanagement.

      Most system prompts should be deleted. Most skills should be deleted. Most AGENTS.md should be deleted. It's all getting in the way now; the bitter lesson has come for harnesses.

      My personal CLAUDE.md is 3 lines long. Here it is:

      • Do not git push, ever, under any circumstances.
      • Do not hand-edit Go imports. Run goimports -w after every edit.
      • When writing prompts for other agents, convey intent, nuance, and operational details rather than prescriptive instructions—goals are durable, orders are brittle. Trust and delegate over command and control.

      I look forward to deleting the goimports line in the near future.

      I'd also love to nix the last line, which unfortunately doesn't even work completely. Claude doesn't understand yet that we don't live in 2025.

      When Claude barks orders like a drill sergeant, it erases the underlying purpose. Every layer of subagents loses ever more fidelity, like a game of LLM telephone.

      The thing is: agents prompt agents all the time. Agents help people write skills. Agents invoke subagents. Agents write scripts that run agents.

      Shelley, the exe.dev coding agent, has an orchestrator mode. It works around this form of context collapse by giving all subagents access to a SQLite database containing the entire set of all conversations. Subagents refer back to the user's input as a primary source.

  3. March 30, 2026
    1. 🔗 IDA Plugin Updates IDA Plugin Updates on 2026-03-30 rss

      IDA Plugin Updates on 2026-03-30

      New Releases:

      Activity:

      • capa
        • c5fd75f1: build(deps): bump pyasn1 from 0.5.1 to 0.6.3 (#2939)
        • b82c07d8: Merge pull request #2980 from mandiant/dependabot/pip/pygments-2.20.0
        • 0933594a: build(deps): bump pygments from 2.19.1 to 2.20.0
        • db84b2cf: Merge pull request #2978 from mandiant/dependabot/pip/pygithub-2.9.0
        • 693233e9: Merge pull request #2977 from mandiant/dependabot/pip/types-requests-…
        • 66a26d02: build(deps): bump pygments from 2.18.0 to 2.20.0 in /web/rules (#2979)
        • 3db27d2e: build(deps): bump pygments from 2.18.0 to 2.20.0 in /web/rules
        • e548fa07: build(deps-dev): bump pygithub from 2.8.1 to 2.9.0
        • 94814990: build(deps-dev): bump types-requests
      • DeepExtractIDA
        • 0f7d7212: Include README.md in release ZIP
      • Greffe
        • c89b9b60: Delete outdated arm/64 handling
        • 9a1e4045: Clean unused files
        • 07917093: Merge pull request #32 from Lixhr/31-detect-pc-relative-branch-overflow
        • 5012ee9f: Add indirect branch when the target is too far.c
        • 42a286ca: Add indirect branch when the target is too far.c
        • e65265a8: Init cli test system
      • IDAssist
        • a5c008fc: Handle hex addresses in SymGraph push preview
      • IDEA
        • 68384fca: Refine dynamic headless launch and add regression test
      • pdb
      • python-elpida_core.py
        • ce97d255: MIND evolution fixes: break consolidation loop
      • suture
        • 254ac413: added dynamic context menu label
    2. 🔗 r/reverseengineering RE//verse 2026: Hacking the Xbox One by Markus 'doom' Gaasedelen rss
    3. 🔗 r/reverseengineering The Webs Digital Locks have Never had a Stronger Opponent rss
    4. 🔗 r/reverseengineering Quero conseguir achar uma senha pra acessar um menu debbug de um jogo, o menu aparece qdo aperto varias vezes na logo,mais pede uma senha,ja tentei descompilar o app e procurar a senha mais nao consigo, talvez esteja criptografada,e não tenho computador,alguem poderia me ajudar? rss
    5. 🔗 r/LocalLLaMA Qwen 3.6 spotted! rss
    6. 🔗 r/LocalLLaMA llama.cpp at 100k stars rss
    7. 🔗 r/york looking for friends! rss

      I’m a 2nd year international student (f) at uni & have struggled to find people i really connect with. i’m neurodiverse and haven’t really met many other nd people as I work a lot and often can’t make it to scheduled events, but I’d particularly really like to make more ND friends!

      I’m queer, love cinema, david lynch, charity shopping + vintage clothes, art, feminism, reading (esp classics), alternative music, gigs, and going to leeds gay bars lol.

      send me a message if u want to chat/plan something! :)

      submitted by /u/LocksmithVast8025
      [link] [comments]

    8. 🔗 r/Harrogate Rudys 3000 free pizzas - yeah right rss

      A right first world grumble.

      Rudys announced with some fanfare they are giving 3000 pizzas away to celebrate opening in town.

      The email dropped today whilst I was in my inbox looking at something else. Within 2 mins of landing every slot to book for the next six weeks were fully booked.

      My spider senses suggest there were no free pizzas.

      submitted by /u/Similar-Actuator-338
      [link] [comments]

    9. 🔗 r/reverseengineering Windows x86 Stack Overflow Breakdown + Hand-Assembled Shellcode (Educational VM Lab) rss
    10. 🔗 HexRaysSA/plugin-repository commits sync repo: +4 releases rss
      sync repo: +4 releases
      
      ## New releases
      - [DeepExtract](https://github.com/marcosd4h/DeepExtractIDA): 0.9.12
      - [IDAssist](https://github.com/symgraph/IDAssist): 1.5.0
      - [IDAssistMCP](https://github.com/symgraph/IDAssistMCP): 1.4.0
      - [Suture](https://github.com/libtero/suture): 1.2.5
      
    11. 🔗 r/LocalLLaMA Stanford and Harvard just dropped the most disturbing AI paper of the year rss
    12. 🔗 backnotprop/plannotator v0.16.1 release

      Follow @plannotator on X for updates


      Missed recent releases? Release | Highlights
      ---|---
      v0.16.0 | GitHub Copilot CLI, external annotations API, bot callback URLs, interactive checkboxes, print support, diff display options
      v0.15.5 | Custom display names, GitHub viewed file sync, expand/collapse all in file tree, search performance, WSL fix
      v0.15.2 | Compound Planning skill, folder annotation, /plannotator-archive slash command, skill installation via platform installers
      v0.15.0 | Live AI chat in code review, plan archive browser, folder file viewer, resizable split pane, Pi full feature parity
      v0.14.5 | GitLab merge request review, login page image fix, Windows install path fix
      v0.14.4 | GitHub review submission, repo identifier in tab title, nested code fence parser fix, Pi paste URL wiring
      v0.14.3 | PR context panel, diff search in code review, OpenCode permission normalization, landing page redesign
      v0.14.2 | OpenCode plan mode prompt replacement, Windows non-ASCII path fix, Pi link fix
      v0.14.1 | Single submit_plan with auto-detect, viewed-file draft persistence, Bear nested tag fix
      v0.14.0 | PR review via GitHub URL, /plannotator-last for annotating agent messages, OpenCode plan mode permissions fix, VS Code SSH proxy fix
      v0.13.1 | OpenCode plan mode rewrite, Obsidian save fix


      What's New in v0.16.1

      v0.16.1 fixes SSE connection stability for the external annotations API introduced in v0.16.0. 1 PR from an external contributor, 1 first-timer.

      SSE Stream Idle Timeout Fix

      Bun's default idle timeout of 10 seconds was killing the external annotations SSE stream (/api/external-annotations/stream) before the first 30-second heartbeat could fire. The browser's EventSource auto-reconnected, but each reconnect triggered a full snapshot resend and produced a [Bun.serve]: request timed out after 10 seconds warning in the console.

      The fix uses Bun's per-request server.timeout(req, 0) to disable the idle timeout only on SSE stream requests. Normal HTTP requests keep the default 10-second safety net. The change applies to all three server types (plan, review, annotate).


      Install / Update

      macOS / Linux:

      curl -fsSL https://plannotator.ai/install.sh | bash
      

      Windows:

      irm https://plannotator.ai/install.ps1 | iex
      

      Claude Code Plugin: Run /plugin in Claude Code, find plannotator , and click "Update now".

      Copilot CLI:

      /plugin marketplace add backnotprop/plannotator
      /plugin install plannotator-copilot@plannotator
      

      OpenCode: Clear cache and restart:

      rm -rf ~/.bun/install/cache/@plannotator
      

      Then in opencode.json:

      {
        "plugin": ["@plannotator/opencode@latest"]
      }
      

      Pi: Install or update the extension:

      pi install npm:@plannotator/pi-extension
      

      What's Changed

      • fix(server): keep external annotation SSE streams alive by @foxytanuki in #439

      New Contributors

      Community

      @foxytanuki filed #438 with a thorough root cause analysis identifying the mismatch between Bun's 10-second idle timeout and the 30-second heartbeat interval, then followed up with the fix in #439.

      @j-huang-rj independently identified the same issue and submitted a fix in #433. The targeted per- request approach from #439 was chosen, but both contributors spotted the problem within hours of v0.16.0 shipping.

      Full Changelog : v0.16.0...v0.16.1

    13. 🔗 r/reverseengineering Reverse Engineering Crazy Taxi, Part 2 rss
    14. 🔗 r/LocalLLaMA Semantic video search using local Qwen3-VL embedding, no API, no transcription rss

      Semantic video search using local Qwen3-VL embedding, no API, no transcription | I've been experimenting with Qwen3-VL-Embedding for native video search, embedding raw video directly into a vector space alongside text queries. No transcription, no frame captioning, no intermediate text. You just search with natural language and it matches against video clips. The surprising part: the 8B model produces genuinely usable results running fully local. Tested on Apple Silicon (MPS) and CUDA. The 8B model needs ~18GB RAM, the 2B runs on ~6GB. I built a CLI tool around this (SentrySearch) that indexes footage into ChromaDB, searches it, and auto-trims the matching clip. Originally built on Gemini's embedding API, but added the local Qwen backend after a lot of people asked for it. Has anyone else been using Qwen3-VL-Embedding for video tasks? Curious how others are finding the quality vs the cloud embedding models. (Demo video attached, note this was recorded using the Gemini backend, but the local backend works the same way with the --backend local flag) submitted by /u/Vegetable_File758
      [link] [comments]
      ---|---

    15. 🔗 r/reverseengineering I built pycdc-studio, a Qt desktop UI for exploring Python bytecode with pycdc/pycdas rss
    16. 🔗 r/Leeds Royal Armouries International Jousting Tournament Tickets rss

      Hi, everyone!

      I hope this is okay to ask on here / realise this is a long shot, but would anyone happen to have a spare ticket / or two for the upcoming jousting tournament, if you perhaps can't go for any reason, or know someone that can't?

      Full disclosure, I left it too long to buy my own because my partner was deliberating whether or not they could come with me, and I didn't realise the demand. 😅 My mistake! But, I thought it was worth asking. Thank for you reading if you've come this far!

      submitted by /u/FigureO9
      [link] [comments]

    17. 🔗 Simon Willison Mr. Chatterbox is a (weak) Victorian-era ethically trained model you can run on your own computer rss

      Trip Venturella released Mr. Chatterbox, a language model trained entirely on out-of-copyright text from the British Library. Here's how he describes it in the model card:

      Mr. Chatterbox is a language model trained entirely from scratch on a corpus of over 28,000 Victorian-era British texts published between 1837 and 1899, drawn from a dataset made available by the British Library. The model has absolutely no training inputs from after 1899 — the vocabulary and ideas are formed exclusively from nineteenth-century literature.

      Mr. Chatterbox's training corpus was 28,035 books, with an estimated 2.93 billion input tokens after filtering. The model has roughly 340 million paramaters, roughly the same size as GPT-2-Medium. The difference is, of course, that unlike GPT-2, Mr. Chatterbox is trained entirely on historical data.

      Given how hard it is to train a useful LLM without using vast amounts of scraped, unlicensed data I've been dreaming of a model like this for a couple of years now. What would a model trained on out-of-copyright text be like to chat with?

      Thanks to Trip we can now find out for ourselves!

      The model itself is tiny, at least by Large Language Model standards - just 2.05GB on disk. You can try it out using Trip's HuggingFace Spaces demo:

      Screenshot of a Victorian-themed chatbot interface titled "🎩 Mr. Chatterbox (Beta)" with subtitle "The Victorian Gentleman Chatbot". The conversation shows a user asking "How should I behave at dinner?" with the bot replying "My good fellow, one might presume that such trivialities could not engage your attention during an evening's discourse!" The user then asks "What are good topics?" and the bot responds "The most pressing subjects of our society— Indeed, a gentleman must endeavor to engage the conversation with grace and vivacity. Such pursuits serve as vital antidotes against ennui when engaged in agreeable company." A text input field at the bottom reads "Say hello..." with a send button. The interface uses a dark maroon and cream color scheme.

      Honestly, it's pretty terrible. Talking with it feels more like chatting with a Markov chain than an LLM - the responses may have a delightfully Victorian flavor to them but it's hard to get a response that usefully answers a question.

      The 2022 Chinchilla paper suggests a ratio of 20x the parameter count to training tokens. For a 340m model that would suggest around 7 billion tokens, more than twice the British Library corpus used here. The smallest Qwen 3.5 model is 600m parameters and that model family starts to get interesting at 2b - so my hunch is we would need 4x or more the training data to get something that starts to feel like a useful conversational partner.

      But what a fun project!

      Running it locally with LLM

      I decided to see if I could run the model on my own machine using my LLM framework.

      I got Claude Code to do most of the work - here's the transcript.

      Trip trained the model using Andrej Karpathy's nanochat, so I cloned that project, pulled the model weights and told Claude to build a Python script to run the model. Once we had that working (which ended up needing some extra details from the Space demo source code) I had Claude read the LLM plugin tutorial and build the rest of the plugin.

      llm-mrchatterbox is the result. Install the plugin like this:

      llm install llm-mrchatterbox
      

      The first time you run a prompt it will fetch the 2.05GB model file from Hugging Face. Try that like this:

      llm -m mrchatterbox "Good day, sir"
      

      Or start an ongoing chat session like this:

      llm chat -m mrchatterbox
      

      If you don't have LLM installed you can still get a chat session started from scratch using uvx like this:

      uvx --with llm-mrchatterbox llm chat -m mrchatterbox
      

      When you are finished with the model you can delete the cached file using:

      llm mrchatterbox delete-model
      

      This is the first time I've had Claude Code build a full LLM model plugin from scratch and it worked really well. I expect I'll be using this method again in the future.

      I continue to hope we can get a useful model from entirely public domain data. The fact that Trip was able to get this far using nanochat and 2.93 billion training tokens is a promising start.

      Update 31st March 2026: I had missed this when I first published this piece but Trip has his own detailed writeup of the project which goes into much more detail about how he trained the model. Here's how the books were filtered for pre-training:

      First, I downloaded the British Library dataset split of all 19th-century books. I filtered those down to books contemporaneous with the reign of Queen Victoria—which, unfortunately, cut out the novels of Jane Austen—and further filtered those down to a set of books with a optical character recognition (OCR) confidence of .65 or above, as listed in the metadata. This left me with 28,035 books, or roughly 2.93 billion tokes for pretraining data.

      Getting it to behave like a conversational model was a lot harder. Trip started by trying to train on plays by Oscar Wilde and George Bernard Shaw, but found they didn't provide enough pairs. Then he tried extracting dialogue pairs from the books themselves with poor results. The approach that worked was to have Claude Haiku and GPT-4o-mini generate synthetic conversation pairs for the supervised fine tuning, which solved the problem but sadly I think dilutes the "no training inputs from after 1899" claim from the original model card.

      You are only seeing the long-form articles from my blog. Subscribe to /atom/everything/ to get all of my posts, or take a look at my other subscription options.

    18. 🔗 sacha chua :: living an awesome life 2026-03-30 Emacs news rss

      It's not too late to write about mistakes and misconceptions as part of the Emacs Carnival for March and not too early to think about the theme of "Newbies/Starter Kits" which Cena will be hosting for April. Who knows, maybe those ideas can become part of the newcomers presets. It could be fun to explore something like notes for Emacs beginners and see where you end up.

      Also, I'm looking forward to seeing if these tips for reloading Emacs Lisp code can help me avoid little bugs from leftover code.

      Enjoy!

      Links from reddit.com/r/emacs, r/orgmode, r/spacemacs, Mastodon #emacs, Bluesky #emacs, Hacker News, lobste.rs, programming.dev, lemmy.world, lemmy.ml, planet.emacslife.com, YouTube, the Emacs NEWS file, Emacs Calendar, and emacs-devel. Thanks to Andrés Ramírez for emacs-devel links. Do you have an Emacs-related link or announcement? Please e-mail me at sacha@sachachua.com. Thank you!

      You can e-mail me at sacha@sachachua.com.

    19. 🔗 r/york Where to find Wild Gralic in York? rss

      I'm looking for wild garlic and I normally go to knavesmire woods but there isn't really any this year! If anyone knows some good spots that are within a walking/cycling distance of the city centre let me know!!

      submitted by /u/FewEntrepreneur7226
      [link] [comments]

    20. 🔗 r/Leeds 3 cycling incidents on Stanningley Road in 10 minutes. I hate cycling in this city. rss

      With the weather getting better, fuel getting expensive, and the trains remaining rubbish, I thought I'd get my fat arse back on my bike to work this morning, from Farsley to the LGI/university precinct. I guess that was a stupid idea.

      All of these things happened while riding on the segregated bike path (Leeds- Bradford "Superhighway"), specifically the Stanningley Road stretch. I'm an experienced cyclists and I genuinely obey the rules, including stopping at all traffic lights - just to preempt any silly responses. I drive as well.

      First one - the stretch just before Bramley station. Driver turns left straight across me as I'm going along the bike path. Comes from behind me so I don't see her till the last second and have to slam on the brakes. Hadn't seen me even though she had just passed me.

      Second one, 5 minutes later - riding down the long downhill stretch just by the tennis club. Going quite quickly. Driver pulls into the segregated bike lane and tries to park dead in front of me. Again hasn't even bothered to check mirrors for cyclists before trying to park in the fucking bike lane.

      Third one, only a couple of minutes afterwards - again a quick stretch because of the downhill, just before Armley park. A pedestrian and her young daughter , not at a crossing, have been jumping the motor traffic to get across the road. I don't see them until the very last second because they pop out from behind cars, straight into the bike lane, without looking. Full on emergency stop, thankfully I changed brake pads lately and have my wits about me, I pull up to a stop maybe a foot or two (maximum) in front of the little girl. If I had hit her and knocked her over and she'd hit her head, she could have been killed. Terrifying experience.

      These all happen on quick, straight, downhill stretches of the path. I'm a strong enough cyclist but not a racer, so I'm not hooning it at all, just going at a fair clip coasting downhill. I suppose it's a reminder to expect the unexpected at any moment. And to get a helmet cam.

      But JFC. First time back on the bike in months and three incidents like this straight away. Stuff like this always happens too - at least one incident per week if I'm riding every day. Insane drivers with no business anywhere on the public highway nearly killing you with their cars. Pedestrian incidents are rarer but they still happen.

      Cycling here is shit. Even in places like Stanningley Road where the infrastructure is relatively good, it's just totally ignored by other road users. Because the overall state of cycle provision across the city is poor, there aren't enough cyclists for people to learn to look out for them when driving, and the vicious cycle (!) continues.

      Mind you, if you don't habitually look out for cyclists when driving your car anyway, you shouldn't have a licence. The roads around here are full of psychos and maniacs.

      Rant over. I think I will be back on the train for a while even though it's overcrowded and always late. Just adding to the complaints about the standard of transport provision in Leeds which is completely laughable for a city of this size and (professed) ambition. I'd also love to hear whether anybody else using this stretch of cycle lane also experiences incidents like this regularly or whether it's just me being an idiot.

      EDIT: Thanks everyone, appreciate all the responses. I've calmed down now, this post was a bit of a rant. I'm sorry so many other people have had a crap time.

      I don't want to discourage anyone cycling. I'll still do it, even if not every day. It can be safe and healthy if you take precautions and ride very defensively. I think I had forgotten over the last few months now careful you have to be.

      Some tips on defensive riding here: https://www.edinburghbicycle.com/info/blog/what-is-defensive-cycling

      And please everyone if you are cycling on the road, take your lane when you need to! Don't be intimidated into squeezing right into the side of the road, it's an invitation to bellends to try and pass you on a blind corner or smoosh you into a bus stop.

      submitted by /u/Jazzlike-Machine-222
      [link] [comments]

    21. 🔗 r/Harrogate Roofer recommendations please rss

      Looking for reliable roofers in or around Harrogate please as we've had a nightmare with who did our front and rear flat dormer roofs, initially replaced in October and it's almost April now and they're still not 100% sorted.

      Cheers

      submitted by /u/OkNeighborhood7482
      [link] [comments]

    22. 🔗 r/wiesbaden Worin unterscheiden sich Mainz und Wiesbaden am meisten? Würde es irgendwann Sinn machen die Doppelstädte in einer zusammenzuführen? rss
    23. 🔗 r/Yorkshire I think this might be the best garden in North Yorks I've ever seen! Love that Monty Don seems to be such a fan rss
    24. 🔗 r/reverseengineering /r/ReverseEngineering's Weekly Questions Thread rss

      To reduce the amount of noise from questions, we have disabled self-posts in favor of a unified questions thread every week. Feel free to ask any question about reverse engineering here. If your question is about how to use a specific tool, or is specific to some particular target, you will have better luck on the Reverse Engineering StackExchange. See also /r/AskReverseEngineering.

      submitted by /u/AutoModerator
      [link] [comments]

    25. 🔗 MetaBrainz python-discid 1.4.0 rss

      A new version of python-discid, a Python wrapper library for libdiscid, is now available. Version 1.4.0 focuses on modernizing the code base and updating the documentation.

      The public API is now fully type-hinted and the type hints are also used in the documentation. A Disc.pregap property was added for convenient access to the first track's pregap. For the full list of changes see the changelog in the documentation.

      The new version is available on PyPI. See also the install instructions for more options. Please note that the new minimal Python version supported is now Python 3.10.

    26. 🔗 backnotprop/plannotator v0.16.0 release

      Follow @plannotator on X for updates


      Missed recent releases? Release | Highlights
      ---|---
      v0.15.5 | Custom display names, GitHub viewed file sync, expand/collapse all in file tree, search performance, WSL fix
      v0.15.2 | Compound Planning skill, folder annotation, /plannotator-archive slash command, skill installation via platform installers
      v0.15.0 | Live AI chat in code review, plan archive browser, folder file viewer, resizable split pane, Pi full feature parity
      v0.14.5 | GitLab merge request review, login page image fix, Windows install path fix
      v0.14.4 | GitHub review submission, repo identifier in tab title, nested code fence parser fix, Pi paste URL wiring
      v0.14.3 | PR context panel, diff search in code review, OpenCode permission normalization, landing page redesign
      v0.14.2 | OpenCode plan mode prompt replacement, Windows non-ASCII path fix, Pi link fix
      v0.14.1 | Single submit_plan with auto-detect, viewed-file draft persistence, Bear nested tag fix
      v0.14.0 | PR review via GitHub URL, /plannotator-last for annotating agent messages, OpenCode plan mode permissions fix, VS Code SSH proxy fix
      v0.13.1 | OpenCode plan mode rewrite, Obsidian save fix
      v0.13.0 | Built-in themes, annotatable plan diffs, file-scoped code review comments, Octarine integration, unified review core, Pi remote sessions


      What's New in v0.16.0

      v0.16.0 adds GitHub Copilot CLI as Plannotator's fifth runtime, an external annotations API for integration (stay tuned...), bot callback URLs for Slack- style approval workflows, interactive plan checkboxes, print support, and configurable diff display options. 11 PRs, 3 from external contributors, 2 first-timers.

      GitHub Copilot CLI Integration

      Plannotator now works with GitHub Copilot CLI, contributed by @Yecats. Plan review, code review, and markdown annotation all function the same way they do in Claude Code. The Copilot plugin hooks into exit_plan_mode to intercept plans, and the same /plannotator-review, /plannotator-annotate, and /plannotator-last commands are available.

      Install the binary, then in Copilot CLI:

      /plugin marketplace add backnotprop/plannotator
      /plugin install plannotator-copilot@plannotator
      

      A follow-up PR added environment-variable-based agent detection so the UI correctly identifies which agent launched Plannotator, fixing the badge display that was previously hardcoded to Claude Code.

      External Annotations API

      Any external program can now push annotations into a live Plannotator session. Linters, AI tools, or custom scripts send annotations via HTTP POST to /api/external-annotations, and they appear in the browser UI in real-time through Server-Sent Events. The API supports single and batch annotation creation, field updates via PATCH, deletion by ID or source, and version-gated polling as a fallback for environments where SSE isn't practical.

      This is the foundation for integrating Plannotator with external toolchains. A linter could annotate code review diffs with warnings. A CI pipeline could push review comments. An AI assistant could highlight sections of a plan it has questions about.

      All three server types (plan, review, annotate) expose the same endpoints, and the Pi extension has full parity.

      Interactive Checkboxes

      Task checkboxes in rendered plans are now clickable. Checking or unchecking a box creates a COMMENT annotation that captures the action, the section context, and the task text. Toggling back to the original state removes the override and deletes the annotation. This means your checkbox interactions become part of the feedback sent to the agent.

      Print Support

      Plans can now be printed directly from the review UI. An export dropdown menu in the toolbar offers a print option, and Ctrl+P / Cmd+P works as a keyboard shortcut. A dedicated print stylesheet produces clean white-paper output with A4 formatting, hiding the toolbar, sidebar, and interactive elements.

      Diff Display Options

      The code review diff viewer now exposes display settings that were previously locked to defaults. You can configure overflow behavior (scroll vs word wrap), toggle diff indicators and line numbers, control inline diff granularity, and show or hide diff backgrounds. All settings are persisted via the ConfigStore system (cookies + ~/.plannotator/config.json) and accessible from a new Display tab in the review Settings dialog.

      Bot Callback URL Parameters

      Plannotator share URLs now support callback parameters for bot integrations. When a bot (e.g., a Slack bot) generates a plan and posts the Plannotator URL, it can embed ?cb=<callback_url>&ct=<auth_token> so the approval decision is sent back to the bot automatically. The user reviews and approves in Plannotator, and the bot receives the result without any copy-paste.

      Additional Changes

      • OpenCode startup performance. Replaced compile-time HTML embedding with lazy readFileSync getters and background preloading. Bundle size drops from 21.25 MB to 0.81 MB (96% reduction), cold-start module load from ~160ms to ~35ms (#411, closing #410 reported by @DRBragg)
      • Markdown parser fixes. Indented closing fences (inside list items), trailing text after fence closers, and false table detection on lines with pipes are all fixed (#429, closing #427 reported by @jhillyerd)
      • PR/MR platform test coverage. Regression tests for URL parsing, labels, display helpers, and CLI selection across GitHub and GitLab, including self-hosted GitLab (#426 by @sudorest)
      • Compound skill description fix. Trimmed to fit Claude Code 2.1.86's 250-character limit and added disable-model-invocation frontmatter (#430, closing #412 reported by @arogulin)
      • Copilot on marketing site. The landing page harness selector now includes a Copilot button with install instructions, in alphabetical order alongside the other five runtimes.

      Install / Update

      macOS / Linux:

      curl -fsSL https://plannotator.ai/install.sh | bash
      

      Windows:

      irm https://plannotator.ai/install.ps1 | iex
      

      Claude Code Plugin: Run /plugin in Claude Code, find plannotator , and click "Update now".

      Copilot CLI:

      /plugin marketplace add backnotprop/plannotator
      /plugin install plannotator-copilot@plannotator
      

      OpenCode: Clear cache and restart:

      rm -rf ~/.bun/install/cache/@plannotator
      

      Then in opencode.json:

      {
        "plugin": ["@plannotator/opencode@latest"]
      }
      

      Pi: Install or update the extension:

      pi install npm:@plannotator/pi-extension
      

      What's Changed

      • feat: GitHub Copilot CLI integration by @Yecats in #409
      • perf(opencode): lazy-load HTML to fix plugin startup time by @backnotprop in #411
      • feat: bot callback URL params for seamless plan review by @aviadshiber in #416
      • fix: detect calling agent via env vars and centralize agent config by @Yecats in #418
      • feat: print support with export menu integration and keyboard shortcut by @Yecats in #420
      • feat: interactive checkboxes with annotation tracking by @Yecats in #423
      • test: cover PR/MR platform helpers by @sudorest in #426
      • feat(review): diff display options with ConfigStore integration by @backnotprop in #428
      • fix(parser): indented fences, trailing text, table detection, and escaped pipes by @backnotprop in #429
      • fix(skill): trim compound skill description under 250-char limit by @backnotprop in #430
      • feat: external annotations API with real-time SSE by @backnotprop in #400

      New Contributors

      Contributors

      @Yecats authored four PRs in this release: GitHub Copilot CLI integration (#409), agent detection fix (#418), print support (#420), and interactive checkboxes (#423). First contribution to the project, and immediately one of the most prolific single- release contributors.

      @aviadshiber authored the bot callback URL system (#416), enabling Plannotator integration with external bot workflows. First contribution.

      @sudorest added PR/MR platform test coverage (#426), protecting the multi-platform review routing.

      Community members who reported issues that drove changes in this release:

      Full Changelog : v0.15.5...v0.16.0

    27. 🔗 Szymon Kaliski Q1 2026 rss

      Home Server on NixOS, Sandboxing in MicroVMs, and Feedback Loops for LLMs

    28. 🔗 Ampcode News Amp Free Is Ad-Free rss

      When you use Amp Free, you won't see ads anymore.

      We know many of you loved the ads, advertisers were happy, and we quickly grew ad sales to a $10M+ USD annual run rate, but the world has changed since we introduced ads in October 2025.

      The launches of Gemini 3 Pro, Opus 4.5, and GPT-5.2 Codex starting in late November 2025 changed the world, and in this new world, ads don't make sense. Ads just don't pay for enough frontier tokens to make a difference, and token consumption is only going up from here.

      Along with this, OpenAI now offers subscription plans with even more aggressive discounts than what Anthropic offered before. You can pay OpenAI $20/month to get (seemingly) $1000+/month in tokens. This gives you a lot more "free" usage than Amp's ad-supported free tier and is a better choice if cost is your top concern.

      What about the $10 daily free usage of Amp? Most who have it will keep getting it, now without ads. We'll be pausing it for some less-active users. As we ship updates to Amp, you can expect the free daily grant to be more available and more generous for people using Amp in the recommended ways, and less so for people using older Amp versions and workflows. We'll let you know before we make that change. Think of it as a bonus for staying on the frontier with us.

  4. March 29, 2026
    1. 🔗 IDA Plugin Updates IDA Plugin Updates on 2026-03-29 rss

      IDA Plugin Updates on 2026-03-29

      New Releases:

      Activity:

    2. 🔗 r/wiesbaden Gefunden an der Ecke Adelheid/Schiersteiner Str. rss

      Hoffe der Person geht es mittlerweile besser. Dennoch irgendwo auch schöne Worte die einem sehr nahe gehen. Ein Reminder dass sehr viele Menschen solche Gefühle mit sich herum tragen ohne jemanden zum sprechen zu haben. In dieser schönen Stadt sollten wir alle mehr zusammenhalten <3

      submitted by /u/pomelokriger
      [link] [comments]

    3. 🔗 r/reverseengineering io_uring from Userland blog (drop a review guys!) rss
    4. 🔗 r/Leeds Things to do in Leeds rss

      Hello. I’m coming to Leeds on Wednesday for 2 nights with my husband and 2 boys (20 and 17). I’m looking for suggestions for what we could do? We have an apartment which is very central. We are working our way through cities in the UK and we’ve never been to Leeds. We would definitely like to go to a few pubs in the evening but any suggestions for the days would be very welcome. We love a bit of culture. I have finished work today so not had time to research anything, but I definitely will do and any recommendations would be very helpful in the meantime. Thanks in advance ☺️

      submitted by /u/jogon365
      [link] [comments]

    5. 🔗 r/reverseengineering The ECMAScript spec forces V8 to leak whether DevTools is open rss
    6. 🔗 r/Yorkshire Do you think there’s a demand for women only gym/fitness & wellness (all in one) centres? rss
    7. 🔗 r/reverseengineering Decompiling an Android Application Written in .NET MAUI 9 (Xamarin) rss
    8. 🔗 r/reverseengineering ChatGPT Won't Let You Type Until Cloudflare Reads Your React State. I Decrypted the SDK That Does It. rss
    9. 🔗 r/Leeds Am I the only one who heard thunder strike??? rss

      Heard thunder strike in city centre for the first time in 2 years!!! Did u guys heard it too?

      submitted by /u/CraftyCompetition860
      [link] [comments]

    10. 🔗 r/reverseengineering [Project] Noctyra - A modular, AST-based Python deobfuscator rss
    11. 🔗 r/Leeds Finding L&P - A New Zealand Drink - in Leeds or there abouts rss

      My mate, who is from NZ, hasn’t been back to NZ in about 5 years, keeps on nattering on about L&P, a drink. Does anyone know where I can find this in Leeds? I’d rather find it in the city than pay postage.

      Thanks!

      submitted by /u/Jacob_Ack
      [link] [comments]

    12. 🔗 r/Leeds Anxious but authentically trying to make friends rss

      Hey — 35M here. I recently came out of a 9-year relationship, and it’s put me in a place I didn’t expect: a full reset. Not just in terms of dating, but in how I see myself overall. Right now, I’m trying to rebuild my confidence, figure out what I actually want from life, and—if I’m being honest—understand parts of myself I may have ignored for a long time. One of those things is my sexuality. I’ve always had a somewhat ambiguous relationship with it, but lately I’ve found myself questioning things more. Not in a rushed or panicked way—more like a quiet curiosity I never really gave space to before. Being in a long-term relationship, I think I just stayed on a path without really stopping to examine it. Now that I’m on my own, I feel like I owe it to myself to explore that side of who I am—without judgment, labels, or pressure to have immediate answers.

      To cut a long story short, what I’d really value right now is building genuine, platonic friendships—meeting people, having good conversations, and reconnecting in a low-pressure way.

      If anything I've said resonates with you feel free to give me a shout, but also if you're (like me) trying to be more social and make friends then also give me a shout.

      submitted by /u/Antique_Payment2492
      [link] [comments]

    13. 🔗 r/york WATCH - Crowds gather for Palm Sunday procession at York Minster rss

      WATCH - Crowds gather for Palm Sunday procession at York Minster | submitted by /u/Due_Ad_3200
      [link] [comments]
      ---|---

    14. 🔗 r/Yorkshire Famous Grouse - Red Grouse, Yorkshire Dales rss
    15. 🔗 sacha chua :: living an awesome life Emacs Carnival March 2026: Mistakes and learning to reach out rss

      Mostly-similar versions follow: I started with French, translated it to English, and then tweaked some details. Thanks to Philip Kaludercic for hosting this month's carnival!

      In English

      The theme for this month's Emacs Carnival is Mistakes and Misconceptions. It’s difficult to pinpoint one thing that is clearly a mistake, but there are certainly things I could do more effectively.

      My configuration is very large because I assume my little modifications are only useful to me. They feel too specific, too idiosyncratic. I think people who create libraries or even packages used by lots of other people are awesome. I don't know if I could quite do that myself, though! Even submitting patches upstream and participating in the ensuing discussions sometimes requires more persistence than I have.

      The advantage of keeping my changes in my config is that even if I'm unsure, I can try something out, develop a rough prototype, and change my mind if necessary. When I publish them in a library or a package, I feel like I have to polish my ideas. It's hard to stick to just one idea long enough to refine it.

      My favorite situation is when I write about my attempt in a post, and it inspires someone else to implement their own version (or even a new library or package). On the other hand, if I learn to share my code, I can help more people, and I can also learn from more people and more conversations.

      Many of my modifications are short and easy to copy from my posts, but there are a few collections that depend on other functions, making them difficult to copy. These functions are scattered across several posts on my blog. For example, my functions for learning a language (I'm learning French at the moment) and for controlling Emacs by voice are becoming quite complex. The functions are also exported to my configuration, but the Emacs Lisp file is difficult to navigate if someone wants to copy them. I can extract the code into a file now that Org Mode can tangle to multiple files, but if I spend a little time replacing the "my-" prefix with a library prefix and move them to a repository, people could clone it and download updates. Even if no one uses it, the act of polishing and documenting it will probably be useful to me one day.

      So, it's possible that this is a mistake I often make in Emacs: thinking my functions are too idiosyncratic and too rough, so I leave them in my config. If I dedicate time to extracting the code into a library, I might benefit in the long run. I know lots of people are interested in using Emacs for language learning or by voice. There have been so many other libraries and workflows over the years, so I'm sure people are out there. I want to practice learning more with others. To start, I can make sure interested people can follow my progress through RSS feeds or Mastodon, I can respond when people send me messages, and I can collect contact info and send them a message when I post about the subject.

      I can write more if I reread the changes in my configuration each week, or if I reread my complete configuration for sections which I haven't yet written about. If I participate in virtual meetups or even livestream, I can find out what interests other people. If I submit patches and create tasks in my Org Mode inbox to track the discussions, I can practice refining my work.

      Prot has lowered his coaching prices to €10 /hour. He's quite prolific when it comes to package development, so he can probably help me figure out how to get stuff out of my config and into a form that other people might be able to use. I've been enjoying learning with my French tutor. It might be worth experimenting with spending some money and time to improve my Emacs skills as well. Sure, it's totally just for fun, but I think it's valuable to practice learning with the help of others instead of stumbling around on my own.

      There's always more to learn, which is wonderful. So this is not really a mistake, just something that could be good to work on. Onward and upward!

      Check out Emacs Carnival March 2026: Mistakes and Misconceptions to see other people's takes on the topic.

      En français

      Le thème du Carnaval d'Emacs ce mois-ci est « les erreurs et les idées reçues ». C'est difficile d'identifier une chose qui soit clairement une erreur, mais il y a certainement des choses que je ne fais pas efficacement.

      Ma configuration est très volumineuse car je pense que mes petites modifications ne sont utiles que pour moi. Elles sont trop spécifiques, trop particulières. J'apprécie ceux qui créent des bibliothèques ou même des paquets que beaucoup d'autres utilisent, mais de mon côté, je ne me sens pas capable de le faire pour l'instant. Même soumettre des correctifs en amont et participer à la discussion qui s'ensuit parfois demande plus de persévérance que je n'en ai.

      L'avantage de garder mes modifications dans ma configuration est que, même si je ne suis pas sûre, je peux essayer quelque chose, développer un prototype préliminaire, et changer d'avis si nécessaire. Quand je les publie dans une bibliothèque ou un paquet, j'ai l'impression que je dois peaufiner mes idées. C'est difficile de s'en tenir à une seule idée assez longtemps.

      Ma situation préférée est quand je partage mes essais sur mon blog, et qu'ils inspirent une autre personne qui implémentera sa propre version, voire une nouvelle bibliothèque ou un nouveau paquet.

      En revanche, si j'apprends à partager mon code, je peux aider plus de personnes, et je peux aussi apprendre de plus de personnes et de plus de conversations.

      Beaucoup de mes modifications sont brèves et faciles à copier de mes articles, mais il y a quelques collections qui dépendent d'autres fonctions, ce qui les rend difficiles à copier. Les fonctions sont dispersées dans plusieurs articles sur mon blog. Par exemple, mes fonctions pour apprendre une langue (particulièrement le français) et pour contrôler Emacs par commande vocale deviennent plutôt complexes. Elles sont aussi exportées vers ma configuration, mais le fichier Emacs Lisp est difficile à parcourir si on veut les copier. Je peux extraire le code dans un fichier maintenant que Org Mode peut le tangler vers plusieurs fichiers, mais si je consacre un peu de temps à remplacer le préfixe « my- » par celui de la bibliothèque et à le pousser sur le dépôt, les gens pourraient le cloner et récupérer les mises à jour. Même si personne ne l'utilise, le fait de les peaufiner et de le documenter me sera utile un jour.

      Donc il est possible que ce soit une erreur que je commets souvent dans Emacs : je pense que mes fonctions sont trop idiosyncratiques et trop brutes, je les laisse donc dans ma configuration. Mais si je consacre du temps à extraire le code vers une bibliothèque, j'en bénéficierai peut-être à long terme. Je sais que beaucoup de gens sont intéressés par l'utilisation d'Emacs pour apprendre une langue ou pour la commande vocale. Il y a eu de nombreuses autres bibliothèques et flux de travail au fil des ans, donc je suis sûre qu'il y a du monde. Je veux m'entraîner à apprendre auprès de plus de personnes. Pour commencer, je peux m'assurer que les gens intéressés peuvent suivre mon progrès via les flux RSS ou sur Mastodon, je peux répondre quand on m'envoie des messages, et je peux recueillir les coordonnées et leur envoyer un message lorsque je publie un article à ce sujet.

      Je peux écrire davantage si je relis les modifications dans ma configuration chaque semaine, ou si je relis ma configuration entière pour les sections dont je n'ai pas encore parlé. Si je participe à des réunions virtuelles ou même si je diffuse en direct, je vais voir ce qui intéresse les autres. Si je soumets des correctifs et crée des tâches dans ma boîte de réception Org Mode pour suivre les discussions, je m'entraîne à affiner mon travail.

      Prot a baissé ses tarifs de coaching à 10 euros de l'heure. Il est très prolifique en matière de développement de paquets. J'apprends bien avec mon tuteur en français, donc cela vaut peut-être la peine de consacrer de l'argent et du temps à améliorer mes compétences sur Emacs. Certes, c'est juste pour le plaisir, mais c'est aussi important pour moi de m'entraîner à apprendre avec l'aide des autres au lieu de trébucher toute seule.

      J'ai toujours plus de choses à apprendre, ce qui est merveilleux. Ce n'est pas vraiment une erreur, mais plutôt un point à améliorer. En avant !

      Consultez Emacs Carnival March 2026: Mistakes and Misconceptions pour d'autres perspectives sur le sujet.

      You can e-mail me at sacha@sachachua.com.

    16. 🔗 r/york York city photos rss

      York city photos | Absolutely stunning 😍 submitted by /u/AdAccomplished3733
      [link] [comments]
      ---|---

    17. 🔗 r/LocalLLaMA LocalLLaMA 2026 rss

      LocalLLaMA 2026 | we are doomed submitted by /u/jacek2023
      [link] [comments]
      ---|---

    18. 🔗 r/Harrogate Local area opinions rss

      Looking at houses on Greenfields Road/Greenfields Drive.

      Anyone able to give me insight on what it’s like? I know it’s a bit of a cut through road, but think the houses are set back enough for traffic noise not to bother.

      I know Harrogate/Starbeck/Knaresborough are all lovely places and anti social behaviour and crimes are a lot less than Leeds where I’m coming from. Just trying to get a feel for the area that’s all.

      submitted by /u/GemzH
      [link] [comments]

    19. 🔗 r/Harrogate Recycling at large supermarket in Harrogate? rss

      I have some empty liquid soap refills that I'm looking to recycle. Unfortunately I can't recycle them normally, according to the instructions I need to take them to a 'large supermarket' to be recycled.

      Does anybody know where I might be able to take them? Thanks

      submitted by /u/leaftreefrog
      [link] [comments]

    20. 🔗 Register Spill Joy & Curiosity #80 rss

      Do you know how it should work? Does the agent? Or does the codebase?

      Lately I've been thinking a lot about why sometimes using an agent leads to great results and other times it doesn't. My current theory: it depends on what knowledge about the task at hand is encoded where.

      If all the knowledge required to solve the task to your satisfaction is available either in your prompt, or in the codebase, or in the training data of the model, then things go fine.

      Things go badly if there's a gap. That is, if you wrongly assume the agent will know how to do something but it won't because that knowledge is neither in the codebase nor in the training data.

      If I ask the agent to fix a bug that has a very obvious solution, say: a button's hover state doesn't activate on hover, then everything you need to know to fix it is available. The problem is in the prompt, the code should explain what the button is, and what a hover state is is in the training data.

      But what if there's a bug and you don't know even how to explain what the bug is or what the desired state is? Not good.

      Or what if you tell the agent to build you a feature and you assume it does so by going over here and adding that and then going over there and adding this, but the codebase allows fifteen other ways, and the training data doesn't say those fifteen other ways are bad? Not good.

      Sometimes the codebase and its documentation contains that information through types or tests or conventions. Other times the training data tells the agent that there's only one way to add a new endpoint in Rails or Next.js or SvelteKit. But if it's neither in the codebase nor in the training data, then you have to put it in the prompt.

      Theory is too big a word for these thoughts, yes, but I've been asking myself "where is the knowledge?" a lot when working with Amp this week and found it useful, so there you go, maybe you get something out of it too.

      • Last week I asked whether software is turning into a liquid and David Soria Parra, Member of Technical Staff at Anthropic and creator of MCP (meaning: someone who's seen things up close), replied: "I think people don't run the AI maximalist simulation of what this actually means and how far it will go just yet. Most code will just be ephemeral one time use"

      • John Regehr: Zero-Degree-of-Freedom LLM Coding using Executable Oracles. This is excellent and resonated with my thoughts from above. "When an LLM has the option of doing something poorly, we simply can't trust it to make the right choices. The solution, then, is clear: we need to take away the freedom to do the job badly. The software tools that can help us accomplish this are executable oracles. The simplest executable oracle is a test case--but test cases, even when there are a lot of them, are weak. […] When I look at the best software testing efforts out there, there's invariably something creative and interesting hiding inside. I feel like a lot of projects leave easy testing wins sitting on the floor because nobody has carefully thought about what test oracles might be used. Finding executable oracles for LLMs feels the same to me: with a little effort and critical thinking, we can often find a programmatic way to pin down some degree of freedom that would otherwise be available to the LLM to screw up." I also want to quote that lovely last paragraph, but I won't, because I want you to read everything else that leads up to it too. This is good stuff.

      • And here's Mary Rose Cook, singing harmonies on top of Regehr's lines when talking about freedom of expression and constraints for agents: Code generation that just works.

      • Cheng Lou has "crawled through depths of hell to bring you, for the foreseeable years, one of the more important foundational pieces of UI engineering (if not in implementation then certainly at least in concept): Fast, accurate and comprehensive userland text measurement algorithm in pure TypeScript, usable for laying out entire web pages without CSS, bypassing DOM measurements and reflow." It's called Pretext and it's impressive. I mean, look at this demo! Move the orbs around! Or the ASCII one or click on the logos in this one. According to Lou, this was "achieved through showing Claude Code and Codex the browsers ground truth, and have them measure & iterate against those at every significant container width, running over weeks." And yet the README doesn't mention that at all. That tells me we're past a big milestone.

      • If you're on desktop, see also this dragon that's built with Pretext.

      • Marc Brooker is asking: What about juniors? This is one of the most inspiring and motivating pieces of writing I've read in the past few months. I love the Wellington quote on engineering: "to define it rudely but not inaptly, it is the art of doing that well with one dollar, which any bungler can do with two after a fashion." And I love Marc's very own definition: "I believe that this is the core work of engineering: deeply understanding the problem to be solved, the constraints, the tools available, and the environment in which it operates, and coming up with an optimal solution. This requires real creativity, because the constraints are typically over constrained, and real empathy because many of the constraints come directly from human irrationality. It also requires a deep understanding of the tools available, and what those tools can and can't do." I also think his answer to the question is interesting and the question itself is very important. (I said similar things on last year's You've Been A Bad Agent episode.)

      • Marc's previous post is also great: "Over the next couple of years, the most valuable people to have on a software team are going to be experienced folks who're actively working to keep their heuristics fresh. Who can combine curiosity with experience. Among the least valuable people to have on a software team are experienced folks who aren't willing to change their thinking. Beyond that, it's hard to see."

      • If you read both of Marc's posts, you'll enjoy Pieter Hintjens' A Tale of Two Bridges. Engineering is the art of making the tradeoffs, not building the perfect thing.

      • Michael Nielsen: Which Future? I'm very glad I read this. Bikini Atoll and fire safety will stay with me.

      • Sad news: Tracy Kidder, author of The Soul of a New Machine, has died. I highly recommend reading this book. I last did so in March of last year. And here I am again, telling you: read it, it's fantastic. And then read Bryan Cantrill's reflections on it.

      • Rands has been bitten by the agent bug: "I've never built more interesting, random, and useless scripts, tools, and services than I have in the last six months. The cost to go from 'Random Thought' to 'Working Something' has never been lower"

      • Linear: Issue tracking is dead. Look up to the sky, there's me, in a tiny plane that's pulling a banner saying in big red letters: told you.

      • This is very, very on the nose and I wouldn't sign it without making some big changes, but there is something here that I've felt before, maybe not to this extent, maybe not in this exact shape, but something here resonates and makes parts of it feel true: "'Collaboration' is bullshit." I don't think Big Tech the Boogeyman is to blame (my 8-year-old had to do her first group project in school a few weeks ago -- creating a stop-motion movie -- and nearly lost her mind), but this this much, I think, is true: "most complex, high-quality work is done by individuals or very small groups operating with clear authority and sharp accountability, then rationalized into the language of teamwork afterward. Dostoevsky wrote The Brothers Karamazov alone. The Apollo Guidance Computer came from a team at MIT small enough to have real ownership […] Communication matters, and shared context matters. But there's a huge difference between communication and collaboration as infrastructure to support individual, high-agency ownership, and communication and collaboration as the primary activity of an organisation."

      • Eoghan McCabe, CEO of Intercom, is saying the "age of vertical models is here." I'm skeptical, because it all hinges on this idea of verticals and domain knowledge and I don't know if that won't be washed away by bigger models, but it is interesting: "the labs are in an interesting position where on one hand the horizontal, general purpose models are actually over-serving the market for specific use cases. E.g. their models are more generally intelligent than is needed for customer service. And on the other hand, the open-weight models are more than good enough where high quality domain specific post-training can make the resulting models superior at the special purpose jobs, and in the ways that matter to that particular job. E.g. in service, the soft factors really matter, like judgement, pleasantness, attentiveness (as well as the hard factors mentioned prior, like the ability to effectively resolve problems, quickly and cheaply)."

      • meow.camera

      • Google published TurboQuant, a "set of advanced theoretically grounded quantization algorithms that enable massive compression for large language models and vector search engines." I won't claim here to understand all of it, but I do think I understand the bit about how "PolarQuant converts the vector into polar coordinates using a Cartesian coordinate system" and that's very cool. Also goes to show that if AI progress wasn'tt a race towards AGI and they'd all stop building bigger and bigger models, there'd be so many optimizations to make.

      • Systems Thinking is Brain Rot for Analysts. Refreshing.

      • This is the Gruber I love: "And the fucking autoplay videos, jesus. You read two paragraphs and there's a box that interrupts you. You read another two paragraphs and there's another interruption. All the way until the end of the article. We're visiting their website to read a fucking article. If we wanted to watch videos, we'd be on YouTube. It's like going to a restaurant, ordering a cheeseburger, and they send a marching band to your table to play trumpets right in your ear and squirt you with a water pistol while trying to sell you towels."

      • And this is the Internet I love: 25 Years of Eggs. "Everyone needs a rewarding hobby. I've been scanning all of my receipts since 2001. I never typed in a single price - just kept the images. I figured someday the technology to read them would catch up, and the data would be interesting. This year I tested it. Two AI coding agents, 11,345 receipts. I started with eggs."

      • Cursor's crossroads: "It's a story distinctly of the AI era: Cursor is four years old but already has an innovator's dilemma, arguably outgunned by newer products in the market it popularized. Every AI startup fears OpenAI or Anthropic releasing a product directly in competition with theirs. It's the nightmare scenario, and Cursor is living it, more quickly than Truell and his team ever expected. […] As Truell and I get ready to end our Zoom call, I notice the picture of Caro again. I think about how it took Caro six months to edit a single chapter of The Power Broker. Truell has less time than that before the next change."

      • Great brain massage: Let's see Paul Allen's SIMD CSV parser.

      • Okay, now before you click the next link and close the tab right away, let me tell you: yes, I thought so too. I also thought that it's not for me, doesn't contain anything I didn't know, that it's boring old stuff, but it's not! There's some real whoa-moments in there: Google Has a Secret Reference Desk. Here's How to Use It. The title is weird though, yes, but, hot damn, the intitle: "index of" /pdfthing alone is worth it.

      • Satisfyingly meta: Joel Meyerowitz on Photographing Giorgio Morandi's Studio.

      • Stripe launched projects.dev which "lets you or your agents provision multiple services, generate and store credentials, and manage usage and billing from the CLI." Makes total sense when you want to increase the GDP of the Internet.

      • Finally! Edward, Nick, Rasmus, and Julia shared the "first iteration of the Playbit runtime, our vision for building playful personal-scale software": playbit.app.

      • Dappled light: "Growing up, I loved this mix of shade and sun I called 'shun.' Sunlight slipped through the leaves, and its tiny gaps turned into pinholes that project little dancing suns. It felt like magic."

      • McCartney's creativity in 3 photographs.

      Note from the producer: no newsletter next week. One weekend of vacation.

      Collected 25 years of egg receipts? You should subscribe: