ClojureTV
ClojureTV
  • 466
  • 4 759 230
"Working With the Machine – A Maker’s Journey into Clojure" by Adam Vermeer
Computers are powerful tools and programming languages help us mould them to our liking. Clojure exemplifies this power very well, and is an attractive language with an enticing ecosystem and community for creative people and 'makers' of all kinds.
This talk explores a mechanical engineer's foray into the world of Clojure by taking a 'Maker's approach'.
Listeners will see how little code experiments and an ever growing 'scrap pile' can be valuable to the learning process. They will be shown examples of using code as part of the creative process for real-world outputs (think 2D and 3D design), and hear about how to select projects that can be personally fulfilling, fun, and useful. Finally, listeners will see an interactive demo showing how we as programmers can work with the machine and make our code more tangible, which can help a lot with creative thinking, and is just plain fun!
Переглядів: 2 956

Відео

"Emmy: Moldable Physics and Lispy Microworlds" by Sam Ritchie
Переглядів 3,1 тис.Рік тому
Over the last few years, The Clojure community has been quietly building out a set of powerful tools for interactive data exploration, mathematical exploration and symbolic computing. Projects like Clerk, Portal, REBL and Reveal are creating a whole new visual grammar and language on top of Clojure. This talk will discuss my recent work curating and extending this set of tools into a Clojure-y ...
"How to transfer Clojure goodness to other languages" by Elango Cheran and Timothy Pratley
Переглядів 2,3 тис.Рік тому
What features of Clojure would you take with you, if you couldn’t write Clojure? Other languages have only adopted bits and pieces of the Clojure way of programming. We wrote a transpiler to bring that paradigm over to the other languages in order to write libraries that work the same. Our experiences taught us how differences in the destination languages affected variations in certain details,...
"Clojure for Data Science in the Real World" by Kira McLean
Переглядів 3,1 тис.Рік тому
Clojure has become a natural choice for application development, but is not as widely used in the world of data science. The question is why? Clojure checks all the boxes: the ecosystem is mature and stable, the tooling is state of the art, and the language itself is naturally suited to repeatable, large scale, and computationally-heavy work. In this talk we'll explore these ways Clojure is a g...
"BI and Reporting for Datomic" by Arne Brasseur
Переглядів 708Рік тому
A few years ago we got asked to help a startup to build out the Business Intelligence component of their product. They were building an accounting platform using Clojure and Datomic, and saw value in Metabase, but didn't know how to connect the dots. We have been working with them ever since, bridging the gap between Datomic and Metabase, and creating a system for generating and embedding custo...
"Comparing protein structures with Clojure" by Blaine Mooers
Переглядів 618Рік тому
The molecular structures of 83% of human proteins have yet to be determined by experimental methods. AlphaFold2 is a deep learning program by DeepMind that accurately predicts the structure of proteins (Jumper et al., 2021) and has been used to provide predicted structures for 98.5% of all human proteins and 200 million proteins from organisms; these models are publicly available in the AlpahFo...
"Real @toms with Clojure!" by Thomas Clark and Daniel Slutsky
Переглядів 796Рік тому
The Clojure atom may be fundamental to programming in a modern LisP but real atoms are useful too. Here, we consider how Clojure fares in atomic physics. From data wrangling and image analysis to equation solving and visualisation, is the clojure data stack now ready for scientific research? A physicist considers a real-world walkthrough of a recent publication: highlighting the strengths and w...
"Clojure lsp - One tool to lint them all" by Eric Dallo
Переглядів 2 тис.Рік тому
Clojure-lsp is used across multiple editors, but it can be used as a linter tool, locally or in your CI to format, clean namespaces, find diagnostics, all in a single tool
"Growing Data Center networking mgmt UI using ClojureScript, Reagent and re-frame" by Kirill Ishanov
Переглядів 1,4 тис.Рік тому
For the past 8 years Apstra has been building a product that manages Data Center networks configuration and operation. Our UI was built using ClojureScript from day one and had to evolve in order to support growing complexity of a back-end and growing amount of features. As a result, we've built a large SPA with hundreds of screens and complex visualizations. In this session I'll describe archi...
"Joyful Cross platform Development with ClojureDart" by Christophe Grand and Baptiste Dupuch
Переглядів 3,8 тис.Рік тому
Java promised WORA: Write Once Run Anywhere. Clojure dialects deliver SORA: Skill Once Reach Anywhere. ClojureDart is a recent creatively-named dialect targeting Dart and its cross platform gui Flutter to bring native binaries to mobiles and desktops. We’ll demo how the Clojure and Flutter combo makes app development enjoyable by leveraging strengths of our favorite language and of the Flutter ...
"Modern Frontend on ClojureScript and React in 2023" by Yuri Khmelevsky
Переглядів 6 тис.Рік тому
Share experience how we built modern web-application on ClojureScript and React with complex UI, tons of features and design system. I will demonstrate that ClojureScript is a great choice for building modern and reliable frontend in 2023 while using all advantages of React ecosystem.
"Design in Practice" by Rich Hickey
Переглядів 36 тис.Рік тому
Rich Hickey, the author of Clojure and designer of Datomic, is a software developer with over 35 years of experience in various domains. Slides: download.clojure.org/presentations/DesignInPractice.pdf
"How to build a Clojure dialect" by Jeaye Wilkerson
Переглядів 1,7 тис.Рік тому
Learn what goes into building a Clojure dialect for a new host, starting from lexing and ending with implementing clojure.core. We'll cover some of the biggest challenges and gotchas with the Clojure runtime: When is Clojure interpreted? When is it compiled? How are macros implemented? How can we keep all of this interactive? We'll frame this discussion around jank, a Clojure dialect on LLVM wi...
"Four years of Datomic powered ETL in anger with CANDEL" by Ben Kamphaus and Marshall Thompson
Переглядів 1 тис.Рік тому
In 2018, the Parker Institute for Cancer Immunotherapy (PICI) partnered with Cognitect to harmonize multi-omic biological data from a wide range of vendors, labs, and partners into a unified schema together with patient clinical data. As a small informatics team with an ambitious mission, we needed a higher order approach, so we built Pret to model ETL as compilation, transforming an edn map sp...
"Clojure in the Fintech Ecosystem" by Philip Cooper
Переглядів 1,8 тис.Рік тому
This is a hands-on review of both the how and why to move critical fintech components into Clojure. After 20 years of data science in python, why go "all-in" on Clojure/ClojureScript? It will start with a risk modeling problem (i.e Mote-Carlo investigation) in which the shortcomings of the python implementation cried out for better approach. Queue Clojure. Beyond the well-known advantages of im...
"High Performance Clojure" by Chris Nuernberger
Переглядів 2,8 тис.Рік тому
"High Performance Clojure" by Chris Nuernberger
"Operating Datomic at Scale" by João Palharini and Filipe Andrade
Переглядів 1 тис.Рік тому
"Operating Datomic at Scale" by João Palharini and Filipe Andrade
"Architecting systems through Engineering Principles" by Bruno Tavares
Переглядів 1,6 тис.Рік тому
"Architecting systems through Engineering Principles" by Bruno Tavares
"Unmanned Systems Flight Planning with Clojure" by Heow Goodman
Переглядів 647Рік тому
"Unmanned Systems Flight Planning with Clojure" by Heow Goodman
"Consequential Clojure Architectures" by Janet Carr
Переглядів 3,1 тис.Рік тому
"Consequential Clojure Architectures" by Janet Carr
"How to Find the Write Rhythm for your Software Composition" by Jordan Miller and Heather Haylett
Переглядів 839Рік тому
"How to Find the Write Rhythm for your Software Composition" by Jordan Miller and Heather Haylett
"Fluree: an Immutable, Verifiable, Shareable Database" - Daniel Petranek
Переглядів 1,4 тис.Рік тому
"Fluree: an Immutable, Verifiable, Shareable Database" - Daniel Petranek
"State of XTDB" by Jon Pither
Переглядів 2,1 тис.Рік тому
"State of XTDB" by Jon Pither
"Gaining Constant time Lookup over Unorganized Data" - Ghadi Shayban, Jeb Beich
Переглядів 2 тис.Рік тому
"Gaining Constant time Lookup over Unorganized Data" - Ghadi Shayban, Jeb Beich
"Vector Symbolic Architectures In Clojure" by Carin Meier
Переглядів 4,9 тис.Рік тому
"Vector Symbolic Architectures In Clojure" by Carin Meier
Clojure (the first talk) - Rich Hickey at LispNYC (2007)
Переглядів 11 тис.Рік тому
Clojure (the first talk) - Rich Hickey at LispNYC (2007)
clojure.spec - Rich Hickey (from LispNYC, 2016)
Переглядів 4,5 тис.2 роки тому
clojure.spec - Rich Hickey (from LispNYC, 2016)
Clojure 1.11.0-alpha4 chat
Переглядів 5 тис.2 роки тому
Clojure 1.11.0-alpha4 chat
"Design, Composition, and Performance" by Rich Hickey (2013)
Переглядів 18 тис.2 роки тому
"Design, Composition, and Performance" by Rich Hickey (2013)
"Inside core.async Channels" by Rich Hickey (2014)
Переглядів 5 тис.2 роки тому
"Inside core.async Channels" by Rich Hickey (2014)

