Select Page

NETWAYS Blog

Raycast, ein fast neuer und genialer App Launcher

Wenn es um die Effektivität bei der Arbeit am Mac geht, gibt es viele Werkzeuge, die dir helfen können, produktiver zu sein. Eines der Tools, das ich sehr empfehlen kann, ist Raycast – ein Application Launcher für den Mac. Raycast hilft dir, deine Arbeitsabläufe zu beschleunigen und schnell auf häufig verwendete Anwendungen und Aktionen zuzugreifen. Selbst habe ich über viele Jahre Alfred genutzt, der einen ähnlichen Ansatz verfolgt (bzw. andersrum) und mich über viele Jahre treu begleitet hat. Der Grund etwas Neues zu versuchen war weniger Alfred selbst, sondern eher die Verfügbarkeit an gewünschten Erweiterungen, bei Alfred Workflows genannt.

Vor mehr als einem Jahr bin ich auf Raycast gestossen und habe heute final Alfred von meinem Rechner geworfen. Grundsätzlich macht Raycast einfach das, was von einem App-Launcher erwartet wird. Du musst keine Anwendungen mehr manuell suchen – mit Raycast kannst du einfach den Namen der Anwendung eingeben und sie sofort starten. Außerdem ist Raycast intelligent genug, um zu erkennen, welche Anwendungen du am häufigsten verwendest, und schlägt sie dir vor. Ein weiteres Feature ist die Möglichkeit, schnell auf Dateien zuzugreifen. Wenn du häufig mit bestimmten Dateien arbeitest, kannst du sie einfach in Raycast favorisieren und direkt darauf zugreifen, ohne den Finder öffnen zu müssen. Für Alfred gab es für den File-Workflow noch einen extra Keystroke, den ich ich bisher so in Raycast nicht nachstellen konnte, aber vielleicht weiss ja jemand von Euch wie das geht. Auch die History für einzelne Extensions, wie bspw. den Taschenrechner, finde ich sehr nützlich.

Raycast bietet auch eine große Auswahl an Extensions, mit denen du auf Dienste von Drittanbietern zugreifen kannst. Dabei gibt es natürlich die Klassiker wie Google, GitHub oderJIRA, aber eben auch einen unglaublich großen Pool and Community-Erweiterungen. Sei es eine direkte Einbindung deiner GitLab Installation oder auch die Ansteuerung von Home-Assistant-Entitäten. Letzteres ermöglicht dir einfach per Tastendruck die Garage zu öffnen oder ein Licht an und auszuschalten. Garage, Licht und eine entsprechende Einbindung in Home-Assistant sind da natürlich Voraussetzung, aber das ist hoffentlich klar. Seit geraumer Zeit gibt es auch eine Chat-GPT Extension, welche ohne Umwege den Aufruf ermöglich und sich die wiederkehrende Anmeldung auf der Website erspart.

Kurzum möchte ich auf Raycast nicht verzichten und als “Keyboard-Person” ist es für mich im Moment das Tool der Wahl. Raycast steht via Download auf der Website zur Verfügung oder kann auch einfach mit homebrew installiert werden.

Bernd Erk
Bernd Erk
CEO

Bernd ist Geschäftsführer der NETWAYS Gruppe und verantwortet die Strategie und das Tagesgeschäft. Bei NETWAYS kümmert er sich eigentlich um alles, was andere nicht machen wollen oder können (meistens eher wollen). Darüber hinaus startete er früher das wöchentliche Lexware-Backup, welches er nun endlich automatisiert hat. So investiert er seine ganze Energie in den Rest der Truppe und versucht für kollektives Glück zu sorgen. In seiner Freizeit macht er mit sinnlosen Ideen seine Frau verrückt und verbündet sich dafür mit seinen beiden Söhnen und seiner Tochter.

Homebrew – Der fehlende Paketmanager für macOS

Manche haben noch nie davon gehört, einige kennen ihn, und viele lieben ihn.

Zu Teenagerzeiten kannte ich nur Windows und dessen Umgang, wie man Software installiert und ebenfalls lästige Update-Hinweise beim Öffnen der Programme. Wie viele andere auch, begann ich meine Ausbildung mit einem Ubuntu auf meiner Workstation und lernte Linux Distributionen kennen und lieben. Einher ging die einfache Arte und Weiße an einer zentralen Stelle Software zu installieren, zu verwalten und auf dem neusten Stand zu halten. Zum Ende meiner Ausbildung bekam ich die Wahl eines neuen Notebooks und entschied mich für ein MacBook. Jedoch fand ich die manuelle Installation der Software und Pakete für die Kommandozeile sehr zeitaufwendig. Daraufhin empfahl mir ein damaliger Arbeitskollege Homebrew.

