Beiträge nach Autor

Autor: Ammar Najjar

Ammar Najjar22 Beiträge

Blog-Beiträge

  • Jede Kamera erzählt eine Geschichte

    Jede Kamera erzählt eine Geschichte

    Ab und zu ertappe ich mich dabei, wie ich mir neue Kameras ansehe. Ich öffne einen weiteren Testbericht, vergleiche ein weiteres Datenblatt oder sehe mir an, wie ein Fotograf erklärt, warum die diesjährige Kamera besser ist als die letztjährige. Es beginnt immer mit einer einfachen Neugier, und bevor ich es merke, sind Stunden vergangen. Irgendwo zwischen Vergleichsvideos, Fotografie-Foren und Gebrauchtanzeigen ertappe ich mich dabei, wie ich mir vorstelle, eine andere Kamera zu besitzen.

    Weiterlesen →
  • Neun Jahre auf GitHub Pages, warum ich endlich zu Cloudflare gewechselt bin

    Neun Jahre auf GitHub Pages, warum ich endlich zu Cloudflare gewechselt bin

    Fast neun Jahre lang war meine Website auf GitHub Pages zu Hause. Kostenlos, zuverlässig, nahezu wartungsfrei. Warum also der Umzug? Der Wechsel zu Cloudflare Pages warf einige Fragen auf. Dieser Beitrag zeigt, was mich zu diesem Schritt bewogen hat, wie die Migration ablief, welche Probleme dabei auftraten und welche Erkenntnisse ich daraus gewonnen habe.

    Weiterlesen →
  • Lokale KI auf einem MacBook Pro mit 16 GB RAM: Was wirklich funktioniert

    Lokale KI-Coding-Assistenten klingen verlockend: keine API-Kosten, Code bleibt auf der eigenen Maschine, und das Ganze kostenlos. Aber ein Setup, das auf einem 16-GB-MacBook-Pro-M1 wirklich gut läuft, erfordert mehr Trial and Error, als die meisten Guides zugeben.

    Weiterlesen →
  • Essentielle Entwicklungswerkzeuge: Mein Brewfile Setup

    Der Werkzeugkasten prägt, wie wir als Softwareentwickler arbeiten und was wir erreichen können. Im Laufe der Zeit habe ich mir eine Sammlung essenzieller Tools aufgebaut, die meine Produktivität steigern und die Entwicklung angenehmer machen. Hier ist mein Homebrew-Setup mit den Werkzeugen, die ich täglich nutze.

    Weiterlesen →
  • Portfolio, ein leichter persönlicher Portfolio-Tracker

    Portfolio, ein leichter persönlicher Portfolio-Tracker

    Dieser Beitrag beschreibt Design und Implementierung eines browser-first Portfolio-Trackers. Im Fokus: Anforderungen, die Herausforderungen während der Entwicklung und wie die finale Lösung diese adressiert, mit Code-Snippets zu Zustandsverwaltung, Caching und Diagramminteraktion.

    Weiterlesen →
  • Git-Befehle meistern: Ein praktischer Leitfaden

    Git ist unverzichtbar für die Versionskontrolle: Änderungen nachverfolgen, effektiv zusammenarbeiten, Projektverwaltung. Die schiere Bandbreite an Funktionen kann überwältigen, aber wer die Schlüsselbefehle versteht, vereinfacht seinen Workflow enorm. Dieser Artikel stellt eine Auswahl praktischer Git-Befehle vor und erklärt, was sie tun, wie man sie einsetzt und wann sie am effektivsten sind.

    Weiterlesen →
  • Angular - Content Projection

    Content Projection erlaubt in Angular, eine Komponente in eine andere einzufügen. Das verändert, wie Angular-Entwickler ihre Anwendungen und Bibliotheken gestalten: hin zu flexiblen, wiederverwendbaren Komponenten.

    Weiterlesen →
  • Reactjs: Arrays in jsx

    Als ich vor einigen Monaten das Reactjs Tutorial ausprobiert habe, ist mir aufgefallen, dass im offiziellen Startercode dieselben div-Elemente in der Methode render() wiederholt werden. Falls sich am Quellcode etwas ändert, liste ich ihn hier auf:

    Weiterlesen →
  • Fetch mit Gitlab API

    Ich verwende gitlab und habe viele Repositories, die ich täglich oder sogar mehr als einmal pro Tag verfolgen muss. Es war erstens sehr ermüdend, alle diese Repositories zu klonen, wenn ich meinen Arbeitsrechner wechsle, und zweitens, all diese Repositories aktuell zu halten. Aus diesem Grund begann ich, ein Automatisierungsskript zu schreiben, um die langweiligen Aufgaben von meinen Schultern zu nehmen.

    Weiterlesen →
  • PyConDe & PyData 2019

    PyConDe & PyData 2019

    Ich bin gerade von PyConDe & PyData-2019 zurückgekommen und möchte meine Erfahrungen dort festhalten. Das hier ist eher ein Tagebuch als ein Blog, in dem ich über folgendes berichte:

    Weiterlesen →
  • RxJS Serie - Observables

    RxJS (auf Github) ist eine Bibliothek für reaktive Programmierung in Javascript, und in dieser Serie möchte ich meinen Weg des Lernens mit euch teilen.

    Weiterlesen →
  • Benutzerdefinierte Selenium Webdrivers mit Decorators

    Wie erstellt man dynamisch benutzerdefinierte Selenium WebDriver-Klassen mit einem parametrisierten Browser-Binary-Pfad?

    Weiterlesen →
  • Fedora23 Upgrade (unbenanntes Home)

    Als ich versucht habe, von fedora23 auf fedora24 zu aktualisieren, hatte ich das Problem, dass das home-Verzeichnis seine Beschriftung verloren hat:

    Weiterlesen →
  • Vim aus den Quellcode kompilieren

    Viele Male, wenn ich vim verwenden möchte, das im Haupt-Repo jeder Linux-Distribution enthalten ist, stelle ich fest, dass ihm eine Art Unterstützung fehlt, sei es Python oder Client-Server-Modus oder eine andere Funktion. Deshalb muss ich es manuell aus den Quellen kompilieren und installieren.

    Weiterlesen →
  • Einrichtung des Lwa4p Roboterarms

    Während meiner Experimente mit dem Powerball Lightweight lwa4p Roboterarm von Schunk hatte ich viele Schwierigkeiten, ihn mit moveit in Bewegung zu setzen. In diesem Beitrag teile ich diese Erfahrung.

    Weiterlesen →
  • Abenteuer durch meine vimrc (nvimrc)

    In diesem Beitrag werde ich Sie auf ein Abenteuer in meiner früheren vimrc und derzeitigen init.vim mitnehmen, die ich über die letzten Jahre durch die Nutzung von vim dann neovim gesammelt habe. Ich werde die Funktion oder den Feature erklären und dann die Konfigurationen oder den Code angeben, der in die Datei vimrc (init.vim) eingefügt werden sollte, um dieses Feature zu aktivieren.

    Weiterlesen →
  • OpenCV auf OpenShift

    Als ich OpenCV auf meinem Python-2.7 OpenShift Online Cartridge installieren wollte, stieß ich auf das Problem der Kontingentbegrenzung auf 1 GB.

    Weiterlesen →

Bücher