Ich bin grundsätzlich ein überzeugter Nutzer der Google Suite, inklusive Mails und Kalender. Der Google Kalender bietet zum Benachrichtigen von anstehenden Terminen zwei Möglichkeiten: E-Mail oder „Benachrichtigung“. E-Mail ist klar und die „Benachrichtigung“ ist quasi ein Pop-Up innerhalb des Google Kalender Browsertabs:
google-kalender-notification-mit-gmail-notifier-pro-popup
Das ist schön und gut aber nur wenig hilfreich. Das Popup drängt sich nicht in den Vordergrund und ist somit nur sichtbar, wenn der Kalender Tab geöffnet wird. Echte Benachrichtigungen sehen anders aus.

google-kalender-notification-mit-gmail-notifier-pro-accountsHier kommt GMail Notifier Pro (geht auch kostenlos) ins Spiel. Dieses Programm ermöglicht eine recht umfangreiche Verwaltung verschiedenster Mail-, Kalender- und Social Network Anbieter, natürlich auch Google Kalender. Bei Google Kalender authorisieren und schon werden die Kalendereinträge des Google Accounts synchronisiert. Bis zu zwei Accounts kann GMail Notifier kostenlos hinzufügen, bevor die Pro Variante notwendig wird.

GMail Notifier ermöglicht zu anstehenden Terminen Desktopbenachrichtigungen on top, zeigt auch mehrere aktuelle oder kürzlich vergangene Termine an, erlaubt Snooze für eine „Wiedervorlage“ der Benachrichtigung und den Termin zu öffnen. Es erinnert also an das Outlook Termin-Popup.
google-kalender-notification-mit-gmail-notifier-pro-new-popupgoogle-kalender-notification-mit-gmail-notifier-pro-settings-new

Ich finde die Software hat hier mehr Möglichkeiten und ist auffälliger; also einen Blick Wert, wenn das Popup von Google Kalender nicht ausreicht.

Update: Mit dem neuen Google Kalender Design wurde auch die „Desktopbenachrichtigung“ integriert, welche die Popups mit Sound und global erzeugt, always on top. Das ist besser, jedoch kann das Terminmanagement noch etwas weiter ausgebaut werden.
google-kalender-notification-mit-gmail-notifier-pro-gcal-desktop-notify-popupgoogle-kalender-notification-mit-gmail-notifier-pro-gcal-desktop-notify-setting

Kurz gesagt:
google-bildersuche-direktlink-button-wiederherstellen-doneGoogle hat vor wenigen Tagen die Bildersuche überarbeitet und dabei vor allem eine größere Änderung vorgenommen: Der bisher existierende „Bild ansehen“ Button wurde entfernt, der direkt das gefundene Bild aufrufen konnte. Jetzt muss der Suchende über „Besuchen“ auf die Webseite gehen und das Bild selbst suchen und die Bild-URL kopieren. Das hat Vorteile für Bild(rechte)inhaber und die Fairness, jedoch Nachteile für die Usability und unerfahrene Benutzer. Hintergrund ist die Einigung mit Getty Images in einem Rechtsstreit.
Die Einschätzung, ob man das jetzt so lässt, obliegt jedem selbst.

(Chrome) Bessere Empfehlung:
Ich habe soeben eine neue Extension namens „Make Google Images Great Again“ (Chrome) gefunden, dass nicht nur den „Bild ansehen“ Button wiederherstellt, sondern auch ein „Ähnliche Bilder“ Button ergänzt. Somit lassen sich leicht identische oder ähnliche Bilder mit der Google Bilderssuche finden:
google-bildersuche-direktlink-button-wiederherstellen-neu

(Chrome+FF+GM) Alte Empfehlung:
Wer jedoch den „Bild ansehen“ Button wiederhaben möchte, kann dank des Github Projekts „Make Google Image Search Great Again!“ einfach die folgenden Browser Plugins installieren:
Google Search „View Image“ Button für Google Chrome
Google Search „View Image“ Button für Mozilla Firefox
Greasemonkey/Tampermonkey Skript
Und schon ist alles wieder wie früher.

Download section
Da es zu erwarten ist, dass diese Erweiterungen auch irgendwann aus den Stores entfernt werden, habe ich sie vorsichtshalber auf meinem Server abgelegt:
MakeGoogleImagesGreatAgain_0.2.0.crx (Version 0.2.0, 28.02.2018)
„View Image“ Button als .crx Chrome Extension (Version 1.3, 23.02.2018)
„View Image“ Button als .xpi Firefox Add-On (Version 1.3, 23.02.2018)
„View Image“ Button als .js Greasemonkey/Tampermonkey Skript (Version 1.3, 23.02.2018)