Homebrew ist eine in Ruby geschriebene, opensource Paketverwaltung für macOS, welche 2009 ursprünglich von Max Howell geschrieben wurde. Zur Unterstützung weiterer Pakete durch Beiträge anderer Nutzer wird GitHub verwendet. Modifikationen sind also schnell rückgängig gemacht und Änderungen lassen sich leicht umsetzen. Seit 2016 gibt es auch Linuxbrew, ein Homebrew-Fork für Linux, welcher seit 2019 fester Bestandteil von Homebrew geworden ist.

Die Installation ist genauso einfach wie die Bedienung:

$ /bin/bash -c "$(curl -fsSL "

Dabei erklärt dir das Skript was es macht und wartet auf deine Eingabe bevor es etwas ausführt.

Ein Paket oder eine Software installiert man folgendermaßen:

$ brew install git

Dabei spielt es keine Rolle, ob das Paket eine kommandozeilenbasierte Software ist oder eine grafische macOS Anwendung:

$ brew install google-chrome

Hierbei wird das erweiternde Projekt Homebrew Cask verwendet. Ob es für eine Software bereits ein Homebrew-Paket oder -Cask gibt lässt sich mittels Suche auf Kommandozeile herausfinden:

$ brew search google
==> Formulae
aws-google-auth                google-go                    google-sql-tool
google-authenticator-libpam    google-java-format           googler      
google-benchmark               google-sparsehash            googletest  
goose 

==> Casks
google-ads-editor              google-japanese-ime
google-analytics-opt-out       google-trends
google-assistant               google-web-designer
google-chat                    googleappengine
google-chat-electron           marshallofsound-google-play-music-player
google-chrome ✔                moefe-google-translate
google-cloud-sdk               homebrew/cask-versions/google-chrome-beta
google-drive                   homebrew/cask-versions/google-chrome-canary
google-drive-file-stream       homebrew/cask-versions/google-chrome-dev
google-earth-pro               homebrew/cask-versions/google-japanese-ime-dev
google-featured-photos

Falls es ein Paket noch nicht geben sollte, kann man es auch selbst erstellen:

$ brew create 
Created /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/bar.rb

oder

$ brew create --cask foo
Editing /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask/Casks/foo.rb

Alle, über Homebrew installierte, Software aktuell zu halten ist ebenso simpel, wie man es von anderen Unix/Linux Distributionen kennt:

$ brew update && brew upgrade

Das nur einmal für den Anfang.

Ausführliche Dokumentation und Informationen zu diesem Projekt findet man auf der Homepage oder auf Github:

Janina Vogel
Janina Vogel
Assistant Manager Consulting

Janina ist seit Dezember 2018 bei NETWAYS. Zunächst hat sie uns als Consultant unterstützt, seit Ende ihrer Elternzeit im September 2021 arbeitet sie im Bereich der technischen Planung. Besonders gefällt ihr, dass es in der IT nie langweilig wird und man immer wieder neu gefordert ist. Außerhalb der Arbeit geht sie ihrer Leidenschaft fürs Kochen und Backen nach.

Sync pictures older than one year between iPhone and Photo

I don’t use the cloud to store my pictures so I have to sync the pictures between my Mac and my iPhone on a regular basis. No big hassle, because usually it works like a charm. The problem I have is that I want more pictures than last year, also I don’t want to sync my whole picture library to my phone.

Since Apple kicked out iTunes, the sync settings are part of the Finder but in the options area the maximum date range is limited to one year. So how can you overcome that problem, without the need to create individual albums, which I don’t do.

It is damn simple if you know, just go to Photo and create a smart album. Here you can choose between multiple attributes but I just simply need “Date captured” in the last “3 years”. After finishing the creation you can see immediately, how many pictures will be synchronized to your mobile device. Done!

I am in some way afraid that everybody already knows how that works, but it took me a while to find that solution on my own. I really would be interested if I am the only one who didn’t know or even need that 🙂

Bernd Erk
Bernd Erk
CEO

Bernd ist Geschäftsführer der NETWAYS Gruppe und verantwortet die Strategie und das Tagesgeschäft. Bei NETWAYS kümmert er sich eigentlich um alles, was andere nicht machen wollen oder können (meistens eher wollen). Darüber hinaus startete er früher das wöchentliche Lexware-Backup, welches er nun endlich automatisiert hat. So investiert er seine ganze Energie in den Rest der Truppe und versucht für kollektives Glück zu sorgen. In seiner Freizeit macht er mit sinnlosen Ideen seine Frau verrückt und verbündet sich dafür mit seinen beiden Söhnen und seiner Tochter.

Von Fackeln, elektrischen Schafen und Datenpunkten

Hallo und Willkommen im Jahr 2021! sheep

