This is a personal blog, please observe Think Hour for ad hoc quasi-diary writings and Big Ideas for my ratified longform items. I will see you there.


2020-12-16


I’m going to try, and succeed, in posting a think hour writing every day for the rest of the year.

Correspondents // edinphoto

nls

I’ve referred to the website “edinphoto” a few times in (relatively) recent posts, there’s lots of interesting stuff on there. The man representing the site, Peter Stubbs, and the records referred to/documented therein, provide some info you might struggle to find or stumble-upon on a big-time amalgam website. This “zone” of web is my favourite, for reasons intuitive enough that I need not to expand, and it’s a shame they are waning in number/visibility - why waste time and effort close to the bits to direct a website when you could rely on a service providing a package of templates, hosting and even graphics such as offered by Wix or Wordpress.com? Worse yet, why bother with create-a-site sliders when you could reconcile and donate your thoughts and connections directly to a social experiment like Twitter? In kind, why would a user seek or a popular index surface websites of narrow scope? There’s still reasons, and we are being slightly deceptive to directly compare all of these things as if there’s no nuanced differences. I’m losing myself here.

nls

There was an e-mail sent to Mr. Peter there, after enjoyment of the website. I mentioned the fact there’s no donate button as I think there’s many who would like to offer support, and further asked about or at least tried to motivate the idea of preservation of the website. My only real suggestion was archive.org, which is a baseline go-to for that kinds of things. He got back to me and along with mentioning that it is “a shortage of time rather than a shortage of cash” being of issue, he said there is something taking shape with National Library of Scotland. Apparently, while not in place yet, there are ongoing plans to periodically back-up or archive the site on their end.

That’s all. I just thought it was worth mentioning you see.

Web Ass // Web Assembly

WebAssembly

One of my major insecurities is my lack of knowledge with regard to computers, especially programming. It will probably never leave no matter how much I learn - I have taken relatively gigantic steps in the way of writing codes and fist fighting with CSS over this year, and I feel more useless than ever - and so here I am now to think about some very simple and broad topics. I came across a browser-playable (extremely playable) version of mario64 not too long ago, this will be really funny if I have typed about this before, because I feel like I have, and being very impressed I had a look into WebAssembly, which powers it. I’d describe it as a way to run compiled and typically inflexible/desktop-bound code inside a browser, with the speed advantage of this kind of code carrying over in kind. Not necessarily a defacto replacement or upgrade for the flexible and ubiquitous (and bloat/hell enabling) Javascript, like JS+HTML5 might have been to flash for example, which was my initial thought, it can work as a sibling with JS and allows for interesting applications. That is just scratching the surface though, there are more detailed concepts I am scared to read too much into.

Menger Cube

Renewed interest comes from a friends e-mail, explaining a demo they sent to me which I asked about. I tried to analyse it myself at first but did not get very far once I saw “Web Assembly” cited in code. Beyond the basic gestalt of “WebAsm” I already had in mind, here’s what they said that makes me want to think more:

WebAssembly is a method of compiling code to the web, I personally use Emscripten to compile C to WebAsm, I believe the way it works is that its compiled to LLVM byte-code and then that is executed by the browser…

So we’re dealing here with a C application being compiled for web use, which is one of the common entry points discussed by the web-standards documenters at Mozilla. This can be, and is, in our example, done with “emscripten”, which is a compiler that can take C code and compile to WebAssembly or even to JS via asm.js. There are other avenues for using WebAssembly cited here, as well as other tools such as WasmExplorer which will let you see your C/C++ alongside WebAssembly and then machine code. That’s cool. But what of good LLVM?

Despite its name, LLVM has little to do with traditional virtual machines. The name “LLVM” itself is not an acronym; it is the full name of the project.

LLVM is a collection of things, apparently. A project that endeavours to provide many useful pieces to the compilation puzzle. One example is “Clang”, which is transforming the written C into a so-called “intermediate representation” which LLVM (Core) can now ingest and optimize. I presume this “IR” is the “byte-code” or “bitcode”. Truthfully I’m struggling here, I am reading more now. Whatever is actually going on, emscripten, using LLVM or binaryen or whatever the hell, will get us to WebAssembly and can deliver a bit of JS to act as API - I suppose so we might control or let the webpage control the WASM.

WebAssembly Toolchain

I am stopping now. This is too much for me right now. This needs its own time to look into - I have never compiled a program in my life.