Ich hatte den Surface Pen als etwas Bezeichnet was ein nettes Gimmick wäre, aber auch nicht so viel mehr.
Nun habe ich ihn zusammen mit FreshPaint doch einige Stunden verwendet und muss sagen, dass er für Zeichnungen doch ganz gut geeignet ist. Nicht wirklich zum Malen, aber für einfache kleine Skizzen-Zeichnungen ist es ein tollen Gerät.
Kann man damit ultra genau zeichnen? Nein. Sind die Druckstufen gut zu kontrollieren und genau zu verwenden? Nein.
Es gibt verschiedene Spitzen, aber die habe ich genau wie bei meinem alten Wacom Intuos 3 nicht ausprobiert.
Also revidiere ich ich meine Ausgabe zum Pen etwas: Für schnelle Skizzen mit den richtigen Programmen ist der Pen wirklich toll. Aber man sollte trotzdem nicht zu viel erwarten.
Beim Surface Pro 4 kann es auch mal passieren, dass man wenn man die Handfläche auf dem Display beim Zeichnen ablegt, damit doch mal einen diagonalen Strich auf das Canvas damit zeichnet. Aber mit Undo ist das Problem dann schnell wieder gelöst.
Wenn man HTPS hat möchte man auch, dass es immer verwendet wird, auch wenn die Leute über HTTP auf die Seite kommen. Mit RewriteCond ist das ganz einfach.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
Bald ist mal wieder Bastelzeit. CPU, Mainboard, RAM, Festplatte und Netzteil liegen breit. Heute kamen dann die Kühler an. Kühler für Socket 1366 Server-/Workstation-Mainboards zu bekommen ist nicht ganz so günstig wie für Desktop-PCs. Aber sie sind katzen-geprüft und von Supermicro. Es kann also nicht so viel schief gehen und mit BeQuiet-Lüftern drauf kühlen die dann auch gut.
Nur ein gutes und günstiges Gehäuse fehlt mir noch. Ich hätte gern ein Intergraph TDZ Gehäuse, aber die scheint es seit Jahren nicht mehr zu geben.
Wählt möglichst weit aus einander liegende Farben aus der Auswahl aller Farben, wobei die Enden (Schwarz und Weiß) ausgelassen werden. Da bei wenigen Farben nur Grautöne heraus kommen, werden bei weniger als 8 Farben die Abstände zwischen den Farben geringer als möglich gewählt.
function ColorGeneratorService(){
this.generateColorList = function(neededColorCount){
var minColorsfactor = 1;
if(neededColorCount < 8){
minColorsfactor = 3;
}
var result = [];
var end = parseInt(0xFFFFFF);
var step = Math.round(end / ((neededColorCount * minColorsfactor) + 1));
for(var i = 1; i <= neededColorCount; i++){
result[result.length] = "#"+(step * (i * minColorsfactor)).toString(16);
}
return result;
};
}
Ich bin jetzt auch mit MP4toGIF.com auf meinen Server bei netcup umgezogen. Einer der Hauptgründe von dem Hostingpacket von 1&1 auf einen eigenen Server umzuziehen war neben den günstigeren Betriebskosten für Server und Domains auch die Möglichkeit SSL-Zertifikate von Let's Encrypt verwenden zu können. Also keine 2,99 mehr pro Domain, um https nutzen zu können.
Let's Encrypt ist auch sehr einfach zu verwenden. Hier ist eine Anleitung für Ubuntu 16.04 LTS.
Zu erst, um nicht erst in kryptische Fehler zu laufen, aktivieren wir SSL für den Apache.
Dann startet der Client und man muss den Anweisungen folgen. Bei mir brach er mitten drin ab weil 'sudo apache2ctl configtest'
einen Fehler meldete, der wohl auf das bei mir noch nicht aktive SSL-Module zurück zu führen war.
ABER es ist sehr einfach den Rest per Hand einzurichten.
Zuerst die conf-Datei in sites-available mit dem Zusatz "-ssl" doppeln. Also zum Beispiel mp4togif.conf in mp4togif-ssl.conf doppel.
Dann in der neuen Datei den Port von 80 auf 443 ändern und dies hier einfügen.
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/mp4togif.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mp4togif.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/mp4togif.com/fullchain.pem
Nun nur die site aktivieren mit
sudo a2ensite mp4togif-ssl
und den Apache neuladen
sudo service apache2 reload
und schon sind wir fertig und https sollte funktionieren.
Diese Übergabe an Werten ist auch im Zusammenspiel mit SVG sehr praktisch, weil man so Koordinaten nicht in den Objekten oder im Controller hinterlegen muss, sondern sie immer weiter durch reichen kann, um für jedes Level einen eigenen Ursprung definieren zu können.
einblenden: opacity 0 auf 1
von links: margin-left 100% auf 0%
von-rechts: margin-right 100% auf 0%
wachsen lassen: scale(0) auf scale(1)
schrumpfen lassen: scale(2) auf scale(1)
Wenn man die URL-Parameter mit AngularJS auslesen möchte, kann man dies
sehr einfach mit dem $location-Service machen. Wichtig ist nur, dass man vorher den HTML5-Modus aktiviert.
Ein einfacher kleiner AngularJS-Filter, der einen String in Uppercase umwandelt.
So einen Filter gibt es natürlich schon, aber daran kann man gut sehen, wie man einen Filter selber implementieren kann.
function UpperCase(){
return function (key){
return key.toUpperCase();
};
}
var app=angular.module("example",[]);
app.filter("ownuppercase", UpperCase);
Das Ganze einmal erweitert mit einem eigenen Service, der durch den Filter angesprochen wird. Logik sollte eher in einem Service ausgelagert werden, als direkt im Filter implementiert werden.
function UpperCaseService(){
this.upper=function(key){
return key.toUpperCase();
};
}
function UpperCase(UpperCaseService){
return function (key){
return UpperCaseService.upper(key);
};
}
var app=angular.module("example",[]);
app.service('UpperCaseService', [UpperCaseService])
app.filter("ownuppercase", ['UpperCaseService', UpperCase]);
Man hört es ja immer im TV, es wird viel versprochen was die Geschwindigkeit bei Internetleitungen
angeht, aber am Ende ist das Internet sehr viel langsamer. Es wird dann immer dazu aufgerufen, dass man selbst seinen Internet-Anschluss mit einer der dort genannten Websites testen sollte, um heraus zu bekommen ob auch bei einem selbst das Internet zu langsam ist.
Viele machen das auch schon gleich prophylaktisch, wenn der Anbieter z.B. die Bandbreite erhöht oder ähnliches. Dann kommt oft der Schock. Das geschah auch bei jemanden vor ein paar Tagen.
Bei dieser Person wurde von 16MBit auf 50MBit erhöht. Änderung wurde durch geführt und bei der Messung über eine Internetseite kam heraus dass nur 8MBit im Download ankamen. Auch nur 8Mbit beim Upload, wo es eigentlich 25Mbit sein sollten. Der Ping war ok.
Der Anbieter verhielt sich wie den TV-Sendungen immer beschrieben und behauptete es wäre alles ok und die 50MBit wären verfügbar.
Wer mal mit dem Computerproblemen von privaten Personen zu tun hatte wird die eine Regel kennen, die man immer befolgen sollte: "Glaube dem Kunden nichts, was du nicht selbst gesehen hast und lasse dich nicht mit Ausreden abwimmeln, es wird dir nur unnütze Aufwände bescheren."
Also über Teamviewer wurde das Problem bestätigt.. bzw die Messung wurde wiederholt und zeigt ein entsprechendes Ergebnis. Wichtig ist jetzt verlässliche Werte zu bekommen, also heraus zu finden mit welcher Geschwindigkeit der Router die DSL-Verbindung ausgebaut hat und synchronisiert hat. Natürlich war das Passwort zur Fritzbox unbekannt. Aber einmal Strom trennen und auf Werkseinstellungen zurück setzen hilft. Die wenigstens Personen haben Port-Weiterleitungen eingestellt, also kann bis auf ein paar Telefonnummernzuordnungen eigentlich nichts verloren gehen.
Die Fritzbox sage 63MBit down und 30MBit up. Mehr als an sich erwartet wurde. Bloß weil man diese Bandbreite zugeteilt bekommt, bedeutet es natürlich nicht, dass man sie auch komplett nutzen kann. Fehlerkorrekturen im Protokoll und ähnliches kosten natürlich auch Bandbreite.
Der normale Benutzer ist jetzt natürlich überfragt, auf der einen Seite funktioniert es nicht wie es gerne hätte und auf der anderen Seite wird der Anbieter sich quer stellen und sich auf die Angaben im Router berufen. Was kann er also nur machen? Immer wieder beim Anbieter anrufen, die werden ihn abwimmeln oder sagen, dass sie es noch mal prüfen werden, aber am Ende wird nichts passieren. Verstanden wird sich der Benutzer bei bestimmten nach Jahreszahlen benannten TV-Sendungen fühlen, die ihm auch klar machen, dass man den Anbieter nur genug unter Druck setzen muss, damit der das Problem behebt.
Das ist für den Benutzer leider etwas unschön, aber Ende leider auch genau die Lösung, die den Benutzer zufrieden stellen wird. Der Anbieter ist Schuld, man selber kann nichts tun und ist nur ein Opfer. Benutzer kennen sich mit Computern meistens sehr wenig aus und sind zu meist auch sehr Stolz auf ihre Leistung sich einen PC oder ein Notebook gekauft zu haben. Sie haben sich beraten lassen, dann alles abgewogen und das für ihre Zwecke beste und günstigste Gerät gekauft. Meistens haben sie das Gerät dann auch selbst mit dem Router verbunden. Bei WLAN ja nicht so einfach mit Key, aber immer noch besser als irgendwelche Kabel durch die Wohnung zu verlegen.
Dies ist wirklich eine gute Leistung für jemanden, der eigentlich keine Ahnung davon hat warum es am Ende eigentlich alles funktioniert und was dieses ominöse WLAN überhaupt ist. Sein Kabelloses Internet funktioniert und er ist glücklich und stolz. 2 wichtige Faktoren... besonders der zweite. Keiner mag es, wenn man viel Zeit und Energie in etwas investiert hat und dann jemand kommt und sagt einen, dass man ja sehr bemüht war.. also.. am Ende doch nur Rotz raus kam. Dann ist man weder glücklich noch stolz.
Wir messen also über zwei Netzwerke, einmal das vom Anbieter und einmal das vom Router zum Gerät, dass meistens WLAN sein wird. Jetzt sprechen alle Indikatoren (Anbieter-Messung und Router) dafür, dass das Netzwerk des Anbieters nicht das Problem ist. Dem Benutzer wird zu 99% nicht mal klar sein, dass das WLAN kein Teil des Anbieternetzwerkes ist, sondern ein 2. Netzwerk, dass ganz allein ihm untersteht und für dass er auch die Verantwortung trägt.
WLAN ist praktisch, aber bringt viele Probleme mit sich:
* Wände können das Signal stark stören
* Wenn über USB angeschlossen sollte man keinen langsamen USB-Standard nutzen
* Viele WLAN Geräte blockieren sich gegenseitig
* Es sind meistens kleine und schwache Antennen verbaut
Das sind alles Probleme, die so sind und die der Physik und Implementierung geschuldet sind. WLAN ist ein Standard und es wird auch bei den Routern nur WLAN dieses Standard angeboten. Mit dem Kauf des Routers sollte der Benutzer sich dieser Probleme bewusst sein und auch dass er auf diese Dinge achten muss, um ein gut funktionierendes WLAN zu betreiben.
Wenn das Internet zu langsam ist wird sich das Problem zu meiner Erfahrungen nach zu 80% beim Anwender finden lassen. Beim normalen Surfen fällt nichts auf und erst wenn man solche Messungen durchführt kommt heraus dass die Datenrate, die beim Gerät ankommt, zu gering ist. Benutzer hören das überhaupt nicht gerne. Die sind glücklich wenn die Schuld beim Anbieter liegt. Das sie das Problem selbst verursacht haben, wollen sie nicht hören, gerade wenn sie alles selbst eingerichtet haben. Benutzer die schon beim Kauf um Hilfe fragen, haben kein Problem damit, dass die Probleme z.B. durch einen alten WLAN-Stick verursacht werden. Die anderen halten zu Viel auf ihr Werk, als dass sie Zugeben wollen, dass sie nicht wussten was sie taten und es wohl deswegen teilweise falsch gemacht haben. Das sind die Personen die man dann im TV sieht, weil gerade Hotlines wissen wie solche Benutzer reagieren, wenn man denen sagt, dass das Problem wohl bei denen liegt und man da nicht für Zuständig ist, wenn der Benutzer bei sich zu hause was falsch eingerichtet hat.
Hier nochmal eine kleine Checkliste, wie man richtig überprüfen kann, ob das Problem im eigenen Netzwerk zu suchen ist:
* Ein LAN-Kabel benutzen und direkt mit dem Router verbinden
* Ein PC/Notebook nutzen das "sauber" ist. Am besten von jemanden der viel Spiele im Internet spielt.. am besten Shooter.. die achten darauf dass deren System
keine Probleme beim Netzwerk hat
Wenn sich damit nun heraus stellt, dass es wirklich nicht am Anbieter liegt:
* WLAN richtig eingerichtet? (Anleitung lesen, jemanden fragen der sich damit auskennt)
* wie gut ist der Empfang? (Repeater kaufen, extra Antenne kaufen)
* Wie alt ist die verwendete Hardware? (was neues Kaufen.. sich beraten lassen.. nicht im Geschäft)
* Was ist an Software installiert? (Es gibt Software, die PCs schneller und sicherer macht.. XPAntiSpy, TuneUp, etc... zu 99% sind diese Programme Verursacher der Probleme.. deinstallieren und nie wieder installieren)
Wenn man kein LAN-Kabel über große Strecken verlegen mag, helfen Powerline Adapter, die LAN über das hausinterne Stromnetz ermöglichen. Was sehr gut funktioniert.
Sollte das Problem beim Anbieter liegen, diesen bitten die Leitung einmal zu überprüfen oder einen Techniker vorbei zu schicken. Immer kooperativ und nett sein.
Probleme bei denen müssen nicht immer bekannt sein und können Hinweise für den Anbieter auf defekte Hardware oder Kabel sein. Teilweise auch in Bereichen, wo der Anbieter selbst keinen Einfluss hat.
Es gibt heute so viel Bandbreite... und ob ich mit 30MBit Downloade oder mit 50Mbit ist nur ein Unterschied in den Minuten, die ich benötige für den Download, aber der Traffic beim Anbieter wird gleich bleiben. Es würde ihn nur Kosten sparen, wenn er auf wenige MBit herunter drosselt um mich davon abzuhalten viele Downloads durch zuführen.. so 1-2Mbit. Wenn man >=8Mbit hat ist es unwahrscheinlich, dass es an einer Drosselung der Leitung liegt.
Während ich in den letzten 3 Jahren bei aoop immer mehr Framework-Charakter im Vordergrund gesehen habe und den CMS-Teil davon mehr oder weniger komplett vernachlässigt habe (bis auf die Integration von TinyMCE und Code-Mirror), habe ich jetzt mal wieder angefangen in die Richtung etwas zu tun und die ersten Änderungen sind schon aus dem Feature-Branch in den Master gewandert.
Seiten sind nun Grids mit Content-Modulen als Inhalt. Der Vorteil von so einem Grid ist, dass es responsive ist und so die Anpassung für Mobile-Devices sehr vereinfacht wird. Während in der Desktop-Ansicht man das Grid sieht wird bei der Unterschreitung einer gewissen Breite einfach alles untereinander angeordnet. Momentan verwende ich das Grid von Bootstrap, weil man dieses auch allein super in vorhandene Templates integrieren kann ohne Angst haben zu müssen, dass das Design oder Layout Schaden nimmt.
Der Editor nutzt auch das Grid um eine brauchbare Vorschau zu liefern.
Dieses neue Seiten-Model und der dazu gehörige Editor werden nie den Umfang und die Qualität der Shopping Worlds in Shopware. Ich überlege ein Modul zu schreiben, das ähnlich wie das Digital Publishing in Shopware repsonsive Banners ermöglicht, aber auch hier natürlich nicht in dem Umfang, sondern in einer einfachen und grundlegenden Version.
Falls man mal nach längerer Zeit wieder seine Testinstallation aufruft und irgendwie vergessen hat sich das Passwort vom Admin-Konto aufzuschreiben und nicht mehr in den Admin-Bereich kommt, ist es an sich ganz einfach das Passwort neu zusetzen. Man muss nur über die CLI Schnittstelle von Magento 2 gehen.
PHP kann ja Zahlen, die als String vorliegen, direkt als Zahl casten. Was sich erst einmal ganz praktisch anhört ist leider sehr seltsam umgesetzt, da nie validiert wurde, ob der String im Ganzen eine gültige Zahlennotation enthält.
$a = "05" + "10dings";
Der Ausdruck liefert 15 zurück. Jeder aus Java Integer.parseInt() kennt, wird es bei so einem Umgang nur kalte Scheuer über den Rücken jagen.
Einige halten dieses Verhalten zwar für vollkommen korrekt und besonders praktisch, weil einem so der Benutzer durch unsinnige Eingaben die Berechnung nicht kaputt machen kann... aber wenn man mal ehrlich ist, ist "5 stück" + "0.5 eier" + "draussen dunkel" = int(5.5) nicht wirklich ein brauchbares Ergebnis.
Ja da kommt wirklich 5.5 raus.
Aber zum Glück gibt es jetzt mit 7.1 wenigstens eine kleiner Verbesserung. Es wird eine Warnung geworfen.
Number operators taking numeric strings now emit E_NOTICEs or E_WARNINGs when given malformed numeric strings.
Damit ist man schon mal soweit, dass man seinen Code sicher machen kann, wenn man möchte. Man muss es leider nicht, aber dass man es kann ist schon mal ein Fortschritt.