Damit sind wir offiziell 2 Jahre nach dem originalen Zeitablauf von Blade Runner welcher 2019 spielt.
Hmm, nirgends sind Nexus 6 Modelle die Rumlaufen und von elektrischen Schafen träumen.
(Auch keine Flugautos) *seufz*. Egal !!

Kommen wir zu dem eigentlichen Thema diese Woche.
Ich würde euch gern im neuen Jahr kurz erklären wie ihr mit einfachen Bordmitteln & wenig Aufwand aus den den meisten APIs Prometheus Daten exportiert ohne Zusatzsoftware zu installieren.

Explainer!! Was macht man mit den Fackeln https://prometheus.io/ ist eine Software welche mit ihrer eigenen Time Series Database auch Graphen Zeichnen kann und einen ziemlichen Erfolg hat, https://prometheus.io/docs/prometheus/latest/storage/ wenn man allerdings aus seiner Allerweltsapplikation Daten nach Prometheus exportieren will ist man leicht Aufgeschmissen. Viele Anbieter verkaufen teuer Plugins welche dies für Software tun oder es gibt halt keine Schnittstelle.

Ich versuche in meinem Beispiel aufzuzeigen wie man sich selbst einen Prometheus Output baut und ihn mit dem Prometheus node_exporter zu der Haupt Prometheus Instanz bringt.

Was brauchen wir an Software dafür machen wir einen kleinen Einkaufszettel 🙂

Die Zutaten:
1x Software welche eine API zur verfügung stellt – als Beispiel nehmen wir Icinga 2 kann aber eine Software eurer Wahl sein
1x Prometheus node_exporter (muss man leider zusätzlich installieren)
1x crontab – bringt hoffentlich eure Linux Distro von Haus aus mit
1x curl – hoffentlich auch schon von “Werk” ab mit an Bord
1x awk – same here auch hoffentlich schon mit an Bord
1x jq – Okay .. ich geb zu das muss man nachinstallieren (ich versuche mich gerade unter dem Schreibtisch zu verstecken)
https://stedolan.github.io/jq/download/

Nun wo wir die Zutaten kennen kommen wir zu dem eigentlichen Rezept.
*/1 * * * * curl -k -s -u 'user:password' https://localhost:5665/v1/status | jq '.results[1].status.active_host_checks_1min' | awk {'print "node_icinga2_active_checks1m""{" "active=" "\"" "/checks1m" "\"" "}" " "$1'} > /var/lib/node_exporter/textfile_collector/active_checks.prom.$$ && mv /var/lib/node_exporter/textfile_collector/active_checks.prom.$$ /var/lib/node_exporter/textfile_collector/active_checks.prom

Was habe Ich da in der Zeile über dieser eigentlich verbrochen?
Dröseln wir das doch auf, Schritt für Schritt.

Step 1:
*/1 * * * * curl -k -s -u 'user:password' https://localhost:5665/v1/status
Ich gehe im Crontab jede Minute her und greife mir aus der lokalen icinga 2 Instanz per Api den Status per JSON.

Step 2:
| jq '.results[1].status.active_host_checks_1min'
Dann gebe ich den JSON Output an jq weiter. Dies lass ich auf einen Wert aus dem JSON parsen. Idealerweise ein Zahlenwert welchen einen schönen Datenpunkt abgibt.

Step 3:
| awk {'print "node_icinga2_active_checks1m""{" "active=" "\"" "/checks1m" "\"" "}" " "$1'}
Dies reicht leider für Prometheus nicht aus wir müssen das etwas aufbereiten das Prometheus das auch als Datenquelle akzeptiert. Der Inhalt eines .prom Files muss in folgenderweise Formatiert sein. Hier kommt awk für die Aufbereitung ins Spiel.

Was nach dem awk Befehl rauskommt sieht formatiert ungefähr so aus node_icinga2_active_checks1m{active="/checks1m"} 607.

Ich hab mal aus Beschreibungsgründen den vorderen Teil node_icinga2_active_checks1m genannt. Könnte aber auch node_raspberrypi15_active_tempsensor30s sein. Danach folgt {active="/checks1m"} 607 welches nochmal auf den Key=Value + Wert Part hinweist. Ich bin aber ehrlich hier schwimme ich selbst etwas. Wenn mir jemand hier Aufschlüsseln kann was hier “Notwendig” ist wäre ich sehr Dankbar.

Step 4:
> /var/lib/node_exporter/textfile_collector/active_checks.prom.$$ && mv /var/lib/node_exporter/textfile_collector/active_checks.prom.$$ /var/lib/node_exporter/textfile_collector/active_checks.prom
Danach wird der von awk aufbereitete String in eine active_checks.prom Datei geschrieben.