КОМЕНТАРІ

  • @bmillare
    @bmillare 8 місяців тому

    I've used this technique to good success. Some good tip is to have the variants be represented (sometimes when applicable) by the pseudo code or API, to make it easier for readers to recognize what the column represents. Overall, this combines well with his hierarchy of problems. With the hierarchy of problems, we need to put most of our energies on hard/significant problems, which we pay more for or more often. This decision matrix technique has the focus aspect by keeping the most important items front and center. Problem solvers can better use their analysis/mental resources on what's important.

  • @user-lv2ht3qv2l
    @user-lv2ht3qv2l 8 місяців тому

    48:48 : evaluation 51:05

  • @Nellak2011
    @Nellak2011 8 місяців тому

    I 100% agree. The biggest problem with Clojure and ClojureScript is that it is not advertised or marketed like other languages. Most developers don't even know it is an option until they go researching functional programming (Usually because they are like me and are 1000% done with broken JS and bloat). I think that Clojure is the most beautiful language so far, it is absolutely brilliant and I wish other front end devs knew about it and ClojureScript. ❤

  • @yubrshen
    @yubrshen 8 місяців тому

    I am not sure of the distinction between describing situation) and diagnosing (problem). Sounds like describing situation focuses on describing the symptoms, while diagnosing (problems) finds the root causes of the symptoms?

  • @kevinkkirimii
    @kevinkkirimii 8 місяців тому

    Very complicated model, however well done presentation.

  • @avidrucker
    @avidrucker 8 місяців тому

    00:30 🤯 Simplicity is a prerequisite for reliability in software development, and we need to focus more on building simple systems. 02:34 📚 "Simple" means one fold or one twist, while "complex" means braided or folded together. Understanding this distinction is crucial in software development. 07:20 🤖 Easy can refer to being physically near, familiar, or within our capabilities. It's essential to recognize these different aspects of "easy" when discussing software. 11:54 🏃 Focusing solely on ease (fast development) at the expense of simplicity (understandable and maintainable code) will eventually slow down software development. 19:50 💡 Some constructs that seem easy can lead to complex and incidental complexity in software. Prioritizing simplicity in output is critical for software quality and reliability. 21:51 🧩 Simplicity leads to increased flexibility, independence of decisions, and easier policy changes in software development. 23:23 🧠 To deal with complexity, rather than trying to become smarter, simplify by reducing incidental complexity in your software. 27:18 🧶 "Complect" means intertwining or braiding, and it's a source of complexity in software. 30:19 🔄 Simple components allow for horizontal separation and vertical stratification, leading to robust software design. 39:31 🕸 Various software elements like state, objects, methods, inheritance, syntax, and more can contribute to complexity by intertwining different concerns. 42:38 🧩 The talk emphasizes the importance of distinguishing between "simple" and "easy" in software development. 43:07 🛠 Developing software can be simplified by choosing simpler tools and focusing on the essence of the problem, rather than complex constructs. 44:09 📦 Use values and persistent collections for simplicity, and avoid unnecessary complexity in data manipulation. 45:38 🌐 Simplify communication by using data instead of arbitrary command strings, and aim for polymorphism ala carte. 47:02 🔀 Simplify complex systems by using declarative rule systems and focus on consistency, transactions, and values. Made with HARPA AI

  • @happypuddingday
    @happypuddingday 8 місяців тому

    nice talk!

  • @Siftsta
    @Siftsta 8 місяців тому

    One thing I wonder about regarding maven central being immutable is: if a package is found to straight up malware, is it removed, making maven not immutable after all? More commonly a package is found to be insecure, and it seems like we keep providing it for backwards compatibility, maybe with a big warning. Then again nothing is perfectly secure I suppose.

  • @henrysu2566
    @henrysu2566 9 місяців тому

    great talk. Thank for share .😁

  • @laalbujhakkar
    @laalbujhakkar 9 місяців тому

    TLDR: Do not try this at home.

  • @TwostewardsLLC
    @TwostewardsLLC 9 місяців тому

    As best I can tell, this is the only way for someone like me to build something Datomic-based, full-stack, and production-ready. I just don't have 20 years of dev experience. I _do_ have a desperate need to get a system up and running. Thanks Chris - and Rich, Alex, Stu, Jaret, Marshall, the rest of Cognitect/Nubank, and the whole Clojure community.

  • @KManAbout
    @KManAbout 9 місяців тому

    This is a great talk

  • @Hemigoblin
    @Hemigoblin 9 місяців тому

    “Zero projecty overhead” - I need an easy install path for clj tools on windows for this to happen, please help.

    • @Hemigoblin
      @Hemigoblin 9 місяців тому

      I’m a Clojure advocate at a windows/Java shop. I want to try the latest stuff, and lein fell apart when I tried to point it at a newer JVM. Tools.deps seems like the way to go, but on a managed PC, “just run this beta(?) PowerShell script” is a hard sell to start with.

  • @eduardssizovs6384
    @eduardssizovs6384 Рік тому

    Amazing.

  • @CitronMandX
    @CitronMandX Рік тому

    This is an underrated talk!

  • @ialkusudi6328
    @ialkusudi6328 Рік тому

    Textfield in bottomsheet is covered by keyboard. How to fix it?

    • @cgrand
      @cgrand 9 місяців тому

      We address it in this version of the talk ua-cam.com/video/pkw_0I6iTYE/v-deo.htmlsi=DeHxTvpLeZYszL_F

  • @ryantate587
    @ryantate587 Рік тому

    There was a reference to a white paper, is that or any artifact related to this library available?

  • @loganpowell
    @loganpowell Рік тому

    Wow, this is the cleanest way I've seen to write flutter code. Super minimal. No boilerplate!

  • @JChen7
    @JChen7 Рік тому

    That slide about the disappearing atom struck me. Is that what dark matter is? Atoms that are "polarized" such that we can't see them?

    • @JacoboCordova
      @JacoboCordova 7 місяців тому

      In the 15:22 observation you can see what this mean. The light beam looks normal like just a single point, however the light pass though atoms, then when the magnetic field change, the atoms move, therefore the atoms absorve the photons, and then create shadows

  • @raticus79
    @raticus79 Рік тому

    Etymonline is a great resource for unpacking our language and getting back to the essence of our words. Fun fact: "complect" is in there (from the "simple made easy" talk)

  • @MattDunlapCO
    @MattDunlapCO Рік тому

    As a web developer of almost 30 years, who has never seen a line of Clojure, I've probably watched this talk 5 times over the last 9 years and recommended it dozens of times. Ewald perfectly captures a philosophy of software development that has been lost in the age of massive tooling stacks and complex frameworks. Most developers I've hired or worked with over the last 15 years have never worked without a framework. More than that, they don't even realize that working without a framework is an option. They don't apply for web development jobs, they apply for [insert tech stack and framework here] jobs and they have no idea that they can work faster, build better products, save money, and actually understand what they are shipping if they go back to programming with hand tools. As a side note, I also built myself a great workbench, bought some wire holdfasts (don't waste money on cast ones), and started buying up planes, chisels, and dividers and other layout/marking tools at antique shops and garage sales. I also absolutely love my table saw (and band saw, thickness planer, cnc router, 60w laser, etc) , but knowing when and how to use hand tools changes everything. I no longer measure anything when I have a geometric/mechanical solution.

  • @PKAnane
    @PKAnane Рік тому

    This is such an impressive demo! Will definitely check this project out

  • @nbme-answers
    @nbme-answers Рік тому

    29:47 Am I stupid for being completely blown away by this implementation or is the audience for NOT erupting into applause?

  • @jacobschmidt
    @jacobschmidt Рік тому

    One of the most impressive talks I’ve seen in a while. Beautiful implementation

  • @GauravYadav-rv7wx
    @GauravYadav-rv7wx Рік тому

    Why would anyone choose clojurescript over react ?

    • @Shell952
      @Shell952 Рік тому

      Most of the time they work together, clojurescript is not meant to replace react

    • @TrippLilley
      @TrippLilley Рік тому

      They're not... they're using ClojureScript _with_ React. React is a library, not a language (JSX is not React - JSX is a language and tool which ships "with" / alongside React). That said, one would choose ClojureScript over JSX + JavaScript if they preferred the ClojureScript language and available tools and libraries, and felt confident enough that they could create abstractions in ClojureScript as powerful or moreso than what JSX provides.

    • @Nellak2011
      @Nellak2011 9 місяців тому

      I am a Next.js dev myself and want to learn a functional language because I am sick of all these front-end runtime exceptions. I need a sense of security when developing but not at the expense of productivity. Hence languages like ClojureScript seem perfect for people like me

  • @SupBro31
    @SupBro31 Рік тому

    Janet Car or Cdr?

    • @gaboralexnagy5609
      @gaboralexnagy5609 Рік тому

      ...talking about cons-equential Clojure Architectures :)

  • @antonpostnov4272
    @antonpostnov4272 Рік тому

    Ничего не понял, но очень интересно!

  • @etiennetheodore
    @etiennetheodore Рік тому

    Very promising ! Thanks for the presentation !

  • @0rkk0
    @0rkk0 Рік тому

    "we can all expect our AWS bills will keep climbing" 😥

  • @stephenmhopper
    @stephenmhopper Рік тому

    That was the most impressive live demo I've seen in a very long time.

  • @rorycawley
    @rorycawley Рік тому

    A great talk, I'd love to see a deeper talk on the applicability of the onion architecture to Clojure codebases. Thanks Janet.

  • @d3j4v00
    @d3j4v00 Рік тому

    This is a great response to “AI is going to take our coding jobs”

    • @thinkmyelin
      @thinkmyelin Рік тому

      why do you think so?

    • @mooncop
      @mooncop Рік тому

      @@thinkmyelin why do you not?

    • @elcapitan6126
      @elcapitan6126 Рік тому

      ​@think myelin maybe because design is an inherently consensus-building and shared-meaning/definition activity that wouldn't make sense to delegate to AI. implementation can in various aspects be delegated to machines/automaton.

    • @CitronMandX
      @CitronMandX Рік тому

      @@thinkmyelin I can't talk for the OP, but I agree with them because this talk shows that good software is more about _thinking_ than _coding_. AI like co-pilot currently is just a predictive model of code out there. It doesn't do high-level thinking. Though admittedly, many human programmers don't either!

  • @thinkmyelin
    @thinkmyelin Рік тому

    Really enjoyed this one 🙂