https://futureofcoding.org/ logo
Docs
Join the conversationJoin Slack
Channels
administrivia
announcements
bot-dark-forest
devlog-together
in-alberta
in-boston
in-germany
in-israel
in-london
in-nyc
in-ontario
in-seattle
in-sf
in-socal
introduce-yourself
linking-together
of-end-user-programming
of-functional-programming
of-graphics
of-logic-programming
of-music
present-company
random-encounters
reading-together
share-your-work
thinking-together
two-minute-week
wormholes
Powered by Linen
share-your-work
  • k

    Kartik Agaram

    08/16/2021, 6:20 AM
    New video about my browser for FoC archives (5 minutes): https://archive.org/details/akkartik-mu-2021-08-15 You can try it out by downloading two files (and installing Qemu): • http://akkartik.name/mu/foc-data-20210814.img.gz • http://akkartik.name/mu/mu-browser-20210815.img.gz Then:
    gunzip foc-data-20210814.img.gz
    gunzip mu-browser-20210815.img.gz
    qemu-system-i386 -m 2G -hda mu-browser-20210815.img -hdb foc-data-20210814.img
    Main project page: https://github.com/akkartik/mu
    🍰 3
    k
    i
    • 3
    • 4
  • j

    jamii

    09/05/2021, 2:32 AM
    I wrote a live repl for imp. https://scattered-thoughts.net/writing/imp-live-repl/ Still very much a hacky prototype, but it feels fun already.
    👀 2
    k
    • 2
    • 5
  • m

    Michael Gummelt

    09/09/2021, 2:48 AM
    Hi all. I've recently met many from this community who have recommended I post here (Shout out to @Breck Yunits and @stevekrouse and @szymon_k). Me: I'm Michael Gummelt, a Stanford alum and former co-founder of Heap Analytics. I've written here about the future of the low-code market. Product: My new company, Plato, is a low-code platform for building internal tools. You can think of it as if Retool and Airtable had a beautiful baby. Unlike Retool, it's built for citizen developers. Unlike Airtable, it integrates with a company's existing databases and APIs. And unlike any product, it innovates primarily through features for Programming by Example. I believe the only way to democratize computing is by letting users think concretely rather than symbolically. Company: Our customers are ops teams at tech-enabled services companies in sectors like financial services, logistics, and healthcare. I just raised a $2M round from SV Angel, the former CTO of Dropbox, the co-founder of Quora, and lots of others. Job: I'm looking for a founding engineer eager to democratize computing and earn a lot of equity. If you or someone you know is interested, hit me up at mgummelt@plato.io and I'll show you a demo!
    👋 5
    ✅ 6
    🙌 1
    y
    • 2
    • 2
  • p

    Paul Shen

    09/10/2021, 4:42 PM
    I took Lingdong's fishdraw generative art source and broke apart the code onto this natto canvas (my spatial live JS project). I think it's an interesting test of whether the environment scales and how the coding experience differs from a traditional editor. I share some detail videos in this thread. Check it out and would love to hear your thoughts!
    👏 11
    j
    • 2
    • 2
  • s

    stevekrouse

    09/14/2021, 5:51 PM
    This is a prototype demo for Compose (new-ish startup):

    https://youtu.be/TBf5Y3ri0DQ▾

    Would love to hear points of confusion, excitement, and other feedback ☺️
    🍰 4
    👏 5
    f
    m
    +2
    • 5
    • 10
  • s

    Shakthi

    09/27/2021, 4:42 AM
    Hi Every one, I am working on an interactive programming language named Flourish, which aims to be programmable only in run time. The only available programming style being exploratory programming, I believe it implicitly forces TDD. Even the concept of dependency injection is somewhat inclusive of language design. https://github.com/FlourishLang/flourish1.5 Please give your thoughts.
    ❤️ 3
    k
    s
    • 3
    • 7
  • t

    Tomas Čerkasas

    09/29/2021, 5:22 AM
    So I’ve been triggered (in no bad meaning) by the ironic connotations about
    growth hackers
    notion in @Ivan Reese https://futureofcoding.slack.com/archives/CEXED56UR/p1632872466023400 post. I’ve (https://www.linkedin.com/in/tomascerkasas/, https://github.com/toinbis) been identifying myself professionally as a
    growth hacker
    for the past 10 years already. Have to say, growth hackers use ‘devs’ (shortening of ‘software developers’) word with same ironic connotations more often than not 🙂 So I have this 4-hours trainings, pretentiously named
    how to tell a story via web medium
    , prepared that I run for development+marketing teams being brought together in the same room. It is at the same time attempt to introduce
    ubiquitous language
    (in domain-driven-design (DDD) context) for daily communication in marketing+development teams cooperation. In an attempt to de-mystify some common myths of what
    growth hackers(marketing communication specialists)
    actually do and how
    developers/admins/devopsers/u-name-it
    could help them do their work better (or at least stop creating huge roadblocks, such as instroducing react&friends in acquisition funnel websites, to give an example) - I would like to propose to an online webinar for FoC community those above mentioned
    how to tell a story via web medium
    trainings
    (free of charge) . Please put ➕ if you’d be interested in joining this webinar. In case at least 4-5 people would express interest, we could start arrange’ing date&time in a thread, including any special topics you’d like to be addressed and included for me to prepare on top of current content.
    ➕ 7
    i
    a
    +2
    • 5
    • 21
  • h

    heartpunk

    10/08/2021, 2:22 PM
    think i'm close to a docker container with everything prepped for symbolic execution of ruby (in a real hacky minimalist way, but, it's a start, yknow)
    🍰 1
    ❤️ 1
    • 1
    • 2
  • j

    Jack Rusher

    10/09/2021, 7:45 AM
    Clerk, an aforementioned Clojure namespace to literate notebook tool we've been working on over at Nextjournal, is now available in beta. Announcement thread on Twitter: https://twitter.com/mkvlr/status/1446425912321392640
    💯 1
    ❤️ 8
    🍰 2
    k
    • 2
    • 1
  • m

    Mariano Guerra

    10/11/2021, 11:54 AM
    Nodes & Wires & Block Programming for "Real Time" Data Visualization. Screenshots in Thread

    https://www.youtube.com/watch?v=sGi7Tb3v2f4▾

    👍 1
    o
    • 2
    • 4
  • m

    Mariano Guerra

    10/11/2021, 11:59 AM
    Programming by Demonstration Data Manipulation and Visualization The Video Shows the Data Manipulation by Demonstration part

    https://www.youtube.com/watch?v=iHthdmM8m2o▾

    👍 1
    • 1
    • 8
  • g

    George

    10/11/2021, 4:22 PM
    I was a core contributor for many years on RxJava 1 & 2. My largest impact was to identify and pushing Erik Meijer and Ben Christensen to incorporate back pressure in to RxJava 2 which influenced reactive streams and eventually JDK 9+ Flow.
    🍰 4
    • 1
    • 2
  • i

    Ivan Reese

    10/14/2021, 8:47 PM
    I saw this illustration of a node-wire visual programming language in an App Store "featured app" story. The app looked pretty bad, but this totally unrelated illustration is quietly brilliant. I couldn't stop thinking about it, so I decided to "review" this fake-ass programming system. It's full of stuff that (A) is totally fake, (B) would totally work, and (C) is better than any other node-wire programming tool I've ever seen. Here's my review: https://github.com/ivanreese/visual-programming-codex/blob/main/impressions/app-store-illustration.md
    ❤️ 7
    🍰 4
    😂 4
    j
    m
    +6
    • 9
    • 15
  • e

    Eric Gade

    10/18/2021, 6:51 PM
    Hello FoC Community, I am part of a team -- including @Daniel Krasner -- that has long been thinking about issues of personal computing, malleability, programming, and authorship. Last year we had funding for a lab and worked on a web-based authoring system we call Simpletalk (you can see a live version of it here). I recently gave

    a talk at Strange Loop▾

    about the wider vision and motivations for this work, as well as a short demo of the system. You can read more detail about our motivation in this document. We would like to propose two things to the community here. The first would be a live talk / demo session, and we would like to gauge your interest in attending. Second, we will soon have test accounts for people to make their own Simpletalk stacks and worlds. If you are interested in participating, feel free to DM either of us and we will let you know when it is ready. Any feedback and/or discussion is always welcome. PS - Simpletalk is not a "product" and is still experimental. Use the latest versions of Firefox for the best experience. Thanks!
    💯 1
    👍 6
    🍰 5
    k
    d
    +3
    • 6
    • 19
  • f

    Felipe Reigosa

    10/20/2021, 6:10 PM
    Hey guys, I don't know if you remember my program MockMechanics? I know it's been a while, I've been working on the code instead of making videos and I was also busy with work, but here's a new video, I show how I recreated that 4 color memory game (Simon) without using any code. I'll try to make machine videos more regularly from now on. So what do you think?

    https://www.youtube.com/watch?v=tM8ljtPA0ZM&ab_channel=MockMechanics▾

    Here's a preview:
    gif.mp4
    ❤️ 7
    👋 2
    c
    w
    m
    • 4
    • 6
  • c

    Cole

    10/28/2021, 11:48 PM
    Hi everyone, we recently updated our website with some new ideas for how we are aiming to explain our programming environment at story.ai We’ve definitely been mostly focused on implementation and technical challenges mostly, but it’s really nice to have something more substantial on our website to talk about our work. 🙂 And here’s a little teaser from a pitch deck we’re currently working on, too!
    🤖 1
    👍 4
    😃 1
    t
    • 2
    • 1
  • s

    Sam Butler

    10/29/2021, 4:13 PM
    Recently built a tool that enables climate and community action orgs to sync their public calendars, so people on the ground can get a view of all of the organizing activities happening near them and where to plug-in: https://rebrand.ly/just-start If this sounds useful, feel free to try it out and share! Anybody can post events and calendars directly from the main page, no login or account required. (Most of the calendars/data are US-based right now, so if you're somewhere else, just try searching a large US city.) It's also open source (https://github.com/sbutler-gh/just-start) — collaboration from all backgrounds welcome! There are some big questions to come around permissions, data rights and sovereignty, respectful ways to work with calendar data, and general features/capabilities/vision, and it would be great to have perspective from a number of communities/fields on that. The vision is that this could serve other organizing use cases as well, like coordinating with attendees after an initial meeting, a place for discussions and sharing artifacts (alternative to FB groups), designing leaflets and posters, mapping local organizations and resources, knowledge sharing across networks, opportunities for engagement and civic action, viewing helpful local data, accessing funding for organizing and local initiatives, and more ... If you have any questions, ideas, feedback, wishes, or other thoughts, would love to hear your perspective and collaborate! (In case I don't see a response here, here's a Discord channel for the project)
    🌱 1
    t
    • 2
    • 2
  • o

    Owen Campbell-Moore

    11/02/2021, 6:54 PM
    Hi All! I’ve created a new Domain Specific Language (DSL) for people to express “product definitions” of consumer products (apps+web apps), which can then be “compiled” into full running software, and a platform that actually generates the app builds, generates and hosts the backend and web apps etc. My belief is that it is too hard to build consumer software today. This difficulty is in large part because we build at too low a level of abstraction. I believe we should raise the level of abstraction to the conceptual level for defining most features, and only write custom code for things that can’t be expressed at this high level. With that approach, we can compile the high-level abstraction to native UI for all platforms and make developing polished x-platform software ~1000X+ easier. Would love any thoughts / feedback, and would love to find people interested in this space to collaborate with (and just raised some money to enable that)! https://www.notion.so/Intro-to-Sutro-raising-the-level-of-abstraction-for-programming-by-multiple-orders-of-magnitude-06f2566973714b3298d8f3cf0ad29c66
    🚀 2
    🆒 1
    m
    c
    • 3
    • 3
  • j

    Jack Rusher

    11/03/2021, 7:21 PM
    We open sourced our Clojure computational notebook library, Clerk, today. Here's an example of combining Clerk with my WikiData wrapper, Mundaneum, to interactively ask for some physicists and what they invented/discovered. Not bad.
    🛸 3
    ❤️ 6
    k
    c
    • 3
    • 5
  • f

    Felipe Reigosa

    11/04/2021, 12:29 PM
    Hey guys, tiny machine this time. I created a drawing program using only 9 lines of code using MockMechanics. Check out the explanation on youtube:

    https://youtu.be/LBOjGktRqDI▾

    short.mp4
    👍 5
    👍🏽 1
    ❤️ 3
    😍 1
    t
    i
    +2
    • 5
    • 7
  • d

    dnmfarrell

    11/05/2021, 1:59 AM
    I can never remember jq's syntax so I wrote a json processor that parses json input onto a stack, and transforms the JSON by chaining simple stack operations together. It feels a lot more natural to me, but maybe I'm too close to the code 🙂 https://github.com/dnmfarrell/jp
    💡 1
    ❤️ 1
    k
    • 2
    • 3
  • k

    Kartik Agaram

    11/06/2021, 7:04 AM
    Here's the new project I mentioned a few days ago[1]: https://github.com/akkartik/teliva [1] https://futureofcoding.slack.com/archives/C5T9GPWFL/p1634445846387500
    👀 5
    • 1
    • 1
  • i

    Ivan Reese

    11/07/2021, 8:09 PM
    Future of Coding • Episode 53 Scott Anderson • End-user Programming in VR @Scott Anderson has spent the better part of a decade working on end-user programming features for VR and the metaverse. He’s worked on playful creation tools in the indie game Luna, scripting for Oculus Home and Horizon Worlds at Facebook, and a bunch of concepts for novel programming interfaces in virtual reality. Talking to Scott felt a little bit like peeking into what’s coming around the bend for programming. For now, most of us do our programming work on a little 2D rectangle, with a clear split between the world around the computer and the one inside it. That might change — we may find ourselves inside a virtual environment where the code we write and the effects of running it happen in the space around us. We may find ourselves in that space with other people, also doing their own programming. This space might be designed, operated, and owned by a single megacorp with a specific profit motive. Scott takes us through these possibilities — how things are actually shaping up right now and how he feels about where they’re going, having spent so much time exploring this space. • https://futureofcoding.org/episodes/053
    🍰 11
    g
    m
    +2
    • 5
    • 11
  • h

    heartpunk

    11/08/2021, 4:32 PM
    https://twitter.com/heartpunkk/status/1457747480301510659 no code shared publicly anywhere yet but i could throw a snapshot up somewhere as soon as folks are interested.
    a
    s
    • 3
    • 39
  • j

    John Voorhees (Primitive)

    11/11/2021, 2:52 PM
    Just joined. There's a lot of interest in spatial computing and Codex enabled code editing. Wanted to share a recent creation that combines both of these in a voice controlled interface in VR:

    https://www.youtube.com/watch?v=icHLoxOFerk▾

    j
    • 2
    • 2
  • m

    Mariano Guerra

    11/22/2021, 11:28 AM
    🥳 100 issues of the Future of Coding Weekly Newsletter: https://tinyletter.com/marianoguerra/letters/future-of-coding-weekly-2021-11-week-4 Not subscribed? Fix that mistake here: https://tinyletter.com/marianoguerra/
    🎉 17
    j
    • 2
    • 1
  • k

    Kartik Agaram

    11/30/2021, 11:22 PM
    Who else is gearing up for Advent of Code? This year I'm planning to do it in Lua, on my https://github.com/akkartik/teliva environment. Here's a 15-minute video of me warming up: https://archive.org/details/akkartik-teliva-2021-11-30
    🍰 4
    😎 1
    ❤️ 1
    c
    • 2
    • 3
  • m

    Mariano Guerra

    12/01/2021, 10:10 AM
    🚀 Advent of Future of Code Day 01 is out! BMI Calculator with Flowrunner-canvas Check instructions here: https://buttondown.email/reviewjam/archive/advent-of-foc-day-1-bmi-calculator-with/ 🧵 Conversation about the task as comments to this message! Subscribe to the mailing list to avoid missing the announcements or keep an eye on this channel, one message like this every day 🙂
    🚀 1
    🍰 1
    🎉 1
    ❤️ 5
    k
    m
    • 3
    • 2
  • m

    Mariano Guerra

    12/02/2021, 8:42 AM
    🏗️ Day 2 of Advent of Future of Code: Brutalist Convivial Computing with Teliva Check instructions here: https://buttondown.email/reviewjam/archive/advent-of-foc-day-2-brutalist-convivial-computing/ 🧵 Conversation about the task as comments to this message!
    👍 1
    ❤️ 2
    s
    k
    +2
    • 5
    • 35
  • t

    Tom Larkworthy

    12/03/2021, 8:08 AM
    Hi, I have built a serverless runtime for observablehq.com called https://webcode.run. This extends Observable's reactive notebooks to the backend. Its unique features are instant deploys, and it can redirect traffic to your browser, so you can do devtool or console.log debugging against production traffic. It's a unique way of sharing code across frontend and backend. My aim is to create a serverless environment that is a pleasure to use as a developer. I am really desperate for feedback, so if you give it a go let know the positives and negatives.
    👍 5
    k
    f
    • 3
    • 21
