Reviving Into Infinity
Online exhibition: https://intoinfinity.vercel.app
Code (including the art pieces): https://github.com/bctnry/intoinfinity
I'm into art. I've always been a big fan of modern art, especially art that make uses of "the new media". Browsing through them was such a release from the situation I live in - school bullies, arguing parents, dirty back alleys in the villages-in-city that would flood whenever there was heavy rain (and boy were there many heavy rains in Guangzhou). I loved every single bit of them, let it be anything ranging from the more serious (serious?) stuff to amateur web pages that once hosted on geocities.
Anyone who has been through the old Mainland China Internet scene cannot perceive the Internet "in the West" as anything but something fundamentally different: it was more raw, more eccentric, more in-your-face, flourishes in a weird kind of sincerity. Internet culture in Mainland China is like the Mainland Chinese culture offline, tainted with hypocritical stoicism and weird pretentiousness; it was neither interesting nor cool at all.
It's the difference between modernity and the lack thereof, I guess.
One of my biggest regrets, is that I became a software developer before I became an artist (if I was ever eligible to be called one). Every time I look at the art pieces, I think to myself: how did they come up with this stuff? What's stopping me from creating something as interesting and impactful? Does it really matter if I can make art or not? Probably not from a Mainland-China-flavoured materialist point of view. But I still wanted to see modern art, so I guess I'm fucked being stuck here.
A few things I've noticed while reading the original code
- People actually use
someHTMLElement.innerHTML = someHTMLString
. No wonder why people was claiming ReactJS virtual DOM be faster than actual DOM while it's only overhead. - It was done about 15 years ago - the era of Flash. To play the audio clips, the original code converts the .aiff & .wav files to .smf with ffmpeg and include them by inserting raw html with jQuery at runtime.
- I read about the javascript
with
statement a few months ago in an dev.to post.with
inserts an object into the scope chain so these objects were used in environment lookup for unqualified names, e.g.with(myObject){name1=3;name2=4;}
can results inmyObject.name1=3;myObject.name2=4;
. It was deprecated so no one really uses it anymore; this is the first time I actually saw someone using it. It was obviously used to reduce the file size in the era of not gzipping your HTTP response.
A few things I've learned trying to put it online
- GitHub has this Large File Storage thing but you only get 1 GBytes total for free.
- Vercel does not resolve GitHub LFS.