#web-entwicklung

Is Progressive Enhancement dead yet?

Progressive Enhancement is a strategy in web design that puts emphasis on web content first. This strategy involves separating the presentation semantics from the content, with presentation being implemented in one or more optional layers, activated based on aspects of the browser or Internet connection of the user.

So die Wikipedia über eines der Buzzwords der Webentwicklungsszene. Nicht verstanden? Dann hilft dieses Video von Heydon Pickering, dem in der Web-Developer-Blase zuletzt einiges an Aufmerksamkeit zu Teil wurde, weil seine Website nur mit deaktivierem JavaScript funktioniert. Er erkärt in diesem Video auf ungewohnt unterhaltsame und verständliche Weise, was Progressive Enhancement ist und warum es wichtig und empfehlens­wert ist, alte und vor allem zukünftig alte Browser zu unterstützen.

Davor hat er mit dem ebenfalls sehr sehenswerten Video „What is ARIA even for?“ bereits aufgezeigt, was es mit den oft falsch eingesetzten ARIA-Attributen auf sich hat und wann man diese einsetzen sollte (und wann eben nicht!), um eine bessere Barrierefreiheit für Screen Reader & Co. herzustellen.

Must-Watchs für die anwesendenden Kollegen.

Saturday Night Server Migration

Ich habe am gestrigen Abend das gemacht, was man Samstagabends 2020 so macht: Einen Film geschaut (»Guns Akimbo«, in dem man Daniel Radcliffe unfreiwilligerweise Waffen an die Hände montiert hat und ihn live gestreamt an einem Real-Life-Deathmatch teilnehmen lässt) und danach diverse Webprojekte, u.a. dieses hier, auf einen neuen Server umgezogen. Was hat man früher nochmal Samstagabends gemacht? Ich weiß es nicht mehr.

Mein neues Abendprogramm habe ich allerdings auch nicht wirklich aus freien Stücken gewählt. DomainFactory, der Webhoster, den ich seit 2003 (!) für die Verbreitung dieses Blogs und all meinen anderen, privaten Side Projects genutzt habe, hat mir quasi Tastatur und Maus an die Hände montiert und mich mit schlechtem Service, betagter Technik und tiefem Griff in meinen Geldbeutel dazu gezwungen, das zu ändern.

Konkret: Während DomainFactory einst insbesondere für größere WordPress-Installationen, wie eben dieses mittlerweile rund 3.400 Beiträge und 10.000 Kommentare umfassende Blog oder shortfil.ms, die von mir und meinem Mitstreiter sträflich vernachlässigte, aber immer noch sehr populäre Kurzfilm­plattform, die erste Wahl war, ist das schon länger nicht mehr der Fall. Wenn dann noch ein paar große Matomo-Installationen dazu kommen, grenzte das bei DomainFactory in den letzten Jahren an Arbeitsverweigerung. Abgerundet wird das Trauerspiel durch ein hilfefreies Support-Forum, in dem man seit Jahren um Node.js-Unterstützung jenseits von 0.x bettelt und Unterstützung für Let’s Encrypt-Zertifikate einfordert. Gut, dass immerhin die alten Threads regelmässig aussortiert werden, wie es scheint.

Überhaupt sind die SSL-Zertifikate die größte Unverschämtheit, die man sich bei DomainFactory seit Jahren gefallen lassen muss. Während die gesamte Industrie dazu übergangen ist, kostenfreie SSL-Zertifikate auf Basis von Let’s Encrypt anzubieten, ist in den Managed-Hosting-Tarifen von DF ein einzelnes (!) Zertifikat enthalten, jedes weitere kostet mittlerweile 2,99 Euro pro Monat (!) und Subdomain (!). Das muss man sich mal auf der Zunge zergehen lassen.

