Wochenend-Projekt – RSS-Bridge für Tom’s Touché

Dieses kleine Projekt entstand aus zwei Überlegungen:

Leider bietet die taz keinen dedizierten Feed für den Touché an. Zum Glück gibt es aber eine Software namens RSS-Bridge, die Tools bereitstellt, um eine Website zu scrapen und einen RSS-Feed zu erstellen.

Continue reading Wochenend-Projekt – RSS-Bridge für Tom’s Touché

Liste der Papers der Ig-Nobelpreis-Gewinner 2024

Frieden

An B.F. Skinner für Experimente zur Erprobung der Möglichkeit, lebende Tauben in Raketen unterzubringen, um die Flugbahnen der Raketen zu lenken

Paper

Botanik

An Jacob White und Felipe Yamashita, die nachgewiesen haben, dass für den Nachweis, dass einige echte Pflanzen die Formen benachbarter künstlicher Plastikpflanzen nachahmen.

Paper

Anatomie

An Marjolaine Willems, Quentin Hennoq, Sara Tunon de Lara, et al. für die Untersuchung, ob die Haare auf den Köpfen der meisten Menschen auf der Nordhalbkugel in dieselbe Richtung gewirbelt werden wie die Haare auf den Köpfen der meisten Menschen auf der Südhalbkugel.

Paper

Medizin

An Lieven A. Schenk, Tahmine Fadai, und Christian Büchel für den Nachweis, dass gefälschte Arzneimittel, die schmerzhafte Nebenwirkungen verursachen, wirksamer sein können als gefälschte Arzneimittel, die keine schmerzhaften Nebenwirkungen verursachen.

Paper

Physik

An James C. Liao für die Demonstration und Erklärung der Schwimmfähigkeit einer toten Forelle.

Paper

Physiologie

An Ryo Okabe, Toyofumi F. Chen-Yoshikawa, Yosuke Yoneyama, et al. für die Entdeckung, dass viele Säugetiere durch ihren Anus atmen können.

Paper

Wahrscheinlichkeit

An František Bartoš, Eric-Jan Wagenmakers, Alexandra Sarafoglou et al. dafür, dass sie sowohl theoretisch als auch in 350.757 Experimenten gezeigt haben, dass eine Münze, die man wirft, in der Regel auf der gleichen Seite landet, auf der sie begonnen hat.

Paper

Chemie

An Tess Heeremans, Antoine Deblais, Daniel Bonn, und Sander Woutersen für für den Einsatz der Chromatografie zur Trennung von betrunkenen und nüchternen Würmern.

Paper

Demografie

An Saul Justin Newman für die detektivische Arbeit bei der Entdeckung, dass viele der Menschen, die für ihr langes Leben berühmt sind, an Orten lebten, in denen die Aufzeichnungen über Geburten und Todesfälle miserabel waren.

Biologie

An Fordyce Ely und William E. Petersen, für die Explosion einer Papiertüte neben einer Katze, die auf dem Rücken einer Kuh stand, um zu erforschen, wie und wann Kühe ihre Milch verspritzen

Paper

Ich hoffe, die Papers landen irgendwann bei SciHub, ich werde sie dann verlinken.

(Foto von Marc Abrahams)

Javascript – Fließkommazahlen runden

In Javascripts Math-Bibliothek gibt es sechs unterschiedliche Funktionen, um Fließkommazahlen zu runden:

  • abs()
  • ceil()
  • floor()
  • round()
  • trunc()
  • fround()

Was ist der Unterschied zwischen diesen Funktionen?

abs()

abs() ist der Absolutwert einer Zahl. Mathematisch gesprochen ist es der Abstand einer Zahl zu Null. Da ein Abstand nicht negativ sein kann, ist der Absolutwert immer der positive Wert einer Zahl:

Math.abs(7.89012) = 7.89012
Math.abs(-7.89012) = 7.89012

ceil()

ceil() rundet einer Zahl auf den nächsten ganzzahligen Wert größer oder gleich der gegebenen Zahl auf:

Math.ceil(7.1) = 8
Math.ceil(7.8) = 8
Math.ceil(-7.1) = -7
Math.ceil(-7.8) = -7

Hierbei ist zu beachten, dass die nächstgrößere ganze Zahl von -7.1 nicht -8, sondern -7 ist.

floor()

floor() ist das Gegenstück zu ceil(), es rundet die gegebene Zahl also auf die nächstkleinere oder gleiche Zahl zu der gegebenen Zahl:

Math.floor(7.1) = 7
Math.floor(7.8) = 7
Math.floor(-7.1) = -8
Math.floor(-7.8) = -8

round()

round() rundet die gegebene Zahl auf die nächste ganze Zahl:

Math.round(7.1) = 7
Math.round(7.8) = 8
Math.round(-7.1) = -7
Math.round(-7.8) = -8

Die Funktion arbeitet mathematisch korrekt:

math.round(7.49) = 7
math.round(7.5) = 8

trunc()

trunc() schneidet einfach den Nachkommaanteil der gegebenen Zahl ab:

Math.trunc(7.1) = 7
Math.trunc(7.8) = 7
Math.trunc(-7.1) = -7
Math.trunc(-7.8) = -7

fround()

Diese Funktion benötigt man nur in speziellen Situationen, in denen man mir 32-Bit-Zahlen arbeiten muss, z. B. in der Grafik- oder Audioprogrammierung. Sie ermöglicht eine genauere Rundung als das allgemeinere round().
Hier ist eine genauere Erklärung, als sie in diesem Artikel sinnvoll ist.


(Foto von Mika Baumeister auf Unsplash)

BigTech kontrolliert die Web-Entwicklung

Die Webentwicklung basiert auf freier Software von Entwicklern wie Du und ich, richtig? Auf den ersten Blick sieht es so aus. Sehen wir uns einmal die wichtigsten Werkzeuge an, mit denen moderne Webentwicklung betrieben wird:

  1. Visual Studio Code
  2. TypeScript
  3. React
  4. npm
  5. Github
  6. Chrome

Die meisten Werkzeuge sind Open-Source-Projekte (VS Code nur in Teilen, npm ist proprietär). Wo sind also die großen Firmen? Nun, alle sechs Werkzeug und Sites werden von BigTech kontrolliert:

  1. Microsoft
  2. Microsoft
  3. Facebook
  4. Microsoft
  5. Microsoft
  6. Google

Unsere täglichen Werkzeuge hängen vollkommen vom guten Willen der Firmen ab, die von der Mehrheit der Open-Source-Entwickler als Feinde der freien Software angesehen werden.

Besonders Github und npm sind aufgrund ihrer großen Datensammlungen unersetzlich. Wenn Microsoft sich von einem auf den anderen Tag den Stöpsel zu ziehen, dann wird der Zugang zur unermesslichen Menge an freier Software zumindest für einige Zeit unmöglich sein und die Build-Prozesse von Millionen Programmen wird nicht mehr funktionieren.

Natürlich könnten und würden diese Dienste durch andere ersetzt werden, aber es würde einige Zeit dauern, bis sich dominante Dienste heraus kristallisieren und Web-Entwickler müssen eine Zwischenlösung für den Zugriff auf den ausgelagerten Quellcode finden.