onli blogging - Technikzeugs
https://www.onli-blogging.de/
deSerendipity 2.5.0 - http://www.s9y.org/Thu, 01 Jan 1970 00:00:00 GMThttps://www.onli-blogging.de/templates/2k11/img/s9y_banner_small.pngRSS: onli blogging - Technikzeugs -
https://www.onli-blogging.de/
10021Zu Microsofts Bing Image Creator und was man als Blogger mit KI-Bildern anfangen kann
https://www.onli-blogging.de/2450/Zu-Microsofts-Bing-Image-Creator-und-was-man-als-Blogger-mit-KI-Bildern-anfangen-kann.html
Technikzeugshttps://www.onli-blogging.de/2450/Zu-Microsofts-Bing-Image-Creator-und-was-man-als-Blogger-mit-KI-Bildern-anfangen-kann.html#commentshttps://www.onli-blogging.de/wfwcomment.php?cid=24502https://www.onli-blogging.de/rss.php?version=2.0&type=comments&cid=2450[email protected] (onli)
<p>Vor einer Weile suchte ich nach einer kostenlosen Möglichkeit, um mir von einer schwachen KI via einer Textbeschreibung Bilder erstellen zu lassen (GenAI, Text to Image). Dabei fand ich <a href="https://www.bing.com/images/create?FORM=GDPGLP">Microsofts Bing Image Creator</a>, der sich gar nicht schlecht schlug.</p>
<h4>Microsofts Bing Image Creator
</h4>
<p>Zur Nutzung muss ein Microsoft-Account erstellt werden, danach ist die kostenlose Nutzung möglich. Dabei ist das System fair und komfortabel: 15 Bilderbeschreibungen können priorisiert bearbeitet werden, danach dauert die Bilderschaffung etwas länger. Am nächsten Tag werden die Priorisierungen wieder aufgefüllt. Das passt gut zu einer regelmäßigen leichten Nutzung, während gleichzeitig Microsoft da wenigstens etwas Ressourcen schont. Im Hintergrund läuft übrigens DALL·E 3.
</p>
<p>Doch wie funktioniert die Erstellung? Direkt auf der Startseite werden einige Beispielbilder angezeigt. Fährt man mit dem Mauszeiger über sie, erscheint der Beschreibungstext, via dem sie erstellt wurden. Obendrüber ist eine Texteingabe für genau so eine Beschreibung. In dieser muss also nur das gewünschte Bild als Text umschrieben werden, Enter oder den Button drücken, schon lädt der Generator. Dabei – passend für LLMs – kann in Deutsch oder Englisch formuliert werden. Ausgespuckt werden dann bis zu vier Bilder. Passt davon keines, sollte man die Beschreibung anpassen und es nochmal probieren. Ein Hinweistext fordert dazu auf, möglichst genau zu schreiben, ein anderer, einen Stil anzugeben.
</p>
<p>Mein Beispiel zeigt, warum das mit dem Stil eine gute Idee ist. Die erste Bildbeschreibung war <em>Ein brauner Bär schaut in der Antarktis auf einen kleinen Pinguin</em> und produzierte vier Bilder in einem gezeichneten Stil:
</p>
<p><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/bing_creator_bear.webp'><!-- s9ymdb:2084 --><img class="serendipity_image_center" width="800" height="437" srcset="https://www.onli-blogging.de/uploads/bing_creator_bear.1200W.serendipityThumb.webp 2600w,https://www.onli-blogging.de/uploads/bing_creator_bear.800W.serendipityThumb.webp 1200w,https://www.onli-blogging.de/uploads/bing_creator_bear.400W.serendipityThumb.webp 800w" src="https://www.onli-blogging.de/uploads/bing_creator_bear.serendipityThumb.webp" loading="lazy" alt=""></a>
</p>
<p>Dabei hatte ich in meinem Kopf ein sehr viel realistisches Ergebnis mir vorgestellt. Und etwas dem näheres konnte Microsofts System auch erstellen, nämlich mit <em>Ein brauner Bär schaut in der Antarktis auf einen kleinen Pinguin, realistisch</em>:
</p>
<p><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/bing_creator_bear2.webp'><!-- s9ymdb:2083 --><img class="serendipity_image_center" width="800" height="437" srcset="https://www.onli-blogging.de/uploads/bing_creator_bear2.1200W.serendipityThumb.webp 2600w,https://www.onli-blogging.de/uploads/bing_creator_bear2.800W.serendipityThumb.webp 1200w,https://www.onli-blogging.de/uploads/bing_creator_bear2.400W.serendipityThumb.webp 800w" src="https://www.onli-blogging.de/uploads/bing_creator_bear2.serendipityThumb.webp" loading="lazy" alt=""></a>
</p>
<p>Vom ersten Tipp bin ich weniger überzeugt. Das System ist nicht unbedingt gut darin, Details in der Beschreibung zu beachten. Ein echtes Beispiel aus einem kleinen Projekt, <em>The entrance to a zoo. Realistic look, no people</em> produzierte zwar vier Bilder mit einem möglichen Zooeingang, aber auf zweien davon waren eben sehr wohl Menschen zu sehen. Andererseits ist manchmal eine wirklich detaillierte Beschreibung doch zielführend. Zum Beispiel benutzte ich für die folgende Grafik den Beschreibungstext <em>A domino piece in the center, project written on it, surrounded by many other domino pieces with dependency written on it. Arrows go from the outer stones to the inner. Digital style.</em>
</p>
<p><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/project_and_dependencies_ki_cover.jpg'><!-- s9ymdb:2036 --><img class="serendipity_image_center" width="400" height="400" srcset="https://www.onli-blogging.de/uploads/project_and_dependencies_ki_cover.800W.serendipityThumb.jpg 1200w,https://www.onli-blogging.de/uploads/project_and_dependencies_ki_cover.400W.serendipityThumb.jpg 800w" src="https://www.onli-blogging.de/uploads/project_and_dependencies_ki_cover.serendipityThumb.jpg" loading="lazy" alt=""></a>
</p>
<p>Gleichzeitig ist es manchmal beeindruckend, was dabei herauskommt wenn man dem System nur eine grobe Beschreibung gibt. Beispielsweise bei diesem Bild, das ich als Cover für <a href="https://www.onli-blogging.de/2117/Robert-A.-Heinlein,-The-Moon-Is-a-Harsh-Mistress.html">meinen Artikel</a> zu Heinleins "The Moon Is a Harsh Mistress" nutzte, bei dem ich nur sehr grobe Vorgaben zu einer Station auf dem Mond und einer sichtbaren Erde mitgab:
</p>
<p><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/The_moon_is_a_harsh_mistress_ki_cover.jpg'><!-- s9ymdb:1999 --><img class="serendipity_image_center" width="400" height="400" srcset="https://www.onli-blogging.de/uploads/The_moon_is_a_harsh_mistress_ki_cover.800W.serendipityThumb.jpg 1200w,https://www.onli-blogging.de/uploads/The_moon_is_a_harsh_mistress_ki_cover.400W.serendipityThumb.jpg 800w" src="https://www.onli-blogging.de/uploads/The_moon_is_a_harsh_mistress_ki_cover.serendipityThumb.jpg" loading="lazy" alt=""></a></p>
<h5>Schwachstellen
</h5>
<p>Meine Tests und auch die Bilder offenbaren ein paar Schwächen. Erstens ist da die eben nicht immer gegebene Einhaltung der Beschreibung. Bei manchen Bildern konnte ich nur mit Biegen und Brechen dem von mir gewünschten Ergebnis nahekommen. Mehrfach musste ich danach nochmal mit Gimp ran, was etwas schade ist wenn es nur am nicht sauber arbeitenden Generator hing.
</p>
<p>Manchmal ging die Erstellung auch gar nicht. Für den Schwangerschaftsartikel testete ich Beschreibungen um eine auf einem Sofa sitzende, unglücklich schauende Schwangere. Solche Vorgaben verweigerte das System komplett. Ich hatte vorab davon gelesen, dass manche Bildgeneratoren durch ihre Sicherheitssysteme gegen Nacktheit praktisch lobotomiert werden. Hier geht das auch in die Richtung, die Erkennung was verwerflich sein könnte ist fehlerhaft und blockiert harmlose Anwendungsfälle.
</p>
<p>Wie oben zu sehen ist sind alle Bilder quadratisch. Um genau zu sein werden sie mit einer Größe von 1024 Pixeln auf jeder Seite ausgegeben. Die Pixelgröße reicht mir hier im Blog, aber quadratisch ist für mich unpraktisch (haben die anderen Bilder hier doch meist ein Breitbildformat) und für viele denkbare Anwendungsmöglichkeiten sind 1024 Pixel zu wenig.
</p>
<p>Dann sind da die Generierungsfehler. Während Hände nicht mehr die große Herausforderung zu sein scheinen, ist bei Bing Text der große Problemfall. Alles was mit Text zu tun hat wird praktisch nie sauber ins Bild gebannt. Was auch nicht geht ist Logik, z.B. einen korrekten Graphen zeichnen zu lassen. Das Ergebnis wird zwar beeindruckend ausgestaltet, aber der Graph und seine Bezeichnung ist komplett falsch.
</p>
<p>Und schließlich: Fürs Speichern der Ergebnisse hat es nicht gereicht. Es gibt einen Knopf dafür, für einzelne Bilder, aber der produzierte bei mir nur eine Fehlermeldung. Angezeigt werden ansonsten nur die letzten 15 Bilderstellungen, mit ihren (meist) jeweils vier Bildern. Vorherige sind noch eine Weile länger über ihre URL aufrufbar, aber nach einer Weile werden sie gelöscht. Das ist bei einem kostenlosen Angebot verständlich, aber doch auch unkomfortabel. Und das ist auch der Grund, warum ich die Beschreibung für das Mondbasisbild nicht mehr weiß.</p>
<h4>Anwendungsfälle im Blog
</h4>
<p>Generell packe ich gerne und abseits der Linksammlungen mittlerweile fast immer Bilder in meine Blogartikel. Sie geben ihnen einen Wiedererkennungswert und machen sie visuell unterscheidbarer, hübschen ansonsten die Textwüste auf. </p>
<div class="serendipity_imageComment_img"><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/bondartikel.webp'><!-- s9ymdb:2085 --><img class="serendipity_image_center" width="800" height="437" srcset="https://www.onli-blogging.de/uploads/bondartikel.1200W.serendipityThumb.webp 2600w,https://www.onli-blogging.de/uploads/bondartikel.800W.serendipityThumb.webp 1200w,https://www.onli-blogging.de/uploads/bondartikel.400W.serendipityThumb.webp 800w" src="https://www.onli-blogging.de/uploads/bondartikel.serendipityThumb.webp" loading="lazy" alt=""></a>
</div>
<figcaption class="serendipity_imageComment_txt">Bei meinen Artikel zu den Bondfilmen z.B. wäre ohne Bild viel weniger klar, auf welchen Film sie sich beziehen.</figcaption><p>Oft ist die Bildquelle auch gar kein Problem. Schreibe ich über ein Spiel, kann ich meist beim Spielen Screenshots machen und dann diese in den Artikel einbauen. Bei einem Artikel über ein real existierendes Ding kann das Telefon davon Bilder schießen. Bei Webseiten sind es wieder Screenshots derselben, so wie oben hier im Artikel. Bei Filmen und Serien eignen sich Screenshots aus Trailern, da das dafür gedachtes Marketingmaterial ist, wobei auch Screenshots aus dem Werk selbst zulässig wären.
</p>
<p>Aber es gibt Artikel, zu denen ich keine eigenen Bilder machen kann. Beispielsweise habe ich mal über <a href="https://www.onli-blogging.de/1952/Atomkraft-Typische-Argumente.html">typische Argumentationen zu Atomkraft</a> geschrieben. Da kann ich schlecht zu einem AKW für fahren und da hineingehen. Manchmal füllen kostenlose Bildersammlungen wie <a href="https://unsplash.com/">unsplash</a> dann die Lücke mit sogenannten Stockfotos, wenn sie zufällig etwas passendes haben. Die haben aber den Nachteil, dass ihre Bilder teils oft benutzt werden, das macht das mit dem Wiedererkennungswert etwas kaputt. Da taugt der Bildgenerator als Alternative, um <strong>Stockfotos mit genau zum Artikel passenden zu ersetzen</strong>.
</p>
<p>Und bei manchen speziellen Themen gibt es vorab üblicherweise gar keine passenden Bilder. Da erschaffen Bildgeneratoren dann im Zweifel erstmals ein passendes Bild. Wie das oben zu den Softwareabhängigkeiten beispielsweise. Da habe ich mir selbst eine Abstraktion mit den Dominosteinen ausgedacht, aber ich hätte diese Grafik ohne Generator weder erstellen können noch ist es auch nur im mindestens wahrscheinlich, dass bei unsplash & Co dieses Motiv bereitsteht. Für <strong>konkrete Abstraktionen generischer Konzepte</strong> sind die Generatoren also ein guter Anwendungsfall.
</p>
<p>Ein dritter Einsatzort oder vielleicht ein Unterpunkt des vorherigen sind <strong>Visualisierungen von Romanen</strong>. Früher hätte ich das Buch selbst fotografiert, mit dem Buchcover hätte das getaugt. Doch mittlerweile lese ich meist E-Books. Die haben zwar auch Covers, aber da die Grafiken rauszuziehen und in einem Artikel zu verwenden halte ich für rechtlich nicht sicher. Stattdessen ist es besser, vom Generator ein zur Handlung des Buches passendes Bild erstellen zu lassen, wie oben die Mondbasis. Das habe ich bei allen <a href="https://www.onli-blogging.de/categories/6-Textformen">Buchvorstellungen hier im Blog</a> nachgeholt, die noch kein eigenes Bild hatten.</p>
<hr /><p>Und damit ein Fazit. <br />
Microsofts Bildgenerator funktioniert bereits so gut, dass man damit wirklich etwas anfangen kann. Da seine Nutzung kostenlos ist spricht auch wenig gegen einen Test. Mit den erstellten Bildern lassen sich manche Artikel dann recht nett aufhübschen.
</p>
<p>Das tolle daran ist die Flexibilität. Während vorher unsplashs Bildersammlung vorgab, welche Bilderuntermalung möglich war, lassen sich jetzt zum jeweiligen Artikel genau passende Bilder erstellen. Langfristig ist völlig klar, dass Stockfotos hiermit ersetzt werden. Da gibt es neben unsplash ja auch einige kommerzielle Dienste, wie den Käufer der Seite, Getty Images. Wobei unsplash mit unsplash+ selbst auch kostenpflichtige Bilder vertreibt. Und genau das dürfte als Geschäftsmodell wegfallen. Es blieben dann nur noch Pressefotos von Ereignissen.
</p>
<p>Aber dieser Wegfall wird nicht morgen passieren. Denn derzeit sind die Limitierungen der Generatoren noch zu einschränkend. Wahrscheinlich reicht es für eine Nutzung hier im Blog, aber selbst da spricht für mich einiges dafür, doch manchmal zuerst nach Stockfotos zu schauen. Weil die im Zweifel hübscher sind, auf jeden Fall aber größer und nicht nur quadratisch. Und wenn ein passende Motiv in der Sammlung ist, findet sich sich das mit der Suche vielleicht auch schneller als ein eigenes Bild zu generieren. Denn nicht nur dauert die Erstellung etwas und braucht der Beschreibungstext vielleicht mehrere Anläufe – vor allem muss ich bei einem Bildgenerator ja erstmal auf die passende Idee kommen, wie ein Thema in einem Bild dargestellt werden kann.
</p>
<p class="wl_nobottom">Aber wenn da die Entwicklung weitergeht, die Generierung gleichzeitig exakter wird (wie bei Text in Bildern) und weniger beschränkt (wie bei der schwangeren Frau, aber auch bei Größe und Bildformat), wenn man erstellte Bilder mit Text nochmal anpassen lassen kann ("Und jetzt entferne die anderen Pinguine"), dann werden solche Bildgeneratoren noch hilfreichere Werkzeuge werden. Zumindest für jeden, der gerne mit Bildern unterlegt ins Internet schreibt.</p>
<img src="https://ssl-vg03.met.vgwort.de/na/3b6785f561a548ffbb069ed765f94da8" width="1" height="1" alt="">
Mon, 04 Nov 2024 08:04:00 +0100https://www.onli-blogging.de/2450/guid.htmlIst WezTerm der perfekte Terminalemulator?
https://www.onli-blogging.de/2444/Ist-WezTerm-der-perfekte-Terminalemulator.html
Linuxhttps://www.onli-blogging.de/2444/Ist-WezTerm-der-perfekte-Terminalemulator.html#commentshttps://www.onli-blogging.de/wfwcomment.php?cid=24444https://www.onli-blogging.de/rss.php?version=2.0&type=comments&cid=2444[email protected] (onli)
<p>Perfektion mag unerreichbar sein, aber der Terminalemulator <a href="https://wezfurlong.org/wezterm/index.html">WezTerm</a> hakt viele Anforderungen ab:</p>
<ol>
<li>Ein eingebautes Tabinterface, um parallele Terminalsessions im gleichen Fenster zu haben.</li>
<li>Ein Scrollbalken, ein absolutes Ausnahmefeature…</li>
<li>…der sich dann auch noch mit der Maus bedienen lässt, inklusive dem Mausrad.</li>
<li>Gute Konfigurierbarkeit, um beispielsweise die Steuerung der Tabs an die eigenen Vorlieben anzupassen.</li>
<li>Eine große Auswahl an Farbschemas.</li>
<li>Das Anzeigen von Bildern im Terminal, z.B. mittels <code>lsix</code>.</li>
</ol>
<p>Nachdem ich WezTerm nun schon eine ganze Weile benutze sind mir auch keine Nachteile aufgefallen.
</p>
<p><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/wezterm2.webp'><!-- s9ymdb:2063 --><img class="serendipity_image_center" width="800" height="450" srcset="https://www.onli-blogging.de/uploads/wezterm2.1200W.serendipityThumb.webp 2600w,https://www.onli-blogging.de/uploads/wezterm2.800W.serendipityThumb.webp 1200w,https://www.onli-blogging.de/uploads/wezterm2.400W.serendipityThumb.webp 800w" src="https://www.onli-blogging.de/uploads/wezterm2.serendipityThumb.webp" loading="lazy" alt=""></a></p>
<h4>Konfiguration
</h4>
<p>Für ein modernes Programm überraschend, wird WezTerm statt über ein Einstellungsmenü über eine Konfigurationsdatei konfiguriert. Diese <strong>~/.wezterm.lua</strong> sieht bei mir so aus:</p>
<pre class="code">-- Pull in the wezterm API
local wezterm = require 'wezterm'
local act = wezterm.action
-- This will hold the configuration.
local config = wezterm.config_builder()
-- This is where you actually apply your config choices
-- For example, changing the color scheme:
config.color_scheme = 'Solarized (dark) (terminal.sexy)'
config.scrollback_lines = 20000
config.enable_scroll_bar = true
-- The scrollbar is too hard to see in the Solarized theme, so change it:
config.colors = {
scrollbar_thumb = '#93a1a1',
}
config.audible_bell = 'Disabled'
config.keys = {
{ key = 'LeftArrow', mods = 'SHIFT|CTRL', action = act.MoveTabRelative(-1) },
{ key = 'RightArrow', mods = 'SHIFT|CTRL', action = act.MoveTabRelative(1) },
{ key = 'LeftArrow', mods = 'SHIFT', action = act.ActivateTabRelative(-1) },
{ key = 'RightArrow', mods = 'SHIFT', action = act.ActivateTabRelative(1) },
{ key = 'DownArrow', mods = 'SHIFT', action = act.SpawnTab 'CurrentPaneDomain',},
}
-- and finally, return the configuration to wezterm
return config</pre>
<p>Wichtig ist dabei das Farbschema, das ich auf <code>Solarized (dark) (terminal.sexy)</code> gesetzt habe. Den Scrollbalken zu aktivieren und per Farbänderung sichtbarer zu machen macht das Terminal nutzerfreundlicher (da es die Selbstbeschreibungsfähigkeit erhöht), den Piepser bei Fehleingaben deaktiviere ich wegen seine Nervfaktors wann immer möglich, und schließlich sind da die Tastenbelegungen für die Tabverwaltung.
</p>
<p>Statt der dunklen Variante von Solarized hätte es viele Alternativen gegeben. Die Dokumentation <a href="https://wezfurlong.org/wezterm/colorschemes/index.html">listet 1001 Varianten</a>, wobei davon einige nur kleine Spezialvarianten des jeweiligen Grunddesigns sind. Trotzdem, die Auswahl ist beeindruckend.
</p>
<p>Ich bin an sich kein Fan von mittels Programmiersprachen umgesetzten Konfigurationsdateien, aber für mich überwiegt hier, dass alles so einstellbar war wie ich es wollte. Zudem sind die Voreinstellungen bereits ziemlich gut.</p>
<hr /><p>Ich würde bei regulären Programmen jetzt noch ihre Funktionsweise vorstellen, aber bei einem Terminalemulator ist da wenig zu sagen. Zumindest bei meiner Nutzung. Tatsächlich hat WezTerm ein paar von mir bisher ignorierte Spezialfunktionen, wie <a href="https://wezfurlong.org/wezterm/multiplexing.html">einen eingebauten Multiplexer</a>. Und die Tabs, aber die sind oben auf dem Screenshot ja sichtbar.
</p>
<p>Macken gibt es wohl auch, gesammelt vom Projekt selbst <a href="https://github.com/wez/wezterm/discussions/2999">auf Github</a>. So sei die Performance nicht so gut wie die von xterm oder <a href="https://github.com/kovidgoyal/kitty">kitty</a> (was ich im Alltag nicht bemerkte) und der Text werde beim Anpassen der Fenstergröße seltsam platziert (das zumindest kann ich bestätigen, auch wenn es mir vorab nicht auffiel). Von meiner Seite aus ist die Schriftdarstellung etwas, was nicht jedem gefallen könnte, wobei ich sie auf meinem System hübsch genug und soweit passend finde. Generell könnte man auch am Konzept eines GPU-beschleunigten Terminals zweifeln, zeigt xterm doch, dass dieser Ansatz für Performance und Latenz nicht notwendig ist.
</p>
<p class="wl_nobottom">Aber das sind keine gravierenden Macken. Letzten Endes ist WezTerm stabil, umfassend konfigurierbar und hat mit der Kombination von guter Performance, sichtbarem Scrollbalken und eingebauten Tabs meines Wissens ein Alleinstellungsmerkmal. Für mich war es damit bisher tatsächlich die perfekte Wahl.</p>
<img src="https://ssl-vg03.met.vgwort.de/na/3f80eb8e8f954afea7c674f15260548c" width="1" height="1" alt="">
Mon, 14 Oct 2024 08:13:00 +0200https://www.onli-blogging.de/2444/guid.htmlKoss KSC75, Kopfhörer zwischen perfektem Komfort, guter Klangqualität und wortwörtlichem Schrott
https://www.onli-blogging.de/2440/Koss-KSC75,-Kopfhoerer-zwischen-perfektem-Komfort,-guter-Klangqualitaet-und-wortwoertlichem-Schrott.html
Technikzeugshttps://www.onli-blogging.de/2440/Koss-KSC75,-Kopfhoerer-zwischen-perfektem-Komfort,-guter-Klangqualitaet-und-wortwoertlichem-Schrott.html#commentshttps://www.onli-blogging.de/wfwcomment.php?cid=24400https://www.onli-blogging.de/rss.php?version=2.0&type=comments&cid=2440[email protected] (onli)
<p>Die Form ist die erste Besonderheit des <a href="https://koss.com/collections/ear-clip-headphones/products/ksc75">Koss KSC75</a>. Das sind keine regulären Kopfhörer mit einem Bügel, sondern sie werden hinter die Ohren geheftet (Koss nennt die Form "Ear Clip"). Das ist nicht einzigartig, aber selten und in Zeiten von in den Gehörgang gepressten Ohrhörern noch seltener geworden. Von Au­dio-Tech­ni­ca gibt es da noch die ATH-EQ­300M (oder gab, sie sind nicht auf der Webseite zu finden), aber sie werden in Deutschland nur von einem einzelnen Amazonhändler verkauft (Restbestände?) und seien deutlich schlechter.
</p>
<p><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/kossksc75.webp'><!-- s9ymdb:2059 --><img class="serendipity_image_center" width="800" height="600" srcset="https://www.onli-blogging.de/uploads/kossksc75.1200W.serendipityThumb.webp 2600w,https://www.onli-blogging.de/uploads/kossksc75.800W.serendipityThumb.webp 1200w,https://www.onli-blogging.de/uploads/kossksc75.400W.serendipityThumb.webp 800w" src="https://www.onli-blogging.de/uploads/kossksc75.serendipityThumb.webp" loading="lazy" alt=""></a>
</p>
<p>Denn das ist die zweite Besonderheit: Die Klangqualität des KSC75 wird <a href="https://www.rtings.com/headphones/reviews/koss/ksc75">in</a> <a href="https://crinacle.com/2020/06/03/koss-ksc75-review-the-worlds-best-not-headphone/">Reviews</a> hochgelobt. Sogar der Bass sei gar nicht so schlecht, was bei solchen offenen Kopfhörern überraschend ist, die auch noch sehr locker anliegen. Klar gäbe es besseres, aber nicht in der Preisklasse.
</p>
<p>Genau, das ist das nächste: Die KSC75 sind billig. In Deutschland mit ~30€ weniger als in den USA, wo sie nochmal 10 USD günstiger sind. Aber trotzdem, der für den Preis gebotene Klang mache sie alternativlos (vll stimmt das mittlerweile nicht mehr, die chinesischen <abbr title="In-ear monitors">IEMs</abbr> sind sehr gut geworden und teils durchaus auch so günstig, aber das ist eben die falsche Form).</p>
<h4>Mein Eindruck
</h4>
<p>Für mich waren die KSC75, die ich mir angesichts der guten Reviews als Verlegenheitswahl gekauft hatte, schlicht superkomfortabel. Die kleinen Haken hinter den Ohren sitzen bei mir trotz Brille problemlos. Kein Bügel der oben auf dem Kopf wiegt, kein Anpressdruck, der die Polster gegen die Ohren reibt, das ist für mich eine perfekte Lösung. Im Ergebnis hatte ich noch nie Kopfhörer, die sich so lange angenehm tragen lassen – bisher schien mir, unendlich lang.
</p>
<p>Auch den Ton mag ich. Ja, im direkten Vergleich kann ich den geringeren Bass bemerken, aber auch für mich klingen die Teile gut, ob das nun für Musik, Videos oder Spiele ist. Und sie scheinen gut zu dem billigen <a href="https://www.onli-blogging.de/2023/Sharkoon-DAC-Pro-S-V2-in-Betrieb-genommen.html">Shar­koon-DAC</a> zu passen, wahrscheinlich durch den relativ hohen elektrischen Widerstand (60 Ohm), auf jeden Fall ist da für mich auch bei Stille kein Rauschen zu hören.
</p>
<p>Ein Nachteil der Bauweise ist die fehlende Abschirmung von Außengeräuschen. Wäre jetzt noch Covidzeit mit einem geteilten Büro daheim, oder wäre der PC noch so laut wie damals, wäre das ein Problem. Aber Covid löste die Zeit und den PC-Lärm löste <a href="https://www.onli-blogging.de/2176/Lueftersteuerung-mit-fan2go.html">fan2go</a>, so ist die Durchlässigkeit daheim ein Vorteil geworden.
</p>
<p>Der verbliebene und leider massive Nachteil ist die schlechte Haltbarkeit. Das Kabel ist furchtbar dünn und auch noch fest verbaut. Mir ist jetzt nach nur sieben Monaten Nutzung, ausschließlich daheim, entsprechend eine Seite weggefallen, sie gibt einfach keine Ton mehr aus. Den direkten Schaden davon wird diesmal die Gewährleistung abfangen, aber diese Unzuverlässigkeit macht den KSC75 trotz der Akkufreiheit zu einem Wegwerfprodukt. Und das geht mir enorm gegen den Strich.</p>
<hr /><p>Man kann das Kabel auswechselbar machen, mit <a href="https://www.youtube.com/watch?v=fw5I8K26UmI">einem MMCX-Mod</a>, aber das sieht mir nicht gerade einfach aus. Und Koss verspricht eine "Limited Lifetime Warranty", aber ob solche Kontaktprobleme darunter fallen ist mir unklar, auch, ob die in Deutschland überhaupt einlösbar ist.
</p>
<p class="wl_nobottom">Es gibt derzeit wieder mehr in die Richtung gehendes, ich stolperte gerade über ein Review zu den <a href="https://de.nothing.tech/products/ear-open">Nothing Ear (open)</a>, was einfach nicht in den Gehörgang gepresste Ohrhörer zu sein scheinen, die ebenfalls mit einem Bügel hinter den Ohren befestigt werden. So wie auch Knochenschallkopfhörer einen Moment hatten, weil sie das Ohr freilassen. Vielleicht kommt über die Schiene dann auch was mit Kabel und bietet eine haltbarere Alternative zum KSC75. Hoffentlich, denn derzeit weiß ich nicht wie ich das lösen soll, bleibt wohl keine Lösung als die Garantie abzuklopfen oder den MMCX-Mod durchzuprügeln – denn auf den Komfort des KSC75 wollte ich nur sehr ungern verzichten.</p>
<img src="https://ssl-vg03.met.vgwort.de/na/24f4083693ed4b71a108534629373479" width="1" height="1" alt="">
Mon, 30 Sep 2024 08:36:00 +0200https://www.onli-blogging.de/2440/guid.htmltonabspielgeräteReview zum Moto G52 mit CalyxOS - Ein gutes Übergangstelefon?
https://www.onli-blogging.de/2438/Review-zum-Moto-G52-mit-CalyxOS-Ein-gutes-UEbergangstelefon.html
Technikzeugshttps://www.onli-blogging.de/2438/Review-zum-Moto-G52-mit-CalyxOS-Ein-gutes-UEbergangstelefon.html#commentshttps://www.onli-blogging.de/wfwcomment.php?cid=24380https://www.onli-blogging.de/rss.php?version=2.0&type=comments&cid=2438[email protected] (onli)
<p><a href="https://www.gsmarena.com/motorola_moto_g52-11457.php">Motorolas G52</a> ist eines der günstigen Telefone, von denen der Konzern jedes Jahr eine ganze Reihe raushaut. Das Besondere am G52 ist <a href="https://www.sustaphones.com/#rhode">die Softwareunterstützung</a> nicht nur durch <a href="https://lineageos.org/">LineageOS</a>, sondern auch durch das besonders interessante <a href="https://calyxos.org/">CalyxOS</a>. Der Brauchbarkeit des Smartphones vermutlich das Genick brechen wird Motorolas legendär schlechter Softwaresupport.
</p>
<p>Zum Kontext: Ich habe ein Moto G52 für mich selbst gekauft, gebraucht (aus Überzeugung und weil Motorolas Mutterkonzern Lenovo auf <a href="https://www.onli-blogging.de/1848/Meine-schwarze-Liste.html">meiner schwarzen Liste</a> steht) und vergleiche mit meinem bisherigen LG G5, das am kaputtgehen war und das auch von LineageOS keine Updates mehr bekommt.</p>
<h4>Das Moto G52
</h4>
<p>Doch erstmal zum Gerät selbst. Das G52 ist wie fast alle regulären modernen Telefone ein langweiliges Rechteck. Ein Kameramodul mit drei Linsen und Blitzlicht ist am Rücken angebracht. Die hintere Abdeckung ist aus Plastik, so wie auch die metallisch angemalten Seiten in Wirklichkeit Plastik sind (was man mit etwas Abnutzung auch wirklich sieht). Es gibt Modelle mit 4GB und welche mit 6GB Ram, 128 GB oder 256GB Speicher, erweiterbar mit einer Speicherkarte – meines kombiniert 6GB Ram mit 128 GB Speicherplatz. Natürlich hat es einen Kopfhöreranschluss (sonst wäre es keine Option). Prozessor sei ein Snapdragon 680 mit acht Kernen, der Bildschirm nutzt AMOLED. Die Selfiekamera ist vorne in diesen Bildschirm eingelassen, die Be­nach­rich­ti­gungs-LED wurde leider ohne Ersatz weggelassen.</p>
<div class="serendipity_imageComment_img"><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/G52/vorne.webp'><!-- s9ymdb:2057 --><img class="serendipity_image_center" width="450" height="800" srcset="https://www.onli-blogging.de/uploads/G52/vorne.800W.serendipityThumb.webp 1200w,https://www.onli-blogging.de/uploads/G52/vorne.400W.serendipityThumb.webp 800w" src="https://www.onli-blogging.de/uploads/G52/vorne.serendipityThumb.webp" loading="lazy" alt=""></a>
</div>
<figcaption class="serendipity_imageComment_txt">Nicht spannend, aber ein durchgängiger Bildschirm.</figcaption><p>Das ist einer der großen Unterschiede zum LG G5 von 2016 und ähnlichen alten Telefonen, mit denen ich vergleiche: Dass die Ränder eben so klein sein, dass der Bildschirm fast den ganzen zur Verfügung stehenden Platz nutzt. Da ist kein dicker Rahmen mehr, der ihn oben und unten abschneidet und der vorderen Kamera Platz geboten hätte. Das macht den Bildschirm natürlich nochmal größer, als er wegen dem sowieso schon größeren Gerät sowieso wäre – 160mm Höhe, 74mm Breite passen deutlich schlechter in meine Hosentaschen. Der Bildschirm ist so ganze 6.6" groß und streckt die Auflösung von 2400x1080, die Bildwiederholrate geht bis 90 Hz hoch. </p>
<div class="serendipity_imageComment_img"><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/G52/hinten.webp'><!-- s9ymdb:2056 --><img class="serendipity_image_center" width="450" height="800" srcset="https://www.onli-blogging.de/uploads/G52/hinten.800W.serendipityThumb.webp 1200w,https://www.onli-blogging.de/uploads/G52/hinten.400W.serendipityThumb.webp 800w" src="https://www.onli-blogging.de/uploads/G52/hinten.serendipityThumb.webp" loading="lazy" alt=""></a>
</div>
<figcaption class="serendipity_imageComment_txt">Das ist nur Plastik, sieht aber ganz gut aus.</figcaption><p>Das LG G5 als damaliges Topmodell hatte damals, wie schon <a href="https://www.onli-blogging.de/1935/Drei-Monate-mit-dem-LG-G3-und-LineageOS.html">das G3</a>, einen fantastischen Bildschirm. Allerdings IPS LCD. Der Vergleich sollte also klar das Moto G52 im Vorteil sehen, gerade was Kontrast und tiefes schwarz angeht. Aber erstmal sah es für mich nur anders aus, rotstichiger (vll war aber auch das G5 blaustichig). Problematisch: Bei zwei der drei Einstellungen auf dem G52 sind mir sogar die Farbkontraste zu gering. Wenn ich die Telefone jetzt nebeneinander halte fällt aber schon auf, dass der neuere Bildschirm deutlich heller werden kann, das Bild weniger grau wirkt und die Blickwinkelstabilität besser ist. Das G5 ist auch alt, zeigt bei entsprechenden Kontrasten den vorherigen Bildschirminhalt immer noch eine Weile als Phantombild mit an. Schon deswegen ist das G52 hier klar besser.
</p>
<p>Statt dem G52 wäre auch das G42 oder G32 in Frage gekommen. Doch die kleinere Modelle waren kaum oder gar nicht günstiger, das G32 hat keinen OLED-Bildschirm und das G42 keine Version mit mehr als 4GB Arbeitsspeicher. Daher fiel <a href="https://www.gsmarena.com/compare.php3?idPhone1=11733&idPhone2=11608&idPhone3=11457">nach dem Vergleich</a> die Wahl auf das G52.</p>
<h4>CalyxOS
</h4>
<p>Allen drei gemeinsam wäre die Unterstützung durch CalyxOS, was ich damit zum ersten mal selbst testen konnte.
</p>
<p>Das Alleinstellungsmerkmal des ROMs ist der Fokus auf einen bestimmten Sicherheitsbegriff, demzufolge das Projekt nur Geräte unterstützt, bei denen der Bootloader nach der Installation wieder gesperrt werden kann. Zudem muss, wenn ich das richtig sehe, der Hersteller noch Updates für die Firmware ausliefern. Das beschränkt die Auswahl massiv, bisher waren nur die letzten Modelle vom Fairphone, das SHIFT6mq und Pixeltelefone von Google <a href="https://calyxos.org/install/">mit dabei</a>. Und <a href="https://calyxos.org/news/2023/11/20/motorola-g32-g42-g52/">seit kurzem</a> die drei Motorolatelefone.</p>
<div class="serendipity_imageComment_img"><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/G52/vorne_an.webp'><!-- s9ymdb:2058 --><img class="serendipity_image_center" width="450" height="800" srcset="https://www.onli-blogging.de/uploads/G52/vorne_an.800W.serendipityThumb.webp 1200w,https://www.onli-blogging.de/uploads/G52/vorne_an.400W.serendipityThumb.webp 800w" src="https://www.onli-blogging.de/uploads/G52/vorne_an.serendipityThumb.webp" loading="lazy" alt=""></a>
</div>
<figcaption class="serendipity_imageComment_txt">Der aktivierte Bildschirm offenbart schmale, aber vorhandene und nicht perfekt gleichmäßige Bildschirmränder. CalyxOS bietet auch weniger grelle Hintergründe an. Das System selbst ist nicht schrill, sondern sauber und funktional.</figcaption><p>Die Installation samt Bootloaderverschließen war kein Problem, daher spare ich mir auch eine eigene Installationsanleitung (es gibt <a href="https://calyxos.org/install/devices/rhode/linux/">eine offizielle</a>). Schade ist – aber das ist mehr ein Problem des G52 – dass ein Unlockcode von Motorolas Webseite gebraucht wird. LGs Abschaltung dessen Äquivalent zeigt, wie anfällig solche Infrastruktur ist.
</p>
<p>Einmal installiert funktioniert CalyxOS stabil und ist umfangreich aufgestellt. Das Androidsystem wirkt sehr wie das von LineageOS, mit ein paar sinnvollen Anpassungen. So ist F-Droid in einer Basisversion (ohne ein paar sicherheitskritischen Funktionen) vorinstalliert. Signal ist auch da und wird bei jedem Anruf als sicherere Alternative beworben, was faktisch korrekt ist, auch wenn es mir mangels Signals Verbreitung im Umfeld nicht sehr nützlich ist. Ein VPN-Client ist vorinstalliert, von mir bisher ungenutzt, und eine App um Metadaten aus Bildern zu entfernen.
</p>
<p>Vor allem aber ist microG installiert und eingerichtet. Damit funktionieren dann wesentlich mehr Anwendungen aus dem Playstore (bzw Aurora Store, ebenfalls vorinstalliert) problemlos, z.B. kamen bei einer Bankanwendung die Benachrichtigungen an. Das ist die gewünschte Balance aus Sicherheitsfokus, Datensparsamkeit und Praxistauglichkeit, die ich bei LineageOS letztes Jahr <a href="https://www.onli-blogging.de/2334/Warum-ich-2024-nach-Alternativen-zu-LineageOS-suchen-werde-von-Bankingapps-zu-Projektzustand-und-ausrichtung.html">vermisst hatte</a>. Und ja: Auch die Lokalisierung – dessen Scheitern ich LineageOS beim G5 ankreidete – funktionierte direkt, die Ortung war schnell und auch das genaue GPS-Signal war nach kurzer Wartezeit vorhanden.
</p>
<p>Fehler gab es auch, so wurde direkt bei meinem ersten Anruf der Bildschirm nicht abgeschaltet. Ob das an der Software oder an der Hardware lag lässt sich nicht mehr herausfinden, seitdem klappte es immer.</p>
<h4>Fantastische Akkulaufzeit
</h4>
<p>Die Kombination aus CalyxOS und Moto G52 führt zu einer hervorragenden Akkulaufzeit. Besonders gut ist der geringe Verbrauch in Ruhephasen. Da scheint alles zu stimmen, zum einen schaltet die Hardware sich wohl ordentlich in die Schlafzustände, zum anderen muss da auch das Betriebssystem geschickt Arbeit vermeiden. Möglich, dass die von microG angebundene Infrastruktur für Pushbenachrichtungen da wirklich etwas bringt und den Verbrauch von Telegram und Signal reduziert. Die genaue Laufzeit kann ich so gar nicht beziffern, aber die Verlaufsanzeige verrät beispielsweise, dass ich heute Nacht keine 5% verlor und bei einem Ladestand von 55% eine verbliebene Laufzeit von anderthalb Tagen vermutet wird. Und das ist bei meiner Nutzung nicht unrealistisch.
</p>
<p>Unterstützt wird auch ein Ladelimit, sodass der Akku nie über beispielsweise 90% geladen wird. Das sollte seine Lebenszeit erheblich verlängern. Nicht unwichtig, gerade bei einem fest verbauten und verklebten Akku, wobei ein Auswechseln des Akkus (auch dank des Plastiks statt Glas des Rückteils) <a href="https://www.youtube.com/watch?v=XoUPUwg3mhA">machbar aussieht</a>.</p>
<h4>Gemischte Audioqualität
</h4>
<p>Bei einem Testanruf wurde dem Moto G52 kein Vorteil, aber auch kein Nachteil zum LG G5 attestiert. Auf meiner Seite empfand ich die Sprachwiedergabe am LG G5 besser, wie sehr das am Lautsprecher im Ohrteil oder an einer etwaig anderen Lautstärke lag kann ich nicht klar aufdröseln.
</p>
<p>Beim Lautsprecher sind beide Telefone nicht gleichwertig. Positiv fällt trotzdem der Vergleich <a href="https://www.onli-blogging.de/2233/Samsung-A3-2016-auf-Android-11LineageOS-18.1-updaten.html">zum alten Samsung Galaxy A3</a> aus, dessen Lautsprecher einfach zu schwach war. Beim G52 ist der Lautsprecher dagegen laut genug für den Alltag, aber etwas zu schwach für schwierige Situationen wie dem Podcasthören beim Kochen, wenn die Dunstabzugshaube übertönt werden soll. Das war auch beim LG G5 so. Dessen Soundqualität ist aber klar besser, wenn es um Musik geht. Vielleicht etwas dumpf, klingt es klar besser als die blecherne Wiedergabe des Moto G52. Ich habe eine Testaufnahme versucht, jeweils aufgenommen mit meinem Computermikrofon. Ist etwas leise geworden, aber ich denke man hört den Unterschied deutlich genug.
</p>
<p>Das Moto G52 zuerst:
</p>
<p><audio controls><source src="https://www.onli-blogging.de/uploads/G52.ogg" type="audio/ogg">Your browser does not support the audio element.</audio>
</p>
<p>Das LG G5 zum Vergleich:
</p>
<p><audio controls><source src="https://www.onli-blogging.de/uploads/G5.ogg" type="audio/ogg">Your browser does not support the audio element.</audio>
</p>
<p>Das Original <a href="https://www.youtube.com/watch?v=u1MpUvGB1fY">ist hier</a>.</p>
<h4>Schwache Fotoqualität
</h4>
<p>Mit dem neuen kleinen menschlichen Wesen im Haus war die Möglichkeit Fotos zu schießen mir natürlich wichtig, und es war ein Faktor dafür, neben den fehlenden Updates die Neustarts des G5 bei aktivierter Kamera nicht weiter hinzunehmen.
</p>
<p>Das G52 hat eine Makro-, eine Weitwinkel- und eine reguläre Linse. Die Makrolinse empfand ich bisher als unbrauchbar, die Bilder wurden zu einem Pixelrauschen. Ein Beispiel:</p>
<div class="serendipity_imageComment_img"><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/macro.jpg'><!-- s9ymdb:2051 --><img class="serendipity_image_center" width="800" height="600" srcset="https://www.onli-blogging.de/uploads/macro.1200W.serendipityThumb.jpg 2600w,https://www.onli-blogging.de/uploads/macro.800W.serendipityThumb.jpg 1200w,https://www.onli-blogging.de/uploads/macro.400W.serendipityThumb.jpg 800w" src="https://www.onli-blogging.de/uploads/macro.serendipityThumb.jpg" loading="lazy" alt=""></a>
</div>
<figcaption class="serendipity_imageComment_txt">Die Makrokamera macht aus dem Fell meiner Katze kein Kunstwerk.</figcaption><p>Die anderen Linsen empfand ich als etwas besser. Für die Hauptkamera im folgenden ein Vergleich, das gleiche Motiv zum fast gleichen Zeitpunkt, zuerst das Moto G52 (CalyxOS) , dann das LG G5 (LineageOS), und schließlich das Xiaomi Note 8T (Herstellersoftware):</p>
<ul class="s9y_gallery plainList"><li class="s9y_gallery_item"><a class="serendipity_image_link" href="https://www.onli-blogging.de/uploads/G52/G52_lossless.webp"><!-- s9ymdb:2053 --><img class="s9y_gallery_image" srcset="https://www.onli-blogging.de/uploads/G52/G52_lossless.1200W.serendipityThumb.webp 2600w,https://www.onli-blogging.de/uploads/G52/G52_lossless.800W.serendipityThumb.webp 1200w,https://www.onli-blogging.de/uploads/G52/G52_lossless.400W.serendipityThumb.webp 800w" src="https://www.onli-blogging.de/uploads/G52/G52_lossless.serendipityThumb.webp" alt=""></a></li><li class="s9y_gallery_item"><a class="serendipity_image_link" href="https://www.onli-blogging.de/uploads/G52/G5_lossless.webp"><!-- s9ymdb:2052 --><img class="s9y_gallery_image" srcset="https://www.onli-blogging.de/uploads/G52/G5_lossless.800W.serendipityThumb.webp 1200w,https://www.onli-blogging.de/uploads/G52/G5_lossless.400W.serendipityThumb.webp 800w" src="https://www.onli-blogging.de/uploads/G52/G5_lossless.serendipityThumb.webp" alt=""></a></li><li class="s9y_gallery_item"><a class="serendipity_image_link" href="https://www.onli-blogging.de/uploads/G52/Note8T_lossless.webp"><!-- s9ymdb:2054 --><img class="s9y_gallery_image" srcset="https://www.onli-blogging.de/uploads/G52/Note8T_lossless.1200W.serendipityThumb.webp 2600w,https://www.onli-blogging.de/uploads/G52/Note8T_lossless.800W.serendipityThumb.webp 1200w,https://www.onli-blogging.de/uploads/G52/Note8T_lossless.400W.serendipityThumb.webp 800w" src="https://www.onli-blogging.de/uploads/G52/Note8T_lossless.serendipityThumb.webp" alt=""></a></li>
</ul>
<p>Für meine Augen ist das Bild des Moto G52 auf den ersten Blick okay, aber im Detail nicht gelungen. Und das scheint mir repräsentativ für die allgemeine Bilderqualität dieser Kamera, wenn ich so durch meine Galerie schaue. Im Thumbnail sieht es noch gut aus. Aber im verlinkten großen Bild (wenn auch auf 1920p herunterskaliert) scheint ein Schärfefilter die Details zu zersetzen oder die Farbabstimmung um den Gammawert nicht zu stimmen, was im Thumb­nail kaum auffällt, im großen Bild aber schon. Im Ergebnis sind die Farben trist und manche Details, wie die hellen Pflanzenhalme, sehen unecht aus. Beim G5 und dem 8T sehe ich dagegen keine deutlichen Qualitätsunterschiede. Beide Bilder sind unterschiedlich, aber besser als das vom G52. Das Xiaomigerät überzeichnet die Farben etwas, beim G5 sind die Details nochmal klarer und die Farben lebensechter.
</p>
<p>Allerdings: Das G5 hat die Eigenheit, den Fokus eines eigentlich klaren Bilders wieder zu verschieben, sodass manchmal Bilder mehrere Versuche brauchen. Diese Macke hat das G52 nicht, immerhin.
</p>
<p>Trotzdem ist das etwas enttäuschend. Ich hatte angesichts des Alters keinen Qualitätsverlust zum G5 erwartet, das ja auch nicht mit der Herstellersoftware läuft. Das schlechtere Ergebnis des G52 kann damit an der Hardware liegen, aber auch fehlende oder falsche Firmware speziell in CalyxOS könnte das Problem verursachen.</p>
<hr /><p>Ich sah also ein paar Schwächen. Die Kamera zeigt Macken und der Lautsprecher ist nicht optimal.
</p>
<p>Aber das G52 ist günstig und wird mit CalyxOS von einer guten Androidvariante unterstützt. Es hat einen guten Bildschirm, eine tolle Akkulaufzeit und dabei eine gute Prozessorleistung (doppelt so stark wie mein auch schon ausreichendes LG G5, <a href="https://www.onli-blogging.de/1893/StressTest-Lasttest-und-Mini-Benchmark-fuer-Android.html">im StressTest</a>). Der nicht optimale Lautsprecher ist ausreichend für Video- und Podcastkonsum, die Bilder immer noch gut genug, um Erinnerungen ordentlich festzuhalten. Zudem stimmt mit 6 GB Ram (die Variante mit 4 wäre etwas wenig), 128 oder 256 GB Speicherplatz, micro­SD-Kar­ten­slot und Kopfhöreranschluss die Ausstattung.
</p>
<p class="wl_nobottom">Als Übergangstelefon in die Zeit EU-re­gu­lier­ter reparierbarer Telefone könnte es daher an sich taugen. Wenn denn der Softwaresupport hält – aber genau das ist zweifelhaft. Als ich es kaufte war der dessen Dauer noch unklar, mittlerweile <a href="https://calyxos.org/docs/guide/device-support/">schätzt CalyxOS</a> August 2025 als Supportende ein. Das wäre zu wenig. Zusammen mit den Hardwareschwächen bin ich daher nicht überzeugt davon, dass das Moto G52 ein besseres Übergangstelefon ist als es ein altes Flagschifftelefon wäre – eines in der Liga des LG G5, nur etwas neuer und mit bestehendem Support durch ein alternatives Android; wie z.B. das Samsung S10(e) oder das (etwas teurere) OnePlus 7 Pro.</p>
<img src="https://ssl-vg03.met.vgwort.de/na/0699bc533e4b4d0f84f84e713a831c94" width="1" height="1" alt="">
Mon, 23 Sep 2024 08:50:00 +0200https://www.onli-blogging.de/2438/guid.htmlandroidNotwendige Trafficvermeidungsmaßnahmen bei Sustaphones
https://www.onli-blogging.de/2432/Notwendige-Trafficvermeidungsmassnahmen-bei-Sustaphones.html
Technikzeugshttps://www.onli-blogging.de/2432/Notwendige-Trafficvermeidungsmassnahmen-bei-Sustaphones.html#commentshttps://www.onli-blogging.de/wfwcomment.php?cid=24320https://www.onli-blogging.de/rss.php?version=2.0&type=comments&cid=2432[email protected] (onli)
<p>Vor kurzem sendete mir <a href="https://www.netlify.com/">Netlify</a>, der bisher kostenlose Hoster meiner Seite <a href="https://www.sustaphones.com/">Sustaphones</a> zum Finden nachhaltigerer Telefone, diese Warnung:</p>
<blockquote><p class="wl_notop"><strong>[Netlify] You’ve reached 50% of your current bandwidth allowance on onli's team</strong>
</p>
<p>You’ll need an allowance increase soon!
</p>
<p>Your bandwidth usage on your team (onli's team) has reached 50% of the current allowance in your billing cycle from July 29 to August 29.
</p>
<p>If bandwidth usage goes over the allowance before the end of the billing cycle, we’ll add an extra bandwidth pack for $55, increasing your allowance by 100GB for the current billing cycle.
</p>
<p class="wl_nobottom">Alternatively, you can increase your bandwidth allowance to 1TB/month by upgrading to Pro, which is free for the first month if it’s your first time on Pro. Visit the pricing page to compare plans.</p>
</blockquote>
<p>Zwei große Überraschungen: Wie kann eine Webseite, die aus einer einzelnen HTML-Seite besteht und laut Googleauswertung nur mittelmäßig oft gefunden wird, so viel Traffic generieren? Das kostenlose Kontigent sind immerhin 100 GB. Und warum kosten weitere 100 GB ganze 55 USD?
</p>
<p>Auf beide Fragen fand ich keine klaren Antworten (dazu unten mehr), aber ich nahm die Email zum Anlass den beim Hoster landenden Traffic massiv zu reduzieren. Knapp dokumentiert <a href="https://gitlab.com/onli/sustaphones/-/issues/17">im zugehörigen Issue</a>, beschreibe ich im folgenden meine umgesetzten und erwogenen Maßnahmen ausführlicher.</p>
<h4>Seitenverschlankung
</h4>
<p>Sustaphones wurde von mir als statisch generierte Seite umgesetzt. Eine Sammlung von Rubyprogrammen, alle zu finden <a href="https://gitlab.com/onli/sustaphones">auf Gitlab</a>, erstellen die einzelne HTML-Seite. Da diese schon einige Telefone umfasst – die Datenbankdatei kennt sogar 612 Geräte, wobei davon nicht alle auf der Seite landen – war das HTML entsprechend groß geworden. Es waren 1,92 MB reines HTML zusammengekommen. Dazu kommt noch etwas CSS und minimal Javascript, doch das CSS war bereits optimiert worden. Die Bilder der Telefone spielen beim Traffic keine Rolle, die kommen vom <abbr title="Content Delivery Network">CDN</abbr> von <a href="https://www.ifixit.com/">ifixit</a>.
</p>
<p>Knapp 2MB ist viel. Das bedeutet, dass schon 25.000 Seitenaufrufe genug waren um die Trafficwarnung zu produzieren. Eine so große Seite ist auch ein Performanceproblem, das alles will heruntergeladen und muss vom Browser interpretiert werden, was Zeit kostet.
</p>
<p>Da das HTML direkt aus zwei ERB-Temp­late­da­tei­en entsprang, war es aber auch größer als nötig. Beispielsweise waren alle Leerzeilen enthalten, die im ERB-Code hilfreich sind, beim Lesen des HTML aber keinen Wert haben. Das ließ sich optimieren; das Stichwort ist HTML-Mi­ni­fi­zier­ung. Ich bediente mich dabei dem Gem <a href="https://github.com/paolochiodi/htmlcompressor">htmlcompressor</a>, einem alten Projekt, das aber einwandfrei funktionierte: Aus 1,92 MB wurden 0,77 MB. Weniger als die Hälfte! Entsprechend häufiger kann die Seite aufgerufen werden, ohne über die Trafficgrenze zu rutschen.
</p>
<p>
</p>
<p><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/Sustaphones_Seitengroesse.svg'><!-- s9ymdb:2039 --><img class="serendipity_image_center" width="" height="" srcset="" src="https://www.onli-blogging.de/uploads/Sustaphones_Seitengroesse.svg" alt=""></a>
</p>
<p>Eine zweite kleinere Maßnahme folgte: Sustaphones benutzte eine Handvoll Icons von <a href="https://fontawesome.com/">Font Awesome</a>. Das zugehörige CSS war bereits aufs notwendige reduziert worden, aber die Fontdatei selbst war noch die vollen 80 KB. Die hätte nun ebenfalls zurechtgestutzt werden können. Stattdessen ersetzte ich die Icons durch Unicodesymbole – eine Lupe für die Suche, ein Dropdownpfeil, eine ausgefüllte Checkbox, ein Warndreieck und ein verneinendes X, das war alles vorhanden und wurde in meinen Tests sowohl unter Linux als auch unter Android angezeigt. Dadurch wurden weitere ~80 KB eingespart.
</p>
<p>Schau selbst, links vorher, rechts nachher:</p>
<ul class="s9y_gallery plainList"><li class="s9y_gallery_item"><a class="serendipity_image_link" href="https://www.onli-blogging.de/uploads/sustaphones_vorher.webp"><!-- s9ymdb:2041 --><img class="s9y_gallery_image" srcset="https://www.onli-blogging.de/uploads/sustaphones_vorher.1200W.serendipityThumb.webp 2600w,https://www.onli-blogging.de/uploads/sustaphones_vorher.800W.serendipityThumb.webp 1200w,https://www.onli-blogging.de/uploads/sustaphones_vorher.400W.serendipityThumb.webp 800w" src="https://www.onli-blogging.de/uploads/sustaphones_vorher.serendipityThumb.webp" alt=""></a></li><li class="s9y_gallery_item"><a class="serendipity_image_link" href="https://www.onli-blogging.de/uploads/sustaphones_nachher.webp"><!-- s9ymdb:2040 --><img class="s9y_gallery_image" srcset="https://www.onli-blogging.de/uploads/sustaphones_nachher.1200W.serendipityThumb.webp 2600w,https://www.onli-blogging.de/uploads/sustaphones_nachher.800W.serendipityThumb.webp 1200w,https://www.onli-blogging.de/uploads/sustaphones_nachher.400W.serendipityThumb.webp 800w" src="https://www.onli-blogging.de/uploads/sustaphones_nachher.serendipityThumb.webp" alt=""></a></li>
</ul>
<h4>Cloudflare
</h4>
<p>Zusätzlich schaltete ich <a href="https://www.cloudflare.com/">Cloudflare</a> zwischen die Besucher und die Seite. Dafür überträgt man Cloudflare die Aufgabe, den Nameserver der Seite zu stellen. Anstatt per DNS direkt auf den Server zu zeigen verweist der Dienst dann auf die eigenen Server, die auf der Welt verteilt sind. Dadurch kann die Ladezeit reduziert und können unliebsame Besucher herausgefiltert werden. Außerdem bietet Cloudflare einen Cache an, von dem ich mir bei einer einzelnen statischen Seite viel versprach. Gleichzeitig kann man direkt dort die Domain hosten lassen, eine der kostengünstigsten Möglichkeiten aus meinem Artikel <a href="https://www.onli-blogging.de/2377/Wie-betreibt-man-guenstig-Webseiten.html">zum günstigen Hosten von Webseiten</a> (der Jahrespreis sank von ~20€ bei Netlify auf ~10€ bei Cloudflare).
</p>
<p>Die Domain bei Netlify rauszulösen war etwas umständlich. Ich musste bei Name.com einen Account anlegen, dem Support bei Netlify dessen Accountnummer mitteilen, und nach dem Transfer dorthin die Domain weiter zu Cloudflare transferieren. Immerhin, das wäre nicht nötig gewesen um nur Cloudflare einzusetzen, da hätte das Wechseln des Nameservers gereicht.
</p>
<p>Bei Cloudflare bekam ich dann zum ersten Mal eine Statistik über die Zugriffe. Es stellt sich heraus, dass viele der Aufrufe von einzelnen Benutzern zu kommen scheinen. Eventuell Bots, wie Googles Crawler, die sich an der Seite verheddern? </p>
<div class="serendipity_imageComment_img"><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/cloudflare_sustaphone_traffic_cache.png'><!-- s9ymdb:2038 --><img class="serendipity_image_center" width="800" height="428" srcset="https://www.onli-blogging.de/uploads/cloudflare_sustaphone_traffic_cache.1200W.serendipityThumb.png 2600w,https://www.onli-blogging.de/uploads/cloudflare_sustaphone_traffic_cache.800W.serendipityThumb.png 1200w,https://www.onli-blogging.de/uploads/cloudflare_sustaphone_traffic_cache.400W.serendipityThumb.png 800w" src="https://www.onli-blogging.de/uploads/cloudflare_sustaphone_traffic_cache.serendipityThumb.png" loading="lazy" alt=""></a>
</div>
<figcaption class="serendipity_imageComment_txt">Mit aktiviertem HTML-Cache erfasst Cloudflare natürlich den ganzen Traffic. Kein Wunder bei einer einzelnen HTML-Seite.</figcaption><p>Das war hilfreich, dagegen funktionierte der Cache zuerst nicht. Die Dokumentation verriet: Um HTML zu cachen muss das mit eine Konfigurationsregel erstmal aktiviert werden, ansonsten würde nur CSS, Javascript und Bilder im Cache landen. Mit der Regel war der Effekt dann enorm, klar, so eine simple HTML-Seite ist das perfekte Szenario für einen Zwischenspeicher. Die mehr als 1 GB Traffic am Tag stemmt nun Cloudflare fast zu 100%.</p>
<h4>Pagination
</h4>
<p>Durch den Erfolg mit Cloudflare sind wahrscheinlich keine weiteren Maßnahmen notwendig. Die Seite aufzusplitten wäre aber eine Möglichkeit gewesen.
</p>
<p>Derzeit bekommt jeder Besucher so eine große HTML-Seite präsentiert, weil es keinerlei Unterteilung gibt. Das ließe sich ändern, beispielsweise könnte Sustaphones nur die ersten 20 Telefone anzeigen, dann die nächsten 20 auf der nächsten Seite usw. Problem hierbei ist, dass die Liste der Telefone derzeit durchsucht und gefiltert werden kann. Das wäre dann nicht mehr umsetzbar, ohne im Hintergrund einen Server am Laufen zu haben oder Javascript vorauszusetzen. Beides will ich nicht, nicht für dieses Projekt, denn die technisch simple Umsetzung war bisher ein guter Leitsatz.
</p>
<p>Daher habe ich eine Einbindung von Pagination verworfen, es hätte aber wahrscheinlich bei der Trafficvermeidung geholfen und gehörte daher erwähnt.</p>
<h4>Gitlab Pages
</h4>
<p>Näher an der Umsetzung war ein Hosterwechsel. Der Code, mit dem Sustaphones gebaut wird, landet genau wie das erstellte HTML bei Gitlab (von wo es dann Netlify auf einen Server zieht). Gitlab kann aber mit <a href="https://docs.gitlab.com/ee/user/project/pages/">Pages</a> – genau wie Github – Seiten auch selbst ausliefern. Zumindest statische Seite, die keinen dynamischen Server im Hintergrund brauchen, was aber zu Sustaphones perfekt passt. Das tolle daran: Gitlab hat derzeit überhaupt keine offizielle Trafficbegrenzung. Vll würden sie sich bei absoluter Großnutzung melden, aber 50GB sind lächerlich klein (und 100GB kosten auch niemanden 55 USD, daher mein Erstaunen über den Preis oben).
</p>
<p>Was mich davon abhielt war IPv6. Gitlab selbst kann das, hat es aber für diese Funktion auf Gitlab.com nicht aktiviert. Letzten Endes hätte es keine Auswirkungen, Cloudflare würde meines Wissen sogar Zugriff per IPv6 herstellen, aber ich empfand das deswegen thematisch unpassend. </p>
<hr /><p>Nun ist alles wieder gut. Die Optimierungen am HTML der Seite reduzieren den realen Trafficverbrauch, durch Cloudflare als Cache landen selbst davon beim Hoster nur noch wenige MB. Gleichzeitig lädt Sustaphones für Besucher nun schneller und der Wechsel der Icons half in meinen Augen sogar der Optik. Mit Gitlab steht ein kostenloser Hoster bereit, falls mit Cloudflare etwas schiefgeht oder ich das von Netlify ausgehende Kostenrisiko senken will (so sind Opfer von DOS-Angriffen bei Netlify wegen dem Traffic bereits <a href="https://www.reddit.com/r/webdev/comments/1b14bty/netlify_just_sent_me_a_104k_bill_for_a_simple/">in üble Kostenfallen gelaufen</a>).
</p>
<p class="wl_nobottom">Um auf die Eingangsfragen noch Teilantworten zu geben: Die Seite war zu groß, aber da war sicher ein Crawler im Spiel, der sich an dem HTML verschluckt und die Seite unnötig oft aufruft. Aus der Kombination stammt der Traffic. Und Netlifys Trafficpreis ist meiner Wahrnehmung nach so hoch, weil der Hoster sich als Premiumoption aufstellt, der mit für Entwickler komfortable Funktionen punkten will. Danach soll, ähnlich wie damals bei Heroku, der Preis von den entsprechenden Firmen klaglos gezahlt werden, selbst wenn er (meines Wissens) mindestens zehnfach überhöht ist. Das bisher genutzte kostenlose Grundangebot ist daher natürlich ein Lockangebot, aber riskanter als anfangs erwartet.</p>
<img src="https://ssl-vg03.met.vgwort.de/na/707752cfada64083b989fb334b2a68c6" width="1" height="1" alt="">
Mon, 09 Sep 2024 08:03:00 +0200https://www.onli-blogging.de/2432/guid.htmlsustaphonesJavascript-Syntaxhighlighter 2024
https://www.onli-blogging.de/2419/Javascript-Syntaxhighlighter-2024.html
Technikzeugshttps://www.onli-blogging.de/2419/Javascript-Syntaxhighlighter-2024.html#commentshttps://www.onli-blogging.de/wfwcomment.php?cid=24192https://www.onli-blogging.de/rss.php?version=2.0&type=comments&cid=2419[email protected] (onli)
<p>Oder warum hier jetzt gar kein Highlighter mehr läuft.
</p>
<p>Hier war bis vor kurzem eine alte Version von Highlight.js eingebunden. Die machte einen ganz ordentlichen Job, die diversen Codeblöcke in diesem Blog aufzuhübschen, Codeelemente in verschiedenen Sprachen einzufärben. Aber es schlichen sich da auch immer wieder Fehler ein, vor allem bei modernen Konstruktionen, die das alte Skript nicht kennen konnte. Also machte ich mich auf der Suche nach einem Update. Daraus wurde die Suche nach einer Alternative. Und weil das frustrierend war, packe ich die Suchergebnisse wenigstens hier in den Blog.
</p>
<p>Kurz zu meinen Anforderungen: Meine Codeblöcke sind in <code><pre class="code"></code> verpackt. Welche Sprache da drin ist soll automatisch erkannt werden, wennn das gelegentlich mal schiefgeht ist das okay, optional die Sprache festsetzen zu können wäre nett (habe ich aber noch nie gemacht). Der Codeblock soll danach gut aussehen, Dunkelmodusunterstützung inklusive, habe ich das doch gerade erst in meine Version von highlight.js reingehackt gehabt. Unterstützt werden soll PHP, Ruby, Dart, Bash, Javascript, INI- und sonstige Konfigdateien, JSON, HTML, CSS und eigentlich auch Kotlin und Java. Im Idealfall gibt es ein Fallback für C-artige Sprachen. Aktives Projekt wäre gut, die Sprachen entwickeln sich ja weiter.
</p>
<p>Und es soll Javascript sein, damit ich es einfach in den Blog einbauen kann ohne all die alten Artikel anpassen zu müssen.</p>
<h4>Highlight.js
</h4>
<p>Eine aktuelle Version von <a href="https://highlightjs.org/">Highlight.js</a> wäre natürlich meine erste Wahl gewesen. Das lief jetzt ewig hier im Blog, kann Programmiersprachen automatisch erkennen und es ist immer noch ein aktives Projekt.
</p>
<p><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/syntaxhighlighter/highlight_js.webp'><!-- s9ymdb:2028 --><img class="serendipity_image_center" width="722" height="403" srcset="https://www.onli-blogging.de/uploads/syntaxhighlighter/highlight_js.webp 722w" src="https://www.onli-blogging.de/uploads/syntaxhighlighter/highlight_js.serendipityThumb.webp" loading="lazy" alt=""></a>
</p>
<p>Aber es ist mittlerweile unnutzbar fett geworden. Das Projekt unterstützt jetzt wesentlich mehr Sprachen als vorher, aber auch wenn man die im Konfigurator nicht alle aktiviert, sondern sich auf das "Com­mon"-Set beschränkt, ist die minifizierte Datei dann 156KB groß. Da sind ein paar Sprachen dabei, die ich sicher nicht brauchen werde und daher raus können – wie GraphQL oder Objective-C – danach sind es immer noch 132 KB. Das ist wahnsinnig viel. Vor allem für ein Feature, das bei weitem nicht alle meine Artikel brauchen. Highlight.js ist damit raus.</p>
<h4>Prism
</h4>
<p><a href="https://prismjs.com/">Prism</a> wäre die große Alternative. Das Projekt wirbt damit, wie leichtgewichtig es ist. Und dann gibt es auch noch ein <a href="https://prismjs.com/plugins/autoloader/">Au­to­loa­der-Plug­in</a>, sodass immer nur die benötigte Sprachendefinition geladen werden müsste.
</p>
<p><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/syntaxhighlighter/Prism.webp'><!-- s9ymdb:2029 --><img class="serendipity_image_center" width="800" height="512" srcset="https://www.onli-blogging.de/uploads/syntaxhighlighter/Prism.800W.serendipityThumb.webp 1200w,https://www.onli-blogging.de/uploads/syntaxhighlighter/Prism.400W.serendipityThumb.webp 800w" src="https://www.onli-blogging.de/uploads/syntaxhighlighter/Prism.serendipityThumb.webp" loading="lazy" alt=""></a>
</p>
<p>Aber Prism ist völlig unbrauchbar, denn es wolle gute Codequalität erzwingen bzw was sie dafür halten. Das listen sie glatt als Feature:</p>
<blockquote><p class="wl_notopbottom">Encourages good author practices. Other highlighters encourage or even force you to use elements that are semantically wrong, like <pre> (on its own) or <script>. Prism forces you to use the correct element for marking up code: <code>. On its own for inline code, or inside a <pre> for blocks of code. In addition, the language is defined through the way recommended in the HTML5 draft: through a language-xxxx class.</p>
</blockquote>
<p>Schon damit ist Prism raus – hier im Blog wird Code seit 15 Jahren eben nur mit einem Pre-Element markiert und das werde ich sicher nicht grundlos ändern. Außerdem scheint Prism Codesprachen auch nicht automatisch erkennen zu können, zumindest wird das nirgends erwähnt.</p>
<h4>Shiki
</h4>
<p>Wenn Prism die große Alternative war, ist <a href="https://shiki.style/">Shiki</a> wohl die moderne.
</p>
<p><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/syntaxhighlighter/Shiki.webp'><!-- s9ymdb:2030 --><img class="serendipity_image_center" width="800" height="675" srcset="https://www.onli-blogging.de/uploads/syntaxhighlighter/Shiki.800W.serendipityThumb.webp 1200w,https://www.onli-blogging.de/uploads/syntaxhighlighter/Shiki.400W.serendipityThumb.webp 800w" src="https://www.onli-blogging.de/uploads/syntaxhighlighter/Shiki.serendipityThumb.webp" loading="lazy" alt=""></a>
</p>
<p>Sie ist leider genauso unbrauchbar wie Highlight.js. Fokus ist auf der Ausführbarkeit mit Node, zu Browsern heißt es <a href="https://shiki.style/guide/install#cdn-usage">hier</a>:</p>
<blockquote><p class="wl_notopbottom">It's quite efficient as it will only load the languages and themes on demand. For the code snippet above, only four requests will be fired (shiki, shiki/themes/vitesse-light.mjs, shiki/langs/javascript.mjs, shiki/wasm.mjs), with around 200KB data transferred in total.</p>
</blockquote>
<p>Da kann das Ergebnis noch so genau sein, das ist absurd groß. Das auch noch für effizient zu halten ist völlig disqualifizierend.</p>
<h4>Rainbow
</h4>
<p><a href="https://craig.is/making/rainbows">Rainbow</a> fand ich vielversprechend, denn es sei klein und bei den unterstützten Sprachen wird immerhin Shell, Ruby und PHP gelistet, mein Minimum. Und ein Fallback (generic) scheint es auch zu geben.
</p>
<p><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/syntaxhighlighter/Rainbow.webp'><img class="serendipity_image_center" width="800" height="440" src="https://www.onli-blogging.de/uploads/syntaxhighlighter/Rainbow.serendipityThumb.webp" loading="lazy" alt=""></a>
</p>
<p>Aber Rainbow hat mehrere Probleme. Das erste, dass das Projekt seit 4 Jahren kein Update mehr sah. Das zweite, dass der Beispielcodeblock auf der Projektseite unnangenehm lange einfach schwarz bleibt. Drittens ist in der Dokumentation plötzlich die Rede davon, alle Sprachen manuell einbinden zu müssen, was in einem Blog so gar nicht passt. Und schließlich ist von automatischer Sprachenerkennung auch keine Rede, wobei <a href="https://github.com/ccampbell/rainbow/issues/87">ein entsprechendes Issue</a> 2017 als erledigt geschlossen wurde.
</p>
<p>Das wirkt im momentanen Zustand nicht benutzbar, das müsste erstmal entstaubt werden.</p>
<h4>Speed-Highlight JS
</h4>
<p>Als ich schließlich über <a href="https://speed-highlight.github.io/core/">Speed-highlight JS</a> stolperte dachte ich, die perfekte Lösung sei zum Greifen nahe. Das Projekt präsentiert sich als Alternative zu Prism, ohne auf <code><pre><code></code> zu bestehen – stattdessen wird ein <code>div</code> gefordert, aber dann geht bestimmt auch ein <code><pre></code>.
</p>
<p><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/syntaxhighlighter/Speed-highlight_JS.webp'><!-- s9ymdb:2032 --><img class="serendipity_image_center" width="800" height="662" srcset="https://www.onli-blogging.de/uploads/syntaxhighlighter/Speed-highlight_JS.800W.serendipityThumb.webp 1200w,https://www.onli-blogging.de/uploads/syntaxhighlighter/Speed-highlight_JS.400W.serendipityThumb.webp 800w" src="https://www.onli-blogging.de/uploads/syntaxhighlighter/Speed-highlight_JS.serendipityThumb.webp" loading="lazy" alt=""></a>
</p>
<p>In der Dokumentation wird eine automatische Sprachenerkennung beschrieben (optional, aber eben da), die Downloads auf <a href="https://speed-highlight.github.io/core/examples/">der Demoseite</a> sind angemessen klein, das Ergebnis sieht gut aus. Sogar aktiv ist das Projekt noch, letzten Monat gab es einen Commit. Es wirkt wie ein gut gebautes, vernünftiges Projekt, dem nur etwas Dokumentation fehlt um die Installation zu erklären, was man aber rauskriegen könnte…
</p>
<p>…und dann ist weder Ruby noch PHP in der Liste der unterstützten Sprachen, auch Dart fehlt. Hmpf.</p>
<hr /><p>Die ergebnislose Suche nach einer Javascriptlösung hat mich dann dazu gebracht, mit CSS-Designs für die Codeblöcke hier im Blog zu spielen. Dass die generell besser aussahen war damals ein großer Pluspunkt von Highlight.js gewesen, entsprechend ginge da vielleicht auch eine Lösung ohne Syntaxhighlighting. Darüber landete ich letzten Endes bei der minimalen Lösung, die Codeblöcke ohne Rahmen einfach mit etwas Leerraum drumrum in Monospace zu setzen. Ich finde, das sieht erstmal gut genug aus.
</p>
<p>Gleichzeitig habe ich die Releases von Speed-Highlight in meinen Feedreader gepackt. Für 1.3.0 wäre sowohl Ruby als auch PHP <a href="https://github.com/speed-highlight/core/issues/17">geplant</a>. Leider ist das Issue schon seit 2022 auf, aber es kann ja trotzdem noch kommen.
</p>
<p>Über zwei alternative Ansätze bin ich auch noch gestolpert, mit denen sich die JS-Highlighter vielleicht bald ersetzen lassen oder womit sie sich ändern könnten. Einmal die geniale Idee, das farbliche Markieren <a href="https://blog.glyphdrawing.club/font-with-built-in-syntax-highlighting/">in die Schriftart einzubauen</a>. Dann bräuchte es keine Javascriptlösung mehr. Zweitens gibt es eine recht neue <a href="https://developer.mozilla.org/en-US/docs/Web/API/CSS_Custom_Highlight_API">CSS-API zum Hervorheben von Textabschnitten</a>, mit der die JS-Highligher bald arbeiten könnten.
</p>
<p class="wl_nobottom">So unbefriedigend der derzeitige Zustand der Projekte für einen Blog wie diesen auch sein mag, ist da also doch die Aussicht auf eine Verbesserung.</p>
<img src="https://ssl-vg03.met.vgwort.de/na/383f00ae91354128b51f05de758bfc91" width="1" height="1" alt="">
Mon, 19 Aug 2024 08:18:00 +0200https://www.onli-blogging.de/2419/guid.html Hama CO2-Luftqualitätsmessgerät "Safe"
https://www.onli-blogging.de/2420/Hama-CO2-Luftqualitaetsmessgeraet-Safe.html
Technikzeugshttps://www.onli-blogging.de/2420/Hama-CO2-Luftqualitaetsmessgeraet-Safe.html#commentshttps://www.onli-blogging.de/wfwcomment.php?cid=24200https://www.onli-blogging.de/rss.php?version=2.0&type=comments&cid=2420[email protected] (onli)
<p><a href="https://de.hama.com/00186434/hama-luftqualitaetsmessgeraet-safe-co2-temperatur-luftfeuchtigkeitsmessung">Das Luftqualitätsmessgerät "Safe"</a> von Hama wurde von der Stiftung Warentest <a href="https://www.test.de/CO2-Messgeraete-und-CO2-Ampeln-im-Test-5709239-detail/SW18520-1!SW18520-0212-00/">positiv bewertet</a>. In meiner Alltagserfahrung war es hilfreich, aber es hat ein paar Macken.
</p>
<p><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/hama_safe.webp'><!-- s9ymdb:2033 --><img class="serendipity_image_center" width="800" height="600" srcset="https://www.onli-blogging.de/uploads/hama_safe.1200W.serendipityThumb.webp 2600w,https://www.onli-blogging.de/uploads/hama_safe.800W.serendipityThumb.webp 1200w,https://www.onli-blogging.de/uploads/hama_safe.400W.serendipityThumb.webp 800w" src="https://www.onli-blogging.de/uploads/hama_safe.serendipityThumb.webp" loading="lazy" alt=""></a></p>
<h4>Das Gerät
</h4>
<p>Grundsätzlich misst das Gerät Temperatur, Luftfeuchtigkeit und CO2-Gehalt der Raumluft. Auf letzteres kam es mir an. Temperatur und Luftfeuchtigkeit war durch ein analoges Hygrometer bereits abgedeckt, aber der für die Luftqualität wichtige CO2-Wert wurde bisher nicht gemessen. Und seit ich durch die Luftfilter mit ihrer PM2.5-Messung gesehen habe, wie schnell die Luft in einer Wohnung im Alltag miserabel werden kann, wollte ich diesen Aspekt ebenfalls überwachen.
</p>
<p>Abseits aller Funktionalität gefiel mir das Gerät direkt optisch. Mit seiner schwarzen (Plas­tik-)Ve­rklei­dung und schwarzem Display, aber weißer Beschriftung und der farbigen Einschätzung der Luftqualität gibt das ein tolles Bild ab. Ich mag aber auch diese Segmentanzeigen generell, wobei diese hier so hell sind, dass ich eine Umsetzung mit LEDs vermute. Interessante Wahl. Leider ist aber die Helligkeit zu hoch, zumindest für die Nacht, und es scheint keine Möglichkeit zu geben sie herunterzuregeln.
</p>
<p>Die drei Knöpfe oben haben andere Funktionen: Der linke aktiviert und deaktiviert das Alarmsignal für zu hohe CO2-Werte, der mittlere schaltet zwischen Min-, Max- und momentanem Messwert um, und der rechte wechselt unnötigerweise zwischen Celsius und Fahrenheit. Mit linkem und mittigem Knopf zeitgleich gedrückt wird die Kalibration gestartet, das soll draußen gemacht werden. Das macht dann auch den eingebauten Akku weniger verschwenderisch. Der wäre ansonsten mit einer angegebenen Betriebsdauer von dreieinhalb Stunden wenig nützlich, mit dem Messgerät die anderen Zimmer abzulaufen macht man ja doch nicht, aber das Gerät so für die nowendige Kalibrierung nach draußen nehmen zu können ist durchaus praktisch.
</p>
<p>Für den Dauerbetrieb angeschlossen wird der kleine Klotz per USB-Kabel. Das liegt bei, Ladegerät nicht. Da der Preis recht gering ist – gekauft habe ich es direkt vom Hersteller für 21,50€ – geht das klar. Nach dem Anschließen dauerte es eine Weile, bis ein CO2-Wert angezeigt wurde, und noch lange nach dem Einschalten (während der Akku lud?) war die gemessene Temperatur absurd hoch, 30°C statt 25°C. Das pendelte sich nach einer Weile ein. Auch die angezeigte Luftfeuchtigkeit war höher als vorher gemessen, aber da die analogen Hygrometer sicher mal wieder kalibriert gehören glaube ich eher dem Ergebnis der digitalen Messung.</p>
<h4>Die CO2-Messung
</h4>
<p>Als ich das Gerät hier anschloss überraschte mich der gemessene hohe CO2-Wert, wirkte die Luft doch gar nicht verbraucht. Und er schoss nach dem Lüften auch überraschend schnell wieder auf über 1000. Anfangs war ich am Zweifeln, ob in einer alten Wohnung wie der meinen dieser Grenzwert überhaupt einhaltbar ist.
</p>
<p>Jetzt, nach etwas Eingewöhnungszeit, stelle ich fest dass dem durchaus so ist. Selbst an heißen Sommertagen. Ich muss nur etwas öfter und etwas länger lüften. Doch durch die CO2-Anzeige ist eben auch immer klar, wann es genug ist. So lässt sich die Hitzevermeidung und der CO2-Gehalt ausbalancieren, der CO2-Wert muss nur selten über dem Grenzwert ertragen werden, wenn es gar zu warm ist. Nachts reichen ein paar dauerhaft gekippte Fenster.
</p>
<p>Und ja: Mein subjektiver Eindruck ist, dass das was bringt. Die 1000er-Grenze rieche ich noch nicht, erst deutlich später wird verbrauchte Luft für mich spürbar. Doch den Grenzwert trotzdem nun einzuhalten fühlt sich angenehm an, samt weniger häufigen Kopfschmerzen. Das kann natürlich Zufall oder Einbildung sein, aber warum sollte der niedrigere CO2-Gehalt sich nicht wirklich positiv auswirken?
</p>
<p>Die Frage wird sein, wie das im Winter sein wird. Ob bei Kälte überhaupt oft genug gelüftet werden kann, um die Messung hilfreich zu machen.</p>
<hr /><p class="wl_nobottom">Doch das ist ein Problem für später. Generell finde ich das "Safe" hübsch gestaltet und schon deswegen wäre mein Fazit wohl kaum negativ. Ich mag solch funktionales, klares Design. Und auch die tatsächlich gebotene Funktionalität erschien mir bisher hilfreich, insbesondere die CO2-Messung. Leider ist das Display viel zu hell, um es nachts ertragen zu können, und das blinkende CO2-Icon ist eine unglückliche Wahl, ist es doch viel zu nervig. Das ginge besser.</p>
<img src="https://ssl-vg03.met.vgwort.de/na/b5eb6f652e184ecf84bb6c1a5de8f795" width="1" height="1" alt="">
Mon, 12 Aug 2024 08:56:00 +0200https://www.onli-blogging.de/2420/guid.htmlKommt Mozillas Google-Reader-Moment?
https://www.onli-blogging.de/2424/Kommt-Mozillas-Google-Reader-Moment.html
Linuxhttps://www.onli-blogging.de/2424/Kommt-Mozillas-Google-Reader-Moment.html#commentshttps://www.onli-blogging.de/wfwcomment.php?cid=24246https://www.onli-blogging.de/rss.php?version=2.0&type=comments&cid=2424[email protected] (onli)
<p>Ich zweifel an Mozilla.
</p>
<p><em>Das ist eine Auskoppelung von Gedanken zu Mozillas Zukunft, die ich aus dem Artikel zur PPA-Kontroverse herausgenommen habe.</em></p>
<h4>Offenbart PPA vs DNT Mozillas Stillhaltetaktik?
</h4>
<p><a href="https://www.onli-blogging.de/2423/PPA-Mozilla-steht-als-Heuchler-da.html">Privacy-Preserving Attribution zu aktivieren, den Do-Not-Track-Header aber nicht</a>, lässt mich an der Motivation von Mozilla zweifeln.
</p>
<p>Vielleicht war die Entscheidung für das Deaktivieren von DNT damals noch verständlich. Die enthaltene Absichtserklärung des Nutzers durch eine manuelle Aktivierung musste anfangs bewahrt bleiben, um den Header zu legitimisieren. Aber mittlerweile ist DNT auch so viel wirkmächtiger als damals. Bei Einführung gab es keinerlei Handhabe, Werbeanbieter dazu zu zwingen, auf das Signal zu reagieren. Das ist in einer Welt der Datenschutzgrundverordnung ganz anders. Und tatsächlich gibt es <a href="https://www.datev-magazin.de/nachrichten-steuern-recht/recht/gericht-untersagt-datenschutzverstoesse-von-linkedin-110935">entsprechende Gerichtsurteile</a> explizit für DNT. Wenn Mozilla es also wirklich darum ginge, Nutzern im Internet mehr Datenschutz zu verschaffen, müssten sie nur DNT aktivieren. Und wenn es ignoriert wird, per Abmahnungen und Prozessen die Ignoranz bestrafen. Mozilla hat eine volle Kriegskasse, hier wäre das Geld gut angelegt. Gerade Mozilla als davon berührte Partei, durch Firefox eben, hätte hier die perfekte Gelegenheit.</p>
<div class="serendipity_imageComment_img"><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/ads_ki.jpg'><!-- s9ymdb:2023 --><img class="serendipity_image_center" width="400" height="400" srcset="https://www.onli-blogging.de/uploads/ads_ki.800W.serendipityThumb.jpg 1200w,https://www.onli-blogging.de/uploads/ads_ki.400W.serendipityThumb.jpg 800w" src="https://www.onli-blogging.de/uploads/ads_ki.serendipityThumb.jpg" loading="lazy" alt=""></a>
</div>
<figcaption class="serendipity_imageComment_txt">KI-generiertes Symbolbild</figcaption><p>Aber die wird nicht genutzt. Anstatt die Welt zu verändern und den Privacy-Krieg im Internet als solchen auszufechten wird Werbeanbietern per PPA die Hand gereicht. PPA ist dabei nichtmal eine schlechte Sache – tatsächlich scheint der Mechanismus auf dem ersten Blick geeignet, Werbetracking ohne Nutzertracking umzusetzen. Aber das tut nichts zur Sache, wenn Mozilla mit DNT direkt gewinnen könnte. Das ist mir so unverständlich wie das Mittel nicht zu nutzen, in Firefox einen Werbeblocker zu integrieren. Der wäre im Interesse der Nutzer, wirkt auch ohne Industrieinvolvierung gegen Tracking, und die Befürchtung von massenhaften Einnahmenausfällen hat angesichts Firefox geringer momentaner Verbreitung auch keine Relevanz mehr.
</p>
<p>Es liegt ein Verdacht nahe: Mozilla will mit Firefox diesen Konflikt gar nicht gewinnen. Ist die jetzige Situation für die Leitung etwa komfortabler? Firefox wird immer unwichtiger, gleichzeitig aber muss Google wegen Chromes enormer Verbreitung schon deswegen weiter Firefox finanzieren, um das Monopolverfahren abzufedern. Mit dem leicht verdienten Geld werden andere Einnahmequellen erschlossen und neue Ziele angegriffen, <a href="https://cohost.org/Osmose/post/4471044-why-is-mozilla-so-fo">wie KI</a>. Da ist viel Motivation, es sich mit Firefox mit niemanden zu sehr zu verscherzen. Der Werbeindustrie durch PPA ein Friedensangebot zu machen passt da sehr gut rein. Firefox' Nutzer stehen staunend vor solchen Entscheidungen und verstehen die Welt nicht mehr. Betrachtet man Mozilla aber als im Grunde satte Organisation, bei der es um ein immer weiteres steigern der Einnahmen (und Ausbeutung derselben) geht, passt es leider nur zu gut.
</p>
<p>Das muss nichtmal stimmen. Im Sinne von: Da muss kein Plan des Ausnutzens der Einnahmequelle sein, keine bewusste Entscheidung zum Stillhalten. Aber es ist unbestreibar, dass es von außen so aussieht. Und es ist wahrscheinlich, dass diese Strukturen sich auf Mozillas Entscheidungen mindestens unbewusst auswirken.</p>
<h4>Mozilla entschied nun oft klar gegen das offene Internet und Nutzerinteressen
</h4>
<p>Mozilla stellt sich ganz im Gegensatz zu meiner Einordnung oben als Verfechter der Nutzerinteressen, kompromissloser Verteidiger des offenen Internets dar. Und tatsächlich ist Firefox ja auch der beste Browser und seine Webengine unbedingt notwendig, um der Chrome-Monokultur zu entgehen. Aber Mozilla trifft immer wieder Entscheidungen, die mit dieser Mission nicht zusammengehen. Statt Nutzerinteressen zu verteidigen wird an die anderen gedacht, werden faule Kompromisse geschlossen, wird aufgegeben, wird gar gegen eigene Versprechungen gegen Nutzerinteressen gehandelt. Beispiele für alles folgen.</p>
<div class="serendipity_imageComment_img"><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/evil_firefox2.jpg'><!-- s9ymdb:2021 --><img class="serendipity_image_center" width="400" height="400" srcset="https://www.onli-blogging.de/uploads/evil_firefox2.800W.serendipityThumb.jpg 1200w,https://www.onli-blogging.de/uploads/evil_firefox2.400W.serendipityThumb.jpg 800w" src="https://www.onli-blogging.de/uploads/evil_firefox2.serendipityThumb.jpg" loading="lazy" alt=""></a>
</div>
<figcaption class="serendipity_imageComment_txt">KI-generiertes Symbolbild</figcaption><p><strong>DNT</strong> wie oben beschrieben ist das erste Beispiel. Der Header, der den Widerspruch zu Tracking kommuniziert, wurde eingebaut – was erstmal gut war. Aber dann wurde er nicht als Standardeinstellung aktiviert. Die wenigsten Nutzer aber ändern ihre Standardeinstellung (deswegen ja auch die automatische Aktivierung von PPA). DNT wurde dadurch direkt entmachtet, weil es so selten an ist wurde es stattdessen sogar ein weiteres Bit zum Bauen des digitalen Fingerabdrucks, sodass einzelne Browserinstallationen besser trackbar werden. Das wäre nicht so, wäre DNT wenigstens in Firefox als Standard an.
</p>
<p>Zu DNT war noch argumentiert worden. <strong>RSS</strong> wurde völlig ohne auch nur im Ansatz nachvollziehbare Rechtfertigung aufgegeben. RSS ist eine XML-Datei, die Seitenbetreiber auf ihren Server packen und immer aktualisieren, wenn sie neue Einträge schreiben (ihre Software, wie Wordpress, macht das automatisch). Leser können diese Datei mit einem Feedreader abonnieren und so komfortabel neue Artikel an einem Ort lesen, anstatt Seiten einzeln besuchen zu müssen. Klasse für Blogs, aber auch Newsseiten werden so oft konsumiert. Ein wichtiges Instrument des offenen Webs, ein Gegengewicht zu den Algorithmen von Twitter und Facebook. Firefox hatte dafür integrierte RSS-Lesezeichen, ein Symbol bei der URL-Eingabe zum Direktzugriff auf vorhandene RSS-Feeds und eine schöne Darstellung von RSS-Dateien im Browser. Nach und nach wurde das alles entfernt. Und bezeichnend: Für das RSS-Icon sei im aufgeräumten neuen Design <a href="https://decafbad.com/blog/2011/01/15/what-happened-to-feed-autodiscovery-in-firefox-4/">kein Platz in der Adresszeile</a>, aber für den aufgekauften Lesezeichendienst Pocket (mit seinem Bezahlmodell…) war Platz nie ein Problem. Dabei ist alles, war RSS gebraucht hätte, ein Icon zum Markieren der vorhandenen Feeds, ein Stylesheet zum Aufhübschen der RSS-XML-Datei (wie <a href="https://github.com/genmon/aboutfeeds">aboutfeeds</a>) und eine Sammelseite mit Feedreadern und Erklärungen zur Funktionsweise gewesen (wie <a href="https://www.subtome.com/#/">subtome</a>). Riesennutzen für das dezentrale Web. Ein 1-Mann-Projekt, bräuchte keinen Monat. Aber nur Mozilla kann es umsetzen.
</p>
<p>Mozilla macht stattdessen lieber sowas: Die Organisation hat sehenden Auges <strong>DRM</strong> den Weg in den Browser geöffnet. DRM steht für Digitales Restriktionsmanagement, durch unkontrollierbare und im schlimmsten Fall in die Hardware eingebaute Kontrollmechanismen entscheiden damit dritte, was mit Dateien auf dem eigenen Computer gemacht werden kann. Bei Mozilla ging es um Videos, also Netflix & Co, die per geschlossenem DRM-Modul verplombt werden sollten. Mozilla stimmte, obwohl das null im Interesse der Vertreter des freien Netzes war, dem dafür platzierten EME-Protokoll <a href="https://www.linux-magazin.de/ausgaben/2014/08/drm-und-eme/">zu</a>. Angeblich aus Angst, dass sonst die Nutzer weglaufen. Die liefen trotzdem weg, und heute ist Googles proprietäres DRM-Modul Widevine eine Blockade für alle anderen Browser, denn Google <a href="https://blog.samuelmaddock.com/posts/google-widevine-blocked-my-browser/">gibt es nicht heraus</a>.
</p>
<p>Auch ohne Zwang von außen kann Mozilla die eigenen Nutzer vor den Kopf stoßen. Als 2019/2020 Firefox für Android umgebaut wurde, versprach Mozilla die baldige Einführung von <strong>Erweiterungen für die Mobilversion</strong> – verschleppte sie danach aber um Jahre. Das hatte keine technischen Gründe; wie Entwickler von Mozilla berichteten, war Mozillas Management nur nicht interessiert daran das Versprechen einzulösen. Dabei hatte das eine besondere Brisanz: Auf den Mobilplattformen hatten die Plattformbetreiber immer wieder versucht, das freie Bespielen mit Software zu verhindern – besonders iOS ist ein einziges Gefängnis, aber auch Android machte eine Weile vermehrt Blockadeversuche. Erweiterungen in einem Mobilbrowser waren daher ein wichtiges Gegengewicht zu diesen Abschottungsbemühungen. Die kamen dann auch, aber <a href="https://blog.mozilla.org/addons/2023/08/10/prepare-your-firefox-desktop-extension-for-the-upcoming-android-release/">erst 2023</a>. Davor wurde nur eine Miniauswahl an Erweiterungen manuell eingebunden, immerhin auch der beliebte Werbeblocker uBlock Origins.</p>
<h4>Ist das Problem die Struktur, mit Firma und hohen Gehältern?
</h4>
<p>Meine Vermutung: Mozilla wird sich mit solchen Entscheidungen immer weiter von seinen Nutzern entfernen. Denn die kombinierte Firma und Stiftung Mozilla teilt schon lange deren Werte nicht mehr im Kern, wie man an den obigen Entscheidungen und <a href="https://connect.mozilla.org/t5/discussions/mozilla-now-only-seems-to-speak-using-creepy-gibberish-lunatic/td-p/16863">dem Marketingsprech</a> ablesen kann.
</p>
<p>Und auch das immer weiter wachsende CEO-Gehalt spricht dafür. Nicht nur die Höhe, sondern alleine dass es wächst, während Firefox Marktanteile verliert; und dass es wuchs, <a href="https://www.theverge.com/2020/8/11/21363424/mozilla-layoffs-quarter-staff-250-people-new-revenue-focus">während Mozilla Angestellte entließ</a>. Letzteres war einfach asozial. Kann eine sich asozial verhaltende, elitenkapitalistisch den Managementgewinn erhöhende Organisation für das offene Netz kämpfen?</p>
<div class="serendipity_imageComment_img"><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/CEO-Gehalt__and_Firefoxnutzer_Marktanteil_in__.svg'><!-- s9ymdb:2024 --><img class="serendipity_image_center" width="" height="" srcset="" src="https://www.onli-blogging.de/uploads/CEO-Gehalt__and_Firefoxnutzer_Marktanteil_in__.svg" alt=""></a>
</div>
<figcaption class="serendipity_imageComment_txt">Mozillas Managemententlohnung zeigt die Macht der Managementklasse. Quellen: <a href="https://news.ycombinator.com/item?id=10101637">1</a>, <a href="https://www.wired.com/story/firefox-mozilla-2022/">2</a>, <a href="https://www.theregister.com/2024/02/09/mozilla_ceo_mitchell_baker_departs/">3</a>.</figcaption><p>Ich frage mich: War Mozillas Strukturfehler simpel, das Gehalt nicht zu deckeln? Brauchte es einen Schutz dagegen, dass eine Stiftungsfirma mit viel Geld hohe Gehälter ausspruckt und so die falsche Motivation setzt? Mit begrenztem Gehalt hätte ich eher eine Chance gesehen, passende Leute in dem System zu halten. Ich befürchte, in einer kapitalistisch orientierten Firma siegen sonst immer die Profitmaximierer, niemand gewinnt gegen Struktur. Und solche Leute treffen andere Entscheidungen. Ich kann mir einfach keinen Wirtschaftler mit Ferrari in der Garage und Millionengehalt vorstellen, der sich ehrlich um das offene Netz sorgt, der die Wichtigkeit von RSS erkennen kann. Nicht als reines Vorurteil, sondern weil das offene Netz eben auch das ressourcenlose Netz ist. Da geht es besonders um die Webseite, bei der nichtmal der Webserver Geld kosten darf. Da geht es um Abstand zu den großen Internetriesen. Kann sich da jemand reinversetzen, der sich im Umfeld genau dieser Giganten bewegt, der so viel Geld als Ressource zur Hand hat? Den es bzgl DRM z.B. gar nicht scheut, mit Google und Netflix und Co verhandeln zu müssen, wenn er einen neuen Browser baut, weil das ein Projekt mit sehr viel Startkapital sein würde und entweder darüber oder über die Beziehungen ein Platz am Verhandlungstisch sicher wäre? Versus dem Indieentwickler, bei dem gar kein Kapital da wäre und eine solche Hürde offensichtlich unüberwindbar ist.
</p>
<p>Ich bezweifel die Eignung. Eine derart entfremdet gesteuerte Organisation bewahrt vielleicht die Geschäftsidee, den Fokus auf das Anbeiten von freieren Alternativen, doch ohne Überzeugung zu den dahinterstehenden Idealen. Und das würde viel erklären.</p>
<hr /><p>Natürlich hat Mozilla auch gute Entscheidungen getroffen, wie Chromes adblockerzerstörende neue Manifestversion bisher nur zusätzlich zu unterstützen. Und bei fast jeder der obigen Entscheidungen konnte man statt bösem Willen oder stukturellem Desinteresse ein legitimes anderes Abwägen vermuten. Dass das kleinere Übel gewählt wurde bei DRM beispielsweise, war Mozillas Argumentation. Und auch mir geht das so, Mozilla hat bei mir noch längst nicht das schlechte Image, das die Auflistung oben vermuten lässt. Dabei hilft, dass Firefox immer noch ein toller Browser ist, auf dem Desktop wie auf dem Telefon. Genau deswegen bleibt die Erwartungshaltung an Mozilla trotz allem intakt, genau deswegen gibt es immer noch einen Aufschrei wenn Mozilla Entscheidungen trifft, die offensichtlich oder scheinbar gegen die Interessen ihrer Nutzer verstoßen. Doch selten bewirkt der etwas, Mozilla korrigiert Fehler <a href="https://www.zdnet.com/article/privacy-touting-mozilla-caught-shoving-mr-robot-add-on-into-firefox/">nur in den seltensten Fällen</a>. So divergieren Mozillas Realität und das Ideal Mozilla immer weiter.
</p>
<p class="wl_nobottom">Mozillas Mission der offenen Alternativschaffung im Netz ist immer noch eine gute, viele Projekte Mozillas scheinen weiterhin unterstützenswert. Aber ich sehe mit Entscheidungen wie PPA, mit <a href="https://github.com/mozilla/ichnaea/issues/2065">Abschaltungen wie beim Mozilla Location Service</a> den Google-Reader-Moment näher rücken, in dem das positive Verhältnis zwischen Kernnutzern und Konzern wie damals bei Google unwiederbringlich aufgekündigt wird. Für manche war die Aufgabe von Servo <a href="https://paulrouget.com/bye_mozilla.html">durch Feuern der Entwickler</a> schon ein solcher Moment. Für andere ist es vll tatsächlich die nächste Steigerung des CEO-Gehalts. Was es auch genau sein wird: Die Begeisterung, die in technischen Kreisen dem Start von <a href="https://ladybird.org/">Ladybird</a> als ernsthaftes Projekt entgegengebracht wurde, zeugt davon, dass Zweifel an Mozilla weit verbreitet sind.</p>
<img src="https://ssl-vg03.met.vgwort.de/na/5229d8e39a394f4daa93334fbc69e4da" width="1" height="1" alt="">
Mon, 29 Jul 2024 08:21:00 +0200https://www.onli-blogging.de/2424/guid.htmlPPA: Mozilla steht als Heuchler da
https://www.onli-blogging.de/2423/PPA-Mozilla-steht-als-Heuchler-da.html
Linuxhttps://www.onli-blogging.de/2423/PPA-Mozilla-steht-als-Heuchler-da.html#commentshttps://www.onli-blogging.de/wfwcomment.php?cid=242311https://www.onli-blogging.de/rss.php?version=2.0&type=comments&cid=2423[email protected] (onli)
<p>Okay <a href="https://www.onli-blogging.de/2422/Mozillas-PPA-und-DNT.html#c10669">understater</a>, ich führe es aus.</p>
<div class="serendipity_imageComment_img"><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/dap-architectur.png'><!-- s9ymdb:2022 --><img class="serendipity_image_center" width="663" height="800" srcset="https://www.onli-blogging.de/uploads/dap-architectur.800W.serendipityThumb.png 1200w,https://www.onli-blogging.de/uploads/dap-architectur.400W.serendipityThumb.png 800w" src="https://www.onli-blogging.de/uploads/dap-architectur.serendipityThumb.png" loading="lazy" alt=""></a>
</div>
<figcaption class="serendipity_imageComment_txt">Das gab den Anstoß: Ein Protokoll, bei dem Firefoxnutzer Daten über gesehene Werbung schicken. </figcaption>
<h4>DNT aus zu lassen, aber PPA zu aktivieren, ist unverständlich
</h4>
<p>Vor Jahren hat Mozilla den Do-Not-Track-Header (DNT) in Firefox eingebaut. Eine gute Idee, die besuchten Seiten automatisiert mitteilt, dass der Nutzer kein Tracking wünscht. Doch DNT galt lange als Misserfolg, es wurde nicht ausreichend benutzt und berücksichtigt. Das ist kein Wunder, denn selbst Mozilla ließ die Standardeinstellung auf aus. <a href="https://blog.mozilla.org/netpolicy/2011/11/09/dnt-cannot-be-default/">Damals argumentierte das Projekt so</a>:</p>
<blockquote><p class="wl_notopbottom">Die Mission von Mozilla ist es, den Nutzern diese Wahl und Kontrolle über ihre Browser-Erlebnis zu geben. Wir werden 'Do Not Track' nicht standardmäßig aktivieren, da sonst Mozilla die Wahl treffen würde und nicht der Einzelne. Da dies eine Entscheidung ist, die der Nutzer selbst treffen muss, können wir das Signal nicht automatisch senden, sondern werden ihnen die Werkzeuge zur Verfügung stellen, die sie dafür benötigen.</p>
</blockquote>
<p>Dieses Bekenntnis zur Selbstermächtigung krüppelte einen Datenschutzmechanismus, der zu 100% im Interesse der Nutzer war. <br />
Beim jetzigen Konflikt um Mozilla Verhalten ging es um <a href="https://support.mozilla.org/en-US/kb/privacy-preserving-attribution">Privacy-Preserving Attribution</a> (PPA), ein Werbezählungsverfahren. Das ist viel weniger im Interesse der Nutzer, weil es erstmal nur Werbebetreibern nützt. Nur indirekt könnten Nutzer profitieren, wenn Werbeanbieter zugunsten einer PPA-Zählung auf Tracking verzichten würden. Dafür gibt es keine Gewissheit, naheliegend ist die Kombination Tracking plus PPA-Zählung – also völlig nicht im Interesse der Nutzer. Diesmal argumentiert Mozilla <a href="https://old.reddit.com/r/firefox/comments/1e43w7v/a_word_about_private_attribution_in_firefox/">genau andersrum</a> und lässt PPA als Standard aktiviert:</p>
<blockquote><p class="wl_notopbottom">Die Datenschutzmerkmale dieses [PPA-]Prototyps sind viel stärker als sogar einige gängige Funktionen der Webplattform und erfüllen im Gegensatz zu den meisten anderen Vorschlägen in diesem Bereich unsere hohen Standards für das Standardverhalten. Es gibt eine Umschaltfunktion, um sie zu deaktivieren, da einige Personen Werbung unabhängig von den Datenschutzeigenschaften ablehnen, und wir unterstützen die Nutzer dabei, ihren Browser nach ihren Wünschen zu konfigurieren. Dennoch betrachten wir modale Zustimmungsdialoge als benutzerfeindliche Ablenkung von besseren Standardeinstellungen und glauben nicht, dass ein solches Erlebnis hier eine Verbesserung gewesen wäre.</p>
</blockquote>
<p>Also: Die gleiche Organisation kommt zu zwei völlig unterschiedlichen Ergebnissen. Und verweigert DNT die Aktivierung per Standard, während PPA sie bekommt – obwohl nur DNT klar den Nutzerinteressen entspricht. Das ist schwer zu verdauen. Gerade auch die Behauptung, modale Zustimmungsdialoge als benutzerfeindlich abzulehnen, platziert Firefox doch gefühlt nach jedem Update einen neuen modalen Dialog um für Mozilla zu werben, stößt auf.
</p>
<p>Ja, zwischen diesen Abwägungen liegen Jahre, aber DNT existiert immer noch. Mit einer neuen Einsicht in die Rolle von Standardeinstellungen müsste es neu evaluiert und dann absolut aktiviert werden. Vor allem, weil der Header sogar kürzlich <a href="https://www.datev-magazin.de/nachrichten-steuern-recht/recht/gericht-untersagt-datenschutzverstoesse-von-linkedin-110935">juristisch aufgewertet wurde</a>. DNT ist seitdem eine Waffe, mit der Mozilla heute schon gegen Tracking vorgehen könnte. Ganz ohne irrealistisches Warten auf eine Zusammenarbeit mit der Industrie.</p>
<hr /><p class="wl_nobottom">PPA verstört Firefoxnutzer also nicht nur, weil PPA nur mit einer positiven Einstellung zur Werbeindustrie als sinnvolles Projekt erscheinen kann, welche die traditionell datenschutzfokussierten Kernnutzer von Firefox niemals geteilt haben. Es verstört auch die Argumentation zur Aktivierung als Standardeinstellung, weil sie völlig der bekannten Entscheidung bei DNT widerspricht. Darauf zielte mein Zitat Mozillas damaliger Argumentation ab.</p>
<img src="https://ssl-vg03.met.vgwort.de/na/f73b7f0967e34a7db87f11a15917ff0b" width="1" height="1" alt="">
Thu, 25 Jul 2024 08:22:00 +0200https://www.onli-blogging.de/2423/guid.htmlMozillas PPA und DNT
https://www.onli-blogging.de/2422/Mozillas-PPA-und-DNT.html
Linuxhttps://www.onli-blogging.de/2422/Mozillas-PPA-und-DNT.html#commentshttps://www.onli-blogging.de/wfwcomment.php?cid=24227https://www.onli-blogging.de/rss.php?version=2.0&type=comments&cid=2422[email protected] (onli)
<p>Zu Mozillas PPA-Werbesignal wurde schon <a href="https://www.heise.de/news/Fuer-Werbung-Firefox-sammelt-ab-sofort-standardmaessig-Nutzerdaten-9801279.html">viel gesagt</a>. Mein Kommentar ist Mozillas Kommentar, ihre Begründung, das inzwischen <a href="https://www.linux-magazin.de/news/urteil-linkedin-darf-do-not-track-signale-nicht-ignorieren/">juristisch belastbare</a> DNT-Signal <a href="https://blog.mozilla.org/netpolicy/2011/11/09/dnt-cannot-be-default/">nicht zu aktivieren</a>:</p>
<blockquote><p class="wl_notopbottom">Mozilla’s mission is to give users this choice and control over their browsing experience. We won’t turn on Do Not Track by default because then it would be Mozilla making the choice, not the individual. Since this is a choice for the user to make, we cannot send the signal automatically but will empower them with the tools they need to do it.</p>
</blockquote>
Tue, 23 Jul 2024 19:57:00 +0200https://www.onli-blogging.de/2422/guid.htmlDie Solarzelle auf der Terrasse
https://www.onli-blogging.de/2383/Die-Solarzelle-auf-der-Terrasse.html
Technikzeugshttps://www.onli-blogging.de/2383/Die-Solarzelle-auf-der-Terrasse.html#commentshttps://www.onli-blogging.de/wfwcomment.php?cid=23837https://www.onli-blogging.de/rss.php?version=2.0&type=comments&cid=2383[email protected] (onli)
<p>Da meine Mietwohnung eine relativ große Terrasse auf der Südseite fast ohne Schatten hat, wollte ich schon eine Weile ein Balkonkraftwerk aufstellen. Sogar die Steckdose war bereits vorhanden. Anfang Juni habe ich das nun endlich erledigt.
</p>
<p><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/balkonkraftwerk.jpg'><!-- s9ymdb:1943 --><img class="serendipity_image_center" width="300" height="400" srcset="https://www.onli-blogging.de/uploads/balkonkraftwerk.1200W.serendipityThumb.jpg 2600w,https://www.onli-blogging.de/uploads/balkonkraftwerk.800W.serendipityThumb.jpg 1200w,https://www.onli-blogging.de/uploads/balkonkraftwerk.400W.serendipityThumb.jpg 800w" src="https://www.onli-blogging.de/uploads/balkonkraftwerk.serendipityThumb.jpg" loading="lazy" alt=""></a>
</p>
<p>Ich werde das im Folgenden etwas beschreiben, aber das wichtigste vorab: Es war kein Problem und sollte sich bei den aktuellen Preisen schnell rechnen. Laut <a href="https://solar.htw-berlin.de/rechner/stecker-solar-simulator/">Stecker-So­lar-Si­mu­la­tor</a> dürfte ich 90€ im Jahr sparen, 300€ habe ich ausgegeben. Seit dem Solarpaket 2 sind die regulatorischen Probleme wohl auch beseitigt, zumindest erwarte ich da keine Probleme. Nicht ganz zufrieden bin ich mit dem von mir gewählten Angebot von Priwatt.</p>
<h4>Spezifikationen, Anlieferung, Aufbau
</h4>
<p>Meine Wahl fiel auf das <a href="https://priwatt.de/stecker-solaranlagen/garten/priflat/SW10619.2">PriFlat-Set für den Garten</a>. Zum einen wollte ich zur Vermieterberuhigung einen möglichst seriösen Verkäufer. Zum anderen sah ich gar nicht so viele Alternativen, die das komplette Set aus Solarzelle, Wechselrichter, Ständer und Kabel auch in einer kleinen Variante anboten, also mit nur einer Solarzelle. Denn Platz für zwei, um auf die 800W zu kommen, hätte zuviel von der Terrasse geschluckt. Dementprechend wählte ich nur ein Solarmodul (440Wp), das von Priwatt mit einem 400W-Wech­sel­rich­ter von TSUN kombiniert wurde.
</p>
<p>Die Lieferung der Solarzelle übernahm eine Spedition, das kostete dann wohl kaum zufälligerweise die 50€, die der damals laufende Coupon einsparte. Gerade läuft schon wieder eine Couponaktion, das ist wohl deren Verkaufsmasche und kein echtes Sonderangebot. Blöderweise kam der Ständer in einem sehr schweren Paket kurzfristig angekündigt verfrüht per Post, das mir dann auch prompt in die Filiale statt vor die Haustür gestellt wurde. Mit Hilfe bekam ich es heim, als dann bald das Solarmodul (in einem Riesenkarton) ankam konnte der Aufbau starten.
</p>
<p>Die beigelegte Anleitung empfand ich als weniger klar als eine von Ikea, aber es war machbar. Der Ständer kam als zwei Aluminiumgabeln, die unten an die Solarzelle geschraubt werden mussten und am Ende in einer Gummiunterlage gesteckt wurden. Der Wechselrichter musste an die Stromkabel der Solarzelle angeschlossen werden. Dann ab in die Sonne damit und den Wechselrichter mit der Steckdose verbinden. Schon sollte der Strom fließen. Jetzt nur noch die Meldung an den Vermieter und die Bundesnetzagentur machen, letzteres läuft über <a href="https://www.marktstammdatenregister.de/MaStR">ein Onlineformular</a> und war kein Problem.</p>
<h4>Unangenehmer Wechselrichter
</h4>
<p>Nur: Mir war erst unklar, ob das alles wirklich funktionierte. Hier im Haus ist keine Technik installiert um das abzulesen und der Wechselrichter hat kein Display. Zwar habe ich ein Strommessgerät, aber mir war unklar ob das auch mit eingehendem Strom zurechtkommen würde. Mitgeliefert war nichts. Stattdessen soll man eine App auf sein Telefon installieren, den Wechselrichter ins Wlan lassen und dann in der App die produzierte Strommenge ablesen. Welche App das ist hängt vom Modell ab, in meinem Fall war es TSUN Smart. Proprietär, mit Accountpflicht, nur im Playstore und ohne freie Alternative. Noch dazu stammt TSUN aus China. Das war also schon vom Prinzip Mist.
</p>
<p>Am liebsten hätte ich den Wechselrichter gar nicht ins Internet gelassen, aber man wird praktisch dazu gezwungen: Statt 400W auszugeben ist er auf 200W gedrosselt. Laut Priwatts Webseite würde der (oder ein?) Tsun 400 automatisch entdrosselt, wenn er zwei Wochen im Internet war. Also musste die Appanbindung und Internetverbindung hergestellt werden.</p>
<div class="serendipity_imageComment_img"><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/priwatt_support_falscheintrag.png'><!-- s9ymdb:1946 --><img class="serendipity_image_center" width="800" height="203" srcset="https://www.onli-blogging.de/uploads/priwatt_support_falscheintrag.1200W.serendipityThumb.png 2600w,https://www.onli-blogging.de/uploads/priwatt_support_falscheintrag.800W.serendipityThumb.png 1200w,https://www.onli-blogging.de/uploads/priwatt_support_falscheintrag.400W.serendipityThumb.png 800w" src="https://www.onli-blogging.de/uploads/priwatt_support_falscheintrag.serendipityThumb.png" loading="lazy" alt=""></a>
</div>
<figcaption class="serendipity_imageComment_txt">Diese Erklärung ist Priwatts Webseite entnommen, für mich war sie falsch.</figcaption><p>Nach zwei Wochen wurde die Drosselung aber nicht aufgehoben. Stattdessen – und das erklärt eine weitere Hilfeseite, die unter dem Kontaktformular aufpoppte während ich eine Supportanfrage an Priwatt formulierte – kann man die Drosselung selbst über die App lösen. Dafür geht man auf im Hamburgermenü oben rechts auf <em>"Device List"</em>, klickt dann auf die <em>"…"</em> rechts neben dem Microinverter, wählt <em>"Remote Control"</em>, wechselt den Tab auf <em>"Single Command"</em>, dann den <em>"Command Name"</em> auf <em>"Set Output Coefficient(G3)"</em> und schreibt bei <em>"inputs"</em> 100(!) rein. Koeffizient ist also Blödsinn, das ist eine Prozentangabe, und die Menüführung ist absurd.
</p>
<p>Priwatt als deutsche Firma verkauft da also IoT-Zeugs aus China. Und sowas hat nicht umsonst den Spitznamen Internet of Shit. Die App wird garantiert nicht die Laufzeit der Hardware funktionieren und weder der Wechselrichter im Netzwerk noch die App auf dem Telefon ist der Sicherheit zuträglich. Ich hätte da viel lieber eine simple Anzeige am Wechselrichter oder an der Steckdose im Set gehabt, ohne jegliche Nutzung von Netzwerktechnik. Aber das müsste ich nun selbst nachrüsten und dabei hoffen, dass der TSUN 400 ohne Internetanbindung nicht seine Funktion einstellt.</p>
<h4>Bisherige Leistung
</h4>
<p>Immerhin, ihren Kernzweck erfüllt die App bisher gut. Eine Übersichtsseite zeigt recht hübsch die aktuelle Produktion und jeweils wieviel heute, im Monat, im Jahr und insgesamt zusammenkam. Die zweite Seite präsentiert das nochmal mit ordentlich gemachten Diagrammen und dadurch den zeitlichen Verlauf. Das half mir tatsächlich um die Leistung der Anlage zu optimieren, da so klar wurde, dass der Schatten des Balkons der Nachbarn an der ersten Position früher als erwartet auf die Solarzelle fiel. Die Anlage zog um, die Stromproduktion verbesserte sich.</p>
<ul class="s9y_gallery plainList"><li class="s9y_gallery_item"><a class="serendipity_image_link" href="https://www.onli-blogging.de/uploads/tsun_smart_overview.png"><!-- s9ymdb:1945 --><img class="s9y_gallery_image" width=150 srcset="https://www.onli-blogging.de/uploads/tsun_smart_overview.800W.serendipityThumb.png 1200w,https://www.onli-blogging.de/uploads/tsun_smart_overview.400W.serendipityThumb.png 800w" src="https://www.onli-blogging.de/uploads/tsun_smart_overview.serendipityThumb.png" alt=""></a></li><li class="s9y_gallery_item"><a class="serendipity_image_link" href="https://www.onli-blogging.de/uploads/tsun_smart_diagram.png"><!-- s9ymdb:1944 --><img class="s9y_gallery_image" width=150 srcset="https://www.onli-blogging.de/uploads/tsun_smart_diagram.800W.serendipityThumb.png 1200w,https://www.onli-blogging.de/uploads/tsun_smart_diagram.400W.serendipityThumb.png 800w" src="https://www.onli-blogging.de/uploads/tsun_smart_diagram.serendipityThumb.png" alt=""></a></li>
</ul>
<p>Sie erreichte jetzt dieses Niveau: Ich schreibe diesen Artikel etwas im Voraus, heute war ein sonniger Tag. An dem kamen laut App 2,36 kWh zusammen. Diesen Monat waren es bisher 37,57 kWh, da der erste Monat ist das auch die bisherige Jahresleistung. Es wäre bestimmt mehr gewesen, wenn die ersten zwei Wochen nicht gedrosselt gewesen wären.
</p>
<p class="wl_nobottom">Jetzt bin ich gespannt wieviel das Balkonkraftwerk wirklich produzieren kann, die prognostizierten 435 kWh erscheinen mir optimistisch. Aber selbst wenn es etwas weniger ist: Letztes Jahr hat mein Haushalt nur 1400 kWh verbraucht. Selbst wenn das mit Kind jetzt etwas mehr wird könnte der Solarstrom einen relevanten Prozentsatz ersetzen.</p>
<img src="https://ssl-vg03.met.vgwort.de/na/4dd978f50c5c4a22b6e62ce8638e6e54" width="1" height="1" alt="">
Mon, 01 Jul 2024 09:29:00 +0200https://www.onli-blogging.de/2383/guid.htmlnachhaltigkeitGelöschte Bilder auf microSD-Karte wiederherstellen
https://www.onli-blogging.de/2380/Geloeschte-Bilder-auf-microSD-Karte-wiederherstellen.html
Linuxhttps://www.onli-blogging.de/2380/Geloeschte-Bilder-auf-microSD-Karte-wiederherstellen.html#commentshttps://www.onli-blogging.de/wfwcomment.php?cid=23806https://www.onli-blogging.de/rss.php?version=2.0&type=comments&cid=2380[email protected] (onli)
<p>Bei mir waren durch eine Fehlkonfiguration tausende Bilder (.jpgs) von meinem Androidtelefon gelöscht worden. </p>
<div class="serendipity_imageComment_img"><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/sd_image_recreation_ki_cover.jpg'><!-- s9ymdb:2002 --><img class="serendipity_image_center" width="400" height="400" srcset="https://www.onli-blogging.de/uploads/sd_image_recreation_ki_cover.800W.serendipityThumb.jpg 1200w,https://www.onli-blogging.de/uploads/sd_image_recreation_ki_cover.400W.serendipityThumb.jpg 800w" src="https://www.onli-blogging.de/uploads/sd_image_recreation_ki_cover.serendipityThumb.jpg" loading="lazy" alt=""></a>
</div>
<figcaption class="serendipity_imageComment_txt">KI-generiertes Cover</figcaption><p>Zum Glück lagen sie auf einer microSD-Karte. Um sie zu retten brauchte es daher nur einen Kartenleser (ich kaufte <a href="https://www.galaxus.de/en/s1/product/hama-usb-30-sdmicrosd-card-reader-silver-usb-30-card-readers-2585992">diesen von Hama</a>) und ein Linuxsystem. Unter Linux installierte ich <a href="https://foremost.sourceforge.net/">foremost</a>:</p>
<pre class="code">sudo xbps-install foremost</pre>
<p>Dann musste ich die Karte einstecken, aber nicht mounten. Ich schaute, welches Gerät unter /dev/sd* hinzugefügt wurde, bei mir war das /dev/sde samt einer Partition unter /dev/sde1. Die konnte ich von foremost durchsuchen lassen:</p>
<pre class="code">sudo foremost -v -t jpg -i /dev/sde1</pre>
<p>Das packte etwa 2000 Bilder in den Ordner <strong>output/jpg/</strong>. Dann wiederholte ich das in einem zweiten Ordner, aber mit dem Parameter <code>-d</code>:</p>
<pre class="code">sudo foremost -v -d -t jpg -i /dev/sde1</pre>
<p>Aus der Manpage:</p>
<blockquote><p class="wl_nobottom">-d Turn on indirect block detection, this works well for Unix file systems.</p>
</blockquote>
<p>Und tatsächlich, das stellte soweit ich sehen konnte gleich alle verloren geglaubten Bilder wieder her, über 5000.
</p>
<p>Ein paar Anmerkungen:</p>
<ul>
<li>Das hat nur funktioniert, weil die SD-Karte im portablen Modus war. Frühere Androidversionen konnten sie stattdessen auch in das System integrieren, dabei wird sie wohl verschlüsselt, auf jeden Fall war auf einer solchen in meinem Test keine Bilder auffindbar.</li>
<li>Wären es nicht .jpgs gewesen, hätte foremost wahrscheinlich trotzdem geholfen, es unterstützt einige weitere Formate.</li>
<li>Wären die Bilder auf dem internen Speicher des Telefon gespeichert gewesen, hätte ich keine Möglichkeit gekannt sie wiederherzustellen. Denn auf den kann nicht als Blockgerät zugegriffen werden.</li>
<li>Es gibt im Playstore zwar eine ganze Reihe von Anwendungen, die das Wiederherstellen von Bildern direkt auf dem Telefon versprechen. Die können aber nicht funktionieren, weil diese Apps keinen Zugriff auf die rohen Blöcke des Speichermediums haben. Stattdessen durchsuchen sie wohl alle gespeicherten Dateien, und weil viele Systeme dem Nutzer unbekannte integrierte Papierkörbe haben finden die Apps dann manchmal Bilder wieder, ist meine Theorie. Aber im Grunde sind sie eine Betrugsmasche.</li>
<li>Weil es um diese rohen Blöcke geht, die beim Löschen übrigbleiben, ist es wichtig so schnell wie möglich die Karte aus dem Telefon zu entfernen bzw es auszuschalten. Werden die Blöcke überschrieben sind sie weg, und genau das würde im normalen Betrieb nach einer Weile passieren.</li>
<li>Meine vorherige Backupstrategie war das Spiegeln der Bilder mittels Syncthing. Doch genau daher kam das Problem, eine Fehlkonfiguration von Syncthing beim Einrichten eines neuen Telefons löschte die alten Bilder auf allen synchronisierten Geräte. Was das zweite mal ist, dass Syncthing mir durch eine unklare Konfiguration beinahe Daten stiehlt. Ich werde die Software jetzt aufgeben - technisch funktioniert sie, aber die Usability ist zu schlecht.</li>
<li>Dabei war die Synchthingstrategie eigentlich nahe an einem echten Backup, denn normalerweise war das Backuptelefon aus, nur gelegentlich wurde die Sicherung übertragen. Das Löschen der Bilder wäre also nicht synchronisiert worden. Doch weil ein neues Telefon einzurichten war, waren ausnahmsweise alle Geräte zeitgleich an.
</ul>
<img src="https://ssl-vg03.met.vgwort.de/na/baf2a838b91f417299d18eee50e2ee77" width="1" height="1" alt="">
Mon, 17 Jun 2024 20:26:00 +0200https://www.onli-blogging.de/2380/guid.htmlWie betreibt man günstig Webseiten?
https://www.onli-blogging.de/2377/Wie-betreibt-man-guenstig-Webseiten.html
Technikzeugshttps://www.onli-blogging.de/2377/Wie-betreibt-man-guenstig-Webseiten.html#commentshttps://www.onli-blogging.de/wfwcomment.php?cid=23772https://www.onli-blogging.de/rss.php?version=2.0&type=comments&cid=2377[email protected] (onli)
<p>Vor einigen Jahren staunte ich darüber, wie hohe Beträge andere unter einem Blogartikel als Internetkosten auflisteten. Darunter oft ein großer Batzen für die verschiedenen Server, die ihre Blogs und andere Webseiten betrieben. Ein paar Jahre später sind auch meine eigenen Kosten in einem Bereich, die mich damals entsetzt hätte. Dabei gibt es einige Wege, diese nicht ausufern zu lassen – und regelmäßig optimiere ich meine Seiten entsprechend. Als Gedankenstütze für mich und als Tipp für andere Webseitenbetreiber liste ich im Folgenden auf, wie da derzeit mein Stand ist.
</p>
<p><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/taylor-vick-M5tzZtFCOfs-unsplash.jpg'><!-- s9ymdb:2003 --><img class="serendipity_image_center" width="800" height="449" srcset="https://www.onli-blogging.de/uploads/taylor-vick-M5tzZtFCOfs-unsplash.jpg 3956w,https://www.onli-blogging.de/uploads/taylor-vick-M5tzZtFCOfs-unsplash.1200W.serendipityThumb.jpg 2600w,https://www.onli-blogging.de/uploads/taylor-vick-M5tzZtFCOfs-unsplash.800W.serendipityThumb.jpg 1200w,https://www.onli-blogging.de/uploads/taylor-vick-M5tzZtFCOfs-unsplash.400W.serendipityThumb.jpg 800w" src="https://www.onli-blogging.de/uploads/taylor-vick-M5tzZtFCOfs-unsplash.serendipityThumb.jpg" loading="lazy" alt=""></a></p>
<h4>Günstig hosten
</h4>
<p>Die Kosten für den Server können massiv schwanken. Es gibt von der Leistung große Unterschiede, aber auch abseits der Leistung variieren die Kosten stark. Beispielsweise war Scaleway zu Beginn eine sehr günstige Option, nach ein paar Umbauten konnte von günstig keine Rede mehr sein.
</p>
<p>Diese Optionen sehe ich derzeit:</p>
<dl>
<dt><p class="wl_notopbottom">Statische Seiten umsonst bei Github oder netlify</p>
</dt>
<dd><p class="wl_notop">Pures HTML auszuliefern ist für Hoster unfassbar billig. Entsprechend gibt es einige Dienste, die das kostenlos anbieten. Der größte dürfte Github sein, <a href="https://pages.github.com/">Github Pages</a> kann sogar alternativ mit Mark­down-Quell­da­tei­en umgehen, ich nutze den Dienst für <a href="https://github.com/onli/paskuda.biz/tree/gh-pages">meine alte Projektseite</a>. Aber auch <a href="https://www.netlify.com/">netlify</a> bietet das an, sustaphones HTML-Ord­ner wird so aus <a href="https://gitlab.com/onli/sustaphones">dem Git­lab-Re­po­si­to­ry</a> zur Webseite gemacht. Es dürfte einige weitere Alternativen geben.
</p>
<p class="wl_nobottom">Wenn man also eine Seite als statische Seite aufbauen kann, und sei es wie bei sustaphones via einem handgeschriebenen Generator, kann man sich die Serverkosten sparen. Früher war bei solchen Diensten dann oft der Zugriff über eine eigene Domain hinter der Bezahlschranke, seit Microsoft Github übernommen hat ist das Geschichte.</p>
</dd>
<dt><p class="wl_notopbottom">Uberspace für das Sammelsorium</p>
</dt>
<dd><p class="wl_notop"><a href="https://uberspace.de/de/">Uberspace</a> ist ein eigentümliches Modell, eignet sich deswegen aber sehr gut für eine ganze Reihe von Webdiensten. Auf der einen Seite kriegt man hier eben keinen leeren Linuxserver, sondern einen komfortabel eingerichteten Account bei einem geteilten Server (shared Hosting) mit voreingestelltem Ordner für HTML-Sei­ten oder PHP-An­wen­dung­en. Auf der anderen Seite bekommt man SSH-Zu­griff und darf Anwendungen installieren, wofür es sogar eine ganze Reihe von <a href="https://lab.uberspace.de/">hilfreichen Anleitungen</a> gibt. Das Aufschalten der eigenen Domain ist auch kein Problem und Uberspace eignet sich gut als Email-Ho­ster, ist der Emailserver samt Weboberfläche doch direkt eingerichtet, praktisch eine kostenlose Dreingabe.
</p>
<p>Da ein Uberspace eine ausdrücklich geteilte Serverressource ist passt das nicht für jede Webanwendung, aber einen kleiner Blog wie diesen hier, für einen Feedreader <a href="https://www.onli-blogging.de/2016/FreshRSS.html">wie FreshRSS</a> und eine Synchronisationlösung <a href="https://www.onli-blogging.de/2375/Kalender-und-Kontakte-synchronisieren-Android,-Bakal.html">wie Baïkal</a> passt es hervorragend. Der reguläre Preis steht bei 5€ im Monat, kann aber auf 1€ runtergeregelt werden, wobei er dann nach drei Monaten automatisch wieder hochgesetzt wird.</p>
</dd>
<dt><p class="wl_notopbottom">Günstige Hoster: Hetzner, vultr, Angebote</p>
</dt>
<dd><p class="wl_notop">Wenn die Seite einfach nicht statisch ist, z.B. weil man das wunderbare <a href="https://docs.s9y.org/">Serendipity</a> als Blogengine nutzen will und das nunmal auf PHP basiert, gibt es immer noch eine Reihe von Hostern zur Auswahl. Meiner Erfahrung nach günstig und gut sind dabei insbesondere <a href="https://www.hetzner.com/cloud/">Hetzner Cloud</a> und <a href="https://www.vultr.com/">vultr</a>. Hetzner hat dabei derzeit einen monatlichen Startpreis von 4,51€ für 2 ARM-Prozessoren und 4GB Ram, alternativ gibt es x86-Prozessoren von Intel und AMD, wobei die AMD-An­ge­bo­te meist besser sind. Vultr startet bei $3.50, bietet dann allerdings nur 0.5GB Ram und einen einzelnen virtualisierten Prozessorkern – nicht viel, aber für einen Blog wie diesen hier reicht das durchaus. Beide Anbieter werden nochmal günstiger wenn man auf IPv4 verzichten kann. <a href="https://www.onli-blogging.de/1916/Emails-fuer-einen-IPv6-Server-trotz-Cloudflare-per-Uberspace.html">Via Cloudflare</a> kann das gehen, damit als Zwischenschicht bliebe die Seite auch für Besucher ohne IPv6 erreichbar.
</p>
<p class="wl_nobottom">Alternativ gibt es immer wieder auch spezielle Angebote über Seiten wie <a href="https://lowendtalk.com/">lowendtalk.com</a>. Darüber hatte ich beispielsweise einen etwas besseren Server bei <a href="https://naranja.tech/">naranja.tech</a> günstig gemietet, der seitdem einer meiner Webanwendung problemlos ausliefert. Andererseits hatte ich bei einem ähnlichen Angebot eine negative Erfahrung mit <a href="https://contabo.com/de/">contabo</a>, die nach dem Abschluss des Angebots auf einmal eine Kopie des Personalausweis (per Email!) sehen wollten, was aus rechtlichen Gründen Pflicht sei – was so nicht stimmt, wie ich durch meine Erfahrung mit all den anderen Hostern eben weiß. Man kann mit alternativen Hostern also auch auf die Nase fallen, daher würde ich im Zweifel immer erstmal zu Hetzner oder vultr raten, je nach Profil der Webanwendung.</p>
</dd>
<dt><p class="wl_notopbottom">Ein stärkerer Server für mehrere Seiten</p>
</dt>
<dd><p class="wl_notop">Eine Optimisierungsmöglichkeit, die ich nicht nutze, wäre das Mieten eines einzigen stärkeren Servers. Auf den könnten dann alle Webseiten und Webdienste gemeinsam installiert werden. Das würde sich schnell rechnen. Ich mache das nicht, weil ich gerade für eine meiner Webanwendungen die dort gespeicherten Nutzerdaten bestmöglichst schützen will. Aber ich will auch das Risiko eines Hosterausfalls verteilen. Wenn mal ein Rechenzentrum <a href="https://www.datacenterdynamics.com/en/opinions/ovhclouds-data-center-fire-one-year-on-what-do-we-know/">abbrennt</a> trifft es bei mir nicht alle Seiten auf einmal.
</p>
<p>Aber bei einer Vielzahl von eigenen Seiten ohne die Nutzerdatenkomponente könnte das eine gute Option sein, mit einem guten Backup und Installationsautomatisierungen via z.B. <a href="https://www.ansible.com/">Ansible</a> wäre das Risiko reduzierbar.</p>
</dd>
<dt><p class="wl_notopbottom">Einen Heimserver nutzen</p>
</dt>
<dd><p class="wl_notop">Diese Optimierung dagegen nutze ich: Der Raspberry Pi im Wohnzimmerschrank beherbergt einen Teil der Hintergrundinfrastuktur einer meiner Webanwendungen, die relativ viel Arbeitsspeicher verbraucht. Das bei einem Hoster laufen zu lassen wäre relativ teuer geworden. Das war der Raspberry Pi auch, aber eben nur einmal, er hat sich längst gerechnet.
</p>
<p>So ein kleiner Heimserver wäre auch eine gute Alternative für Uberspace für diverse selbstgehostete Webdienste, vor allem wenn die Emails nicht darüber laufen.</p>
</dd>
</dl>
<h4>Domainkosten senken
</h4>
<p>Wie oben beschrieben die Serverkosten anzugehen hilft, aber es bleiben die jährlichen Kosten für die Domains. Sammeln sich davon erstmal ein paar an, können die Kosten für diese durchaus wehtun. Gerade, wenn es nicht nur solche mit der Endung .de sind, steigen die Preise leider schnell. Lange Jahre habe ich all meine Domains von Hosteurope verwalten lassen, was mir damals vom Preis her okay schien. Jetzt habe ich nochmal verglichen und festgestellt: Es geht deutlich günstiger.
</p>
<p>Mein Trick dafür war <a href="https://developers.cloudflare.com/registrar/">Cloudflare Registrar</a>. Die Domainverwaltung des US-Kon­zerns reicht einfach nur die Kosten der Domain bei der Registrierungsstelle durch. Günstiger geht es kaum. Zum Vergleich: Bei Hosteurope zahlte ich für meine .digital-Domain zuletzt stolze 53,88 EUR (mit Steuern). Bei dem Transfer zu Cloudflare waren die Kosten für das Folgejahr 27.18 USD, also etwa 25 EUR. Der halbe Preis und das bei einer Höhe, wo das schon etwas ausmacht. Dazu sind das ja wie Serverkosten ebenfalls laufende Kosten, die Ersparnisse werden im Laufe der Zeit immer mehr.
</p>
<p>Leider kann Cloudflare .de-Domains derzeit nicht verwalten. Bei denen sind die 12€ von Hosteurope aber wohl auch relativ vernünftig. Wer da aber auch eine vertrauenswürdige günstigere Alternative kennt, gerne in die Kommentare.</p>
<hr /><p>Über die Serverkosten dürften alle Webseitenbetreiber schon nachgedacht haben, dass es bei den Kosten für die Domains auch Einsparpotential gibt könnte neuer sein.
</p>
<p>Ansonsten ist das nur mein Stand, ohne Anspruch auf vollständige Marktübersicht, und viel ist auch situationsabhängig. Die 2,50€ für das kleine Webhostingpaket (samt Domain!) <a href="https://www.manitu.de/webhosting/webhosting-50-gb/">von Manitu</a> z.B. ist ein sehr gutes Angebot, beinhaltet wie uberspace Emails und Manitu ist dabei auch noch ein vertrauenswürdiger Hoster – mittlerweile ist das auch nicht mal mehr nur auf PHP beschränkt, das ist auch für mein Setup einen zweiten Blick wert. Wer gar keinen eigenen Server haben will wird vielleicht auch mit einem Blog bei <a href="https://wordpress.com">wordpress.com</a> glücklich. Oder sucht einen kostenlosen Webseitenhoster wie <a href="https://neocities.org/">Neocities</a>. Kostenlos sei auch <a href="https://www.oracle.com/cloud/free/">Cloud Free Tier</a> von Oracle – auf dem Papier ist das eines der besten kostenlosen Angebote und stärker als die günstigen bezahlten, aber ob man ausgerechnet Oracle bei sowas vertrauen will sei mal dahingestellt.
</p>
<p class="wl_nobottom">Man sieht, es gibt einige Möglichkeiten für eine oder mehrere Webseiten nicht zu viel zu zahlen.</p>
<img src="https://ssl-vg03.met.vgwort.de/na/5095ea09c4b849a699dbc1ecefa905d6" width="1" height="1" alt="">
Mon, 03 Jun 2024 09:05:00 +0200https://www.onli-blogging.de/2377/guid.htmlKalender und Kontakte synchronisieren (Android, Baïkal)
https://www.onli-blogging.de/2375/Kalender-und-Kontakte-synchronisieren-Android,-Bakal.html
Linuxhttps://www.onli-blogging.de/2375/Kalender-und-Kontakte-synchronisieren-Android,-Bakal.html#commentshttps://www.onli-blogging.de/wfwcomment.php?cid=23755https://www.onli-blogging.de/rss.php?version=2.0&type=comments&cid=2375[email protected] (onli)
<p>Bei Androidtelefonen ohne Googledienste, wenn beispielsweise LineageOS ohne diese genutzt wird, werden normalerweise keine Daten in der Cloud gesichert. Wenn dann ein Backuptelefon dazukommt oder das Hauptgerät gewechselt werden soll, müssen die Kontakte umständlich per Datei übertragen werden, der Standardkalender Etar kann seine Einträge sogar <a href="https://github.com/Etar-Group/Etar-Calendar/issues/553">gar nicht exportieren</a>. Da genau so ein Wechsel bei mir <a href="https://www.onli-blogging.de/2362/LineageOS-droht-Wegfall-von-51-Telefonen.html">anstand</a> habe ich endlich eine Synchronisierung von Kalender (CalDAV) und Kontakten (CardDAV) eingerichtet. Meine Wahl fiel auf <a href="https://sabre.io/baikal/">Baïkal</a>, gehostet auf Uberspace.</p>
<h4>Server: Baïkal
</h4>
<p>Für Baïkal sprach, dass es sich als leichtgewichtige Lösung präsentiert, dessen <a href="https://sabre.io/baikal/install/">Installationsanleitung</a> auch noch simpel schien. Ein Teil davon ist, dass es mit PHP umgesetzt wurde – und PHP-An­wen­dun­gen sind eigentlich generell einfach zu installieren, harmonisieren auch gut mit Hostern wie Uberspace. Uberspace hatte ich bereits zur Hand; stattdessen sollte sich auch jeder andere Hoster eignen, auf dem eigene Serverdienste installiert werden können.
</p>
<p><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/baikal.webp'><!-- s9ymdb:1942 --><img class="serendipity_image_center" width="800" height="444" srcset="https://www.onli-blogging.de/uploads/baikal.1200W.serendipityThumb.webp 2600w,https://www.onli-blogging.de/uploads/baikal.800W.serendipityThumb.webp 1200w,https://www.onli-blogging.de/uploads/baikal.400W.serendipityThumb.webp 800w" src="https://www.onli-blogging.de/uploads/baikal.serendipityThumb.webp" loading="lazy" alt=""></a>
</p>
<p>Eine Alternative zu Baïkal schien mir auf den ersten Blick <a href="https://sabre.io/dav/">sabre/dav</a> zu sein, aber <a href="https://sabre.io/dav/gettingstarted/">dessen Ansatz</a> einer manuell zu editierenden <strong>server.php</strong> verriet dann, dass es sich tatsächlich um einen (sogar von Baïkal genutzten) Entwicklungsbaustein und nicht um eine Lösung für Anwender handelt. Ansonsten stolperte ich über <a href="https://radicale.org/v3.html">Radicale</a>, aber als Py­thon-Pro­gramm wäre das umständlich zu betreiben gewesen. <a href="https://www.davical.org/index.php">DAViCal</a> klang da als PHP-Pro­gramm besser, aber mir entging, dass es auch CardDAV unterstützt hätte. Viel mehr Lösungen abseits von Nextcloud sah ich nicht, was mir eine zu große Lösung mit zu vielen Zusatzfunktionen war. Am Ende blieb es also bei Baïkal, das dann auch tatsächlich so einfach einzurichten war wie erhofft.</p>
<h5>Installation auf Uberspace
</h5>
<p>Es gibt in der Dokumentation von Uberspace <a href="https://lab.uberspace.de/guide_baikal/">eine Anleitung</a>, die ich leicht anpassen würde.
</p>
<p>Per SSH auf dem Uberspace, ziehen wir zuest <a href="https://github.com/sabre-io/Baikal/releases">das neueste Release</a> von Baïkal. Derzeit wäre das:</p>
<pre class="code">wget https://github.com/sabre-io/Baikal/releases/download/0.9.5/baikal-0.9.5.zip</pre>
<p>Dieses Archiv muss nun entpackt werden:</p>
<pre class="code">unzip baikal*.zip</pre>
<p>Und schon haben wir den Ordner <strong>baikal</strong> zur Hand, der nach <strong>/var/www/virtual/</strong> verschoben werden sollte:</p>
<pre class="code">mv baikal /var/www/virtual/$USER/</pre>
<p>Damit das ganze dann auch von außen zugreifbar ist, setzen wir einen Symlink im Verzeichnis <strong>html/</strong>:</p>
<pre class="code">ln -s /var/www/virtual/$USER/baikal/html/ $HOME/html/baikal</pre>
<p>Jetzt kann <code>https://$USER.uber.space/baikal</code> im Browser angesteuert und die Installation fertiggestellt werden, was bei Verwendung von SQLite auch nichts weiter erfordert. Passwort für den Adminnutzer wählen, damit steht die Instanz.
</p>
<p>In der nun auftauchenden Verwaltungsoberfläche sollte nun aber noch ein Nutzer angelegt werden. Hier wird ein Nutzername, ein Anzeigename und nochmal ein Passwort vergeben. Diesem Nutzer wird automatisch ein Kalender und ein Kontaktbuch angelegt, damit haben wir nun etwas, mit dem die Synchronisation laufen kann.</p>
<h4>Android: DAVx⁵ einrichten
</h4>
<p>Überraschenderweise läuft diese Synchronisation nun nicht direkt über die Anwendung für die Kontakte bzw den Kalender. Stattdessen braucht es eine Zwischenschicht, welche die Synchronisation zwischen Telefon und Server übernimmt. Eine solche (und wohl die Standardlösung) ist <a href="https://www.davx5.com/">DAVx⁵</a>.</p>
<div class="serendipity_imageComment_img"><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/DAVx_einrichtung.webp'><!-- s9ymdb:1939 --><img class="serendipity_image_center" width="225" height="400" srcset="https://www.onli-blogging.de/uploads/DAVx_einrichtung.800W.serendipityThumb.webp 1200w,https://www.onli-blogging.de/uploads/DAVx_einrichtung.400W.serendipityThumb.webp 800w" src="https://www.onli-blogging.de/uploads/DAVx_einrichtung.serendipityThumb.webp" loading="lazy" alt=""></a>
</div>
<figcaption class="serendipity_imageComment_txt">Die richtige Einstellung ist die erste.</figcaption><p>Installiert werden sollte die App <a href="https://f-droid.org/de/packages/at.bitfire.davdroid/">über F-Droid</a>. Danach starten, die angefragten Rechte geben. Nun öffnet sich das Hauptmenü. Dort unten rechts auf <code>+</code> drücken. In der nun auftauchenden Auswahl ist <em>Login with URL and user name</em> bereits ausgewählt. <code>Continue</code>. Im nun auftauchenden Menü müssen wir die Baikaldaten eingeben. Lief die Installation wie oben beschrieben ist das zuerst <code>https://$USER.uber.space/baikal/dav.php/</code>, wobei $USER der Name des genutzten Uberspace ist (und bei einem anderen Hoster ist die URL entsprechend anders). Der untendrunter zusätzlich angefragte Nutzername ist der des im letzten Schritt der Installation angelegten Baï­kal-Nut­zers (Vorsicht: Nicht der Anzeigename, ich verhedderte mich da), eine Emailadresse ist (für die Anzeige in Android) auch einzugeben, zuletzt folgt das vergebene Passwort.
</p>
<p>Einmal noch bestätigen und die DAV-In­te­gra­tion sollte stehen.</p>
<h4>Android: Kontakte übertragen
</h4>
<p>Androids Standardanwendung für Kontakte, die bei ROMs wie LineageOS und CalyxOS genutzt wird, macht uns die Übertragung der Kontakte einfach. In den Einstellungen gibt es den Punkt <em>Default accounts for new contacts</em>. Dort wählen wir den nun verfügbaren DAV-Ac­count aus. Weiter unten gibt es den Menüpunkt <em>Export</em>, die verfügbare .vcf-Da­tei ist genau richtig. Denn die können wir nun direkt wieder importieren.</p>
<div class="serendipity_imageComment_img"><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/Kontakte_import.webp'><!-- s9ymdb:1940 --><img class="serendipity_image_center" width="225" height="400" srcset="https://www.onli-blogging.de/uploads/Kontakte_import.800W.serendipityThumb.webp 1200w,https://www.onli-blogging.de/uploads/Kontakte_import.400W.serendipityThumb.webp 800w" src="https://www.onli-blogging.de/uploads/Kontakte_import.serendipityThumb.webp" loading="lazy" alt=""></a>
</div>
<figcaption class="serendipity_imageComment_txt">Dank Import und Export in den Einstellungen sind die Kontakte schnell übertragen.</figcaption><p>So landen die alten Kontakte alle im Card­DAV-Ac­count, DAVx⁵ kann sie nun synchronisieren. Einmal manuell anstoßen, schon sollte die Weboberfläche von Baïkal die Kontakte gezählt haben.</p>
<h4>Android: Kalender übertragen
</h4>
<p>Beim Kalender macht es uns der Standardkalender Etar leider nicht so einfach. Denn der hat schlicht keine Funktion, mit der Termine von wahrscheinlich bisher genutzten Off­line-Ka­len­dern exportiert werden können. Doch glücklicherweise sind die Termine nicht Etar vorbehalten, wir können also ein anderes Programm für den Import und den Export wählen.
</p>
<p>Ich hielt mich da an den Vorschlag <a href="https://github.com/Etar-Group/Etar-Calendar/issues/553#issuecomment-1440767178">dieses Kommentar</a> und installierte erstmal den <a href="https://f-droid.org/packages/com.simplemobiletools.calendar.pro/">Simple Calendar Pro</a>. Das ist zwar Teil <a href="https://www.androidauthority.com/simple-mobile-tools-acquisition-3391041/">einer gekaperten Softwaresammlung</a>, die Version in F-Droid stammt aber von vor der Übernahme. In den Einstellungen der Anwendungen war dann <em>CalDAV sync</em> zu aktivieren, alle Kalender auswählen, dann einmal synchronisieren lassen (der Kommentar meint per Wischgeste von oben nach unten, visuelles Feedback sah ich dazu nicht, aber die Synchronisation lief so oder so durch). Danach konnte wieder bei den Einstellungen ganz unten der Export in eine .ics-Da­tei durchlaufen.</p>
<div class="serendipity_imageComment_img"><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/simpleprocalendar.webp'><!-- s9ymdb:1941 --><img class="serendipity_image_center" width="225" height="400" srcset="https://www.onli-blogging.de/uploads/simpleprocalendar.800W.serendipityThumb.webp 1200w,https://www.onli-blogging.de/uploads/simpleprocalendar.400W.serendipityThumb.webp 800w" src="https://www.onli-blogging.de/uploads/simpleprocalendar.serendipityThumb.webp" loading="lazy" alt=""></a>
</div>
<figcaption class="serendipity_imageComment_txt">Die umfangreichen Einstellungen des Simple Calendar Pro lösen dann auch den Transfer der alten Termine.</figcaption><p>Der Import aber ging nicht direkt, denn die Termine seien schon vorhanden – wieder komplizierter als bei den Kontakten, wo der Import in den DAV-Ac­count trotzdem startete. Hier ist die sich heikel anfühlende Lösung, einfach die alten Kalender zu löschen. Das machte ich in Etar. Danach lief der Import (im Simple Calendar Pro) in den Cal­DAV-Ac­count problemlos durch.</p>
<hr /><p>Ich schreibe diesen Artikel kurz nach der Einrichtung von dem ganzen und kann noch nicht mit Langzeiterfahrungen dienen. Sollten sich Probleme auftun, werde ich den Artikel editieren.
</p>
<p>Grundsätzlich finde ich es etwas schade, dass für diese Synchronisation überhaupt eine Serveranwendung nötig ist. Sowas könnte auch per P2P laufen, über eine kurze Abfrage gesichert. Aber nur <a href="https://f-droid.org/packages/org.decsync.cc/">DecSync CC</a> ist ein in diese Richtung gehender Ansatz, der Syncthing und ähnliche Anwendungen einspannt um Kalender und Kontakte zu synchronisieren. Doch <a href="https://github.com/39aldo39/DecSyncCC/issues">die Fehlerberichte</a> waren leider nicht vertrauenserweckend, außerdem wäre eine eigenständige Lösung sicher komfortabler.
</p>
<p>Wobei die Serverlösung den Vorteil hat, auch dann zu funktionieren wenn das alte Telefon nicht mehr verfügbar ist.
</p>
<p class="wl_nobottom">Generell wahrscheinlich ein Anwendungsfall, der durch die Cloudlösung von Google so weit dominiert wird, dass man sich glücklich schätzen muss überhaupt eine Alternative verfügbar zu haben. </p>
<img src="https://ssl-vg03.met.vgwort.de/na/1b14a3b19f984e4d872622f44dc28a6d" width="1" height="1" alt="">
Mon, 27 May 2024 08:51:00 +0200https://www.onli-blogging.de/2375/guid.htmlandroidFairphone verkackt den Umgang mit (LTT-)Kritik
https://www.onli-blogging.de/2371/Fairphone-verkackt-den-Umgang-mit-LTT-Kritik.html
LinuxMedienhttps://www.onli-blogging.de/2371/Fairphone-verkackt-den-Umgang-mit-LTT-Kritik.html#commentshttps://www.onli-blogging.de/wfwcomment.php?cid=23716https://www.onli-blogging.de/rss.php?version=2.0&type=comments&cid=2371[email protected] (onli)
<p>Als das Fairphone 5 vor einer kurzen Weile von dem Linus des You­tube-Chan­nels <a href="https://www.youtube.com/user/linustechtips">Linus Tech Tips</a> (LTT) ausführlich besprochen wurde, war das eine große Chance für die Firma. Fairphone ist bisher eher ein europäisches Ding und auch hier sicher nicht Mainstream, die zweite Vorstellung vor Millionen von Zuschauern (LTT hatte vorher schonmal <a href="https://www.youtube.com/watch?v=L1v3ZmfV_hw">das Fairphone 4 besprochen</a>) konnte der Reichweite für das sympathische Konzept eines fair produzierten und reparierbaren Telefons nur guttun. Dann war das Fazit <a href="https://www.youtube.com/watch?v=e-4RlKcinzc">im Video</a> aber leider durchwachsen:
</p>
<p><iframe
width="560"
height="315"
src="https://www.youtube-nocookie.com/embed/e-4RlKcinzc"
srcdoc="<style>*{padding:0;margin:0;overflow:hidden}html,body{height:100%}img,span{position:absolute;width:100%;top:0;bottom:0;margin:auto}span{height:1.5em;text-align:center;font:48px/1.5 sans-serif;color:white;text-shadow:0 0 0.5em black}</style><a href=https://www.youtube-nocookie.com/embed/e-4RlKcinzc?si=Eu1V52R3Fq4ya8Bn&autoplay=1><img width=560 height=420 loading=lazy src=https://img.youtube.com/vi/e-4RlKcinzc/hqdefault.jpg><span>▶</span></a>"
frameborder="0"
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen
></iframe>
</p>
<p>Es passte nicht zu den Anforderung von Linus, der das Gerät wohl wirklich eine ganze Weile für sich selbst getestet hatte, und zeigte sich technisch deutlich schwächer als andere Telefone in der Preisklasse.
</p>
<p>Aber darum soll es hier gar nicht gehen. Dass das Fairphone 5 nicht perfekt ist weiß jeder, der sich den fehlenden Kopfhöreranschluss ins Gedächtnis ruft. Viel schlimmer als ein eher negatives Review war die Reaktion von Fairphone, die sie in ihrem You­tube-Chan­nel <a href="https://www.youtube.com/watch?v=Q79Jl842B4g">als Reaktionsvideo veröffentlichten</a>:
</p>
<p><iframe
width="560"
height="315"
src="https://www.youtube-nocookie.com/embed/Q79Jl842B4g"
srcdoc="<style>*{padding:0;margin:0;overflow:hidden}html,body{height:100%}img,span{position:absolute;width:100%;top:0;bottom:0;margin:auto}span{height:1.5em;text-align:center;font:48px/1.5 sans-serif;color:white;text-shadow:0 0 0.5em black}</style><a href=https://www.youtube-nocookie.com/embed/Q79Jl842B4g?si=Norw9P7Y2NmMW5-g&autoplay=1><img width=560 height=420 loading=lazy src=https://img.youtube.com/vi/Q79Jl842B4g/hqdefault.jpg><span>▶</span></a>"
frameborder="0"
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen
></iframe>
</p>
<p>Mitgründer und Produktmanager Miquel Ballester Salvà zeichnet in dem Video leider das Bild einer Firma, die Kritik weder versteht noch mit ihr umgehen kann. Nun ist Ballester Salvà wahrscheinlich kein Medienprofi wie Linus und Fairphone für eine Telefonfirma (<a href="https://www.fairphone.com/wp-content/uploads/2023/01/Impact-investor-consortium-invests-E49-million-in-Fairphone.pdf">trotz Millioneninvestition</a>) immer noch eine kleinere, überbewerten muss man ein Verfehlen des richtigen Tons nicht. Aber man kann sich schon fragen, ob die feindselige Reaktion ein gutes Zeichen für den Nutzerfokus des Projekts ist. Und auf jeden Fall kann man sich anschauen, welche Reaktionen besonders daneben waren, wie es besser gegangen wäre. Ich werde da im Folgenden ein paar Beispiele diskutieren.
</p>
<p><em>Einschub zur Positionierung bzw meinen Prämissen: Das Fairphone 5 ist die Topempfehlung meiner Filterseite für nachhaltige Telefone, <a href="https://www.sustaphones.com/">sustaphones</a>, gefolgt vom Fairphone 4. Ich unterstütze die erklärten Ziele der Firma von nachhaltigerer, reparierbarer Hardware ausdrücklich. Allerdings besitze ich kein Fairphone, halte mich schon wegen des hohen Preis lieber an gebrauchte Hardware, und der fehlende Kopfhöreranschluss ist für mich ein Ausschlusskriterium. Seit dessen Entfernung in den neueren Modellen sehe ich das Projekt kritischer.</em></p>
<h4>Reaktionen im Detail
</h4>
<p>Ich werde die ausgesuchten Stellen beschreiben oder direkt zitieren, immer mit Links zu den jeweiligen Abschnitten.</p>
<h5>Ignorieren von Fehlern direkt zu Beginn
</h5>
<p><a href="https://youtu.be/Q79Jl842B4g?si=JZJ-SEKYcobfDxYZ&t=21">Es beginnt direkt holprig</a>. Gezeigt wird der Beginn des LTT-Videos, in dem Linus sich zum Fan der Nachhaltigkeitsziele des Projekts erklärt. Durch eine lange Unterstützung von Softwareupdates habe Fairphone auch viel Zeit, Probleme auszubessern – was gut sei wegen "solchen Dingen", dabei zeigt die Bildspur, wie das Fairphone mehrfaches Tippen auf den Bildschirm beim Abspielen eines Videos ignoriert.
</p>
<p><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/fairphone_broken_video.webp'><!-- s9ymdb:1933 --><img class="serendipity_image_center" width="800" height="450" srcset="https://www.onli-blogging.de/uploads/fairphone_broken_video.1200W.serendipityThumb.webp 2600w,https://www.onli-blogging.de/uploads/fairphone_broken_video.800W.serendipityThumb.webp 1200w,https://www.onli-blogging.de/uploads/fairphone_broken_video.400W.serendipityThumb.webp 800w" src="https://www.onli-blogging.de/uploads/fairphone_broken_video.serendipityThumb.webp" loading="lazy" alt=""></a>
</p>
<p>Ballester ignoriert diesen Fehler einfach. Er geht nur auf den Abschnitt zuvor ein. Dass er sich noch an den gleichen Lobgesang aus dem Review des <abbr title="Fairphone 4">FP4</abbr> erinnere, dass sie immer noch hier seien, mit 150 Leuten. Mit dem FP5 habe man nun ein Telefon geliefert, das leichter sei, eine bessere Kamera habe und genauso reparierbar. "Aber jetzt weiter mit dem Video".
</p>
<p>Das ist ein denkbar ungünstiger Einstieg. Der Zuschauer fragt sich, was es mit dem Fehler bei dem Video auf sich hatte. Ballester hätte das hier ansprechen können, hätte mindestens erwähnen müssen, dass er zum Fehler später noch komme. Da er das aber nicht erklärt, entsteht direkt zu Beginn der Eindruck, dass er eben nicht da ist um unangenehme Probleme zu erklären, sondern sie zu ignorieren versucht.</p>
<h5>Die Position der SD- und Simkarte
</h5>
<p><a href="https://youtu.be/Q79Jl842B4g?si=RQhgrTr5UoKJ29MO&t=180">Kurz darauf</a> kritisiert Linus die Position der Sim- und der SD-Kar­te. Um die zu wechseln muss man nämlich den Akku des Telefons entfernen. So cool es sei, dass der Akku leicht zu wechseln ist, warum müsse das so positioniert sein?
</p>
<p><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/fairphone_sdcard_slot.webp'><!-- s9ymdb:1934 --><img class="serendipity_image_center" width="800" height="450" srcset="https://www.onli-blogging.de/uploads/fairphone_sdcard_slot.1200W.serendipityThumb.webp 2600w,https://www.onli-blogging.de/uploads/fairphone_sdcard_slot.800W.serendipityThumb.webp 1200w,https://www.onli-blogging.de/uploads/fairphone_sdcard_slot.400W.serendipityThumb.webp 800w" src="https://www.onli-blogging.de/uploads/fairphone_sdcard_slot.serendipityThumb.webp" loading="lazy" alt=""></a>
</p>
<p>Ballester entgegnet: </p>
<blockquote><p class="wl_notopbottom">Wie oft wechselst du die Simkarte und die SD-Karte? [Jemand schmunzelt hörbar hinter der Kamera.] Ich glaube, ich habe das nur einmal gemacht.</p>
</blockquote>
<p>Das ist die falsche Antwort. Linus hatte nach dem Warum gefragt, diese Frage zu beantworten hätte hier gut gepasst. Dass Nutzer die Karten so selten wechseln könnte dabei ein Teil der Antwort sein. Vielleicht ist die Positionierung auch besser für die Reparierbarkeit. Oder sogar geschickt, weil so sichergestellt ist, dass das Telefon beim Wechseln der Karten aus ist. Ich weiß es nicht, aber eine Erklärung wäre auf jeden Fall besser gewesen als diese ausweichende Antwort. Denn so entsteht wieder der Eindruck, dass Kritik nicht angenommen wird.
</p>
<p>Mich persönlich hätte die Begründung für die Positionierung auch wirklich interessiert. Sie ist ja schon auffällig unpraktisch, aber das Fairphone ist mit dieser Designentscheidung nicht allein. Ich erinnere mich daran, selbst schon Telefone mit dieser Platzierung der Kartenslots besessen zu haben.</p>
<h5>Die Akkulaufzeit
</h5>
<p>Im Review wurde die Akkulaufzeit verglichen, wie solche Tests es oft machen. <a href="https://youtu.be/Q79Jl842B4g?si=jOXEWb1QkUYDNeDC&t=480">Linus sagt</a>:</p>
<blockquote><p class="wl_notopbottom">Einmal geladen, hielt der Akku des Pix­el-Te­le­fons doppelt so lange, bis es vollständig entladen war.</p>
</blockquote>
<p>Wieder sucht Ballester eine Ausflucht:</p>
<blockquote><p class="wl_notopbottom">In einem sehr speziellen Szenario, richtig? Da steht You­tube-Play­back. Ich meine, das Fairphone 5 gibt dir 10 Stunden Youtubezeit. Möchtest du 10 Stunden Youtubevideos sehen?</p>
</blockquote>
<p><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/fairphone_battery_time.webp'><!-- s9ymdb:1935 --><img class="serendipity_image_center" width="800" height="450" srcset="https://www.onli-blogging.de/uploads/fairphone_battery_time.1200W.serendipityThumb.webp 2600w,https://www.onli-blogging.de/uploads/fairphone_battery_time.800W.serendipityThumb.webp 1200w,https://www.onli-blogging.de/uploads/fairphone_battery_time.400W.serendipityThumb.webp 800w" src="https://www.onli-blogging.de/uploads/fairphone_battery_time.serendipityThumb.webp" loading="lazy" alt=""></a>
</p>
<p>Das ist eine fürchterliche Antwort (und war für mich der Anlass, diesen Artikel zu schreiben). Nutzern ist die Akkulaufzeit wichtig, es ist so ziemlich der Faktor beim Auswählen eines Telefons – oder zumindest ist eine schlechte Akkulaufzeit <em>der</em> Grund, ein Telefon nicht zu nehmen oder das alte auszuwechseln. Ob das jetzt 10 oder 40 Stunden hält, der Punkt ist, dass das getestete Pix­el-Te­le­fon doppelt so lange durchhielt. Und das ist in vielen Situationen praktisch, denn normalerweise schlägt sich sowas nicht nur bei Youtube nieder, sondern z.B. auch auf die generelle Akkulaufzeit während einer Reise, im Zweifel ganz ohne Youtube. Die Kritik ist niederschmetternd, sie aber als unberechtigt darzustellen… mehr kann man sich in dieser Situation eigentlich gar nicht schaden.
</p>
<p>Dabei, und das ist das frustrierende, ist eine gute Antwort so einfach. Das FP5 hat einen auswechselbaren Akku. Braucht ein Nutzer eine längere Laufzeit, kann er problemlos einen vollen Akku in das Telefon schieben. Das ist neben der Reparierbarkeit der große Vorteil des ganzen Konzepts! Aber der Produktmanager(!) des Telefons kommt da nicht drauf. Unfassbar.
</p>
<p>Es hätte auch noch andere akzeptable Antwortmöglichkeiten gegeben. Dass für die Modularität der Akku kleiner sein müsse. Dass die Software-Optimierung noch nicht perfekt sei, dafür Ressourcen fehlten, aber man es verbessern wolle. Oder dass es wirklich nur die Youtube-Situation betreffe, wegen eines fehlenden Hardwaredekodierers des dafür besonders langlebigen Prozessors. Könnte ja alles durchaus sein, aber irgendeine Erklärung hätte es hier unbedingt gebraucht, selbst wenn die Auswechselbarkeit des Akkus spontan nicht in den Kopf kam.</p>
<h5>Ein halbes Positivbeispiel: Die Bildschirmränder
</h5>
<p>Ballester kann auch anders, und das zeigt dann direkt, wie das Video hätte laufen können. Das will ich als abschließendes Positivbeispiel (mit Einschränkung am Ende) bringen. Linus <a href="https://youtu.be/Q79Jl842B4g?si=ctw3mfkqisf9DfUf&t=226">kritisierte</a> die Vorderseite des FP5:</p>
<blockquote><p class="wl_notopbottom">Wie beim Fairphone 4 sind die Bildschirmränder [Bezels] so groß wie sie uneinheitlich sind. Dabei sind die oberen und unteren Ränder mindestens ein ganzes k dick<em>k</em>er als die Seitenränder.</p>
</blockquote>
<p>Hier funktioniert die Erklärung des Projektmanagers, denn er gibt eine. Im Verlauf der Produktionsplanung müsse für die Antenne der Bildschirm herumgeschoben werden, damit die mit den verschiedenen Providern getestete Empfangsqualität erreicht wird. Dabei entstünden diese ungleichen Ränder.
</p>
<p><a class="serendipity_image_link" href='https://www.onli-blogging.de/uploads/fairphone_bezels.webp'><!-- s9ymdb:1936 --><img class="serendipity_image_center" width="800" height="450" srcset="https://www.onli-blogging.de/uploads/fairphone_bezels.1200W.serendipityThumb.webp 2600w,https://www.onli-blogging.de/uploads/fairphone_bezels.800W.serendipityThumb.webp 1200w,https://www.onli-blogging.de/uploads/fairphone_bezels.400W.serendipityThumb.webp 800w" src="https://www.onli-blogging.de/uploads/fairphone_bezels.serendipityThumb.webp" loading="lazy" alt=""></a>
</p>
<p>Diese Erklärung ist glaubhaft, man kann sich das Prozessproblem gut vorstellen, und vor allem wird hier erstmals im Video die Kritik nicht als illegitim dargestellt. Die ihr zugestandene Erklärung validiert sie, aber sie validiert auch für einen Moment Ballester. So eine Begründung kann der Kritik durchaus ihren Stachel nehmen. Und so hätte auch der Rest des Videos laufen sollen.
</p>
<p>Allerdings: Diese Erklärung wird erst nach einem weiteren Ausweichversuch gegeben. Ballester beginnt so:</p>
<blockquote><p class="wl_notopbottom">Linus, du hättest auch sagen können, dass die Ränder viel gleichmäßiger sind als beim Fairphone 4, denn daran haben wir sehr gearbeitet.</p>
</blockquote>
<p>Das wiederum war direkt die falsche Richtung, ein klares Eingeständnis, dass die Kritik persönlich genommen wurde. Als ob es Linus Aufgabe gewesen wäre, die Gefühle des Fair­phone-Teams zu schonen, statt seine Zuschauer zu informieren. Dieser Start macht die darauf folgende ordentliche Erklärung deutlich schwerer wertzuschätzen. Selbst bei dem einen Positivbeispiel ging also noch etwas schief.</p>
<hr /><p class="wl_notop">
</p>
<p>Es gab auch noch andere akzeptable Entgegnungen. So hat Ballester auch auf Kritik mit "Das sehe ich auch so, das kommt auf die Liste" geantwortet. Das ist etwas, aber eine Erklärung zu geben warum das Problem besteht wäre besser gewesen.
</p>
<p>Generell aber war dieses You­tube-Ant­wort­vi­deo ein furchtbares Desaster. Es zeichnet das Bild eines kritikunfähigen Projekts, das Nutzerfeedback negativ sieht. Dabei ist das FP5 ein Luxusprodukt, das primär über Zuneigung zu der Mission und ethischer Überzeugung zu rechtfertigen ist, zu stark ist die günstige Konkurrenz des Massenmarkts. Und das ist generell ein Knackpunkt solcher Produkte: Ob es jetzt um alternative Linuxtelefone oder fair produzierte geht, wieviele Einschränkungen sollte der Kunde hinnehmen? Wo sind hoher Preis und geringere Qualität noch die unvermeidbaren Auswirkungen der Marktrealität und der kleinen Produktionsmenge, und wo zahlt man ohne echte Rechtfertigung für ein schlechteres Produkt durch die Nase, nur wegen einer Darstellung als sich besonders kümmernde Firma? Bei solchen Fragen muss Fairphone für einen Erfolg unbedingt auf der richtigen Seite landen, wobei gezeigte Nutzerorientierung und Kritikfähigkeit neben allen ethischen Positionierungen sicher einen großen Einfluss haben kann.
</p>
<p>Ich frage mich, ob sich bei der Kritikfähigkeit aber gerade die ethische Mission der Firma negativ auswirkt. Fairphone muss es gewohnt sein, gelobt zu werden. Ihr ganzer Ansatz ist darauf ausgelegt, sich mit Kunden zu umgeben, die das ideologische Ziel (Faire Produktion oder Reparierbarkeit) höher schätzen als mögliche praktische Einschränkungen im Alltagsbetrieb im Vergleich zu den nunmal günstigeren Wegwerfprodukten. Auch in der europäischen Presse sah ich über Fairphone bislang kaum ein schlechtes Wort. Gibt es mal Kritikpunkte, <a href="https://www.computerbase.de/2023-08/fairphone-5-test/#abschnitt_fazit">wie im Review von Computerbase</a>, wurde das immer mit der Wichtigkeit der Mission ausbalanciert und am Ende das Telefon darüber doch empfohlen. Da war die Herausstellung der technischen Defizite durch LTT vielleicht zu ungewohnt, zu viel für das gehobene Selbstbild?
</p>
<p>Fairphone sollte jetzt lernen und zukünftig besser reagieren. Kritik ist nicht wegzuwischen, sondern Kritikpunkte sollten ernstgenommen und erklärt werden. Vor allem, wenn sie aus einer Ecke kommt, die so positiv zu den Zielen der Firma zu stehen scheint – Linus Sebastian ist immerhin einer der Investoren in Framework, der Firma hinter dem (kürzlich auch <a href="https://gnulinux.ch/das-framework-13-amd-laptop-als-daily-driver">bei GNU/Linux.ch gelobten</a>) modularen reparierbaren Laptop, und hat auf seiner Plattform schon oft eindringlich für das Recht auf reparierbare Hardware getrommelt.
</p>
<p>Durch den Fehlschlag wirkt Fairphone hier unsympathisch, einfach bräsig. Wieder einmal, leider, denn schon die Entfernung des Kopfhöreranschlusses beim FP4 bei gleichzeitigem Release eines Blue­tooth-Ohr­hör­ers ohne auswechselbaren Akku(!) hatte bei vielen Leuten in der Szene für Kopfschütteln gesorgt. <a href="https://www.youtube.com/watch?v=MjewR67uW1I">Eine Rechtfertigung</a> kam spät, war nicht überzeugend und Kritik dazu in You­tube-Kom­men­ta­ren beispielsweise bleibt immer noch grundsätzlich unbeantwortet. Und beim FP5 fehlte der Kopfhöreranschluss dann direkt immer noch.
</p>
<p class="wl_nobottom">Die ungeschickten Kritikreaktion jetzt ist also nicht der erste Ausrutscher der Firma. Sondern leider beginnt sich da langsam ein negatives Bild zu verfestigen.</p>
<img src="https://ssl-vg03.met.vgwort.de/na/49e191b964a74b7082c5a62837a0aba3" width="1" height="1" alt="">
Mon, 13 May 2024 09:21:00 +0200https://www.onli-blogging.de/2371/guid.htmlandroid