Digitale Kunst/Bildbearbeitung hat sich im Laufe der Zeit schon etwas verändert… was damals noch beeindruckende digitale Bildmanipulation mit Peter Lustig war…

… wird heute bestenfalls mit einem nostalgischen Lächeln geehrt – von Personen über einem gewissen Alter zumindest.

In den letzten zwei Jahrzenten ist die Spanne der Möglichkeiten unendlich größer geworden, auch dank Technik und Tools wie Photoshop. Welten erschaffen in Minuten, egal wie verrückt und surreal. Und nein, ich rede jetzt nicht vom bekannten Model-Pizza-Retouching Video, sondern von etwas mehr Kunst und Qualität.

Zum Beispiel Photoshop Speed Art von Alex Koshelkov, der seine meist recht extremen Photoshop Szenerien größtenteils aus echten Fototeilen zusammensetzt und somit einen gruselig realen Touch mit reinbringt:
Weiterlesen

1und1 Webhosting

In meinem Blog kann man es an vielen Posts erkennen: Ich bin eigentlich Fan vom Webhoster All-Inklusive und dort seit über einem Jahrzehnt sehr zufrieden. Man muss aber dazusagen, dass sich an den Features, dem Design, dem Backend und auch allgemein wenig verändert hat – All-Inklusive fährt wohl das „never change a running system“ Prinzip. In der heutigen Zeit, in der Konkurrenz in Massen aus dem Boden sprießt und binnen kürzester Zeit stark aufblühen kann, ein riskantes Unterfangen.
Vor All-Inklusive hatte ich auch mal ein 1und1 Webspace, damals (so um 2009 rum) noch für ganz statische HTML Seiten, fancy erstellt mit Microsoft Frontpage … das waren Zeiten 😀 Das 1und1 Webhosting war damals schon recht funktional und modern vom Design her:
1und1 Webhosting 1und1-webhosting-test-2018-history-2009
Damals waren Stabilität und Support allerdings mein Grund zu wechseln. Ich wollte mal schauen, was 1und1 in der Zeit so gemacht hat, wie sich das Webhosting dort entwickelt hat und wie es meinen aktuellen Needs entsprechen würde.

Weiterlesen

Linus Sebastian ist ein – und er freut sich bestimmt über dieses Lob – Vorzeige-Nerd der Extraklasse! In mehreren Youtube Kanälen vermittelt er technische Themen unterschiedlicher Art.

In Techquickie werden kurze IT-Erklärbär-Videos über Grundlagen-Wissen/-Begriffe oder Vergleiche von Technologien und Technik gepostet:

Mit Linus Tech Tips deckt er mit seiner Crew der Linus Media Group eine große Bandbreite verschiedenster technischer Themen ab, da findet jeder Nerd was zu Gucken:

Weiterlesen

adobe-reader-dc-2018-deployment-ad-windows-guide-banner-thomas-kvistholt-191153Nachdem ich Ende 2016 noch das Deployment von Adobe Reader DC mit der alten AIP-Methode beschrieben hatte, gibt es jetzt ein Update, eine neue Deployment-Methode, die super schnell und einfach ist und viel weniger Schritte benötigt. Statt wie bisher das gewünschte Adobe Update direkt in die primäre Installation zu slipstreamen (einzubinden), wird der Patch jetzt per Befehl an die msiexec Installation übergeben und mitinstalliert. Damit entfällt die komplette AIP-Erstellung, was Zeit und CMD-Getippe spart.

Download & Vorbereitung

Ihr benötigt natürlich immernoch die aktuellste Reader DC Version als .exe Download von der Adobe Download Seite.
Die .exe Datei dann einfach in einen Ordner entpacken und ihr erhaltet die typischen MSI-Deployment Daten.

Anpassung

Wenn ihr zusätzlich die Sprache der Verteilung festlegen wollt, öffnet die setup.ini und ergänzt dort einige Zeilen:

[Startup]
RequireMSI=3.0
CmdLine=/sl"1031" /sall /rs

[Product]
PATCH=AcroRdrDCUpd1800920044.msp
msi=AcroRead.msi
CmdLine=TRANSFORMS="[yourmstfile].mst"
Languages=1031
1031=German

[MSI Updater]
Path=http://ardownload.adobe.com/pub/adobe/reader/win/8.x/8.0/misc/WindowsInstaller-KB893803-v2-x86.exe

