Make backups, kids

So yesterday I had that biggest mindfart ever, while doing some maintenance to Testii, Flashii’s public test preview, I deleted every file in the www folder.

Now you’re probably wondering; “How does that even happen?” Well I wanted to purge the uploads folder so I did a rm -rf *, this was my first mistake since I should’ve gone up a directory and rm -rf’d just the uploads dir or left the r flag out since the uploads dir doesn’t have subs had it not been for the r flag only a single experimental file would’ve been lost. But that still doesn’t explain how I managed to delete everything which is where the real kicker comes in, I absentmindedly entered cd .. twice before executing the command… Yeah it just keeps getting better…

I could blame rm for not having a confirmation, especially when using the r and f flags, but the fact of the matter is that I just fucked up and I’ve accepted that. I should’ve made backups and I should’ve been more cautious before using a command that forcibly and recursively destroys everything in its path…

Anyway, I guess I’ll lay out the losses also. All databases were unaffected by all this so stuff I kept on git was back up within a 10-minute timeframe. A lot of archived stuff was lost, none of it was really important but it’s mainly just sad that it’s gone now. data.flashii.net is pretty much entirely gone which is kind of inconvenient since it was still used for some assets but fixing that is as easy as updating references to assets.flashii.net. I’m also taking this opportunity to kill oniichan, since like everything on it is gone anyway, in favour of an archive section on flash.moe, despite the domain being really cute it costs me nearly €20 a year and it literally goes towards nothing.

So yeah, the morals of this story; don’t use flags you don’t actually need on commands and make backups… or just don’t be me, that should work too.

Electron

Something that’s become popular in the past few years is Electron. If you don’t know what Electron is it basically allows you to wrap a web application in a Chrome based window and have it run “natively” on Windows, Mac OS X and GNU/Linux distributions, if you want to know more go read up on it yourself.

Now you’re probably wondering where I’m going with this. Well I think this is by far one of the worst things to have happened to systems development, despite being marketed as native it really should be “native”. Yes it wraps around to give you access to native APIs such as Windows’ notification system and such but at heart all Electron is is a Google Chrome window without a navigation bar, you could literally just launch chrome with the –app directive.

I can kind of get why you’d want to use HTML and CSS to make UIs for desktop programs (believe me, XAML is cute but can be a bitch to debug), it’s relatively easy to work with, does a lot for you and doesn’t overcomplicate. Despite that you should be challenging yourself by learning something new instead of just shoving stuff you do already into an environment it shouldn’t be applied in. A new challenge and the knowledge that comes with it is never bad!

Not to mention the ridiculous amount of memory you’d need to run multiple Electron based applications at once, people are using the excuse of ‘People have a lot of memory nowadays anyway’ as an excuse to not memory manage their software properly which by far is the most dumb thing of all. Just because there’s a lot of space doesn’t mean all of it should be used, you need space to move around as well. I used to frequent a Slack organisation but basically just gave up on going to it because the application made my computer completely kill itself, and my computer is pretty decent. Considering that writing this same program in C#, or any compiled language really, it would run a million times better I just said ‘fuck it’ and stopped bothering. Now lets get the –app directive of Chrome back into this, if you’d use this instead of the “native” electron application and conserve memory space by using the already active instance(s) as far as that’s possible with Chrome anyway.

Now to hop onto a more controversial related side topic. The current situation with Chrome’s dominance feels a lot to me like the situation with Internet Explorer back in the 90s, granted I wasn’t actually there for that but you can make a few links to this and ActiveX which was finally fully deprecated and removed with the dawn of Microsoft Edge. Of course Electron isn’t half as retarded as ActiveX was but certain links are there. That’s how I feel about it anyway, feel free to call me retarded in the comments.

With that you can probably interchange Electron with Node.js for most of this post although Node is a tad less ridiculous, still would never seriously use either though which means my resources wouldn’t be the ones being wasted in the end. I still don’t really get why people would voluntarily choose to write Javascript when they have the countless other options.

And alternatively you could just use your browser because most people have one open all the time regardless…

And there we go again

And once again here we are, a clean slate. This time not really because I wanted a clean slate but because my phone died and Tumblr doesn’t really help you with resetting your 2fa code, you literally just get linked to a generic support page and told to fuck off when you send an e-mail.

Anyway welcome to flashwave’s blog episode 6 (at least I think this is episode 6), unlike the other installments I won’t let this one die within a week of creating it and I’ll try to post my thoughts on stuff more often, I already have a post about Electron and the general state of application development in mind so stay tuned for that!