Kartik Agaram
08/16/2021, 6:20 AMgunzip 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/mujamii
09/05/2021, 2:32 AMMichael Gummelt
09/09/2021, 2:48 AMPaul Shen
09/10/2021, 4:42 PMstevekrouse
09/14/2021, 5:51 PMhttps://youtu.be/TBf5Y3ri0DQ▾
Shakthi
09/27/2021, 4:42 AMTomas Čerkasas
09/29/2021, 5:22 AMgrowth 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.heartpunk
10/08/2021, 2:22 PMJack Rusher
10/09/2021, 7:45 AMMariano Guerra
10/11/2021, 11:54 AMhttps://www.youtube.com/watch?v=sGi7Tb3v2f4▾
Mariano Guerra
10/11/2021, 11:59 AMhttps://www.youtube.com/watch?v=iHthdmM8m2o▾
George
10/11/2021, 4:22 PMIvan Reese
10/14/2021, 8:47 PMEric Gade
10/18/2021, 6:51 PMa talk at Strange Loop▾
Felipe Reigosa
10/20/2021, 6:10 PMhttps://www.youtube.com/watch?v=tM8ljtPA0ZM&ab_channel=MockMechanics▾
Cole
10/28/2021, 11:48 PMSam Butler
10/29/2021, 4:13 PMOwen Campbell-Moore
11/02/2021, 6:54 PMFelipe Reigosa
11/04/2021, 12:29 PMhttps://youtu.be/LBOjGktRqDI▾
dnmfarrell
11/05/2021, 1:59 AMKartik Agaram
11/06/2021, 7:04 AMIvan Reese
11/07/2021, 8:09 PMheartpunk
11/08/2021, 4:32 PMJohn Voorhees (Primitive)
11/11/2021, 2:52 PMhttps://www.youtube.com/watch?v=icHLoxOFerk▾
Mariano Guerra
11/22/2021, 11:28 AMKartik Agaram
11/30/2021, 11:22 PMMariano Guerra
12/01/2021, 10:10 AMMariano Guerra
12/02/2021, 8:42 AMTom Larkworthy
12/03/2021, 8:08 AMTom Larkworthy
12/03/2021, 8:08 AMKonrad Hinsen
12/03/2021, 10:06 AMTom Larkworthy
12/03/2021, 10:57 AM//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)Konrad Hinsen
12/08/2021, 1:27 PMTom Larkworthy
12/08/2021, 1:54 PMKonrad Hinsen
12/09/2021, 8:02 AMTom Larkworthy
12/09/2021, 8:18 AMI 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.
Konrad Hinsen
12/10/2021, 9:40 AMTom Larkworthy
12/10/2021, 6:52 PMFlorian Schulz
12/11/2021, 5:51 AMTom Larkworthy
12/11/2021, 7:22 AMWhat 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.
Florian Schulz
12/18/2021, 6:12 AMTom Larkworthy
12/18/2021, 9:27 AM