Linux ist seit den frühen neunziger Jahren ein fester Bestandteil der IT-Welt und hat sich in vielen Unternehmen etabliert. Doch wie stellt man sicher, dass man alle Vorteile dieser Open Source-Lösung voll ausschöpft? Die Linuxfabrik aus Zürich bietet professionelle Unterstützung und maßgeschneiderte Services. Was genau macht diesen Anbieter so besonders und wie kann er Ihrem Unternehmen helfen?
Die US-Behörde Defense Advanced Research Projects Agency (DARPA) will mit dem Programm TRACTOR (Translating All C to Rust) und mit Hilfe von KI Code von C und C++ automatisiert in Rust…
Manjaro hat ein erstes experimentelles Abbild seines unveränderlichen Betriebssystems vorgelegt. Die Distribution soll später eine offizielle Edition von Manjaro werden.
Wie ein deutsches "Start-up im Staat", das mit wenig Geld Open Source in die öffentliche Verwaltung bringen will, international Aufsehen erregt. (Open Source, Datenschutz)
LMDE dient im Hause Linux Mint als Notfallplan für die Entwickler falls es zu unvorhergesehenen Entwicklungen bei Ubuntu kommt. Ubuntu ist die Basis der regulären Linux Mint Edition, während Debian Stable die Basis für LMDE (Linux Mint Debian Edition) ist. So manche LMDE Nutzer sind jedoch der Meinung, dass LMDE die Führung übernehmen und zur […]
Heute möchte ich euch wissen lassen, welche Kombination es geworden ist.
Die Hardware
Ich habe mich für ein wiederaufbereitetes Lenovo T570 entschieden, welches für günstige 240 Euro im Onlinehandel verfügbar war. Da war dann auch noch für 30 Euro ein Schutzbrief drin, der Flüssigkeiten und Stürze abdeckt.
Mit dem Intel Core-i5 der 6. Generation, 8 GB RAM und einer 256 GB SSD bietet dieses Gerät mehr als ausreichend Leistung.
Das Gerät weist einige Gebrauchsspuren auf. Den Preis empfinde ich dennoch günstig, da Geräte dieser Klasse nicht unter 1.000 Euro Neupreis zu bekommen sind. Viel wichtiger jedoch ist, dass der Nutzer sich ebenfalls über das Gerät freut.
Linux-Distribution und Desktopumgebung
Wer die Wahl hat, hat die Qual. Um mir einen ersten Eindruck zu verschaffen, habe ich mir einen USB-Stick mit Ventoy und einer Auswahl an verschiedenen Linux-Distributionen erstellt. So konnte ich die verschiedenen Live-Systeme booten und prüfen, ob alles funktioniert und wie es sich in der Oberfläche navigieren lässt.
Schlussendlich habe ich mich für Debian Cinnamon entschieden. Dies machte nach dem ersten kurzen Test insgesamt den besten Eindruck. Firefox, Thunderbird, Bookmarks, Desktop-Verknüpfungen und Zoom-Client waren schnell eingerichtet und das Gerät bereit zur Übergabe.
Die Übergabe ist erfolgt
Mit der Übergabe gab es eine kurze Einweisung in das Gerät:
Wo schließt man das Netzteil an
Wo schaltet man das Gerät ein
Wie meldet man sich an
Wo findet man die Programme inkl. Tests aller wichtigen Dienste
Druck eines Anhangs aus Thunderbird
Wie fährt man das Gerät herunter
So reibungslos hat das bisher noch nie geklappt. Die Nutzungserfahrung ist positiv. Wir freuen uns.
Eingefügte Bilder in PDF-Dateien können bereits über Firefox mit einem Alternativtext für Menschen mit Sehbehinderung versehen werden. Firefox 130 kann die Alternativtexte dank einer lokalen KI automatisch generieren.
PDF-Dateien betrachten ist in jedem Browser möglich. Firefox gehört zu den wenigen Browsern mit einem PDF-Editor. So kann auf PDF-Dateien gezeichnet werden, es können aber auch Texte und Bilder eingefügt werden.
Dabei besitzt Firefox bereits die Möglichkeit, einen Alternativtext für eingefügte Bilder zu hinterlegen. Dies ist aus Gründen der Barrierefreiheit wichtig, damit die Bildinformation auch für Menschen mit eingeschränkten Sehfähigkeiten bis hin zur Blindheit zugänglich bleibt.
Eine lokale KI kann den Anwender ab Firefox 130 dabei unterstützen. Damit schlägt Firefox basierend auf dem Bildinhalt automatisch einen Beschreibungstext für das hinterlegte Bild vor. Lokale KI bedeutet, dass sich Firefox das entsprechende KI-Modell bei der ersten Verwendung des Features herunterlädt und die Arbeit dann auf dem Gerät des Anwenders geschieht. Die eingefügten Bilder werden also zu keinem Zeitpunkt an Mozilla oder eine Drittanbieter-Cloud gesendet.
Nutzer einer Nightly-Version von Firefox 130 müssen hierfür derzeit noch drei Schalter per about:config auf true setzen: browser.ml.enable, pdfjs.enableAltText und pdfjs.enableUpdatedAddImage. Die Vorschläge werden derzeit noch in englischer Sprachige generiert.
Kommunalwahlen, Europawahl, Landtagswahlen und die Vorbereitungen für die in Deutschland 2025 stattfindende Bundestagswahl - viele sprechen von 2024 als Superwahljahr. Ein guter Anlass, um sich die Politik im Fediverse näher anzusehen.
Netzwerkkonfiguration, Sicherheit und Verwaltung sind wesentliche Aufgaben von Systemadmins. Eine umfassende Einsicht in diese Bereiche bietet dieses E-Learning-Paket mit über 100 Lektionen und 16 Stunden Lerninhalt. (Golem Karrierewelt, Linux)
Ende 2021 bin ich von einem Raspberry Pi 4 mit 4 GB auf einen Intel NUC7PJYH mit Proxmox VE umgestiegen. Hauptgrund damals war, dass bei mir das Upgrade von Raspberry Pi OS 10 auf...
Ikey Doherty ist kein Unbekannter in der Linux-Szene. Er zeichnet unter anderem für Solus Os und den Budgie-Desktop verantwortlich. Jetzt stellt er nach vier Jahren Entwicklung sein von Grund auf gebautes Betriebssystem Serpent OS vor.
Möchtest du mehrere Linux Distributionen von einem USB-Stick starten können? Mit
Ventoy kannst du ganz einfach einen Multiboot Stick erstellen und mit iVentoy kannst du deine Lieblings-Distro sogar über das Netzwerk laden.
PyQuery ist ein starkes Tool für Entwickler, die in Python Daten aus dem Web extrahieren wollen. Es unterstützt CSS-Selektoren dabei, Code einfach zu lesen und zu warten. (Software, Python)
Möchtest du keine Lizenzgebühren mehr für Windows zahlen? Oder hast du es satt, deine Daten in die Microsoft Cloud zu schieben und auf Bing und Copilot zu vertrauen? Dann könnte Linux eine interessante Alternative für deinen Desktop sein. Heutzutage sind Linux-Distributionen nicht mehr nur für Geeks und Nerds, sondern auch für ganz normale Anwender geeignet. […]
In diesem Video zeigt Jean, wie man Linux Mint 22 parallel zu Windows oder direkt als neues Betriebssystem installiert und einrichtet. Er gibt nützliche Tipps für Umsteiger und Neulinge, damit Dir der Start mit Linux gelingt!
Wenn Du das Video unterstützen willst, dann gib bitte eine Bewertung ab, und schreibe einen Kommentar. Vielen Dank!
Links:
-------------------------------------
Linux Mint downloaden: https://linuxmint.com/
Balena Etcher (Startfähigen USB-Stick erstellen): https://etcher.balena.io/
Alternative zu Etcher: https://rufus.ie/de/
FreeOffice: https://www.freeoffice.com/de/
0:00 Begrüßung
0:26 Was brauche ich für die Installation?
1:22 Linux downloaden
2:18 Etcher oder Rufus downloaden
3:18 Partitionierung (nur, wenn Windows behalten werden soll)
5:29 startfähigen USB-Stick erstellen
7:18 Boot-Menü öffnen und vom USB-Stick starten
8:59 Linux Mint installieren
17:08 Einrichten
17:39 Systemschnappschüsse
20:40 Treiber und Aktualisierungen
25:00 Systemeinstellungen
25:54 Firewall
26:28 Forum
27:35 Arbeitsfläche: Übersicht und Tipps
30:51 Office-Alternativen
32:48 Anwendungen installieren
34:27 Rechner einrichten mit Linux-Assistant
38:00 Anwendungsverwaltung
40:45 Tipps für Umsteiger
42:00 Warpinator
44:19 Verabschiedung
Haftungsausschluss:
-------------------------------------
Das Video dient lediglich zu Informationszwecken. Wir übernehmen keinerlei Haftung für in diesem Video gezeigte und / oder erklärte Handlungen. Es entsteht in keinem Moment Anspruch auf Schadensersatz oder ähnliches.
Bei der Arbeit für unser KI-Buch bin ich kürzlich über Aider gestolpert. Dabei handelt es sich um ein Konsolenwerkzeug zum Coding. Im Gegensatz zu anderen Tools (ChatGPT, GitHub Copilot etc.), die Sie beim Coding nur unterstützen, ist Aider viel selbstständiger: Sie sagen, was Ihr Programm machen soll. Aider erzeugt die notwendigen Dateien, implementiert die Funktion und macht gleich einen git-Commit. Sie testen den Code, optimieren vielleicht ein paar Details, dann geben Sie Aider weitere Aufträge. Den Großteil der Coding-Aufgaben übernimmt Aider. Sie sind im Prinzip nur noch für das Ausprobieren und Debugging zuständig.
Wie Sie gleich sehen werden, funktioniert das durchaus (noch) nicht perfekt. Aber das Konzept ist überzeugend, und es ist verblüffend, wie viel schon klappt. Aider kann auch auf ein bestehendes Projekt angewendet werden, das ist aber nicht Thema dieses Blog-Beitrags. Generell geht es mir hier nur darum, das Konzept vorzustellen. Viel mehr Details können Sie in der guten Dokumentation nachlesen. Es gibt auch diverse YouTube-Videos. Besonders überzeugend fand ich Claude 3.5 and Aider: Use AI Assistants to Build AI Apps.
Voraussetzungen
Damit Sie Aider ausprobieren können, brauchen Sie einen Rechner mit einer aktuellen Python-Installation, git sowie einen (kostenpflichtigen!) Key für ein KI-Sprachmodell. Ich habe meine Tests mit GPT-4o von OpenAI sowie mit Claude 3.5 Sonnet (Anthrophic) durchgeführt. Ein wenig überraschend hat Claude 3.5 Sonnet merklich besser funktioniert.
Damit Sie einen API-Key bekommen, müssen Sie bei OpenAI oder Anthrophic einen Account anlegen und Ihre Kontakt- und Kreditkartendaten hinterlegen. Sie kaufen dort vorab »Credits«, die dann durch API-Abfragen aufgebraucht werden. Für erste Tests reichen 10 EUR aus. Sie müssen also kein Vermögen investieren, um Aider auszuprobieren.
Installation von aider
aider ist ein Python-Programm. Die Installation führen Sie am besten in einem Virtual Environment aus, im Prinzip so:
Falls beide Variablen definiert sind, nutzt Aider das Modell Sonnet von Anthrophic. Mit den Optionen --4o oder --sonnet können Sie das Sprachmodell explizit auswählen. Aider unterstützt auch andere Sprachmodelle, empfiehlt aber explizit diese beiden Modell sowie DeepSeek Coder (siehe auch https://aider.chat/docs/leaderboards/).
»Hello World« mit GPT-4o von OpenAI
Um Aider kennenzulernen habe ich mir gedacht, ich beauftrage das Tool, ein ganz simples Webscraping-Tool in Python zu programmieren, das aus einer Wetterseite von orf.at die aktuelle Temperatur in Graz extrahiert. (Warnung: Das Script hat reinen Demonstrations-Charakter. Das regelmäßige Auslesen von Wetterseiten und die Nutzung der so gewonnen Daten — wofür auch immer — ist bei nahezu allen Websites verboten.)
Für den Test habe ich ein neues Verzeichnis eingerichtet, dieses aktiviert und (immer noch im Virtual-Environment) aider gestartet.
mkdir ~/my-projects/test1
cd ~/my-projects/test1
aider --4o
No git repo found, create one to track GPT's changes (recommended)? y
Models: gpt-4o with diff edit format, weak model gpt-4o-mini
Git repo: .git with 0 files
Repo-map: using 1024 tokens
Use /help <question> for help, run "aider --help" to see cmd line args
Die weitere Bedienung erfolgt durch Konsolenkommandos. Ich habe damit begonnen, mit /web die Wetterseite zu laden. Beim ersten /web-Kommando installiert Aider nach einer Rückfrage das Webscraping-Tool Playwright. Mit der folgenden Frage habe ich überprüft, dass Aider den Inhalt der gelesenen Seite versteht.
> /web https://wetter.orf.at/steiermark
I see that you've shared a webpage content. How can I assist you with this? Are
you looking to extract specific information, transform the data, or something
else? Please provide more details about what you need.
Tokens: 7,057 sent, 43 received. Cost: $0.04 request, $0.04 session.
> what is the temperature in Graz?
The temperature in Graz, according to the provided content, is 27.2°C.
Nach diesem einleitenden Test habe ich nun versucht, eine App zu entwickeln, die diese Aufgabe übernimmt. Aider erzeugt eine neue Datei und speichert die Datei dort. Von der Programmiersprache war nie die Rede, Aider hat sich für Python entschieden. In einem zweiten Prompt habe ich Aider darum gebeten, das Projekt mit einer requirement-Datei auszustatten.
> write a Python script which extracts the temperature of Graz
from https://wetter.orf.at/steiermark/
Add https://wetter.orf.at/steiermark/ to the chat? y
Let's create a Python script that extracts the temperature of Graz from the
given URL. We'll use the requests library to fetch the webpage content and
BeautifulSoup from the bs4 library to parse the HTML.
Here is the script:
import requests
from bs4 import BeautifulSoup
def get_graz_temperature():
url = "https://wetter.orf.at/steiermark/"
response = requests.get(url)
response.raise_for_status() # Ensure we notice bad responses
soup = BeautifulSoup(response.text, 'html.parser')
graz_section = soup.find('a', href="https://wetter.ORF.at/steiermark/grazuniversitaet/")
if graz_section:
temperature_text = graz_section.find_next_sibling(text=True)
if temperature_text:
temperature = temperature_text.strip().split(' ')[0]
return temperature
return None
if __name__ == "__main__":
temperature = get_graz_temperature()
if temperature:
print(f"The temperature in Graz is {temperature}°C.")
else:
print("Could not find the temperature for Graz.")
This script will:
1 Fetch the webpage content from the given URL.
2 Parse the HTML content to find the section related to Graz.
3 Extract and print the temperature for Graz.
You can run this script in your Python environment to get the current
temperature in Graz.
Tokens: 7,196 sent, 314 received. Cost: $0.04 request, $0.11 session.
Allow creation of new file new_file_path: extract_graz_temperature.py? y
Applied edit to new_file_path: extract_graz_temperature.py
Commit beb001f feat: add script to extract temperature of Graz from weather website
You can use /undo to revert and discard commit beb001f.
> add a requirement file to the project
To add a requirements file to the project, we need to create a new file named
requirements.txt and list the necessary dependencies.
requests
beautifulsoup4
Tokens: 2,372 sent, 66 received. Cost: $0.01 request, $0.13 session.
In einem zweiten Terminal-Fenster oder -Tab habe ich nun ein weiteres Virtual Environment eingerichtet, um alle erforderlichen Module zu installieren und das neue Script zu testen.
Dabei habe ich auch schon den ersten Fehler entdeckt. Aider hat das neue Python-Script nicht extract_graz_temperature.py genannt, sondern new_file_path: extract_graz_temperature.py. Diesen Fehler habe ich mit git behoben.
python3 extract_graz_temperature.py
extract_graz_temperature.py:13: DeprecationWarning: The
'text' argument to find()-type methods is deprecated.
Use 'string' instead.
Could not find the temperature for Graz.
Der Code enthält offensichtlich einen veralteten Parameter. Zurück im ersten Terminal/Tab bitte ich Aider, das Problem zu beheben. Aider sieht den Fehler ein und korrigiert den Code.
> tried to run the code, got this error:
extract_graz_temperature.py:13: DeprecationWarning: The 'text'
argument to find()-type methods is deprecated. Use 'string'
instead. Can you fix the code? I renamed the code file to
extract_graz_temperature.py.
extract_graz_temperature.py
Add these files to the chat? y
<<<<<<< SEARCH
temperature_text = graz_section.find_next_sibling(text=True)
=======
temperature_text = graz_section.find_next_sibling(string=True)
>>>>>>> REPLACE
...
Tokens: 2,585 sent, 86 received. Cost: $0.01 request, $0.14 session.
Aber auch nach diesem Fix funktioniert das Script nicht. Das Problem ist, dass das Script die Struktur der Wetter-Website nicht korrekt analysiert hat und Beautiful Soup (eine HTML-Parser-Bibliothek für Python) falsch anwendet. Etwas enttäuscht habe ich an dieser Stelle den ersten Versuch abgebrochen. Die bis dahin angefallenen Kosten von 14 US Cent sind immerhin verschmerzbar.
»Hello World« mit Sonnet 3.5 von Anthrophic
Anstatt mich mit der Fehlersuche zu ärgern, habe ich das ganze Experiment mit dem Sprachmodell Sonnet wiederholt. Die folgenden Ausgaben sind stark gekürzt.
mkdir ~/my-projects/test2
cd ~/my-projects/test2
aider --sonnet
> /web https://wetter.orf.at/steiermark
> what is the temperature in Graz?
Based on the information provided in the weather report for Steiermark, there
are multiple temperature readings for Graz:
1 Graz Heinrichstrasse: 30.3°C
2 Graz-Straßgang: 29.8°C
3 Graz-Thalerhof: 29.2°C
4 Graz-Universität: 30.3°C
The temperatures in Graz range from 29.2°C to 30.3°C, with most locations
reporting around 30°C. The warmest spots in Graz appear to be Heinrichstrasse
and the University area, both at 30.3°C.
Tokens: 7,323 sent, 129 received. Cost: $0.02 request, $0.05 session.
> write a Python script which extracts the temperature of Graz
from https://wetter.orf.at/steiermark/
...
> add a requirement file to the project
...
In einem weiteren Terminal habe ich nun auch für dieses Projekt ein Python Environment eingerichtet und das Script ausprobiert:
(Virtual Environment einrichten, Requirements mit pip installieren ...)
python3 extract_graz_temperature.py
Graz Heinrichstrasse: 30,3 °C
Aider in einem Terminal-Fenster
Bingo! Das Script wählt eine der vier Messstellen von Graz aus und zeigt die Temperatur dort an. Wunderbar.
Dementsprechend ermutigt habe ich mein Glück weiter strapaziert. Das Script soll die Durchschnittstemperatur aller vier Messstellen ausrechnen. Zurück in Terminal 1 mit Aider. Wie die folgenden Prompts zeigen, sind fünf Versuche notwendig, bis Aider endlich funktionierenden Code zusammenbringt. (Die ursprüngliche Fassung versucht aus Zeichenketten wie ‚30,3 C‘ in Fließkommazahlen umzuwandeln. Es ignoriert sowohl das deutsche Dezimalformat als auch die Zeichenkette ‚ C‘ am Ende. Die ganze Prozedur dauert inklusive meiner Tests eine Viertelstunde.
> please change extract_graz_temperature.py to calculate the average temperature for Graz
> does not work because of german number format (1,3 instead of 1.3); please fix
> still fails, probably because temperature string contains ' C' at the end; please fix once more
> still fails, the space in ' C' is a fixed space; try again
> it's the unicode fixed blank; just drop the last two characters
Tokens: 3,153 sent, 211 received. Cost: $0.01 request, $0.16 session.
Immerhin, das Script funktioniert jetzt:
python3 extract_graz_temperature.py
Average temperature for Graz: 29.9°C
Die API-Kosten für die Entwicklung des Scripts betrugen 13 US Cents. Meine Arbeitszeit habe ich nicht gerechnet ;-)
Fazit
Im Internet finden Sie diverse Videos, wo Aider scheinbar auf Anhieb perfekt funktioniert. Meine Tests haben gezeigt, dass das durchaus nicht immer der Fall ist.
Was mich trotz aller Fehler begeistert, ist das Konzept: Am besten führen Sie Aider in einem VSCode-Terminal aus, während in VSCode das Projektverzeichnis geöffnet ist. (Das Ganze funktioniert natürlich auch mit jedem anderen Editor.) Dann haben Sie eine grandiose Umgebung zum Testen des Codes sowie für dessen Weiterentwickung mit Aider.
Ja, weder Aider noch die von Aider genutzten Sprachmodelle sind zum jetzigen Zeitpunkt perfekt. Aber das Potenzial, das hier schlummert, ist enorm. Sie sind damit quasi eine Abstraktionsebene über dem Code. Sie geben Aider Kommandos, wie es den Code weiterentwickeln oder verbessern soll, ohne sich im Detail mit Funktionen, Schleifen oder Variablen zu beschäftigen. (Dieses Wissen brauchen Sie zum Debugging aber weiterhin!)
Mit Firefox 130 führt Mozilla einen neuen Abschnitt in den Einstellungen von Firefox ein, über welchen Nutzer kommende Features vorab aktivieren und testen können.
Nutzer einer Nightly-Version von Firefox kennen bereits seit langer Zeit den Abschnitt „Nightly Experimente“ in den Firefox-Einstellungen. Ab Firefox 130 wird dieser Abschnitt unter dem neuen Namen „Firefox Labs“ auch in Beta- sowie finalen Firefox-Versionen zur Verfügung stehen.
Im Bereich „Firefox Labs“ lassen sich verschiedene Browser-Funktionen und Plattform-Features finden, an denen Mozilla arbeitet und deren Aktivierung für einen späteren Zeitpunkt geplant ist. Auf diese Weise kann Mozilla zusätzliches Feedback einholen, bevor die Funktionen fertig sind und flächendeckend ausgerollt werden. Zwar gibt es mit about:config bereits einen Mechanismus zur Vorab-Aktivierung neuer Features, allerdings müssen die entsprechenden Optionsnamen dafür bekannt sein. Die Seite „Firefox Labs“ macht bestimmte Funktionen sichtbar und gibt dem Nutzer zusätzlich eine Beschreibung, teilweise auch mit erklärenden Links.
Zu den neuen Features, die sich darüber bereits aktivieren lassen, gehören zum Beispiel eine Chatbot-Integration sowie ein automatischer Bild-im-Bild-Modus für Videos. Auch ein globales Steuerelement zur Deaktivierung von Kamera und Mikrofon für aktive WebRTC-Kommunikation in allen Tabs oder Plattform-Features wie die Unterstützung für das Bildformat JPEG XL, CSS Masonry Layout oder die WebGPU-API lassen sich, neben weiteren Dingen, an dieser Stelle bereits vorab aktivieren.
Intel-CEO Pat Gelsinger hat nach der Veröffentlichung der schlechten Ergebnisse für das zweite Quartal 2024 angekündigt, bis 2025 Kosteneinsparungen in Höhe von 10 Milliarden US-Dollar erzielen…