mborm.net

Ein Computerprogramm tut was Du schreibst, nicht was Du willst.

TEDP – The Energy Data Project

Worum geht’s?

Zusammen mit Niklas Fandrich entwickle ich The Energy Data Project, auf der sich alles um das Thema Energieverbrauch von Elektrogeräten dreht. Auf der Seite sind unterschiedlichste Geräte aus verschiedenen Kategorien verzeichnet – die Einträge stammen aus der Community.

Wozu ist die Plattform nützlich?

Wir sind überrascht, wie hoch der Energieverbrauch mancher Geräte ist. Rekordhalter ist bisher eine 30 Jahre alte Geschirrspülmaschine und der hohe Verbrauch von Laserdruckern hat uns auch überrascht. Viele Geräte (vor allem Ladegeräte und Fernseher) verbrauchen auch ausgeschaltet verhältnismäßig viel Strom. Das kann sich über die Jahre zu stolzen Kosten summieren, daher sind diese Werte besonders interessant. Mit unserem Projekt The Energy Data Project, wollen wir genau diese Werte transparent machen.

Kann man bei euch mitmachen?

Mitmachen ist ausdrücklich erwünscht. Jeder, der ein geeignetes Messgerät besitzt, kann den Energieverbrauch seiner Elektrogeräte daheim messen. Anschließend können die Messwerte auf der Plattform anonym eingetragen werden. Unterstützung bieten wir in Form einer Anleitung an. Geeignete Messgeräte empfehlen wir auch.

Wird es Werbung oder Affiliate-Aktionen geben?

Nein, so etwas wird es nicht geben. TEDP ist ein gemeinnütziges Open-Source-Projekt, das kostenlos und uneingeschränkt genutzt werden kann.

https://tedp.nfandrich.net

 

Veröffentlicht am 26. November 2020 von admin in Allgemein, PHP, Programmierung

Eigene API für die luftdaten.info Wetterstation

Es ist soweit, meine eigene API ist aus der Beta raus.

Hier der Link: https://mborm.net/tools/sensor/sensor.php

Eine App gibts dazu auch: https://mborm.net/share/Lehndorfwetter.apk
Diese ist allerdings noch in der Beta und kann abstürzen.

Folgende Funktionen sind implementiert:

  • Anzeige der aktuellen Sensor-Daten
  • Anzeige der monatlichen Minimal-, Maximal- und Durchschnitts-Werte
  • Historie der Daten für jeden einzelnen Tag, jeden Monat oder das Jahr (sofern Daten vorhanden) – gezählt ab Anfang 2019
  • Tagesgraph der letzten 24h
  • Monatsgraphen
  • In der App hat man zusätzlich noch die Möglichkeit Fehler zu melden
  • Anzeige „Voraussichtliches Wetter“ anhand des Luftdrucks

Wenn man ein Update installieren möchte muss zuerst die alte App Version deinstalliert werden, bevor man die neue Version installiert.

Letztes Update (30.03.2020)

Veröffentlicht am 27. März 2019 von admin in Allgemein, Programmierung

mborm CPU-Benchmark

Wer Lust und ein wenig Zeit hat, kann ja gerne mal meinen Benchmark ausführen und so meine CPU-Benchmark-Datenbank ein wenig füllen.

Unter diesem Link sind sowohl die Ergebnisse als auch die Downloads zu finden: https://mborm.net/benchv2

Die alte Version des Benchmarks findet man hier: https://mborm.net/bench

Das Skript erfordert keine Installation – aber manche Antivirenprogramme blocken es fälschlicherweise. Demnächst werde ich wohl auch den Quellcode öffentlich machen.

Falls das Programm noch für ein spezielles System compiliert werden soll, einfach einen Kommentar schreiben.

Veröffentlicht am 8. Juni 2018 von admin in Allgemein, Programmierung

Problem 74 auf projecteuler.net

Nach längerer Zeit endlich mal wieder eine neue Lösung, dieses Mal für das Problem 74

Auf meinem alten Laptop mit einem i3-2350M braucht das Skript nur knapp über eine Sekunde:


gcc -O3 -march=native -mtune=native -std=c11 -ffast-math Problem74.c -lm -o Problem74 && time ./Problem74
Result: 402

real 0m1,196s
user 0m1,196s
sys 0m0,000s

Und der Code dazu:

Veröffentlicht am 19. August 2017 von admin in C, Programmierung, projecteuler

Problem 50 auf projecteuler.net

Hier meine Brute Force Lösung zu Problem 50.

Befehl zum Compilieren und Ausführen sowie die Ausgabe mit Zeitmessung:


gcc -O3 -march=native -mtune=native -std=c11 -ffast-math -fopenmp Prob50.c -lm -o Prob50 && time ./Prob50
Result: 997651 with 543 terms

real 0m2.809s
user 0m16.577s
sys 0m0.012s

Und der Code:

Veröffentlicht am 21. Mai 2016 von admin in C, Programmierung, projecteuler

Problem 35 auf projecteuler.net

Hier meine Lösung zu Problem 35. Für alle Primzahlen unter 1 Mio werden die jeweiligen Permutationen untersucht. Sind diese auch alles Primzahlen handelt es sich um eine kreisförmige Primzahl (Circular Prime Number).

Output mit Geschwindigkeit:


Result: 55

real 0m0.598s
user 0m0.717s
sys 0m0.020s

und dazu der Java-Code:

Veröffentlicht am 19. Mai 2016 von admin in Java, Programmierung, projecteuler

Problem 44 auf projecteuler.net

Hier meine Lösung zu Problem 44 auf projecteuler.net. Dank dieser Wiki-Seite konnte man schnell eine Funktion schreiben, die prüft ob eine Zahl eine Pentagonalzahl (oder Fünfeckszahl) ist. Die Lösung habe ich wieder in C geschrieben. Mit folgendem gcc-Befehl lässt sich der Code compilieren und ausführen:


gcc -Wall -O3 -march=native -mtune=native -ffast-math -std=c11 Prob44.c -lm -o Prob44 && time ./Prob44

Das Ergebnis mit der Rechendauer sieht dann so aus:


Result found: 5482660

real 0m0.021s
user 0m0.018s
sys 0m0.004s

Und der Code schaut so aus:

Veröffentlicht am 30. Dezember 2015 von admin in C, Programmierung, projecteuler

Problem 5 auf projecteuler.net

Hier meine C Lösung zu Problem 5 auf projecteuler.net. Weil ich faul war habe ich einfach auf Brute Force gesetzt und alle Zahlen durchprobiert. Trotz Brute Force braucht das Programm nur 1,8 Sekunden um die Lösung zu berechnen:


gcc -Wall -O3 -march=native -mtune=native -std=c11 Prob5.c -lm -o Prob5 && time ./Prob5
Result: 232792560

real 0m1.801s
user 0m1.800s
sys 0m0.000s

Und hier der Code:

Veröffentlicht am 19. Dezember 2015 von admin in C, Programmierung, projecteuler

Problem 3 auf projecteuler.net

Hier mal wieder eine weitere Project-Euler Lösung. Dieses Mal für das Problem 3 und wieder in der Programmiersprache C.


gcc -Wall -march=native -mtune=native -O3 -std=c11 -ffast-math prob3.c -lm -o prob3 && time ./prob3
Result: 6857

real 0m0.007s
user 0m0.007s
sys 0m0.000s

Hier der Code:

Veröffentlicht am 18. Dezember 2015 von admin in C, Programmierung, projecteuler

Problem 493 auf projecteuler.net

Hier die Lösung in der Programmiersprache C zu Problem 493 auf projecteuler.net

Compiliert und ausgeführt wurde mit folgendem Befehl:


gcc -Wall -O3 -march=native -mtune=native -std=c11 Prob493.c -lm -o Prob493 && time ./Prob493

Als Ergbnis kommt dann folgendes heraus:


Result: 6.818741802
real 0m0.001s
user 0m0.000s
sys 0m0.000s

Der Code sieht so aus:

Veröffentlicht am 25. Oktober 2015 von admin in C, Programmierung, projecteuler

Problem 6 auf projecteuler.net

Als ich heute Langeweile hatte, habe ich einmal die Lösung für das Problem 6 in Bash geschrieben, weil ich ohnehin schon den ganzen Tag an verschiedenen Bash-Skripten saß. Das Ergebnis für das Problem 6 berechnet sich sehr schnell:


25164150

real 0m0.002s
user 0m0.000s
sys 0m0.002s

Der Code schaut so aus:

Veröffentlicht am 16. Oktober 2015 von admin in Bash, Programmierung, projecteuler

Problem 102 auf projecteuler.net

Hier ist mal wieder eine neue Lösung auf projecteuler.net, dieses Mal für Problem 102.

Als erstes wurden 2 Methoden erstellt. Eine für die Flächenberechnung des Dreiecks (https://en.wikipedia.org/wiki/Triangle#Using_coordinates) und eine, die prüft, ob der Ursprung im Dreieck enthalten ist.

Danach wurde nur noch die Textdatei mit den zufällig generierten Werten eingelesen und entsprechend aufgesplittet sodass das Programm die Daten nutzen kann.

Die Berechnung ging ebenfalls wieder sehr schnell:

Result: 228

real 0m0.161s
user 0m0.231s
sys 0m0.022s

Hier der Code in Java:

Veröffentlicht am 30. August 2015 von admin in Java, Programmierung, projecteuler

Problem 89 auf projecteuler.net

Heute hatte ich mal wieder etwas Zeit ein weiteres Problem auf projecteuler.net zu lösen. Gelöst habe ich dieses Mal Problem 89 in der Programmiersprache Java.

Das Problem ist dank dieser Hilfe sehr einfach: https://projecteuler.net/about=roman_numerals

Man muss also nur „DCCCC“, „LXXXX“, „VIIII“, „CCCC“, „XXXX“ und „IIII“ ersetzen. Danach muss man nur noch die Differenz der Anzahl der Zeichen vor und nach dem Replacen herausfinden.

Das Programm von mir berechnet die Lösung sehr schnell:


Result: 743

real 0m0.163s
user 0m0.170s
sys 0m0.034s

Und so schaut der Code aus:

Veröffentlicht am 18. Juli 2015 von admin in Java, Programmierung, projecteuler

POST-Requests mit Java senden

Ich hatte letztens das Problem, dass ich via Java mehrere POST-Parameter an einen Server senden musste. Dazu fand ich viele Lösungen im Netz, allerdings auch eine Menge, die nicht funktioniert haben. Daher poste ich mal hier meine Lösung, vielleicht kann sie ja mal jemand gebrauchen.

Hier ist die Klasse PostConnection:

Und so kann man die Klasse als Beispiel nutzen:

Veröffentlicht am 28. Juni 2015 von admin in Java, Programmierung

Problem 55 auf projecteuler.net

Dieses Wochenende habe ich mich mal wieder hingesetzt und eine weiteres Problem auf projecteuler.net gelöst.

Gelöst habe ich Problem 55 in der Programmiersprache C.

Kompiliert habe ich mit folgendem Befehl:

gcc -O3 -Wall Problem55.c -lm -o Problem55

Das Ergebnis berechnet sich sehr schnell:

Result: 249
real 0m0.019s
user 0m0.019s
sys 0m0.000s

So schaut der Quellcode des Programms aus:

Veröffentlicht am 14. Juni 2015 von admin in C, Programmierung, projecteuler