DatenMeister 0.0.2.0

Die neue Version des DatenMeister ist verfügbar. Zum Großteil ist dies ein Stabilitäts-Update in dem wesentliche Elemente der Navigationsfindung neu konzipiert worden sind. Sichtbar für den Nutzer sind folgende Punkte:

  • Es werden automatisiert Formulare auf Basis der Objekteigenschaften erzeugt
  • Der gesamte Algorithmus zur Findung der Formulare wurde verbessert
  • Packages sind nun Standard-Elemente für Datenbanken
  • Neue Packages können schnell erstellt werden
  • Bei der Auswahl von Objekt-Typen wird die Eigenschaft der beinhaltenden Collection genutzt um Typen vorzuschlagen
  • HTML-Export im Standard-Format von Listen- und Detailansichten
  • Viele Weitere… (immerhin 119 Commits, was aber natürlich kein Qualitätsmerkmal ist)
  • 350 files changed, 9306 insertions(+), 5380 deletions(-)

Intern wird nun zum Teil auf .Net Core gesetzt, die Anwendung selbst läuft noch auf .Net Framework 4.6.2. Der Wechsel wird in der nächsten Version angeplant.

Wo? http://depon.net/downloads/datenmeister.zip oder https://github.com/mbrenn/datenmeister-new/releases/tag/datenmeister-wpf-v0.0.2.0

Quellcode: https://github.com/mbrenn/datenmeister-new/tree/datenmeister-wpf-v0.0.2.0

Busy Beaver

Der heutige Abend war geprägt von leichter Erkältung und dem Willen ein vollständiges Programm zu implementieren.

Daraus wurde die Implementierung einer Busy Beaver ‚Maschine‘. Eigentlich wollte ich nur mnochmal wissen, ob ich performant implementieren kann und hier bin ich soweit glücklich. 47.000.000 Runden werden innerhalb einer halben Sekunde berechnet.

var states = BeaverRuleParser.ParseRule("1RB 0LC 1RC 1RD 1LA 0RB 0RE 1RH 1LC 1RA", beaver);

Was ist der Busy Beaver… Am Besten hier beschrieben: htttps://en.wikipedia.org/wiki/Busy_beaver.

Ich finde es immer wieder beeindruckend, wie man aus einem ganz kleinen Satz an Regeln (10 Regeln) eine Beschäftigung über mehr als 47 Millionen Schritten erzeugen kann ohne dass eine unendliche Wiederholung eintritt. Der fleißige Bieber ist beschäftigt, er ist sehr lange beschäftigt, wird jedoch fertig!

Der Quellcode ist natürlich auch unter https://github.com/mbrenn/busybeaver-csharp abrufbar…

Paar Erkenntnisse habe ich auch mitgenommen:

  • bit[] ist ähnlich schnell wie int[]
  • BitArray brachte keinen Geschwindigkeitsvorteil, eher im Gegenteil
  • Properties {get;set;} haben einen deutlichen Geschwindigkeitsnachteil, auch wenn sie nur auf ein internes Feld gehen
  • JetBrains Performance Viewer ist brauchbar und hilft bei der punktuellen Optimierung
  • Der Unterschied zwischen ‚Debug‘ und ‚Release‘ liegt grob bei Faktor 5 bis 10.

WPF UIElement.Focus funktioniert nicht

Wenn das Setzen eines frisch erstellen WPF-Elements nicht funktioniert, so liegt das eventuell einfach daran, dass das Element noch nicht sauber in den WPF-Tree eingebaut ist.

Verstehen tu ich das nicht, aber ein Setzen des Focus über den Dispatcher hat hier wahre Wunder bewirkt… Es geht einfach:

https://github.com/mbrenn/datenmeister-new/commit/b29562e57a6f05c5ee74387598c19f77f964ace6#diff-cf933c11f520386d799cf0fdcf765943

Ansonsten keine kommunizierbaren besonderen Vorkommnisse… Die Feiertage kommen.

ETW Event Logging

Windows usually support ETW (Event Tracing for Windows) and BurnSystems.Logging now supports also the logging for ETW.

