idTech 4 WebAssembly port – Doom 3 Demo

This article is a repost promoting content originally published elsewhere. See more things Dan's reposted.

Doom 3 running in Dan's web browser

Back in 2011, some folks cross-compiled Doom (the original, not the reboot, obviously) to JavaScript, leveraging the capabilities of the then-relatively-young <canvas> element and APIs. I was really impressed to see that JavaScript had come so far and that performance on desktop devices was so slick. Sure, this was an 18-year-old video game, but it was playable in a browser, which was a long way from the environment for which it was originally developed.

Now Doom 3‘s playable in a browser, and my mind’s blown all over again. This follows almost the same curve – Doom 3’s 16 years old – but it still goes to show that there’s little limit to the power of client-side browser programming. They’ve done this magic with WebAssembly; while WebAssembly goes slightly against my ideas about the open-source nature of the Web, I still respect the power it commands to do heavyweight crunching tasks like this one.

How long until AAA developers start developing with the Web as an additional platform?

Some People

This article is a repost promoting content originally published elsewhere. See more things Dan's reposted.

Some people feel helpless & anxious.

Some people are bored.

Some people are self-quarantined alone and are lonely.

Some people are realizing that After will be very different from Before.

Some people aren’t on this list.

Some people appear several times on this list.

Hang in there, everybody.

That Discomfort You’re Feeling Is Grief

This article is a repost promoting content originally published elsewhere. See more things Dan's reposted.

There is something powerful about naming this as grief. It helps us feel what’s inside of us. So many have told me in the past week, “I’m telling my coworkers I’m having a hard time,” or “I cried last night.” When you name it, you feel it and it moves through you. Emotions need motion. It’s important we acknowledge what we go through.

Scott makes a good point; the experience of the coronavirus crisis and lockdowns is distinctly grief-like. Insofar as the Kübler-Ross model is applicable in general, it’s a good predictor of individuals’ reactions to their temporary “new normal”. But the lesson to take from this article, I think, isn’t about understanding the feelings and behaviour of your fellow humans but, as the author says, in giving a name to your own.

The realisation that what you’re experiencing is grief and that it’s okay to need an indefinite amount of time to process that is empowering and reassuring.

Apple just killed Offline Web Apps while purporting to protect your privacy

This article is a repost promoting content originally published elsewhere. See more things Dan's reposted.

On the face of it, WebKit’s announcement yesterday titled Full Third-Party Cookie Blocking and More sounds like something I would wholeheartedly welcome. Unfortunately, I can’t because the “and more” bit effectively kills off Offline Web Apps and, with it, the chance to have privacy-respecting apps like the prototype I was exploring earlier in the year based on DAT.

Block all third-party cookies, yes, by all means1. But deleting all local storage (including Indexed DB, etc.) after 7 days effectively blocks any future decentralised apps using the browser (client side) as a trusted replication node in a peer-to-peer network. And that’s a huge blow to the future of privacy.

Like Aral and doubtless many others, I was initially delighted to see that Safari has beaten Chrome to the punch, blocking basically all third-party cookies through its Intelligent Tracking Protection. I don’t even routinely use Safari (although I do block virtually all third-party and many first-party cookies using uMatrix for Firefox), but I loved this announcement because I knew that this, coupled with Google’s promise to (eventually) do the same in their browser, would make a significant impact on the profitability of surveillance capitalism on the Web. Hurrah!

But as Aral goes on to point out, Apple’s latest changes also effectively undermines the capability of people to make Progressive Web Applications that run completely-offline, because their new privacy features delete the cache of all offline storage if it’s not accessed for 7 days.

PWAs have had a bumpy ride. They were brought to the foreground by Apple in the first place when Steve Jobs suggested that something-like-this would be the way that apps should one day be delivered to the iPhone, but then that idea got sidelined by the App Store. In recent years, we’ve begun to see the concept take off again as Chrome, Firefox and Edge gradually added support for service workers (allowing offline-first), larger local storage, new JavaScript interfaces for e.g. cameras, position, accelerometers, and Bluetooth, and other PWA-ready technologies. And for a while I thought that the day of the PWA might be drawing near… but it looks like we might have to wait a bit longer.

I hope that Google doesn’t follow Apple’s lead on this particular “privacy” point, although I’m sure that it’s tempting for them to do so. Offline Web applications have the potential to provide an open, simple, and secure ecosystem for the “apps” of tomorrow, and after several good steps forwards… this week we took a big step back.

Death Leaping from Man to Man

Comic, three panes. First pane shows derelict supermakets, caption: Scattered about, the putrefactive disease of the coronavirus lay slain. Second pane shows people celebrating, caption: Slain, after all men's devices had failed, by the humblest things that God, in his wisdom, had created. Third frame shows the celebrating people in the shadow of a tripod war machine from War of the Worlds, caption: Martian fighting machines.
It’s just possible that being confined to my house is driving me a (a little more than usually) crazy. Maybe I shouldn’t have smoked that red weed.
Comic, three panes. First pane shows derelict supermakets, caption: Scattered about, the putrefactive disease of the coronavirus lay slain. Second pane shows people celebrating, caption: Slain, after all men's devices had failed, by the humblest things that God, in his wisdom, had created. Third frame shows the celebrating people in the shadow of a tripod war machine from War of the Worlds, caption: Martian fighting machines.×

