- Видео 7
- Просмотров 27 266
Johannes Schickling
Добавлен 16 май 2010
Geoffrey Litt: Riffle - Reactive Relational State (Local-First Meetup Berlin #1)
Riffle is a research project aiming to simplify app development by using databases for client-side state management.
geoffreylitt
riffle.systems
geoffreylitt
riffle.systems
Просмотров: 2 340
Видео
Johannes Schickling: Why Local-First? (Local-First Meetup Berlin #1)
Просмотров 2 тыс.Год назад
Local-first is an increasingly popular paradigm for app development but there are still only few app case studies and best practices available. In this talk, I’m going to share my lessons learned building a local-first music app with focus on a new approach to state management. schickling riffle.systems/
Jonas Kruckenberg: CORD - How to built better software for humans (Local-First Meetup Berlin #1)
Просмотров 424Год назад
In a world where our lives increasingly depend on computers, our digital tools and homes demonstrate a clear absence of individual expression, flexibility and freedom. This is a quick look at end-user extensibility, it’s roots, sociopolitical consequences of it’s absence and what we can do about it jonasKruckie
Anselm Eickhoff: Jazz - a framework for local-first data/permissions (Local-First Meetup Berlin #1)
Просмотров 1,2 тыс.Год назад
How I married CRDTs with client-side verifiable permissions (based on public-key cryptography). A first look at open-source framework and sync-as-a-service offering that makes building local-first, multiplayer apps really easy. ae_play jazz.tools/
Adam Wiggins: Local-First at Scale (Local-First Meetup Berlin #1)
Просмотров 1,4 тыс.Год назад
Muse has been running a local-first sync system in production for over a year. Adam will share what they've learned in that time about the user experience, operations, and business effects of local first. _adamwiggins_ museapp.com/
Nix Chats: How to run a Windows/macOS VM on NixOS (with Geoffrey Huntley)
Просмотров 3,9 тыс.Год назад
Geoffrey Huntley: ghuntley.com Geoffrey's Nix Repo: github.com/ghuntley/ghuntley Nix Tutorial: zero-to-nix.com/
Setting up Nix on macOS from scratch (incl. dotfiles via home-manager and Nix flakes)
Просмотров 16 тыс.2 года назад
In this video I've helped my friend Paul Shen (creator of Natto) to set up Nix on his macOS machine replacing Homebrew.
super helpful video, thanks for sharing this!
jlongster solved a bunch of these problems like 4 years ago
Finally a plain English walkthrough of Nix on MacOS. Thank you!
Yes please let the guest speak. Constant interrupts slow it down and make it even harder to follow.
Yes for heaven sake!
Just one more thing (Q&A starting at 29:20 poked me too much)... *IF* you focus on the UX of timeline composition, then the pain points of merge conflicts go away. What we have right now, with git, is a UX problem on only a subset of inter-timeline dynamics. If you only use a command line (or one step up some kind of rudimentary diffing tool UX designed by backend people), AND your use case is merging source code then merging can be a PITA. But if you focus on timeline UX and you're enabling merge *composition* then that can be a completely different story! For example, if you are merging source code then you better nit pick on the details of order. But imagine you are presenting a "multiplayer" collaboration on a recipe composition. In this domain, presenting alternative edits on text is the same visual workflow as providing alternative subsections of the recipe. Say the recipe's OP polls followers for pictures of their meals created with the recipe. Now when you present these *picture* alternatives (like a gallery), this is ALSO the same visual workflow of presenting alternatives. You're just conceptualizing them as branching timelines and providing the UX to navigate these timelines. The other aspect, besides time, is enabling space dynamics. For example, take his large document problem. This is because we are used to thinking of the final product as one large object. But if you start thinking of timelines, you can now start thinking of not only sharding large documents, but focusing on providing inter-spatial dynamics. By this I mean you can provide homomorphic transforms from document --chunk--> paragraph --chunk--> sentence. Once we provide timeline dynamics, we can think of each of these aspects of the document as its own timeline. A separate sharding mechanism isn't even required, because the entire foundation of the architecture is about interspatial and inter-timeline dynamics (i.e. enabling push/pulls/merge/sync operations). Unfortunately, programmers are heavily biased in their preconceptions of what "version control" is, added to the fact that they have become mesmerized with git instead of looking to learn from it and move on. But I assure you, this spacetime-oriented approach solves the Q&A issues. Maybe one of these days I won't be shouting into a black hole about this awesomeness! The inkandswitch people are so close...
thank you, you comment is well appreciated since I'm in the process of exploring this kind of stuff for my ba thesis.
Muse has such a beautiful UX. For well over a decade now, I've been working on my own local-first ibgib protocol, which creates DLT graphs that treats time as a first-class citizen (think git for an OOP language's base Object). But alas, both my front end and my marketing skills are dog 💩. Because it is like an entire universe of timelines (it is essentially a metaverse protocol), Muse's recursive navigation is just about the pinnacle of a possible 2d interface. In my first UX (Vanilla JS with Elixir+Phoenix back end) used an interesting front end I built on top of d3.js with navigable/expandable circles with d3.js physics but was still fabulously ugly. My current UX at ibgibDOTspace is an extremely slow Angular/Ionic monstrosity. I just wish I had Muse's front end artists, as it is such a beautiful interface. As I understand it, they are moving towards using automerge, but ultimately the crux of the issue is not just synchronizing but merging timelines dynamically. Automerge is more text/json-based and the solution requires enabling dynamics of time.
Databases to manage data. Makes so much sense.
This is genius.
Great showcase!
great talk, very inspiring, thanks for sharing.
I have a question ⁉️ ❓ for Mr Geoffrey Huntley or the host, if he knows as well. How does Mr Huntley not break the End User Licensing Agreement with Apple if he is not running his macOS on Apple hardware, or maybe his hypervisor running coder is running on Apple hardware and he's running a VM of macOS on that same hardware? In other words, is his server that creates all these VM running the demonstrated OSes Apple hardware like some Mac Pro? If not, then how does he obtain permission from Apple to run this VM on non-Apple hardware?
The host is enthusiastic, but gosh, could he just let the man talk and explain without interrupting him so many times, please? He's wearing down our patience with his incessant questions.
Yes, most people use qemu, but bhyve is very good, too. It's just not well-known.
I see. His hardware is Apple, so he is not breaking any EULA for running macOS in a VM.
Thank you! I'd totes watch any updated versions of this! All the best, Nick
the stuff of dreams
awesome
Digressing too much all the time, it's hard to keep listening unfortunately. Thanks anyway.
Amazing. Looking forward to a part 2.
❤ what would you like to see in part 2?
OMG. Shut up and let him talk. You are interrupting all the time its so hard to follow.
Thanks a lot, great idea and very useful
Great to hear you talk through it all
This was helpful, really appreciate you sharing it
This was very helpful!
This really helped me understand the install process and how Nix works as a package manager. Are you and your friend still using it? Any significant problems?
Very informative thanks !!