Powered by Linen
Title
t

Tom Larkworthy

12/03/2021, 8:08 AM
Hi, I have built a serverless runtime for observablehq.com called https://webcode.run. This extends Observable's reactive notebooks to the backend. Its unique features are instant deploys, and it can redirect traffic to your browser, so you can do devtool or console.log debugging against production traffic. It's a unique way of sharing code across frontend and backend. My aim is to create a serverless environment that is a pleasure to use as a developer. I am really desperate for feedback, so if you give it a go let know the positives and negatives.
👍 5
k

Konrad Hinsen

12/03/2021, 10:06 AM
Interesting! Also a bit frustrating for me. This looks like something I could and would like to use, for making custom computations easily accessible as Web services, but it also seems to be aimed at Web professionals familiar with a lot of technology that I merely know the names of.
t

Tom Larkworthy

12/03/2021, 10:57 AM
You are not the first person to say this. I am a bit worried about getting sucked into an effort vortex to teach HTTP fundamentals. I am also worried about making a simplified version that cannot be applied to novel situations because expressivity has been lost. It is as complicated as HTTP is (i.e. very). Though perhaps it is time to think of a simple version. If you want to expose a computation maye could be guided with functional programming.
//server
remoteFunction = serve((x) => x*x), options)
answer = await remoteFunction(5)
I think there is enough wiggle room for people to add their own abstractions, and because the result is a promise we can put in network errors. Would this cover your usecase? (if anyone knows of any simple RPC abstractions I should draw inspiration from I would love to see)
Is this hlepful? https://observablehq.com/@endpointservices/servefunction but I am wondering how you could use this outside the ecosystem as it has some custom encoding on the URL endpoint
I guess not.
k

