Strange Loop Conference
Strange Loop Conference
  • 718
  • 8 922 256
"Birdsong as code" by Chris Ford (Strange Loop 2023)
Most people intuitively understand birdsong as a form of music, yet the practical and artistic pressures on bird musicians are very different to those on human artists. In this talk, we will transcribe birdsong into code and use it to investigate how birds' musical structures differ from our own. In doing so, we will take advantage our ability to create novel and context-specific abstractions in code, which is not possible in traditional music notation.
Chris Ford
Director de Tecnología, Thoughtworks España
@ctford
Chris has coded both correct and incorrect programs for many years, although he prefers the former. He has also coded both correct and incorrect musical compositions for many years, though he doesn’t really mind which. As well as a longstanding interest in functional programming, types and continuous delivery, Chris is always interested in learning better ways to write programs that do what they are supposed to do. He is Director de Tecnología for Thoughtworks España based in Barcelona.
----
Recorded Sept 22, 2023 at Strange Loop 2023 in St. Louis, MO.
thestrangeloop.com
Переглядів: 8 534

Відео

"Software & The Game of Go" by David Nolen (Strange Loop 2023)
Переглядів 6 тис.6 місяців тому
Familiarity with the ancient game of Go (Weiqi/Baduk) has noticeably increased outside of Korean, Japan and China thanks to the historic match between Lee Sedol and DeepMind's AlphaGo in 2016. However, this talk isn't about contemporary machine learning techniques (though we may touch upon those topics), rather we explore the congruences between the act of writing software and learning how to p...
"Cursorless: A spoken language for editing code" by Pokey Rule (Strange Loop 2023)
Переглядів 53 тис.6 місяців тому
If you could design a spoken language from scratch for editing code, how would it look? What would be your nouns? Would they be tokens? Functions? Lines? What would be your verbs, your adjectives, and your adverbs? Cursorless is one answer to these questions: a spoken language designed for maximally efficient code editing by voice. Cursorless leverages the tree-sitter real-time parser to enable...
"Using data-driven metrics to anticipate and prevent security incidents" by Caitlin Buckshaw
Переглядів 1,3 тис.6 місяців тому
Working on an incident response team means you deal with fire after fire. At GitHub, we developed a team whose primary focus was not to respond to fires but to anticipate them. This talk will cover how the new PSIRT Engineering team was able to prevent future incidents from happening and reduce pressure on the incident response team by analyzing data driven metrics, digging into specific produc...
"Oatmeal is Cheap: A Fundamental Theorem for Procedural Generators" by Younès Rabii
Переглядів 5 тис.6 місяців тому
By studying the Kolmogorov complexity of procedural generators, we end up with a fundamental theorem for programs that can generate things. There's a deep link between the knowledge we encode in a generator and the complexity of what it can output. In the end, this result helps us understand the pragmatic decisions designers have to take when developing games like Minecraft, Borderlands or Tea ...
"Swift as C++ Successor in FoundationDB" by Konrad Malawski (Strange Loop 2023)
Переглядів 13 тис.6 місяців тому
Programming languages often prioritize either performance or ergonomics. Swift offers a unique modern type-safe low-ceremony approach taking the best of both worlds that scales from mobile apps to high-performance systems where previously memory-unsafe languages would be used. It also interoperates seamlessly with C and C . In this talk, we show how we successfully adopted Swift in FoundationDB...
"Supporting Data Journalism through Compilers for Visual Inputs" by Parker Ziegler
Переглядів 3,3 тис.6 місяців тому
Traditionally, we view compilers as translational machines between two symbolic representations-a source language and a target language. This model excels for textual inputs, but what if we want to transform a visual input, such as a data graphic or thematic map, into a program? This question looms large in today’s newsrooms, where data journalists often need to turn story sketches, SVG graphic...
"Computational Physics, Beyond the Glass" by Sam Ritchie (Strange Loop 2023)
Переглядів 6 тис.6 місяців тому
Seymour Papert's book "Mindstorms" is a foundational document in the Constructionist theory of education. Learners learn best from the world by building things in it and physically testing its bounds, and teachers in this tradition don't teach "at" learners, but create rich "microworlds" full of insight for them to explore. This talk will discuss my work using the Emmy computer algebra system a...
"Is my Large Language Model a Strange Loop?" by Zac Hatfield-Dodds (Strange Loop 2023)
Переглядів 3,1 тис.6 місяців тому
Large Language Models aren't just the new hotness - they also offer fascinating glimpses of an alternative approach to software which is evolved instead of written. We'll explore emergent representations and composition of concepts from the inside outwards; and then turn around and consider some emergent behaviors and feedback loops from the outside of the training process. Whether you're curio...
"A JVM threading model for the containerized times" by Luiz Hespanha and Flavio Brasil
Переглядів 4,5 тис.6 місяців тому
The threading model of JVM applications has become a common source of instability and inefficiency in containerized environments. In a company like Nubank, one of the largest fintech, with a microservices architecture comprising over 1500 services, manually tuning the ideal number of threads becomes both daunting and risky. This presentation introduces a novel approach that addresses these issu...
"An approach to computing and sustainability inspired from permaculture" by Devine Lu Linvega
Переглядів 11 тис.6 місяців тому
In this session, I will explore some playful low-power, sometimes analog, computation systems and esoteric programming languages, designed to work offline, on salvaged devices, advised from spending the past 7 years sailing around the Pacific Ocean. No seafaring experience required. Devine Lu Linvega Hundred Rabbits, Crew Devine Lu Linvega is a designer and musician living aboard a sailboat som...
"From Geometry to Algebra and Back Again: 4000 Years of Papers" by Jack Rusher
Переглядів 19 тис.6 місяців тому
A whirlwind tour of the history of our system of vector algebra - including applications from art, science, and programming - leading to a plea that we trade it in for something even better: Geometric Algebra. Talk info: jackrusher.com/pwl-2023/ Jack Rusher Applied Science Studio @jackrusher Jack Rusher's long career as a computer scientist includes time at Bell Labs/AT&T Research and a number ...
"War Time Proofs and Futuristic Programs" by Valeria de Paiva
Переглядів 2,4 тис.6 місяців тому
Historians remind us that we cannot predict the future if we don't understand the past. And the past sometimes has new explanations, if we look for them. I want to show you a particular instance of the Curry Howard correspondence, based on the work of Kurt Gödel in the 40s that I claim is an example of this phenomenon of new explanations from the past. Gödel wanted to prove the consistency of a...
"Experimentation: putting research papers into prod" by Leemay Nassery
Переглядів 1,6 тис.6 місяців тому
Innovation happens when we apply concepts from research papers and put them into production. Taking complex ideas and applying them to a real world production environment requires one key step: online evaluation. Theory and offline evaluations can only take you so far, you have to evaluate ideas in an online controlled setting. The better your experimentation practices are, the better you will ...
"Formal semantics for multi-language programs" by Amal Ahmed
Переглядів 2,3 тис.6 місяців тому
Multi-language programs are ubiquitous and language designers have long been designing programming languages to support interoperability. We've had platforms such as .NET, JVM, and COM that facilitate interoperability, and languages such as Scala, F#, SML.NET, and many more that treat it as a central design feature. In a 2007 paper, Matthews and Findler pointed out that most multi-language rese...
"Inside the Wizard Research Engine" by Ben L. Titzer
Переглядів 2,6 тис.6 місяців тому
"Inside the Wizard Research Engine" by Ben L. Titzer
"Concatenative programming and stack-based languages" by Douglas Creager
Переглядів 12 тис.6 місяців тому
"Concatenative programming and stack-based languages" by Douglas Creager
"Programming Distributed Systems" by Mae Milano
Переглядів 24 тис.6 місяців тому
"Programming Distributed Systems" by Mae Milano
"Why Programming Languages Matter" by Andrew Black
Переглядів 25 тис.6 місяців тому
"Why Programming Languages Matter" by Andrew Black
"Ectype - bringing type safety (and more!) to vanilla JavaScript" by Holly Wu (Strange Loop 2023)
Переглядів 4,4 тис.6 місяців тому
"Ectype - bringing type safety (and more!) to vanilla JavaScript" by Holly Wu (Strange Loop 2023)
"Unmasking the Godfather - Reverse Engineering the Latest Android Banking Trojan" by Laurie Kirk
Переглядів 8 тис.6 місяців тому
"Unmasking the Godfather - Reverse Engineering the Latest Android Banking Trojan" by Laurie Kirk
"Didn't Chrome Already Have a Root Store?" by David Adrian (Strange Loop 2023)
Переглядів 1,5 тис.6 місяців тому
"Didn't Chrome Already Have a Root Store?" by David Adrian (Strange Loop 2023)
"Astronaut Horse: Stable Diffusion Artist Collaborations" by Tom Betthauser (Strange Loop 2023)
Переглядів 8796 місяців тому
"Astronaut Horse: Stable Diffusion Artist Collaborations" by Tom Betthauser (Strange Loop 2023)
"Without Open Data, there is no Ethical Machine Learning" by Erin Mikail Staples (Strange Loop 2023)
Переглядів 8076 місяців тому
"Without Open Data, there is no Ethical Machine Learning" by Erin Mikail Staples (Strange Loop 2023)
"Risks and Opportunities of AI in Incident Management" by Emily Arnott (Strange Loop 2023)
Переглядів 8086 місяців тому
"Risks and Opportunities of AI in Incident Management" by Emily Arnott (Strange Loop 2023)
"Designing Fully Rationalized Commercial Buildings with Generative Software" by Jen Carlile
Переглядів 2,2 тис.6 місяців тому
"Designing Fully Rationalized Commercial Buildings with Generative Software" by Jen Carlile
"Can a Programming Language Reason About Systems?" by Marianne Bellotti (Strange Loop 2023)
Переглядів 5 тис.6 місяців тому
"Can a Programming Language Reason About Systems?" by Marianne Bellotti (Strange Loop 2023)
"Human Involvement Behind Remote Desktop Protocol Brute-Force Attacks" by Andréanne Bergeron
Переглядів 7916 місяців тому
"Human Involvement Behind Remote Desktop Protocol Brute-Force Attacks" by Andréanne Bergeron
"Building Strong and Sustainable Open Source Projects" by Lawrence Gray (Strange Loop 2023)
Переглядів 1,4 тис.6 місяців тому
"Building Strong and Sustainable Open Source Projects" by Lawrence Gray (Strange Loop 2023)
"Babashka: a meta-circular Clojure interpreter for the command line" by Michiel Borkent
Переглядів 5 тис.6 місяців тому
"Babashka: a meta-circular Clojure interpreter for the command line" by Michiel Borkent