Here, the commit: https://github.com/mbrenn/burnsystems/commit/ea8d6cd387259d2a8d2c56495b3cbbe1fdf35b3b#diff-5df36dd7303f4908f1c9bcf6b095f0ac

And here the usage:
https://github.com/mbrenn/burnsystems/commit/ea8d6cd387259d2a8d2c56495b3cbbe1fdf35b3b#diff-1105b8f70d3dfeb0074063be2167206c

Probably not in the nicest and best format, but it works:

Der DatenMeister

Nach langer Zeit möchte ich nun die erste Version des DatenMeister veröffentlichen. Ein Tool, welches den XMI-Standard in eine Applikation packt.

Weitere Informationen finden sich unter der folgenden Seite.

DatenMeister

Aktuell gibt es noch keine Versionsnummer und noch wirklich keine Inhaltsbeschreibung. Im Laufe der nächsten Wochen wird stückchenweise an Anwendungsfällen gezeigt, wo der DatenMeister mir zumindest hilft.

Das Ganze ist noch OpenSource unter Github veröffentlicht. Mit einer kleinen Einschränkung: Die Icons selbst unterliegen dem Urheberrecht und sind nicht Bestandteil des GPL-Paketes.

Videos konvertieren

Handbrake ist ein französisches, aber ein sehr einfach bedienbares Programm zur Konversion verschiedenster Videoformate in verschiedene Videoformate.

https://handbrake.fr/

Vorbei ist die Zeit in der man von Hand die ideale Bitrate ausrechnen muss oder kryptische Parameter mit ffmpeg eingeben muss. Allerdings muss dazu das Medienformat in nicht-kopiergeschützer Form darliegen.

Also… wenn du ein Video hast und konvertieren möchtest, weil du es auf Handygröße, DVD oder USB bringen möchtest und dein Gerät nur exotische Formate spricht, ist Handbrake in meinen Augen das ideale Tool.

Quellcode ist natürlich frei (frei im Sinne der GPL):

https://github.com/HandBrake/HandBrake

Depon.Net goes SSL

Nachdem immer weniger Browser unverschlüsselte Websites akzeptieren, habe ich nun diesen Blog auf https und damit auf eine verschlüsselte Verbindung umgestellt.

Hierzu hilft die folgende Anleitung, da Let’s Encrypt zwar offene Protokolle, aber keinen Windows Server unterstützt.

https://www.cool-it.at/blog/Februar-2018/Let-s-Encrypt-gratis-SSL-TLS-mit-IIS-und-Windows-S

Die Umstellung hat grob 10 Minuten gedauert. Offen ist noch meine Nextcloud Instanz… Diese folgt in den nächsten Tagen.

Das Modul für URL Rewrite muss mich sich über den Web Platform Installer nachinstallieren:

 

BurnSystems.WPF – First Upload

Just uploaded one WPF custom control: The resizeable splitter…

What does it do? 

  • It divides a control into two parts separated by a splitter
  • The splitter is draggable and the controls within are resized according position of the splitter
  • The splitter can be horizontal (Top/Down separation) or vertical (Left/Right separation)
  • The splitter can have a color… Yeahaa….

Usage:

The XAML at the container looks like the following:

The result looks like the window:

Where can I get the source code? 

As always… GitHub with MIT License.

https://github.com/mbrenn/burnsystems.wpf

Update of OwnCloud

Since I’m using OwnCloud instead of OneDrive or Google Drive for my private photo storage, I’m also obliged to keep care of updates…

You may choose:

  1. Trust yourself and update owncloud and hope that you can make it
  2. Trust Microsoft/Google that they will handle it and will not give away your data voluntarily or unvoluntarily via security holes.

I made myself trusting myself… nevertheless, I believe the risk of making a fault and losing the data is higher as using OneDrive or other cloud-based services…

Back to the original topic:

  • The Owncloud Client notified my that an update is available.
  • Owncloud Server does not support automatic updates like WordPress…. So reading through the manual.
  • Connect to server
    • Switch on maintenance mode
    • Move all to backup directory
    • Download and extract latest version
    • Copy config/config.php to new directory
    • Copy data/ to new directory
    • Run Update Script
    • Leave maintenance mode

In total about 15 minutes which is ‚waste of time‘ compared to the scenario OneDrive.