Konrad Hinsen

12/08/2021, 1:27 PM
Simple RPC-style interaction covers most use cases I can personally think of. The role of your serverless runtime would then be to make the code called via RPC debuggable. That looks useful in the abstract. Unfortunately, I can't really say what features would be required to make it useful in real life.
Another question I wonder about: how does your project differ from other interactive systems being used on the server via some remote control? Thinking of Common Lisp image managed from Emacs (SLIME) from a desktop machines, or of Smalltalk systems (e.g. via TelePharo, https://github.com/pharo-ide/TelePharo). Are you doing the same but in JavaScript? Or is there a more fundamental difference I am missing?
t

Tom Larkworthy

12/08/2021, 1:54 PM
Why webcode is different 1. a notebook is both front end and the backend and the technical documentation and the code repository and runtime. True seamless code sharing. No additional infra required. corrorally -> libraries can be packaged as frontend and backend too 2. The environment is 100% browser. No tools to install. No "pip install", no "webpack", no compiling. You can do it all from a chromebook or mobile device, for instance 3. It takes about 40ms for code changes to become visible remotely. Compared to 2 mins for lambda. The inner development loop is supercharged. You can develop live in prod. The iteration speed is incredible, partly due to instant deploys, partly due to Observable hot code reloading No setup required, its like that out of the box. 4. True production debugging using vanilla browser tools. No simulacrum of a debugger. It's just the normal debugger everyone already uses, which means other debugging technology can be layered on top without problems (e.g. time travel debugging https://www.replay.io/) This is built on Observablehq, so it gets all its FoC features. Literate programming, Commenting, 1-click forking, version control, Functional Reactive Programming env, partial recompilation etc. No need for Github or git, remember, this is 100% browser based, you get all this on any device that supports a web browser. You can fix and deploy things on your mobile phone. You can manage a whole microservice, including technical documentation and project management, in a single page of web editable code. For instance, this twitter bot is hosted on webcode https://observablehq.com/@endpointservices/twitter-bot. This is a whole IndieAuth oauth server. (https://observablehq.com/@endpointservices/auth)
❤️ 2
So if you want your own Oauth server, its 1-click fork, change the config to point to your Firebase, and its live. There is no deploy step required, a notebook becomes infra instantly. I guess the overall draw is it's a single tool to do everything (Observablehq.com being the single tool, webcode is just filling a missing gap)
k

Konrad Hinsen

12/09/2021, 8:02 AM
Thanks @Tom Larkworthy, those are all very good arguments! But I have to admit that some sound too good to be true. A one-click fork to get an Oauth server? I need to set up some server first, right? There must be some physical machine doing the work, and also hosting my domain. Also, I doubt many practically useful server applications can do without any preinstalled dependencies. Sure, I can in theory rewrite everything as notebooks, but in practice everything is based on a lot of existing code.
t

Tom Larkworthy

12/09/2021, 8:18 AM
I need to set up some server first, right?
No! The webcode runtime is a generic container [1] that knows how to run notebooks (it has puppeteer inside it). So that one container runs all the notebooks. If you looks at the outbound requests to webcode, the URL encodes which notebook to dynamically lookup. The Oath implementation is at the application level in a notebook. Often, you also need persistence, so I use Firebase as that works well with browser. The server is pupeteer, i.e., also a browser. So if you want to run your own Oauth server you need to bring-your-own-firebase after forking my notebook. [1] https://github.com/endpointservices/webcode.run/blob/main/Dockerfile
practically useful server applications can do without any preinstalled dependencies.
All dependencies come in via normal Javascript imports. The major limitations is that many javascript dependencies are node only, but that is changing to ES6 modules (if no other reason than to support Deno). It's kind of like Deno but when you mix in Observablehq you have a whole IDE and its trivial to switch the execution from serverside to clientside and vice versa as they are all just browsers. When you turn on "live debugging", a tunnel is setup like ngrok, that tunnels production traffic to the developers machine. The developers browser processes the request (giving opportunity for debugging) and sends back the response. This is how code changes are immediate with 0 latency, the developers latest code is the server when in live mode. This is enabled by the browser being the normalized environment.
👀 1
Oh another headwind is if your server needs a TCP connection, like a postgres db connection. There is no easy way to achieve that, you are limited to HTTP and websocket comms. I do have a plan to get TCP deployed but not currently
k

Konrad Hinsen

12/10/2021, 9:40 AM
OK, thanks for the details! I was indeed thinking of the node-based JS packages as an obstacle. If people are moving away from that, that's good news!
t

Tom Larkworthy

12/10/2021, 6:52 PM
I dunno if you are familiar with skypack, but that is a huge adapter for npm -> ES6 (i.e. browser compatibility) https://www.skypack.dev/, there are a few others but that's currently the coolest one. There is a lot of JS in the world so you are not hugely limited except unless their is a network technology requirement. (BTW, my serverside puppeteer has CORS disabled). If it has an API, no problem (even if not configured for CORS).
f

Florian Schulz

12/11/2021, 5:51 AM
@Tom Larkworthy Wow I really like the user experience aspect of this: you can write and document “server” code, fork it and there’s not really a “deploy” step other than saving. This is really compelling. My only concern: since your piggybacking ObservableHQ does that mean that your own server code/infrastructure depends/relies on that? What if you write a crazy service that causes way too much load? Do you think this can fly for real world projects? Or is there a way to host/install the environment on your own cloud infrastructure of choice? Or am I getting it wrong? Is only the source code (as text) from Observable used but the actual executing server is deployed elsewhere?
t

Tom Larkworthy

12/11/2021, 7:22 AM
What if you write a crazy service that causes way too much load?
1. Its rate limited but also 2. I hit their "embed" endpoint which is hosted on a CDN and targeted at 3rd party embedding on external websites.
Do you think this can fly for real world projects?
Yes! Most features are implemented as webcode, for example, the secrets API is webcode hosted and wraps Google Secret Manager The latency prober I use to measure performance is also webcode implemented. We have got hot performance down to 30ms! It's not quite as fast as a dedicated lambda but its in an acceptable engineering trade off zone IMHO (devX for a little perf hit).
is there a way to host/install the environment on your own cloud infrastructure of choice?
Yes it is technically possible, if you look at the API options, you can set the remote and region, so you can host your own webcode.run container (and you can set it to localhost for testing). I have not documented the self hosting path yet, but I would like to encourage it when I have some demand for that. The runtime is in a single container, so it should be fairly portable. I use Cloud Run.
Is only the source code (as text) from Observable used but the actual executing server is deployed elsewhere?
Yeah Observable is the code hosting platform + reactive runtime. The compute is external (webcode.run uses Google Cloud Run but any docker hosting service "should" work, I am thinking about migrating to fly.io). The realtime user control plane is Firestore though, and that is unlikely to be switchable. I would say the state of it is still a little pre-production. I am not providing an SLO or carrying a pager yet, but it is actively monitored and robustness has hugely improved in the last 6 months. I think it's amazing for API glue, but it struggles when you need a filesystem, like technically it can be a webserver, but uploading static assets is kinda hard so it can only really do small util endpoints at the moment.
❤️ 1
Oh I have a how-it-works notebook (which is very much work in progress) so do leave comments in places that need expanding https://observablehq.com/@endpointservices/how-it-works
👀 1
I just make a fake Firebase realtime database in the browser, to demonstrate reverse engineering the Firebase realtime database wire protocol and showing that it can all be done 100% in the browser, with one click forking https://observablehq.com/@tomlarkworthy/rtdb-protocol
🎉 1
f

Florian Schulz

12/18/2021, 6:12 AM
Feels like “View Source” but for server code. But even better because it comes with a notebook full of explanations ;)
t