Gratitude

In these challenging times, and especially because my work and social circles have me communicate regularly with people in many different countries and with many different backgrounds, I’m especially grateful for the following:

  1. My partner, her husband, and I each have jobs that we can do remotely and so we’re not out-of-work during the crisis.
  2. Our employers are understanding of our need to reduce and adjust our hours to fit around our new lifestyle now that schools and nurseries are (broadly) closed.
  3. Our kids are healthy and not at significant risk of serious illness.
  4. We’ve got the means, time, and experience to provide an adequate homeschooling environment for them in the immediate term.
  5. (Even though we’d hoped to have moved house by now and haven’t, perhaps at least in part because of COVID-19,) we have a place to live that mostly meets our needs.
  6. We have easy access to a number of supermarkets with different demographics, and even where we’ve been impacted by them we’ve always been able to work-around the where panic-buying-induced shortages have reasonably quickly.
  7. We’re well-off enough that we were able to buy or order everything we’d need to prepare for lockdown without financial risk.
  8. Having three adults gives us more hands on deck than most people get for childcare, self-care, etc. (we’re “parenting on easy mode”).
  9. We live in a country in which the government (eventually) imposed the requisite amount of lockdown necessary to limit the spread of the virus.
  10. We’ve “only” got the catastrophes of COVID-19 and Brexit to deal with, which is a bearable amount of crisis, unlike my colleague in Zagreb for example.
Bowl of ice, glasses of water, salt and sugar supplies.
Today’s homeschool science experiment was about what factors make ice melt faster. Because of course that’s the kind of thing I’d do with the kids when we’re stuck at home.

Whenever you find the current crisis getting you down, stop and think about the things that aren’t-so-bad or are even good. Stopping and expressing your gratitude for them in whatever form works for you is good for your happiness and mental health.

Bowl of ice, glasses of water, salt and sugar supplies.×

Pineapple

This article is a repost promoting content originally published elsewhere. See more things Dan's reposted.

Pineapple on pizza?! What is wrong with you?!

Fellow pineapple-pizza lovers of the world, unite! Let us rise up against those who oppose us, and especially against those freaks who like anchovies on their pizza.

Local

This article is a repost promoting content originally published elsewhere. See more things Dan's reposted.

How are you doing? Are you holding up okay?

It’s okay if you’re not. This is a tough time.

It’s very easy to become despondent about the state of the world. If you tend to lean towards pessimism, The Situation certainly seems to be validating your worldview right now.

I’m finding that The Situation is also a kind of Rorschach test. If you’ve always felt that humanity wasn’t deserving of your faith—that “we are the virus”—then there’s plenty happening right now to bolster that opinion. But if you’ve always thought that human beings are fundamentally good and decent, there’s just as much happening to reinforce that viewpoint.

Jeremy shares some great tips on seeing the best in humanity and in the world as we work through the COVID-19 crisis. Excellent.

Hashcard

As an intermittent geohasher, I was saddened when the xkcd forum hack lead to the loss of the Geohashing Wiki, so I worked to bring it back from the dead. This was great, and I’ve enjoyed making use of it in the few expeditions I’ve found time for since then. But I did it mostly for me; I wanted the wiki back. If other people felt the benefit, that was a nice side-effect.

Postcard depicting Lüneburg Town Hall, Lower Saxony, Germany
Lüneburg, I thought to myself… I don’t know anybody who’s on holiday in Lüneburg, do I?

But today my heart was filled with joy when today I received a postcard – a hashcard, no less – from fellow hasher Fippe, whose expedition to Lüneburg last week brought him past the famous town hall shown in the postcard, as evidenced by his photo from the site.

Postcard: Dear Dan Q, greetings from the Geohash 2020-03-13 53 10! And thank you very much for relaunching the wiki! Please forgive me for looking up your address online. Happy Hashing! Fippe
Fippe found my address online; I’m not sure which (of several possible) mechanisms he used, but we’re fortunate that I haven’t recently-moved-house (as I hope to later this year) yet!

A delightful bonus to my day.

Postcard depicting Lüneburg Town Hall, Lower Saxony, Germany× Postcard: Dear Dan Q, greetings from the Geohash 2020-03-13 53 10! And thank you very much for relaunching the wiki! Please forgive me for looking up your address online. Happy Hashing! Fippe×

Note #16899

Handwashing poster to the tune of Paul Johnson's Get Get Down.

In these complicated times, this is how I get my groove on.

Handwashing poster to the tune of Paul Johnson's Get Get Down.×