London Clojurians
London Clojurians
  • Видео 179
  • Просмотров 399 098
Don't fear the storm (by Juan Monetta)
The London Clojurians are happy to present:
Title: Don't fear the Storm
Speaker: Juan Monetta
Juan Monetta - github.com/jpmonettas/ will be presenting:
"Don't fear the Storm"
We will dig into FlowStorm internals, from its approach to instrumentation (ClojureStorm and ClojureScriptStorm), how FlowStorm uses it for tracing, indexing to providing tools for exploring and visualizing full systems execution. We will also explore a little bit of the new FlowStorm data visualization capabilities.
Juan has been working as a programmer since late 90s, and working professionally as a Clojure developer since 2011 over many domains. He has a passion for dev tooling and anything that makes writing software ...
Просмотров: 306

Видео

Clein Bringing a bit of leiningen to deps edn by Noah Bogart
Просмотров 349День назад
The London Clojurians are happy to present: Title: Clein: Bringing a bit of leiningen to deps.edn Speaker: Noah Bogart Noah Bogart - github.com/NoahTheDuke will be presenting: "Clein: Bringing a bit of leiningen to deps.edn" Clein attempts to handle the basic use cases of build.clj, covering the boilerplate with minimal configuration and sensible defaults. This talk will go over why and how Cle...
Encoding internet-scale decentralised data structures on Convex (by Mike Anderson)
Просмотров 4452 месяца назад
The London Clojurians are happy to present: Title: Encoding internet-scale decentralised data structures on Convex Speaker: Mike Anderson Mike Anderson - www.linkedin.com/in/mike-cvx/ will be presenting: "Encoding internet-scale decentralised data structures on Convex" This discussion will expand on the first Convex event with the London Clojurians (ruclips.net/video/bpKAQgcJRao/видео.html&auth...
Basilisp: Clojure on the Python VM (by Chris Rink)
Просмотров 1,1 тыс.3 месяца назад
The London Clojurians are happy to present: Title: Basilisp: Clojure on the Python VM Speaker: Chris Rink Chris Rink - github.com/chrisrink10 will be presenting: "Basilisp: Clojure on the Python VM" Everyone knows Clojure runs on the JVM and CLR, in Node, and in the browser, but what about Python? Basilisp is a mostly-compatible implementation of Clojure for Python, enabling users who may not b...
Maintainable Clojure code: Visualizing structure and quality metrics (by Jakub Dundalek)
Просмотров 9473 месяца назад
The London Clojurians are happy to present: Title: Maintainable Clojure code: Visualizing structure and quality metrics Speaker: Jakub Dundalek Jakub Dundalek - dundalek.com/ will be presenting: "Maintainable Clojure code: Visualizing structure and quality metrics" Building maintainable software is limited by human cognitive ability to understand systems when they get large. Diagrams and visual...
Grinding parenthesis to form Rubies (by Maurício Szabo)
Просмотров 5794 месяца назад
The London Clojurians are happy to present: Title: Grinding parenthesis to form Rubies Speaker: Maurício Szabo Maurício Szabo - mauricio.szabo.link/, gitlab.com/mauricioszabo/ will be presenting: "Grinding parenthesis to form Rubies" Chlorine is a REPL-Driven Development plug-in for Clojure. So what happens when a crazy idea emerges - to port Chlorine to work with Ruby? In this talk, we'll lear...
Electric Clojure v3: Differential Dataflow for UI (by Dustin Getz)
Просмотров 4,8 тыс.5 месяцев назад
The London Clojurians are happy to present: Title: Electric Clojure v3: Differential Dataflow for UI Speaker: Dustin Getz Dustin Getz - www.linkedin.com/in/dustingetz/ will be presenting: "Electric Clojure v3: Differential Dataflow for UI" 18 months ago, we released Electric v2 and early adopters have been running it in production since last summer, to build rich web experiences that simply hav...
Data Driven Component Libraries from commercial experiences (by Johnny Stevenson)
Просмотров 8726 месяцев назад
The London Clojurians are happy to present: Title: Data Driven Component Libraries from commercial experiences Speaker: Johnny Stevenson Johnny Stevenson - github.com/practicalli-johnny/ will be presenting: "Data Driven Component Libraries from commercial experiences" Experiences in using Integrant / Integrant REP and donut-party/system for a data driven REPL workflow managing multiple system c...
Introducing EntityGraph: Ergonomic Data Store for SPA State (by Geo Grigoryan)
Просмотров 7037 месяцев назад
The London Clojurians are happy to present: Title: Introducing EntityGraph: Ergonomic Data Store for SPA State Speaker: Geo Grigoryan Geo Grigoryan - github.com/geodrome will be presenting: "Introducing EntityGraph: Ergonomic Data Store for SPA State" EntityGraph is an in-memory data store with pull query support for Clojure(Script). It leverages Clojure’s hash maps for EAV and AVE indexes. We’...
FDB - a reactive database environment for your files (by Filipe Silva)
Просмотров 9618 месяцев назад
The London Clojurians are happy to present: Title: FDB - a reactive database environment for your files Speaker: Filipe Silva Filipe Silva - github.com/filipesilva will be presenting: "FDB - a reactive database environment for your files" In this talk you'll learn how to use FDB to create your own custom automations and integrations so you can easily take control of data and use it however you ...
Programming with Linear Algebra: Hello World (by Dragan Djuric)
Просмотров 1 тыс.8 месяцев назад
Title: Programming with Linear Algebra: Hello World Speaker: Dragan Djuric Dragan Djuric - dragan.rocks/ will be presenting: "Programming with Linear Algebra: Hello World" Kick-starting the understanding of an unfamiliar topic might be the steepest point in any programming journey. Following the recent AI boom, you might be hearing about matrices and tensors left and right, you probably even kn...
From data to insights: Clojure for data deep dive (by Kira McLean)
Просмотров 1,4 тыс.9 месяцев назад
The London Clojurians are happy to present: Title: From data to insights: Clojure for data deep dive Speaker: Kira McLean Kira McLean - github.com/kiramclean/ will be presenting: "From data to insights: Clojure for data deep dive" In this session, participants will dive into the lesser-known corners of Clojure's data ecosystem. Learn how to extract meaningful insights from example datasets, unc...
Is there a place for LLM orchestration tools? (by Žygimantas Medelis)
Просмотров 5929 месяцев назад
Every second week LLM space is hit by a major announcement of new models and improved AI capabilities. Given this breakneck progress, do we need a layer of LLM orchestration tools? I argue that the answer is yes, and I'll use Bosquet - an LLM tooling library - to illustrate my point. I will show that going beyond simple LLM apps you will need support for complex promoting and workflows, model s...
Bringing Real-Time AI to Phone Calls using core.async (by Ovi Stoica)
Просмотров 1,1 тыс.10 месяцев назад
The London Clojurians are happy to present: Title: Bringing Real-Time AI to Phone Calls using core.async Speaker: Ovi Stoica Ovi Stoica - www.ovistoica.com/ will be presenting: "Bringing Real-Time AI to Phone Calls using core.async" How to bring AI to real-time telephony using Twilio, OpenAI & clojure core.async. The talk will include details about assembling the pipeline, handling audio, and u...
Brimm: graph backend with a Notion-inspired UI (by Filip Juruković)
Просмотров 1,1 тыс.10 месяцев назад
The London Clojurians are happy to present: Title: Brimm: graph backend with a Notion-inspired UI Speaker: Filip Juruković Filip Juruković - github.com/zeitstein will be presenting: "Brimm: graph backend with a Notion-inspired UI" In this talk, we'll explore Brimm: a new open source full stack project for knowledge management. We'll showcase the default UI and discuss how you can use Brimm as a...
The Design of Biff (by Jacob O'Bryant)
Просмотров 1,8 тыс.10 месяцев назад
The Design of Biff (by Jacob O'Bryant)
Sitefox framework: ClojureScript on the backend (by Chris McCormick)
Просмотров 1,1 тыс.11 месяцев назад
Sitefox framework: ClojureScript on the backend (by Chris McCormick)
Some controversial truths (by Peter Taoussanis)
Просмотров 4,8 тыс.11 месяцев назад
Some controversial truths (by Peter Taoussanis)
Dashing through the flow - Streamlining state management in ClojureDart with re-dash (by Werner Kok)
Просмотров 84411 месяцев назад
Dashing through the flow - Streamlining state management in ClojureDart with re-dash (by Werner Kok)
Desktop GUI Made Easy (by Nikita Prokopov)
Просмотров 5 тыс.Год назад
Desktop GUI Made Easy (by Nikita Prokopov)
Reifying execution, the interactive programming missing piece by Juan Monetta
Просмотров 1,5 тыс.Год назад
Reifying execution, the interactive programming missing piece by Juan Monetta
Cooking up a workflow for data (by Slutsky, Prately & McLean)
Просмотров 1,2 тыс.Год назад
Cooking up a workflow for data (by Slutsky, Prately & McLean)
Writing Maintainable Clojure Applications (by Dmitri Sotnikov)
Просмотров 2 тыс.Год назад
Writing Maintainable Clojure Applications (by Dmitri Sotnikov)
UIx, a story behind yet another React wrapper (by Roman Liutikov)
Просмотров 1,7 тыс.Год назад
UIx, a story behind yet another React wrapper (by Roman Liutikov)
A functional approach to massively concurrent application design (by Léo Noel)
Просмотров 2,1 тыс.Год назад
A functional approach to massively concurrent application design (by Léo Noel)
Portal Internals (by Chris Badahdah)
Просмотров 814Год назад
Portal Internals (by Chris Badahdah)
Ten to the Ninth: Performance Techniques in Jepsen (by Kyle Kingsbury)
Просмотров 1,2 тыс.Год назад
Ten to the Ninth: Performance Techniques in Jepsen (by Kyle Kingsbury)
TMD 7.0 - Higher Performance Functional Data Science (by Chris Nuernberger)
Просмотров 1,3 тыс.Год назад
TMD 7.0 - Higher Performance Functional Data Science (by Chris Nuernberger)
Matrix Exposed! (or, You Don't Know Reactive) (by Kenny Tilton)
Просмотров 1,1 тыс.Год назад
Matrix Exposed! (or, You Don't Know Reactive) (by Kenny Tilton)
Building conditional data dependency graphs with Nodely (by Sophia Velten)
Просмотров 1 тыс.Год назад
Building conditional data dependency graphs with Nodely (by Sophia Velten)

Комментарии

  • @mgetommy
    @mgetommy 13 часов назад

    Looks incredibly powerful

  • @denismccarthy9554
    @denismccarthy9554 14 часов назад

    Nice

  • @wolpumba4099
    @wolpumba4099 День назад

    *FlowStorm: A Powerful Tool for Debugging and Understanding Clojure Code* * *0:00:08** Initial Plan and Change of Agenda:* The speaker initially planned to talk about FlowStorm's internals and new features in FlowStorm 4. However, they realized that much of this content would overlap with a previous talk. * *0:00:58** New Title and Agenda:* The talk's title was changed to "The Power of the Storm," and the agenda shifted to focus on practical usage and demos, including: * FlowStorm refresher * Instrumentation and recording * Workflow tips and tricks * New features like the outputs panel and data windows * *0:02:07** FlowStorm Overview:* FlowStorm is a development tool for Clojure that records program execution and visualizes data. * *0:02:22** Key Difference:* Unlike other tools, FlowStorm records program execution as a "flow," which is a timeline of all thread activities. * *0:02:54** Local vs. Remote Mode:* FlowStorm can operate in local mode (everything on the same JVM) or remote mode (instrumented code and recordings on a separate process). * *0:05:34** Instrumentation with ClojureStorm:* ClojureStorm, a fork of the official Clojure compiler, adds instrumentation to emit extra bytecode for tracing, enabling detailed analysis without modifying the original code. * *0:08:43** Recording in FlowStorm:* The tool hooks into ClojureStorm and stores all events, function calls, and intermediate object references with pointers to source code coordinates. * *0:10:07** Thread Timelines:* FlowStorm organizes recordings into thread timelines, which are arrays of events, providing a detailed view of each thread's execution. * *0:10:59** Demo: Web Applications:* The speaker demonstrates how to use FlowStorm to analyze a web application, showing features like: * Recording requests and responses * Naming and recalling specific requests * Searching for values within recordings * Defining and running print statements on recordings * *0:21:20** Demo: Data Windows for HTML Visualization:* The speaker introduces data windows, a new feature for visualizing data, and demonstrates how to view HTML output directly within FlowStorm. * *0:22:17** Demo: Editor Integration:* The speaker shows how to jump from the editor to recordings and back, using features like: * Quick jump to function * "debugger;" statement for fast positioning * Defining all frame variables in the REPL * Opening source code from recordings * *0:27:45** Demo: Codebase Exploration:* The speaker demonstrates how to use FlowStorm to explore a new codebase (Clojure's core.async flow library), showing how to: * Record and analyze the creation of flows * Identify and analyze threads spawned by the library * Use bookmarks to mark interesting points in the recordings * *0:43:21** Accessing Recordings from the REPL:* FlowStorm allows programmatic access to recordings via the REPL using the `get-timeline` function. * *0:44:13** Demo: Outputs Panel:* The speaker introduces the outputs panel, a replacement for the REPL console that provides enhanced visualization and navigation of evaluation results. * *0:46:24** Demo: Data Windows:* Data windows are a system for data inspection and visualization, supporting: * Lazy navigation of nested data structures * Infinite sequences * Multiple visualizations * Custom visualizations * Clojure datafy and navigation * Real-time data visualization * *0:50:34** Custom Visualizations:* The speaker demonstrates how to create custom visualizations for specific data types, using a chessboard example. * *0:52:25** Datafy and Navigation Integration:* FlowStorm integrates with Clojure's datafy and navigation protocols, allowing seamless exploration of data structures that support these protocols. * *0:56:20** Built-in Visualizations:* FlowStorm provides built-in visualizations for numbers, byte arrays, and other common data types. * *0:56:27** EQL Queries:* Data windows support EQL (Extensible Query Language) queries for filtering and analyzing data. * *0:59:14** Real-time Visualization:* The speaker demonstrates how to create data windows that update in real time, using a sine wave example. * *1:01:04** Ants Demo:* The speaker revisits the classic "ants" demo to showcase how data windows can be used to visualize and debug agent-based simulations. * *1:03:05** Conclusion:* The speaker concludes by encouraging the audience to explore FlowStorm and its features. I used gemini-1.5-pro-exp-0827 on rocketrecap dot com to summarize the transcript. Cost (if I didn't use the free tier): $0.09 Input tokens: 63793 Output tokens: 1076

  • @carnelyve866
    @carnelyve866 2 дня назад

    Amazing... Thanks.

  • @indra8189
    @indra8189 5 дней назад

    Wonderful talk

  • @HowardLewisShip
    @HowardLewisShip 21 день назад

    Just a little disappointed he didn't run the Clojure and jank ray-tracers side-by-side.

  • @jhg12989
    @jhg12989 Месяц назад

    What about clasp?

  • @DavidConnerCodeaholic
    @DavidConnerCodeaholic Месяц назад

    Jesus Christ please tell me this is workable

  • @carnelyve866
    @carnelyve866 Месяц назад

    Mind blown....

  • @riebeck1986
    @riebeck1986 2 месяца назад

    Great video ! Seeing transducers build from scratch was amazing

  • @wjr81155
    @wjr81155 2 месяца назад

    v cool!!

  • @apestogetherstrong341
    @apestogetherstrong341 3 месяца назад

    Amazing technology. Keep insisting and fighting, keep finding more companies that want to use electric.

  • @_FFFFFF_
    @_FFFFFF_ 3 месяца назад

    Looking forward to sneaking this in at work, they say i have to have it run in python ! Now they can't say no.

  • @dmg46664
    @dmg46664 3 месяца назад

    15:50 Running the debugger 16:30 rtrace 20:45 trace

  • @11STANE11
    @11STANE11 3 месяца назад

    Is this production ready?

    • @chrisrink10
      @chrisrink10 2 месяца назад

      I'm not sure that's a question I could readily answer for someone else. I'm not developing this in any professional capacity and it is not deployed in a production setting by me anywhere, but I suspect it could potentially be used in a production setting if someone were willing to tolerate bugs and deviations from Clojure that I have not yet caught and fixed.

  • @jiminippo
    @jiminippo 3 месяца назад

    Thank you! This might be the easiest way for my lazy, fragile Python brain to learn Clojure!

  • @wdeath
    @wdeath 3 месяца назад

    Thank you for your work! Clojure on python will be great, Python is almost the most popular language.

  • @IronCandyNotes
    @IronCandyNotes 3 месяца назад

    w Hy?

    • @chrisrink10
      @chrisrink10 3 месяца назад

      No, this is a completely different project called Basilisp which is intended to be highly compatible with Clojure.

  • @p4ulcristian
    @p4ulcristian 3 месяца назад

    Just lost my Clojure job, thought about changing languages based on popularity. Then I found this and decided that I better stick around! That's some refreshing stuff after years of full stack work, I never thought these things can be improved! I can't wait to finish my first project with it!

    • @dead_earnest
      @dead_earnest 2 месяца назад

      Quit my Clojure job in September to be able to launch my own program based on Electric.

    • @p4ulcristian
      @p4ulcristian Месяц назад

      @@dead_earnest I can't wait to get the invite for v3 :D

  • @JChen7
    @JChen7 3 месяца назад

    Per your suggestion, anyone working on rebuilding REBL with electric?

  • @namenyu
    @namenyu 4 месяца назад

    Very interesting. Thanks!

  • @akemegbebu7807
    @akemegbebu7807 4 месяца назад

    Great talk. Thanks

  • @JoseTrigueros
    @JoseTrigueros 4 месяца назад

    Any chance this could be used for Emacs? I'm currently using DoomEmacs' repl offering but I'm gluing it together with a bit of elisp.

  • @μολώνλαβέ-κ2τ
    @μολώνλαβέ-κ2τ 4 месяца назад

    this is looking better every time. congrats

  • @nonsensedotai
    @nonsensedotai 5 месяцев назад

    The implementation of the layer technique showed by Gerald in this video seems to give ability of 'dynamically adding hooks to the continuation, under the convention of layer name' to programmer.

  • @ZeZeBatata69
    @ZeZeBatata69 5 месяцев назад

    This nigga is on 7G

  • @erichocean8746
    @erichocean8746 5 месяцев назад

    Keep going,guys, this is important tech.

  • @DustinRayner
    @DustinRayner 5 месяцев назад

    This is a fantastic talk. It’s impressive to see the progress and capabilities of Electric. I can’t wait to use it in a future project.

  • @carnelyve866
    @carnelyve866 5 месяцев назад

    Oh boy... I wanted to quit software development because the industry is forcing me to learn React/Angular just to slave away at my job and stay relevant to the latest js framework. I'll just quit my current job and start using electric. Thank you for this tool

  • @timog7358
    @timog7358 5 месяцев назад

    wow

  • @ericturner2477
    @ericturner2477 5 месяцев назад

    Compare something like "lein new luminus guestbook +h2 +http-kit" versus "clojure -Tnew create :template io.github.kit-clj :name eric/guestbook". I prefer that lein command. I hope you guys can make kit command-line usage simpler.

  • @trejohnson7677
    @trejohnson7677 5 месяцев назад

    y these kinds of demos never come with "here's what we made with this thing."

    • @smthng_dev
      @smthng_dev 5 месяцев назад

      Slides in the presentation are running in Pitch, which is built with UIx

    • @trejohnson7677
      @trejohnson7677 4 месяца назад

      ok fair.

  • @akemegbebu7807
    @akemegbebu7807 6 месяцев назад

    Oh my God..... I'm switching to clojure

  • @3a146
    @3a146 6 месяцев назад

    用graph控制continuation倒真是个好办法. 反正graph也是个值, 求值状态是另外一个graph, 这样执行的高阶抽象就有了.

  • @jatlineur
    @jatlineur 6 месяцев назад

    why clojure? is it fast?

    • @sundinjon
      @sundinjon 5 месяцев назад

      Nikita (the author) loves the developer experience using Clojure. It's an elegantly simple language, and the ability to interact with a running program and evaluate any expression/form is amazing! Check out what Robert Cecil Martin says about Clojure on his blog, and check out any talk by Rich Hickey (creator of Clojure) if you are wanting to know more.

  • @kahnfatman
    @kahnfatman 6 месяцев назад

    Greetings from Germany to all Germans! and others elsewhere worldwide :D

    • @carnelyve866
      @carnelyve866 3 месяца назад

      Greetings to you. I love German people. Great great people. You should be proud of you and your country.

  • @apestogetherstrong341
    @apestogetherstrong341 6 месяцев назад

    On the first point, I would like to say that yes, all tools have downsides. However, there are tools whose downsides didn’t originate as a trade-off, but rather as a result of unconsciously bringing what’s familiar into a newly created tool. There are so far tools that are objectively much better than others in their field. And we should improve precisely these tools, preferably by learning from the other awesome tools. Let’s enumerate the best so far: 1. Embedded and low-level: Zig. 2. Theoretical: Haskell. 3. Server systems: Erlang/Clojure. Does the world need more than these languages? No. Moreover, if Haskell, Erlang and Zig were Lisps, nobody could say that there is a language that is better at some tasks than them, since they could just be extended to be semantically like that better language. So, we can all do objectively better, and we should strive to do that.

  • @RelaxingStonesPlanet
    @RelaxingStonesPlanet 7 месяцев назад

    I lost all interest whatsoever in all other front end related tech - thanks for that :(

  • @jasoneve
    @jasoneve 7 месяцев назад

    This is incredibly impressive

  • @kahnfatman
    @kahnfatman 7 месяцев назад

    18:13 suddenly LISP stares at me in the face..

  • @aramzadikian
    @aramzadikian 7 месяцев назад

    Amazing work, thank you for this. Excellent presentation.

  • @3a146
    @3a146 8 месяцев назад

    54:17 about the name of this "interactive comment" pattern. I realized that the theoretical foundation of this thing might be "The Explicit-Control Evaluator" from SICP 2e Sec 5.4, because exactly what you do is to manually control the evaluator to interprete your source codes beyond the normal opearations of Clojure automatic tool chain. Oh my JVM, the lisp machines are back. Hence, the title may also be dubbed "Turning JVM(or node) into a Modern Lisp Machine".

    • @3a146
      @3a146 8 месяцев назад

      Rickey also mentioned once the reason why JVM support is better than CLR is because of the meta programming support of JVM.

    • @3a146
      @3a146 8 месяцев назад

      Also in Sec5.4.1, one can read "The central element in the evaluator is the sequence of instructions beginning at eval-dispatch. " And I can see VSCode is the GUI for this eval-dispatch, while emacs could be the TUI.

  • @witstartful
    @witstartful 8 месяцев назад

    And not to be that guy but every database is also a database over files. Nice thing here is that you understand and control the formats and indexes.

    • @FilipeSilvaRed
      @FilipeSilvaRed 8 месяцев назад

      There's a couple of other considerations I had on this topic that I didn't end up talking about: files are still useful by themselves if you don't have the database process anymore (e.g. a disk you leave around for 5 years), and files are still useful if you only have part of the total set (e.g. some of your data got corrupted). I think these two properties are really important for knowledge systems, and I don't think a lot of systems I interact with have their data in this way.

  • @witstartful
    @witstartful 8 месяцев назад

    Great talk and I love the motivation

  • @ronindevninja
    @ronindevninja 8 месяцев назад

    i am Elixir dev, but this thing remember me to Phoenix in certain things, and I love it, definitely, i will try it

  • @geraldodev
    @geraldodev 8 месяцев назад

    Thank you for Biff. So much care and thought you put into this .

  • @RegisMatsuoka
    @RegisMatsuoka 8 месяцев назад

    Great demo!!!! Still complete up to date and valid for Pathom!

  • @Inzagi-im8ol
    @Inzagi-im8ol 8 месяцев назад

    👍

  • @3a146
    @3a146 8 месяцев назад

    if only we can port emacs into this.

  • @DanBuneaArt
    @DanBuneaArt 8 месяцев назад

    I find the way you explained the problem very useful as I never thought about using linear algebra directly especially when dealing with large quantities of data. It also help what actually happens inside libraries. Thank you Dragan!