KADA AI ZAOBIĐE OGRANIČENJE
Jedan naizgled nerešiv problem sa štampačem dobio je neočekivano rešenje zahvaljujući veštačkoj inteligenciji. Devetnaestogodišnji programer Kuber Mehta iskoristio je Claude Code, AI alat kompanije Anthropic, kako bi napravio funkcionalan drajver za HP Laser 1008a. Model za koji nije postojao odgovarajući macOS drajver. Mehta je objasnio da je štampač zapravo preimenovani Samsungov model. On koristi vlasnički jezik za rasterizaciju SPL3 i da ne podržava standarde poput PostScript-a, PCL-a ili AirPrint-a.
Prema njegovom opisu projekta, rad sa Claude Codeom trajao je oko četiri sata i obuhvatio je desetine zahteva, testiranja i ispravki. AI je pomagao u analizi načina na koji štampač obrađuje podatke. Kao i ispitivanju postojećih drajvera i pronalaženju načina da se izlazni podaci proslede uređaju preko USB-a. Prva verzija rešenja oslanjala se na HP-ov vlasnički rastertospl kodek. On je je radio u Linux kontejneru, dok je kasnija verzija postala potpuno nativna za Apple Silicon.
OD EKSPERIMENTA DO PRAVOG DRAJVERA
Posebno zanimljiv deo priče jeste to što konačno rešenje nije ostalo samo improvizovani trik. Mehta je utvrdio zašto je otvoreni SpliX drajver na ovom modelu ranije davao neispravan rezultat. Analizom izlaznih podataka utvrđena je greška u zaglavlju stranice. Štampač je veličinu stranice tumačio na mreži od 300 dpi, dok je SpliX slao vrednost zasnovanu na 600 dpi. Mala izmena od svega desetak linija koda bila je dovoljna da se problem otkloni.
Današnja verzija projekta koristi zakrpljeni SpliX kao CUPS filter. Odnosno deo macOS sistema zadužen za obradu poslova štampanja, dok mali pomoćni program napisan u C-u koristi Appleov IOKit za direktan USB prenos. Time su iz konačnog rešenja uklonjeni Docker, virtuelna mašina, Python i dodatne biblioteke. Korisnik tako može da doda štampač i iz standardnog dijaloga za štampanje koristi prečicu Cmd-P, kao da je uređaj od početka imao podršku za Mac. Projekat je objavljen pod MIT licencom za sopstveni deo koda. SpliX i njegove zakrpe koriste GPLv2 licencu.
AI KAO ALAT ZA NEMOGUĆE PROBLEME
Ovaj slučaj je zanimljiv jer Claude nije jednostavno napisao nekoliko hiljada linija koda na osnovu jednog zahteva. Proces je uključivao posmatranje grešaka, testiranje različitih pristupa, analizu binarnih podataka i povezivanje postojećih otvorenih tehnologija sa vlasničkim formatom koji koristi štampač. Upravo takva vrsta rada pokazuje gde AI asistenti za programiranje mogu da budu posebno korisni. Ne samo u pisanju novog softvera, već i u rešavanju problema kompatibilnosti za uređaje koje proizvođači više aktivno ne podržavaju.
Mehta je ceo projekat javno objavio na GitHubu, zajedno sa opisom procesa razvoja, a njegovo iskustvo pokazuje i širu promenu u odnosu između hardvera i softvera. HP Laser 1008a je predstavljen 2023. godine, a HP na svojoj stranici navodi SPL kao jezik štampanja i USB 2.0 kao standardni način povezivanja, dok se informacije o podržanim operativnim sistemima razlikuju između pojedinih HP stranica i dokumentacije. U svakom slučaju, nezavisni projekat je pokazao da odsustvo zvaničnog drajvera ne mora nužno da znači kraj upotrebljivosti uređaja. Ponekad je dovoljno spojiti postojeće znanje, otvoreni kod i AI alat koji može da pomogne u rešavanju problema korak po korak.