КОМЕНТАРІ

  • @pragmaticmero686
    @pragmaticmero686 2 дні тому

    im peruvian, I have no deal doing herr but damn, these have been one of the best series of conferences that i've watched ever. I discovered it on 2022, it was an awesome ride.

  • @KnackiiTM
    @KnackiiTM 13 днів тому

    This is excellent

  • @alurma
    @alurma 14 днів тому

    12:14 malloc can return null though

  • @adityasanthosh702
    @adityasanthosh702 15 днів тому

    One thing I'd like to see is how AIMD is configured. How do you decide backoff factor in multiplicative decrease and additive factor in Additive increase?

  • @nakor555
    @nakor555 15 днів тому

    Consciousness is a big library where all the concepts are making iterations to be the more efficient for the being they're computing for....

  • @christopherchildress1721
    @christopherchildress1721 15 днів тому

    didn't expect a Harry Mack namedrop in a Strange Loop talk!

  • @CalifornianViking
    @CalifornianViking 16 днів тому

    This is an excellent presentation. Many things seem to have evolved since, such as the Rust language, and that all fields are optional. Is there a newer version of this presentation?

  • @galopeian
    @galopeian 17 днів тому

    Toolsets for making more toolsets, genius thinking

  • @krokenstiv8777
    @krokenstiv8777 19 днів тому

    This is very good

  • @magne6049
    @magne6049 19 днів тому

    Point free programming is actually less expressive, not more. Because you express less, and being more implicit. Tacit means silence as you say. More silence is less expression.

  • @marcellerusu
    @marcellerusu 20 днів тому

    last half of this talk is a gold mine for designers of future of programming systems

  • @saurabhmehta7681
    @saurabhmehta7681 21 день тому

    Brilliant!

  • @sergioperez4383
    @sergioperez4383 23 дні тому

    Hello guys, Are you sharing the links to the resources? Thanks for your support!

  • @DebanjanBasu
    @DebanjanBasu 23 дні тому

    I see some vim like structure in the grammar

  • @krellin
    @krellin Місяць тому

    10 years old and people are just catching up with this )

  • @michaelchavinda641
    @michaelchavinda641 Місяць тому

    Can someone define hosting?

  • @codewithkv
    @codewithkv Місяць тому

    Appreciate this talk so much. I am ready to Roc.

  • @alurma
    @alurma Місяць тому

    A great talk, thanks

  • @antzantz19antz
    @antzantz19antz Місяць тому

    Saw this talk live and was dying with laughter! 😂 I also learned a ton too

  • @jimmonroe5801
    @jimmonroe5801 Місяць тому

    My coworkers are wondering why I am cackling so much. Thank you.

  • @michel95124
    @michel95124 Місяць тому

    You forgot some of the most popular programming languages in your categorization - C, C++ and Java.

  • @jolonf
    @jolonf Місяць тому

    Ideally, every time a financial transaction occurs on the internet, a portion of the revenue should automatically go to the open source projects that the transaction depends on.

  • @applepie9806
    @applepie9806 Місяць тому

    This talk is based af. There's so many factors that I hadn't realised before. Respect for speaking on such a complex topic so candidly.

  • @melodyogonna
    @melodyogonna Місяць тому

    Now Treesitter has given Neovim superpowers by allowing it understand ASTs

  • @kenneth_romero
    @kenneth_romero Місяць тому

    one of the coolest talks and tech out there.

  • @user-eg6nq7qt8c
    @user-eg6nq7qt8c Місяць тому

    One of the all time greats. Absolute legend.

  • @gomezmario.f
    @gomezmario.f Місяць тому

    "Aesthetically challenged" has to be my main takeaway from this talk.

  • @EvgeniyDolzhenko
    @EvgeniyDolzhenko Місяць тому

    Is thert anything that would allow for automatic code simplification?

  • @enigmeta
    @enigmeta Місяць тому

    26:44 Algorithms that are trained on the same dataset share the same quirks. This is still mind-blowing to me - it's like a secret language.

  • @ZoltanTemesvari_temy
    @ZoltanTemesvari_temy Місяць тому

    Probably the only Rust video you need

  • @Ryu-ix8qs
    @Ryu-ix8qs Місяць тому

    The speaker is so good!

  • @TatianaRacheva
    @TatianaRacheva Місяць тому

    About the headers, man pages, etc. - that's exactly how I document things on our internal wikis. Prune it down to what I know about, document "important columns", "important fields", "important parameters", with 1 example for each. Definitely.

  • @kavehtehrani
    @kavehtehrani Місяць тому

    Amazing lecture and very well taught!

  • @HarishNarayanan
    @HarishNarayanan 2 місяці тому

    This is one of the most glorious things I have seen

  • @matthewrease2376
    @matthewrease2376 2 місяці тому

    Not the _exact_ same hardware as the famicom.

  • @gillesregnery9692
    @gillesregnery9692 2 місяці тому

    Dear Sir , could you please tell me the precise value of the angle between the line of purples and the horizontal ? I tried to measure it on the screen of my laptop , but it is not very accurate . BTW is there also a precise equation for the curve depicting the spectral locus ?

  • @RogerPersson
    @RogerPersson 2 місяці тому

    Great and interesting talk! Sounds like ”iso” is somewhat the opposite to ”volatile” keyword. Not sure I understood it fully, but sounds useful.

  • @stianmaurstad
    @stianmaurstad 2 місяці тому

    Very interesting, thanks Alex for a great talk & thanks for sharing strangeloop.

  • @aldunlop4622
    @aldunlop4622 2 місяці тому

    Nobody ever really seems to talk about Heretic or Hexen anymore, but even though I loved Doom, I preferred Heretic because I was more of a fantasy nerd than action in those days. I readd Lord of the Rings in the 70s and right after that D&D became huge. Then Quake 2 came out and I was a bit older, and into rock music and the music in Quake 2 blew my mind. I used to play in the living room with all the lights off and had my PC plugged into my sound system and it was insane. John & Co, you made this Gen Xer a happy man to this day. Thanks.

  • @GaneshKumarSankaran-qh9yz
    @GaneshKumarSankaran-qh9yz 2 місяці тому

    research.google/pubs/dremel-interactive-analysis-of-web-scale-datasets-2/

  • @richardjblackman
    @richardjblackman 2 місяці тому

    amazing speaker. explaining a difficult concept with simplicity. 2024 still interesting !

  • @dameanvil
    @dameanvil 2 місяці тому

    00:05 🎤 Evan Czaplicki, creator of Elm programming language, shares insights on the economic dynamics behind programming languages. 01:15 💼 Developing a programming language involves more than just engineering; it encompasses various tasks such as infrastructure management, community engagement, and brand building. 03:30 💰 Understanding how programming languages are funded reveals two main categories: corporate funding and independent funding, each with distinct design incentives and career risks. 04:26 💡 Google's substantial investment in traffic acquisition costs, particularly through partnerships with Apple and Mozilla, significantly influences the programming language landscape. 10:58 📈 Google's dominant browser market share allows them to leverage their search bar for significant revenue, highlighting the importance of browser market dynamics in programming language economics. 13:16 🔍 Developer relations roles, such as evangelists, advocates, and community managers, play a crucial role in fostering community engagement and support in programming language ecosystems. 16:18 🔄 Open source mitigates switching costs and platform dependencies, providing developers with freedom and flexibility in choosing programming environments. 19:00 🔒 While open source resolves some issues like switching costs, independent language developers still face challenges in monetizing their creations due to higher development and business costs compared to corporate entities. 19:57 💼 Large organizations have an advantage over individuals in developing programming languages due to resource allocation. 21:08 🛠 Corporate languages can benefit from company-specific platforms or corporate alliances to reduce traffic acquisition costs and increase market share. 22:18 💡 Rewarding talent, like Google's approach with Dart, can enhance a language's reputation and adoption. 24:37 🌐 Independent languages, like Python, often rely on patronage or consulting for support, allowing language developers to focus solely on language development. 25:30 📊 Consulting can provide resources for language development but may lead to resource contention and management challenges. 26:13 🎓 Research grants offer funding for language development but require alignment with research objectives. 27:52 💳 Usage licenses can provide revenue for language developers but require balancing free and commercial use. 28:18 🌐 Hosting services can offer opportunities for language adoption but may face challenges from larger competitors like Amazon. 30:24 🤔 Design decisions for programming languages are influenced by various incentives, including corporate interests, research goals, and individual author objectives. 34:21 💼 Career risks for language developers include dependence on funding sources and alignment with external interests. 37:56 💡 Balancing decisions between donor satisfaction and technical outcomes is crucial for language developers relying on donations. 38:53 💡 Language developers face challenges beyond just competition from major companies, including potential threats from various sources. 40:26 🤔 The speaker reflects on the uncertainty of navigating the economics of programming languages, highlighting the dilemma of being overwhelmed by potential challenges. 40:45 📢 Developers are urged to consider the broader implications and options beyond technical aspects when working on open-source projects. 41:13 🧑‍🏫 There's a call to educate young programmers about the complexities of the industry beyond online resources and forums. 41:28 🛠 Users are encouraged to evaluate programming languages based on factors like author goals, financial backing, and personal preferences to meet their specific needs. 42:51 💡 Despite differences in goals and approaches, every programming language offers something inspiring, highlighting the diversity and innovation within the field.

  • @dameanvil
    @dameanvil 2 місяці тому

    00:09 🚀 Programming languages often inherit outdated practices, hindering progress. 01:19 🖥 Punch cards were once used for programming, leading to cumbersome and error-prone processes. 03:14 🔄 Many modern programming practices still resemble outdated methods, causing unnecessary complexity. 04:12 ⏳ Lengthy feedback loops in development cycles are detrimental to productivity. 05:24 ⏰ Outdated programming paradigms often overlook the complexity of modern software requirements. 07:04 🧠 Syntax and semantics are emphasized in programming languages, neglecting pragmatic concerns. 09:51 💻 Programming in low-level languages like Assembly involves unnecessary complexities. 11:32 🔄 Programming languages should facilitate managing state over time, but many fall short in doing so effectively. 13:35 🛑 Lack of proper runtime features like PS and kill in some languages hampers development efficiency. 15:29 📊 Innovative tools like computational notebooks and propagators offer improved programming experiences. 16:39 📊 The propagator model, used in VisiCalc, is a valuable abstraction for data flow, truth maintenance, and provenance tracking, potentially useful for explainable AI in the future. 17:52 💻 Historical terminals like the VT100 and ADM3A influenced modern computing conventions, including keyboard layouts and terminal emulators, shaping user interactions. 20:16 🧠 Visual cortex's power emphasizes the importance of data visualization in programming for better comprehension and problem-solving, highlighting the potential of non-textual representations. 23:19 ⚙ Interactive programming, characterized by liveness, eliminates compile-run cycles, maintains program state, facilitates debugging, and offers shorter feedback loops, akin to spreadsheet productivity. 25:10 💡 Programming language choice doesn't inherently guarantee fewer defects; debuggability and adaptability often trump correctness by construction, advocating for pragmatism over dogmatism in language selection. 27:02 🔍 Debugging constitutes a significant portion of programming, emphasizing the importance of interactive debugging tools, runtime inspection, and exploratory programming for efficient problem-solving. 32:54 🛠 The vision of "getting into position to think" reflects the desire to minimize ceremonial overhead in programming, advocating for more interactive and immediate development environments. 33:22 💬 C++ has seen a deterioration over time, accumulating excessive features that make it difficult to reason about, echoing Ken Thompson's sentiments. 33:54 🚪 JavaScript's TC39 committee is criticized for muddying the language by adding numerous features, complicating an already challenging language. 34:23 📦 Go, like C++, struggles as a library language due to its runtime dependencies, making it less desirable for certain use cases. 34:37 🦀 While Rust is praised for being a good library language, its complexity and lack of interactive programming capabilities are highlighted as missed opportunities. 35:07 🛠 Zig is preferred over Rust for its simplicity, but it also lacks interactive programming features, missing an opportunity to learn from Lisp. 35:35 📊 Future directions in programming should explore underutilized areas like structure editing, pattern matching for documentation, and innovative data visualization techniques. 37:13 📓 Clerk, a tool for interactive programming in Clojure, offers seamless integration between code and notebooks, encouraging literate programming practices and rapid application development. 39:58 🌟 Other innovative projects like Hazel, Tyler, and Livelits demonstrate advancements in user interface design, type-based thinking, and expressive source code editing. 42:01 🌀 Hest showcases unique ways of visualizing code execution, such as animated factorial computation, pushing boundaries in programming language design.

  • @mdrakic
    @mdrakic 2 місяці тому

    Amazing video, superb insight. Moral of the story: Talk to each other!

  • @geekwithabs
    @geekwithabs 2 місяці тому

    If you keep adding every feature to a language, you get a kitchen sink like Scala. 😂

  • @nevokrien95
    @nevokrien95 2 місяці тому

    It's not fully independent the execution time at time t depends on some state from time t-1 things like temperature which threads finished first branch prediction etc. So that means ur assumed normality is problematic because u basically Hand wave those away. I feel like directly testing normality and then doing the rest is best

  • @ronbackal
    @ronbackal 2 місяці тому

    Thanks that is super interesting ! I actually wanted to make a personal learning project with a mechanics book and a numerical differential equations resource, to code mechanics solvers for things like pendulum, parachute drop, projectiles , planetary orbits, etc. I think Julia can be nice as educational tool as all is inside, and I am thinking functional style can be interesting to try! Thanks Ron

  • @MichaelCampbell01
    @MichaelCampbell01 2 місяці тому

    Just based on the sound, god I miss that Apple ][ keyboard so badly; it was absolutely wonderful.

  • @chris.dillon
    @chris.dillon 2 місяці тому

    Strangeloop can end but we'll still need something like strangeloop

  • @MichaelCampbell01
    @MichaelCampbell01 2 місяці тому

    6502 was also in the Atari 400 and 800.