Auftritt All-Inkl: Auf meiner Suche nach Alternativen hat mir dann Tom vor ein paar Monaten All-Inkl1 empfohlen. Eine Empfehlung die dann in den Folgemonaten das ein oder andere Mal von anderer Stelle wiederholt wurde. Man solle sich nicht von dem Pauschal­touristen­namen und dem 1999er Backend abschrecken lassen, der Dienst sei gut. Und was soll ich sagen: das stimmt. Die Seiten, die ich gestern dorthin portiert habe, sind lightning fast. Diese Performance sieht man dann doch eher selten bei Managed-Hosting-Angeboten. Der Import der 1,8 GB großen Matomo-Datenbank von shortfil.ms, war überhaupt kein Problem und das Matomo-Interface rennt im Vergleich zu DF. Gleiches bei den WordPress-Seiten, die so schnell laden, dass ich bei meinen anfänglichen Tests dachte, die wären gecached, obwohl ich das Caching noch nicht aktiviert hatte. 🤯

Hinzu kommt, dass sich Let’s Encrypt-Zertifikate, wie es sich gehört, komfortabel und natürlich kostenfrei über das Backend aktivieren lassen. Seit gestern kann damit auch mein URL-Shortener eay.li endlich HTTPS.

Ansonsten laufen wie gesagt erstmal eay.cc und shortfil.ms auf dem neuen ALL-INKL-System. Solltet ihr wider Erwarten irgendwelche Unstimmigkeiten bemerken, bitte melden. Ansonsten werde ich die nächsten Samstagabende nun damit verbringen, mich nach und nach immer weiter aus dem DomainFactory-Kosmos zu entfernen.

  1. Partnerlink von Tom []

Why isn’t the internet more fun and weird?

Jarred Sumner ist im Begriff mit Codeblog.app eine Blogging-Plattform und Software zu starten, bei der sich neben Markdown-Text auch React-Code einbinden lässt, um das Netz so wieder „more fun and weird“ zu machen, wie es einst z.B. mit kunterbunten, selbst gestalteten, alles andere als leserlichen MySpace-Seiten der Fall.

During the internet of 2006, consumer products let anyone edit CSS. It was a beautiful mess. As the internet grew up, consumer products stopped trusting their users, and the internet lost its soul.

The internet added <canvas />, but the internet stopped being one.

Gute Idee, diesen DIY-Coding-Geist wieder aufzuleben lassen, und schönes Beispiel dieser Idee in dem verlinkten Blogpost. Sollte man alles auch jenseits von Jareds Codeblog wieder vielmehr tun.

Update, 04.02.: Sascha von PewPewPew ist dem Aufruf nach mehr Weirdness gleich gefolgt und hat sich im obigen, interaktiven Header verewigt1 und mir zukommen lassen. Gerne mehr davon!

  1. Was übrigens schon Ewigkeiten geht. []

Bookmarklet to get the number of your GitLab contributions in 2018

If you are working with GitLab and are interested in the number of contributions you’ve made this year, here’s a handy, little bookmarklet to calculate your contributions.

GitLab Contributions Bookmarklet

  • Drag the link above to your browser’s bookmark bar.
  • Go to https://gitlab.com/users/​[username]/activity
    (replace [username] with, well, your username and, if necessary, gitlab.com with your custom domain).
  • Hit the bookmarklet and – voilà – there’s the number of your contributions made in 2018! 🎉

Screenshot of GitLab contributions bookmarklet

Here’s the JavaScript, if you’re interested or want to run it in your console:

(function() {
	var rects = document.querySelectorAll('#activity .js-contrib-calendar rect.user-contrib-cell');
	var name = document.querySelectorAll('.user-info .cover-title')[0].textContent.replace(/(\r\n\t|\n|\r\t)/gm,'');
	var yearToCount = '2018';
	var counter = 0;
	rects.forEach((item) => {
		var text = item.getAttribute('data-original-title');
		var count = text.substr(0, text.indexOf(' ')); 

		if (text.indexOf(yearToCount) > -1 && count !== 'No') {
			counter += parseInt(count);
		}
	});
	alert(name + ' did ' + counter + ' contributions in ' + yearToCount + '.');
}())