Quo vadis, SourceForge

As a software developer I’ve been using SourceForge for around six years now (I believe I joined in 2009). I’m using it to help develop and distribute dispcalGUI, an open source graphical user interface for Argyll CMS aimed at display calibration and characterization, utilizing these free services:

▪ Version control
▪ Hosting of binary and source code downloads over a distributed network of mirrors
▪ Support forums
▪ Issue tracker
▪ Mailing lists
▪ Wiki

The latest development is that the current owners of SourceForge, DHI Group (the former Dice Holdings, which had acquired SourceForge from GeekNet in 2012), is looking to sell off its Slashdot Media assets, which includes SourceForge. It’s too early to really tell what this means for its future, but nevertheless, I’m keeping an eye out for alternatives, and if SourceForge should cease to be an option for one reason or the other, I will be forced to move elsewhere—even considering self-hosting everything I need if I really can’t avoid it.

Weiterlesen →

Seven years of open source development—a recap

It was around early 2008 when I started to embark on a journey that would turn out to add a lot of fulfillment, knowledge, and experience to my life (and also keep me busy during my free time). That was when I started developing dispcalGUI, a graphical user interface aimed at display calibration and profiling using Argyll CMS, a command line driven color management system.

Weiterlesen →

Von Gringos und Gummipuppen

Wie manch einer vielleicht weiss, entwickle ich seit ca. sieben Jahren eine Open-Source-Benutzoberfläche zur Anzeigegeräte-Kalibrierung mit Argyll CMS in meiner Freizeit.

Gestern hinterliess jemand einen etwas ausfallenden Beitrag im Support-Forum, der erste dieser Art überhaupt (Premiere!):

after waiting an hour the programm alerts: "no profile is set" or "couldn't open Argyll_V1.7.0/bin/dispread.exe". And this file IS there and i have set the right path to "Argyll_V1.7.0/bin"

That's very dirty! For what do i wait hours and hours? An no chance to correct anything. The measurment was futile.

There are 34 types of profiles, I can choose - NOBODY NEEDS IT! But at the end of measurement I can kiss the ass of that Programm. Why is open source always so dirty made for the users? I don't understand. Do you do programming to have a wank or to do sinfull things?
Natürlich anonym, denn mit Name würde ja so etwas wie Rückgrat erfordern. Nach kurzem Überlegen löschte ich den Beitrag, und deaktivierte auch die Möglichkeit, anonyme Beiträge zu verfassen, immerhin dient dieses Forum ja dem Support legitimer Nutzer und ist kein Müllabladeplatz. Damit hielt ich diese Sache für erledigt, aber weit gefehlt…

Weiterlesen →

Custom tumblr 404 error page

I wanted to have a custom 404 page for a client project, but tumblr does not have the ability to define a custom style or even custom content for the 404 error page. There are some ways around this, but solutions like that have the problem that they do not really always work because they look for a certain error text in the page, but that error text is actually translated according to a visitor’s language preference (as set in their browser). The solution I came up with is to do an AJAX HTTP HEAD request via jQuery to the current document URL, and if that returns a 404 status code, forward to the custom 404 page (which is an actual custom page on the tumblr blog in question—you could also replace or alter the page content via JavaScript instead if you were so inclined). Weiterlesen →

Caching in WordPress

Hinweis: Die aktuelle Version 2.9.0.3 von HyperCache behebt die in diesem Artikel angesprochenen Kritikpunkte. Dank an den Autor des Plugins, Stefano Lissa, für das prompte Einpflegen des Patches.

Es gibt viele Möglichkeiten, die Performance einer Website zu verbessern. Neben der Optimierung von Bildern, HTML, JavaScripts und StyleSheets sowie Kompression ist sowohl browser- wie auch serverseitiges Caching (das Vorhalten von Daten in einem Zwischenspeicher) eine gute Option. Weiterlesen →

GZIP compression of static assets via mod_rewrite and PHP

This PHP script has changed since its initial release. You can find the latest version of the GZIP compression script on github.

Zur deutschen Version dieses Artikels

To conserve bandwidth and speed up page loading, it pays off to also compress static files like stylesheets and scripts in addition to the page itself with GZIP and set meaningful cache retention times. With Apache, this process can be set up with a custom .htaccess file as dynamic on-the-fly compression with either mod_deflate, or alernatively via PHP. In my case I settled with a PHP solution which stores the compressed data on disk, so repeated requests don’t cause the files to be compressed over and over again, but only on first access (or if the file has changed). Weiterlesen →

GZIP-Kompression für statische Dateien mit mod_rewrite und PHP

Dieses PHP-Skript hat sich seit seiner Erstveröffentlichung geändert. Zur neuesten Version des GZIP-Komprimierungs-Skripts auf github.

View english version of this article

Um Bandbreite zu sparen und die Downloadgeschwindigkeit zu erhöhen, lohnt es sich, auch statische Dateien wie Stylesheets und JavaScripts mit GZIP zu komprimieren und eine sinnvolle Cache-Verweildauer festzulegen. Das lässt sich mit einer angepassten .htacces-Datei gut automatisieren. Hierbei kann man entweder auf die dynamische Kompression mittels Apache mod_deflate oder aber eine Alternativlösung (in diesem Fall ein PHP-Skript) zurückgreifen. Ich habe mich für die PHP-Lösung entschieden, da ich die komprimierten Daten so im Dateisystem ablegen kann und etwas Prozessorleistung für die dynamische Kompression spare, die sonst mit mod_deflate bei jedem Dateizugriff erfolgt (und nicht nur beim ersten oder bei Änderungen, was den Vorteil der PHP-Lösung ausmacht). Weiterlesen →

Neue Website ist online

…wurde auch Zeit, möchte man meinen, immerhin sind die Jahre der vorigen Web-Visitenkarte nun endlich passé. Herausgekommen ist dabei eine schlichte, hoffentlich funktionale und mobiltaugliche WordPress-Site mit ein paar kleinen Gimmicks (das Mini-Zahnrad im Footer führt bei modernen Browsern zu einer Einstellungsseite). Die Site wurde auf möglichst geringe Ladezeiten optimiert (Google-Page-Speed-Score der Startseite ist 95/100, inkl. aller Abhängigkeiten ca. 200 KiB mit gzip-Kompression, worauf ich in Folgebeiträgen noch eingehen werde). Viel Spaß!