ToHo-Blog

Thursday, November 07, 2019

Another EditPad Pro thing - Regex in Python to find matches in csv rows

In A forum related to EditPad Pro a guy did ask for help with a Python issue he had. He told that he better wanted to do a Regexp-search instead of a fields search. But in real he accepted a fields search solution. So why he did ask for a Regexp solution? If he wanted to get a RE solution he first should read the CSV not as fields of records but simply as lines.

On the other hand he is mixing RE quantifiers. Once he writes {0,6} which means zero or more times which he mixes up with the optional quantifier question mark "?". So eighter he could better write {1,6}? or simply omit the question mark (optional) quantifier and write {0,6} without "?". This would have cleared the situation and both bring the same result. You can check it with EditPad Pro.

The question and the answers in short: bit.ly/32vuVZu

Labels: , , , , , , , , ,

Friday, January 25, 2019

UltraEdit and the lacking possibility to change the interface language in options

You won't believe it, but its true. If you did install UltraEdit in German and later decide to switch to English interface, then you have to de-install German version and install english version a new.
m(
Thanks for your message.  It is not currently possible to switch 
languages in the installed version of UltraEdit at this time.  In order 
to switch to English, please do the following:

1. Uninstall UltraEdit

2. Delete the %APPDATA%\IDMComp\UltraEdit folder

3. Download the latest English version of UltraEdit here:

https://www.ultraedit.com/downloads/ultraedit-download/

4. Install this

When you launch this, you should now have English in the ribbon and menus.

Labels: , , , , , , , ,

Tuesday, January 15, 2019

Medikamente-Ende Berechnung

Bitte nichts Großes erwarten, just for fun!

Man sollte es nicht glauben, ja wir alle werden älter. Ein älterer Herr aus dem Bekanntenkreis fragte, "ob es da nicht etwas gibt". Er sei so unsicher, wann seine Tabletten zur Neige gehen und wann er rechtzeitig zum Arzt gehen muß, um ein neues Rezept zu holen.

Berühmter Satz eines nicht näher genannten ...:
"Da mach ich erst mal ein Excel" - womit natürlich eine Kalkulations-Tabelle gemeint ist.
Aufbau stink-einfach. Am besten gleich mit Beispiel. Folgendes kopieren, in einem Texteditor wie Notepad einfügen und als *.csv Datei speichern.
.
Tabletten Max Mustermann am:;;;;
17.12.18;;;;
;;;;
Medikament;Dosis-d;Vorrat;Tage;Ende
AAA;1;134;=C5/B5;=$A$2+D5
BBB;1;59;=C6/B6;=$A$2+D6
CCC;2;79;=C7/B7;=$A$2+D7
SSS;1;156;=C8/B8;=$A$2+D8
LOL;0,5;69;=C9/B9;=$A$2+D9

Das dann in Excel, LibreOffice o.Ä. öffnen. Das Ergebnis ist klar, Zuerst alle sind die CCC und zwar am 25.01.2019. Einziger Aufwand: Die Tabletten zählen und das aktuelle Datum eintragen. 

Labels: , , , , , , ,

OMG - The Orville Season2 Episode3


Was für ein Pech, vorerst nur in English und mit deutschen Untertiteln. In Staffe 2 Folge 1 waren die Untertitel noch fest "eingebrannt" ins Video, ab Folge 2 muss man sie extra dazu schalten.

Diesmal besucht Alara ihren Heimatplaneten. Über die Gründe und die weitere Handlung möchte ich gar nicht spoilern. Ich persönlich fand es spannend. 

Aber bitte, die Übersetzung! OMG! Aus "Just get better" wird "Werden Sie einfach gesund". Nein, eben nicht, es ist ja gar keine Krankheit, was auch alle wissen. Deswegen würde es auch niemand sagen. Maximal würde übersetzt werden: "Erholen Sie sich gut".

Ansonsten, unbedingt empfehlenswert. Schade daß Alara geht, sie war eine der wichtigen Kernfiguren. Ohne sie fehlt was.

Labels: , , ,

Sunday, December 09, 2018

A last good bye to all the slanderers

Bedaure nicht die Toten. Bedaure die Lebenden. Und besonders all diejenigen, die ohne Liebe leben. Irgendwann werdet ihr vor dem Schicksal gerade stehen müssen, für all das Unrecht, das ihr anderen angetan habt.
https://www.youtube.com/watch?v=q8ir8rVl2Z4

Labels: , , ,

Tuesday, April 03, 2018

User authentication in XAMPP with Apache webserver under Windows

What is the starting point?

Under some circumstances there may be the need for a litte project on a webserver under Windows. There may exist more applications than this, but XAMPP has gained space in this task area and its utilisation is spread wide. XAMPP comes with Apache webserver, a DB, PHP and Perl. It is easy to install also by non-experts.

For some reasons parts of the webserver or its applications may have the need for restriction and user authentication. One way to implement this is the use of the .htaccess mechanism.

Why to use .htaccess mechanism?

With the file .htaccess you have the possibility to configure the user authentication without the need to change the Apache configuration files. Because the first character of the file name is a dot the file will be hidden in the directory for simple usage cases.

The file can be created with a text editor. Pay attention to give as the name only ".htaccess" (without the quotation marks) without a further file name extension. Then copy it to the website directory which you want to secure.

Be sure to place the file .htaccess exactly in the directory you want the user authentication to apply to. The settings in this .htaccess will affect everything in this directory and the below placed directories.
______________________________________________


Not with XAMPP - but in case you would use a Linux server or a Raspberry Pi you would have to activate the .htaccess file:

Activate the .htaccess file

The activation has to be done in the Apache configuration to allow the .htaccess to override the Apache config settings. BTW you need sudo rights to do this.
sudo nano /etc/apache2/sites-available/default
Or instead of nano use your prefered editor. In editing this file input the necessary content:
 <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
 </Directory>
After saving this file do a restart for Apache
 sudo service apache2 restart
______________________________________________

Create the new .htaccess file

If you did install XAMPP in D:\XAMPP and your application is in directory D:\XAMPP\htdocs\myapp (with underlying directory cgi-bin) then edit the .htaccess file this way (again, choose your prefered editor instead of nano):
nano D:/XAMPP/htdocs/myapp/.htaccess
.. input the content:
AuthUserFile /xampp/usr/.htpasswd
AuthGroupFile /dev/null
AuthName "Please Enter Password"
AuthType Basic
Require valid-user
Create the .htpasswd file

Besides the .htaccess file you need the user authentication file .htpasswd . Place it outside the web-home dir i.e. as sibbling usr in this path: D:/XAMPP/usr
To create the file use the webserver password creation application htpasswd (for XAMPP in D:\xampp\apache\bin\).

 D:\xampp\apache\bin\htpasswd -c -b D:\xampp\usr\.htpasswd jsmith awesome
This will create a line in the .htpasswd file looking like this: jsmith:VtweQU73iyETM
I had another case where the generated encrypted password was different and much longer. To be sure, every time use the htpasswd application. The switch -c creates a new file and the switch -b tells the generation to use the password given at the command line.

First time I did test it with these steps, unfortunately it didn't work. The solution included more parts. One was the usage of the password generation application htpasswd instead of creating it by using the simple crypt() function. In case of XAMPP under Windows the line ending had to be Windows style with \r\n (carriage return + line feed) instead of Linux style under a Linux system which consists only of \n (line feed or new line).

If you have difficulties don't hesitate to contact me.

Labels: , , , , , , ,

Monday, March 19, 2018

First Enterprise

This is the first known photo of the U.S.S. Enterprise model. The photo was taken in Los Angeles in 1965.

Labels: ,

Friday, March 02, 2018

Termin-Benachrichtigungen für Gruppen - das Yahoogroups Problem


1 Ausgangspunkt Yahoogroups Ereignisse
Früher konnte man in Yahoogroups Ereignisse einrichten. Dazu wurden dann Erinnerungen an die Mitglieder versandt. Das Feature wurde häufig von Vereinen genutzt. Inzwischen kann man keine neuen Ereignisse mehr eingeben. Bei manchen Gruppen ist der Menüeintrag disabled, bei andern Gruppen kann man noch den Kalender aufrufen aber keinen neuen Eintrag erzeugen. Yahoogroups wahrscheinlich meist genutztes Feature war und ist die Mailingliste.

2 Mögliche Alternativen
Als Alternativen fallen einem zuerst Kalender-Dienste ein wie z.B. Google Kalender. Dazu ist aber Vorarbeit nötig und nicht alle betroffenen Mitglieder einer Gruppe sind erfahren genug, dies alles selbst bei sich am PC oder Smartphone einzurichten. Die Idee ist deshalb eine Lösung zu finden, bei der die Betroffenen so wenig wie möglich oder sogar nichts zu tun brauchen.

3 Idee der Lösung
Die Idee ist, einen Kalender Dienst dazu zu bringen, Benachrichtigungen bzw. Erinnerungen zu versenden. Dann braucht es nur noch ein EMail Konto bzw. eine Email Adresse, die diese Erinnerung an die Gruppe bzw. Mailingliste weiterleitet. Als dafür mögliche Komponenten kommen Googlemail und Google Kalender in Verbindung mit Googlegroups in Betracht.

4 Die Lösung
Es wird im weiteren vorausgesetzt, daß die verschiedenen Dienste und Konten mit Sprache Deutsch verwendet werden.

4.1 Der Name
Es sollte für alle Dienste im Zusammenhang damit ein bestimmter Name verwendet werden. Beispielhaft wird verwendet: MCOberstadt

4.2 Das Googlemail Konto 
Es wird ein Googlemail-Konto eingerichtet.

Daten eingeben. Nach Abschluß erfolgt eine kurze Einleitung. Diese anschauen oder überspringen. Am Schluß kann man zum Postfach wechseln.

Es empfiehlt sich die Inbox umzustellen, damit man keine Nachrichten übersieht.
Zahnrad >> Einstellungen >> Posteingang >> Art des Posteingangs: Sortierter Eingang
Änderungen speichern

4.3 Der Google Kalender
Damit der Google Kalender aktiv wird, muß er zuerst aufgerufen werden. 
(Google Apps Icon, 3 x 3 Quadrate) ... oder 

4.4 Die Googlegroups Mailingliste 
Zuerst wird der Dienst Googlegroups aufgerufen:

Dann eine Gruppe erstellen mit GRUPPE ERSTELLEN . Als:
  • Gruppenname  (z.B.): MC Oberstadt Termine . 

Daraus macht Googlegroups als Gruppen-E-Mail-Adresse automatisch mc-oberstadt-termine . Die vollständige Adresse lautet dann mc-oberstadt-termine@googlegroups.com . Nach eigenen Anforderungen Beschreibung und Sprache definieren. Als:
  • Gruppentyp auf jeden Fall: E-Mail-Verteiler 

wählen bzw. lassen. Weitere Einstellungen:

  • Themen anzeigenAlle Gruppenmitglieder 
  • PostenAlle Gruppenmitglieder
    Das Anpassen der Berechtigungen für das Posten erfolgt später.  
  • GruppenbeitrittJeder darf einen Antrag stellen 

Zum Abschluss auf ERSTELLEN klicken. Eventuell wird mit einem Captcha (Prüfung) abgefragt, daß man selbst ein Mensch und kein Roboter ist, dann einfach die Fragen beantworten. Anschließend sollte eine Meldung am Bildschirm angezeigt werden, daß die Gruppe erstellt wurde. An dieser Stelle werden noch bestimmte Einstellungen angeboten.

Google-Profil
[_] Mit meinem Google-Profil verknüpfen und mein Foto in Posts anzeigen.
    (kann man machen, muss man aber nicht)

Angezeigter Name (Radio-Box Auswahl = eine der Möglichkeiten wählen)
(X) Vollständigen Namen aus meinem Google-Profil verwenden
(_) Dieses Alias verwenden: [__________] (anderen Name für Anzeige auswählen)

Am Ende einfach Meine Änderungen speichern klicken. Nun kann man noch eine Willkommensnachricht hinzufügen. Diese kann z.B. so aussehen:

Hallo neuer Teilnehmer,

willkommen in der MC Oberstadt Mailingliste. Hierüber werden künftig Termine für diese Gruppe verteilt.

Grüße, Listen-Admin

4.5 Mitglieder hinzufügen
Rechts oben [Zahnrad] (Einstellungen) >> Gruppeneinstellungen wählen. Es erscheint links ein Menü. Wähle Mitglieder >> Mitglieder einladen . Für einen Test kann man ein Mitglied auch direkt hinzufügen. Wähle Mitglieder >> Mitglieder direkt hinzufügen 
Nimm eine deiner Email Adressen. Eventuell zum Test eine neue Email Adresse erstellen. Für dieses Beispiel MC Oberstadt Ademin Email Adresse neu erstellen. 
Dann Email Adresse eingeben in Feld Geben Sie die E-Mail-Adressen der neuen Mitglieder ein. mcoberstadtademin@gmail.com . Eine Begrüßungsnachricht eingeben. Hinzufügen klicken. Captcha beantworten. 

4.6 Wie kommt die Benachrichtigung in die Mailingliste? 
Der anfangs erstellte Account leitet die Benachrichtigung weiter an die Mailingliste. Da dieser Account nur für das Verteilen der Erinnerungen gedacht ist, erstellen wir noch einen Filter im Mail Account, damit nur Kalender Benachrichtigungen weitergeleitet werden.

4.7 Mailingliste vorbereiten für Bestätigungscode für Weiterleitung
Zunächst muss man die Mailingliste öffnen, damit der Bestätigungscode für die automatische Weiterleitung überhaupt in der Gruppe angezeigt wird. Klicke [Zahnrad] (Einstellungen) >> Gruppeneinstellungen . Links im Menü Berechtigungen >> Grundlegende Berechtigungen . Rechts im Hauptfeld Posten: Öffentlich . Speichern .

4.8 Email Filter, Weiterleitung
Im Email Konto mcoberstadt@gmail.com einen neuen Filter einrichten über [Zahnrad] (Einstellungen) >> Einstellungen >> Reiter: Filter und blockierte Adressen >> Neuen Filter erstellen .  

Von: calendar-notification@google.com  
An:  me 

Dann unten klicken auf: Filter mit diesen Suchkriterien erstellen . Darauf folgt eine Dialogbox. Hier auf den Link klicken: Weiterleitungsadresse hinzufügen . Es erscheint die Seite für Einstellungen >> Weiterleitung und POP/IMAP . Hier Weiterleitung: >> Weiterleitungsadresse hinzufügen . Adresse mc-oberstadt-termine@googlegroups.com eingeben >> Weiter . Mit Fortfahren bestätigen. Es bleibt die Seite stehen von Einstellungen >> Reiter: Weiterleitung und POP/IMAP .

4.9 Bestätigungscode abholen
In der Mailingliste die Email mit dem Bestätigungscode öffnen, den Bestätigungscode in die Zwischenablage kopieren und auf der Seite mit den Einstellungen des Email Kontos wieder einfügen und auf Bestätigen klicken.

4.10 Filter abschließend einrichten
Im Email Konto im  Suchfeld eingeben:
from:(calendar-notification@google.com) to:me
>> (Lupe) Suchen . Im Suchschlitz rechts mit dem DropDown-Pfeil aufklappen. Filter mit diesen Suchkriterien erstellen .
[X] Weiterleiten an: mc-oberstadt-termine@googlegroups.com 
Filter erstellen

4.11 Gruppenberechtigungen anpassen in Mailingliste
[Zahnrad] (Einstellungen) >> Gruppeneinstellungen . Links im Menü: Berechtigungen >> Grundlegende Berechtigungen . Rechts im Hauptfeld Posten: Gruppeneigentümer und Gruppenmanager Speichern .

4.12 Termin erstellen mit Erinnerung
Gehe in den Kalender des Email Kontos. Einen neuen Termin eintragen zur nächsten vollen Viertelstunde. Termin bearbeiten. BENACHRICHTIGUNG HINZUFÜGEN >>
[E-Mail] [1___] [Minuten]
>> SPEICHERN 
Das fügt dem Termin eine Erinnerung per Email hinzu 1 Minute vor der Uhrzeit. Jetzt abwarten, bis die Zeit um ist und dann im Posteingang des Test Email Kontos mcoberstadtademin@gmail.com kontrollieren, ob die Erinnerung angekommen ist.

w.z.b.w - oder q.e.d.

5 Epilog
Jetzt passiert alles automatisch für jeden neuen Termin mit eingestellter Erinnerung per Email. Die Verwaltung der Empfänger kann der Admin ganz allein ohne Hilfe über die Mailingliste vornehmen.

Labels: , , , ,