Anschließend benutzt ihr den Adobe Customization Wizard, wie gewohnt, um eine .mst Transform-Datei zu erstellen, die eure Einstellungen enthält.
adobe-reader-dc-2018-deployment-ad-windows-guide-update-customization-wizard

Das war’s auch schon.

Deployment

Beim Deployment ändert sich der Aufruf der Installation:

msiexec /i "%wd%\deploy\%version%\AcroRead.msi" PATCH="%wd%\deploy\%version%\AcroRdrDCUpd1800920044.msp" TRANSFORMS="LEAP.mst" /qb

Ändert hier und in der setup.msi den Namen der .mst in eure .mst Datei und passt auch wieder die Pfade am Anfang des Deployment-Skripts an. Für das Cleanup braucht ihr auch ein paar zusätzliche Cleanup-Tools von Adobe, die ihr ggf. noch herunterladen und im Ordner ablegen müsst.

@echo on & Color 9f & setlocal
set wd=\\server\Deployment\Software\Reader
set log=%wd%\reader-log.txt
set tools=\\server\Deployment\Sonstiges\tools
set readerEL=999
set retry=0
set forcecleanup=yes
:: set deactivateToolsSidebar=yes
set exepath=none
set instversion=0.0
REM:: ******************
set version=18.009
REM:: ******************

REM:: Clientfilter: nur die Computer aus der allowedPCs.txt dürfen installieren
::for /f %%f in (%wd%\allowedPCs.txt) do if "%computername%"=="%%f" goto start
::goto end

REM:: Clientfilter: die Computer aus der deniedPCs.txt dürfen nicht installieren
for /f %%f in (%wd%\deniedPCs.txt) do if "%computername%"=="%%f" goto end

:start
if exist "c:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe" set exepath="c:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"
if exist "c:\Program Files\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe" set exepath="c:\Program Files\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"
if %exepath%==none goto install
goto checkversion

:checkversion
for /f "tokens=1-3" %%i in ('%tools%\sigcheck %exepath%') do ( if "%%i %%j"=="File version:" set instversion=%%k )
%tools%\VersionCompare.exe %instversion% %version%
set versionEL=%errorlevel%
if "%versionEL%"=="-1" goto beforeinstall
if "%versionEL%"=="0" echo %date% %time:~0,8% - %computername% hat bereits %instversion% installiert >> %log%
if "%versionEL%"=="1" echo %date% %time:~0,8% - %computername% hat bereits %instversion% (neuer) installiert >> %log%
goto end

:beforeinstall
if "%forcecleanup%"=="yes" goto cleanup
goto install

:cleanup
echo %date% %time:~0,8% - %computername% deinstalliert alle Reader Versionen... >> %log%
REM:: uninstall all reader versions
taskkill /im acrord32.exe /t /f
taskkill /im acrord64.exe /t /f
ping localhost -n 3
::start /w %wd%\cleaner\reader-cleaner-9.exe /silent /product=1
::start /w %wd%\cleaner\reader-cleaner-10.exe /silent /product=1
start /w %wd%\cleaner\reader-cleaner-dc.exe /silent /product=1
echo %date% %time:~0,8% - %computername% hat alle Reader Versionen deinstalliert... >> %log%
goto install

:install
echo %date% %time:~0,8% - %computername% (%instversion%) startet die Installation... >> %log%
::start /w "" "%wd%\deploy\%version%\setup.exe"
msiexec /i "%wd%\deploy\%version%\AcroRead.msi" PATCH="%wd%\deploy\%version%\AcroRdrDCUpd1800920044.msp" TRANSFORMS="LEAP.mst" /qb
set readerEL=%errorlevel%

if %readerEL%==1618 goto retry REM:: msiexec process in use, installation already in progress
if %readerEL%==1602 goto retry REM:: user canceled installation
if %readerEL%==1603 goto retry REM:: fatal error, some use it for "already installed" (eg. java)
echo %date% %time:~0,8% - %computername% hat die Installation abgeschlossen, Errorlevel: %readerEL%... >> %log%
if %readerEL%==0 md %wd%\deploy\%version%\complete\%computername%
goto end

:retry
if %retry%==1 goto retryfailed
echo %date% %time:~0,8% - %computername% hat die Installation abgeschlossen, Errorlevel: %readerEL%, retry in 5min... >> %log%
set retry=1
ping localhost -n 300 > nul
goto beforeinstall

:retryfailed
echo %date% %time:~0,8% - %computername% hat die Installation abgeschlossen, Errorlevel: %readerEL%, retry failed, end >> %log%
goto end

:end
endlocal
exit