Psubrat
Posted on Tue 12 June 2007 in Uncategorized • 2 min read
Gdy wracaliśmy z małego spaceru wieczorem, czyli pan Dziedzic oraz mua, obok Pola Mokotowskiego, na parkanie wzdłuż którego toczyłem rowerek brzdąca wisiało mnóstwo billboardów. Do głowy przyszła mi szatańska myśl...
Wymyśliłem coś, za co większość koderów z pewnością powiesiłaby mnie za jajka i obiła pałami. Otóż, w Internecie rośnie ilość wolnego, dostępnego kodu źródłowego wszelkiego rodzaju oprogramowania. Przeciętny programista czy hobbysta komputerowy czyta mnóstwo wierszy tego kodu. I co? I ma tak czytać bez sensu? Przecież to jak oglądanie filmu bez reklam!
Wpadłem więc na pomysł, żeby w źródełka wrzucać co jakiś czas boksy reklamowe. Wyglądąłoby to mniej więcej tak:
static struct amba_id * amba_lookup(struct amba_id *table, struct amba_device *dev) { int ret = 0; while (table->mask) { ret = (dev->periphid & table->mask) == table->id; if (ret) break; table++; } return ret ? table : NULL; } /************************/ /* Jeszcze tu siedzisz? */ /* Nie szkoda ci życia? */ /* Bilety na Jamajkę za */ /* 70zł w CentralWings */ /* wyszukaj w Google */ /************************/ static int amba_match(struct device *dev, struct device_driver *drv) { struct amba_device *pcdev = to_amba_device(dev); struct amba_driver *pcdrv = to_amba_driver(drv); return amba_lookup(pcdrv->id_table, pcdev) != NULL; } #ifdef CONFIG_HOTPLUG static int amba_uevent(struct device *dev, char **envp, int nr_env, char *buf, int bufsz) { struct amba_device *pcdev = to_amba_device(dev); if (nr_env < 2) return -ENOMEM; /************************/ /* No nie? To nadal ty? */ /* Nie szkoda ci życia? */ /* Bilety na Jamajkę za */ /* 70zł w CentralWings */ /* wyszukaj w Google */ /************************/ snprintf(buf, bufsz, "AMBA_ID=%08x", pcdev->periphid); *envp++ = buf; *envp++ = NULL; return 0; }
I tak dalej. Pomysł rozwinął mi się w głowie i stwierdziłem, że w przyszłości jak już się to gówno przyjmie, a przyjmie się na pewno bo gówno sprzedaje się najlepiej [tm], pojawią się jeszcze inne wstawki. Na przykład w kodzie będzie jakaś funkcja robiąca jakieś fiku-miku, ale programista zamieści boksa reklamowego z mniej więcej taką treścią:
/*******************************************/ /* Jeśli chcesz w tym miejscu skorzystać */ /* z algorytmu szybszego o 150 razy */ /* napisz do mnie: frodo@ryzapupka.pl */ /* Odstąpię niedrogo: 200 Euro. */ /* Frodek */ /*******************************************/
Tak samo może być ze sterownikami. W kodzie sterownika w kernelu Linuksa kolo zamieści ogłoszenie, że ma wersję, która dodatkowo "tańczy, śpiewa, krawaty wiąże, usuwa ciąże". I szlus!