ugh that sounds nasty. I glanced once at the site generator landscape and ran away screaming. I was hoping maybe something usable had emerged but... at least this one doesn't seem to be it.

@natecull @teleclimber silly question, but do you have preferences for config/markup/template/query/data/metadata formats?

@natecull @teleclimber plenty of opportunity to fuck up outside of choices for those, but i am curious , some people get pretty fussy about it.

@zensaiyuki @teleclimber

I don't actually much like any current markup/query/config formats, which is why I've been trying to brew my own (slightly extended Lisp S-expressions).

My problem with most markup formats is that they start out thinking 'oh it's okay, don't sweat the syntax, nobody will ever need to do $BIG_THING in it' and always, always, sometimes within six months, they have to do $BIG_THING in it.

Every markup format becomes a Turing-complete programming language. Law of nature.

@zensaiyuki @teleclimber

And even if the markup format ITSELF doesn't become a Turing-complete programming language, some poor soul will find themselves forced to encode a Turing-complete programming language OVER it.

And some syntax choices make that task pleasant, and some syntax choices make that task extremely unpleasant.

SGML/XML is an example of many wrong choices made at the syntax level. The proof is that if it hadn't made wrong choices, we'd be writing Javascript just as HTML tags.

@zensaiyuki @teleclimber

And then I'm looking at, eg, Wordpress Shortcodes, and Tiddlywiki Filter notation, and I go "Stop! Stop! You're writing Turing-complete query functions over an ill-defined markup language that never imagined you'd want to do this, but you do, because of course you do, so you just threw another layer of syntax over the top, and of course it's all going to go terribly wrong."

@natecull @teleclimber if it’s inevitable maybe there’s a way to design to expect it up front, but also somehow avoid requiring it tor the simple stuff. like a well designed escape hatch.

@natecull @teleclimber i guess you’re leaning toward the lispy approach. my thinking is along the lines of relying heavily in simple well understood formats and tools.

@zensaiyuki @teleclimber

But what do you do when your simple well understood format just can't quite cope with what you need to do?

Do you roll your own format at that point? Or do you try to look for another format that can cope?

@natecull @teleclimber that really rather depends on what the big complicated problem is. a concrete example I can think of off the top of my head is a hairy multi-page form with complex dependencies and nesting structures, like say, a section that requires the addresses of multiple people, with the address fields depending on which country and state is selected for each.

at that point a new language is probably justified, along with a simple way to integrate /link it with the existing stuff.

@zensaiyuki @teleclimber

The big complicated problem, for me, is "integrate and connect data from *all the other data formats on my desktop* without loss of data." Because we have a big social problem if we can't connect up all our knowledge because we don't have a language that can express *connections between* knowledge.

At least that's where I want to be.

So what I want is a syntax that could encode at a minimum, eg, the semantics of all of: HTML, XML, JSON, CSV, SQL, RDF, Javascript.


@zensaiyuki @teleclimber

I guess I'm not really thinking about a site generator at this point but about "what went wrong with HTML, Javascript and PHP such that the web stack fractured into multiple languages for each layer of the stack".

I think the answer is more that "nothing went right in the first place" rather than "something went wrong". All these separate languages came from different communities and just got wodged together, which is okay, but also, kinda sucks now.

· · Web · 1 · 0 · 1

@zensaiyuki @teleclimber

I can see Node.js eating the server and, possibly, Javascript eating the browser (like, couldn't we just send JSON documents instead of HTML? But encoding Javascript functions into JSON is still very very sucky.) Then maybe WebAssembly might eat Javascript and allow us to use a slightly better encoding syntax instead of Javascript/JSON? I dunno exactly where WebAssembly is going though to be honest. It might be falling into binary/security hell and stuck there.

@natecull @teleclimber web assembly is useful but fundamentally it’s kinda just flash/java/silverlight/unity all over again. webassembly it’s way more secure than those, but sooner or later some client is going to ask me to make a critical change to a webassembly thing and all I’ll be able to do is shrug at them. in fact, this has already happened.

@natecull @teleclimber the conversation is always like “well, do you have the source code?”

“what’s source code?”

@zensaiyuki @teleclimber

ugh :(((

Who's making these WebAssembly modules? What are they being written in?

@zensaiyuki @teleclimber

I suppose my Utopian hope was that someone might make a WebAssembly module that implemented decent scripting language, or one slightly better than JavaScript, and then we just move to using that.

But it won't work like that, will it? The WebAssembly ecosystem is effectively just a bunch of binaries, so it'll be like CP/M and DOS all over again.

@natecull @teleclimber the problem that webassembly solved is people annoyed that anyone can read and edit their source

@zensaiyuki @teleclimber

And I'm annoyed with people being able to hide their source! So it all works out.

@natecull @teleclimber in practice a scripting language is possible to implement in webassembly, but it’s not the utopic vision anyone imagines. you still have the same shitty browser APIs, but with an extra loading screen piled on top while the runtime downloads- once for each and every website that uses it.

@zensaiyuki @teleclimber

Can WebAssembly modules not be cached ????

That seems like a very poor design decision if so.

@natecull @teleclimber they can be cached, but the consensus is that it’s not possible to securely cache anything *cross site*.

@natecull @teleclimber see, if my name is mallory, i can find out you visited a specific site by asking you to download a webassembly module only that site has and timing how long it takes.

@zensaiyuki @teleclimber

But surely a site can do the same thing by requesting to load any file anywhere on the web? Then we shouldn't cache anything!

I feel like something has gone a bit silly here.

@zensaiyuki @teleclimber

especially since a) we have an entire industry that funds the web based on injecting code that tracks what websites we've visited, and none of these 'security' experts seem to care about that, because the evil code is coming from inside the house, and b) all 'secure' code everywhere is running on Jeff Bezos' servers anyway so he is a giant backdoor to the entire Internet.

And they'd destroy *caching* for this?

@natecull @teleclimber … i guess? anyways, looks like the primary actual usage of webassembly is bitcoin miners. (pdf) sec.cs.tu-bs.de/pubs/2019a-dim

@natecull @teleclimber the median filesize for webassembly modules is 2.3mb. what happens when we get up to 8 or 20gb? do browsers need to add an app update system with a download manager UI?

@natecull @teleclimber the broader question here is that surveilance shmapitalism is enabled primarily by a number of design mistakes in the web platform, security holes that are being plugged one by one by browsers with *safari* leading the charge, firefox after and chrome reluctantly following suit only after they’ve built their own proprietary replacement tracker tech. cross site caching is a casualty. same site caching still works. future world with less holes and more designed in surveilanc

@natecull @teleclimber correct. webassembly modules are merely a specific case, but a case nonetheless.

Sign in to participate in the conversation

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!