Tom Larkworthy

12/18/2021, 9:27 AM
Another way its beyond "view source" is because you can change the source and the thing updates. view source is read only. This is read/write
I have listed webcode.run on product hunt. I hope maybe some people like it here??? I am not sure people like Observable that much but I see it as a future of code technology. I made WEBCode.run so Observable could work with more things by adding a serverless compute layer. Now it can be part of the internet network and combine with other tools better. Anyway, here is the listing 🙏 https://www.producthunt.com/posts/webcode-run Ask me anything though. Most of webcode is written in webcode, you can surf most of its implementation on Observable. I have a side hope of teaching people how to build secure backend services as that knowledge took a long time to learn and I think open forkable literate notebooks containing executing services is a good way to learn how to build services. We shall see!
❤️ 1
👍 2
So I hope to demonstrate the ability for webcode to scale to difficult programs, and to actually improve development readability, by creating a database within webcode. I want my reference code to exploit the literate programming affordances to create compelling artifacts that are simultaneously interesting to read and actually solve difficult problems. In other words I want to smoosh marketing and development together. So here is the next component of my 3rd party Firebase compatible realtime database. It's the messaging and storage backend, which is built with causal consistency in mind. If you don't know what causal consistency is, you might find the notebook interesting! https://observablehq.com/@tomlarkworthy/redis-backend-1
View count: 1