Show more

Destructuring assignments in JavaScript, combined with the ternary operator on object values is quite succinct yet expressive.


const { proxyType, proxyProtocol } = originalProtocol === 'ws' ? { proxyType: 'WebSocket', proxyProtocol: 'wss' } : { proxyType: 'HTTP', proxyProtocol: 'https' }

i would like to set up a (self-hosted!) support ticket system that is integrated with email / that i can forward emails into, and a team of people can respond to these tickets, preferrably web-based. do you have any recommendations?

@aral I only installed a Debian 10 system recently, and it does add you to sudoers. However, this only happens if you don't specify a root password during the installation. Not sure if you did that.

Wow, just trying something out on a Debian image and the Debian installer doesn’t add you to sudoers by default.


Free software defending (in Turkish) 

Okulda, işte, topluluklarda, etkinliklerde, kamu hizmeti alırken dört yanımızı kuşatan mülk yazılım dayatmasına karşı direnmek; bir şeylerden mahrum kaldığımız, oldukça yıpratıcı bir süreç. Bunu tam olarak ifade etmek için ben yazdım, Armağan Güven çizdi.

Huh, TIL: scp on Unix systems is considered fairly broken&unfixable by the openssh maintainers; probably better to alias it to rsync.

(Downloading the image manually works. The built-in shortcut seems to hang.)

Show thread

Site.js version 16.0.0 released

Now includes Hugo version 0.78.0

Note that the Hugo version upgrade from 0.64.1 to 0.78.0 may introduce breaking changes for some Hugo sites.

Release notes:

To upgrade: site update

(Production servers will upgrade automatically as usual.)

@Framasoft Suggestion for both #JoinMastodon and #JoinPeerTube:

Please make it so that the website suggests less populated instances first and displays a big warning against fostering big instances. This avoids what #WhatsApp and #Google did (see ), where both started as #XMPP providers but once they became big enough, they closed doors.

#FreeSoftware #FreeSW #Mastodon #ActivityPub #Fediverse #PeerTube

node-hugo v2.0.0 released

Upgrades Hugo to version 0.78.0 (from 0.64.1). Note that there are breaking changes between these two Hugo versions.

Release notes:

To install: npm i @small-tech/node-hugo

Site.js version 15.4.2 released

This fixes the following bug in 15.4.0 (

- When running Hugo sites locally from a non-default port, the port is now correctly added to the baseURL.

To update, run: site update
(Your production servers will update automatically today.)

Show thread

Site.js version 15.4.1 released

This is a quick bugfix update that fixes two issues in 15.4.0 (

- Multiple local servers feature actually works now.
- Fixed possible crash if status is not included in access log.

To update, run: site update
(Your production servers will update automatically today.)

Show thread

Site.js version 15.4.0 released

This release implements a lot of small improvements (20+), some of which have been longstanding.

Release notes:

Get started at

What it's like to get locked out of Google indefinitely

“It's just one reason why it's so important that we fund and develop human-scale small tech as an alternative to the stranglehold of big tech on our lives." – some guy who goes on about this stuff a bit

HT @robby

w00t! All done :)

Will poke it with a stick tomorrow when my head feels less like molasses and hopefully release version 15.4.0.

Show thread

Re-reading the great book 'The internet is broken - But we can repair it' that I received from Marleen Stikker after I won the privacy quiz at the Big Brother Awards show by Bits of Freedom (no luck involved at all :). That same evening, Marleen received the Felipe Rodríguez privacy award for fighting for internet freedom and privacy.

I'm looking forward to her lecture in the Week of Inspiration at the University of Twente:

@aral is on the left page!

Show more
Aral’s Mastodon

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!