Damit haben wir ein valides Prometheus File welches wir dem node_exporter (Prometheus) übergeben können.
Was hat es nun mit /var/lib/node_exporter/textfile_collector/active_checks.prom auf sich .. Der oben in der Zutatenliste erwähnte Prometheus node_exporter ist im Grunde die Datenschleuder welche konfiguriert, in einem selbst definierten Intervall (scrape_intervall) die active_checks.prom Datei in Richtung Prometheus Hauptinstanz wirft. Die dann wiederum die Werte in ihre Time Series Database einträgt und den Graphen zeichnet.

Da der Prometheus node_exporter selbst unterschiedliche Möglichkeiten hat Daten entgegenzunehmen, wir aber in "textform" Daten ihm liefern legen wir die .prom Datei unter dem Pfad /var/lib/node_exporter/textfile_collector/ ab.

Damit der node_exporter weiß wann er in welchem Intervall die von uns Aufbereiteten Daten an das Haupt Prometheus übergeben soll.
Muss Konfig ihm sagen wann (kurzer Abriss der /etc/prometheus/prometheus.yml)
...
## Add Node Exporter
- job_name: 'icinga2'
   scrape_interval: 60s
   static_configs:
      - targets: ['x.x.x.x:9100'] <= Adresse der Haupt Prometheus Instanz welche in dem Screenshot unten uns dann einen Graphen zeichnet.

Im Prometheus (Hauptinstanz) haben wir dann so einen Graphen wie im Screenshot unten, dies kann man auch noch schöner in Grafana zeichnen lassen sprich wenn man in seiner Software ein Grafana Fenster eingebunden hat kann man diese Graphen da hinein verlinken.

Ich hoffe ich konnte euch etwas den Einstieg in das neue Jahr verschönern mit meinem Versuch euch einen Prometheus Datenexport nahe zubringen und ich freue mich über euer Feedback.
Servus bis zum nächsten Mal !

David

David Okon
David Okon
Senior Systems Engineer

Weltenbummler David hat aus Berlin fast den direkten Weg zu uns nach Nürnberg genommen. Bevor er hier anheuerte, gab es einen kleinen Schlenker nach Irland, England, Frankreich und in die Niederlande. Alles nur, damit er sein Know How als IHK Geprüfter DOSenöffner so sehr vertiefen konnte, dass er vom Apple Consultant den Sprung in unser Professional Services-Team wagen konnte. Er ist stolzer Papa eines Sohnemanns und bei uns mit der Mission unterwegs, unsere Kunden zu glücklichen Menschen zu machen.

Überspringen von Online-Werbung in Videos mit dem Mac

Ich nutze seit vielen Jahren Magnet auf dem Mac um verschiedene Fenster schnell zu positionieren. Was bei vielen anderen Betriebssystemen einfach geht, kann man mit Magnet Add-on einfach nachrüsten. Bei der Neuinstallation von Magnet bin ich auf eine andere App der gleichen Entwickler mit dem Namen Dynamo gestossen.

Aufgrund der guten Rezessionen habe ich die 99 Cent investiert und bin begeistert. Dynamo ist eine Safari Extension, welche nach Installation ein paar Keyboard-Controls (diese können auch geändert werden) zur Verfügung stellt.

Mit den Tasten S, D und F kann die Geschwindigkeit des Videos verlangsamt (S), beschleunigt (F) und wieder auf normal (D) gesetzt werden. Das ist Hilfreich, wenn man bei längeren Videos an die richtige Stelle hüpfen möchte ohne sich ständig beim Quick-Scrolling zu verklicken.

Für mich ist das Killerfeature jedoch die Taste E, mit welcher die Werbung in Videos einfach übersprungen werden kann. Ein Tastendruck genügt und das eigentliche Video beginnt. Dynamo funktioniert nicht nur auf YouTube, sondern auf sämtlichen anderen Website mit Videoplayer. Auch Videos auf Spiegel.de, dessen Werbeanzeigen sich normalerweise nicht überspringen lassen und auch pausiert werden, sobald das Fenster im Hintergrund ist, können problems ohne Werbung betrachtet werden.

Kurzum, wenn ihr Safari verwendet und öfters mal Videos anschaut sind die 99 Cent eine bombastische Investition.

Bernd Erk
Bernd Erk
CEO

Bernd ist Geschäftsführer der NETWAYS Gruppe und verantwortet die Strategie und das Tagesgeschäft. Bei NETWAYS kümmert er sich eigentlich um alles, was andere nicht machen wollen oder können (meistens eher wollen). Darüber hinaus startete er früher das wöchentliche Lexware-Backup, welches er nun endlich automatisiert hat. So investiert er seine ganze Energie in den Rest der Truppe und versucht für kollektives Glück zu sorgen. In seiner Freizeit macht er mit sinnlosen Ideen seine Frau verrückt und verbündet sich dafür mit seinen beiden Söhnen und seiner Tochter.