Hlavní navigace

Programy z dílny DanielSoftu

19. 7. 2004
Doba čtení: 3 minuty

Sdílet

Napadlo mě, že bych se mohl se čtenáři Roota podělit s open source programy pro Linux, které jsem vyvinul. Jedná se spíše o takové experimentíky, snad budou někomu užitečné. Programy jsou napsány v Perlu či v kombinaci Perlu a shellu (výjimku tvoří program viewdoc, jehož jádro je v jazyce C), byly vyvinuty pod Linuxem, ale měly by chodit (netestováno) i pod jinými UNIXovými systémy.

viewdoc

Jak název napovídá, program slouží k prohlížení dokumentů typu .doc. Jedná se o dobře (špatně?) známý formát MS Office, program by měl pracovat s novým unicodovým i starším (Word 95) formátem. Vypisuje se pouze základní text, tabulky, efektní efekty ani podobné vymyšlenosti se nepodporují. Co se naopak podporuje, je čeština. Program slouží hlavně pro rychlé prohlížení českých .doc souborů.

cman

Program cman je front-end k prohlížeči manuálových stránek, programu man(1). Akceptuje naprosto stejné parametry, které předává pod sebou spuštěnému manu, a jeho vlastní činnost spočívá v obarvování výstupu, aby byl přehlednější. Vypadá to podobně, jako když na souboru typu man zmáčknete F3 v Midnight Commanderovi. Cman rozlišuje dvě úrovně obarvení a navíc detekuje přepínače podle znaku „-“ a zobrazuje je modře. Manuálové stránky jsou po obarvení přehlednější, barvičky fungují na konzoli i v xtermu.

kompiluj

Když jsem kdysi přecházel z Pascalu na C, divil jsem se jedné věci: u Pascalu stačilo napsat „uses modul“ a linker modul připojil, pokud však v Céčku napíšete například „#include <math.h>“, musíte ještě překladači sami říct, že má připojit knihovnu -lm. Tehdy jsem se divil, že překladač připojení knihovny sám nepozná a neudělá podle toho „#include“. Později mě napadlo, že pokud tuto funkcionalitu nenabízí samotný překladač, mohl by ji nabízet nějaký jeho front-end, a pokud takový front-end neexistuje, mohl bych jej napsat. Tak vznikl projekt „kompiluj“. Na příkazové řádce program očekává céčkové či pluskové soubory, pro něž zavolá gcc, případně g++, a přidá příkazy pro linkování knihoven, jejichž existenci odvodil z příkazů „#include“ uvnitř těchto souborů. Přepínače nechává na pokoji a rovněž předá. Konfigurace programu spočívá v jeho přímé editaci, v přidání asociací mezi „#include“ a přidávaný parametr. Asociativní pole %asoc zpočátku vypadá takto:

%asoc= ( "math.h"     => "-lm",
         "iostream.h" => "-liostream",
         "vga.h"      => "-lvgagl",
         "X11/Xlib.h" => "-L/usr/X11R6/lib -lX11"
         "curses.h"   => "-lcurses"
       );

Program se hodí k rychlé a pohodlné kompilaci nějakého programu/části programu, kde se musí na řádku přidávat nějaké knihovny, a vy teď honem přesně nevíte jaké.

Daniel's Menu System

Tento prográmek vám umožňuje vytvářet menu. K aktivaci položky menu stačí stisk klávesy (nemusí se potvrzovat ENTERem) a tvorba menu je taktéž velmi jednoduchá – prostě na každý řádek definičního souboru napište jeden příkaz, který se spustí po zvolení té které položky. Příkaz slouží zároveň i jako popisek položky menu – jak prosté. Pokud místo příkazu uvedete název souboru s příponou .dms, jedná se o submenu: program dms sám sebe rekurzivně spustí na daný soubor. To je k tomuto jednoduchému programu vše.

Nyní přejdeme od „užitkových“ programů k programům určeným spíše pro zábavu.

DaGGeR

Název je zkratka: „Danielsoft/Gnu Generátor Rýmů“. Je určen pro pomoc básníkům. Zadáte konec slova a program prohledá svou databázi slov a vypíše všechna slova s daným koncem – mezi nimi budou i všechna ta, která se rýmují s původně zamýšleným slovem, jehož konec jsme napsali. Databáze slov je textový soubor s velkým množstvím slov „vykuchaný“ z databáze programu ispell (pozn. red.: zdravíme Petra Koláře :) –Johanka).

V balíčku programu DaGGeR je ještě jeden program, zvaný PIND (Pind Is Not Dagger). Ten využívá stejné databáze slov a stejného „enginu“ ke generování náhodných rýmovaných básní, většinou pěkně surrealistických, například:

UX DAy - tip 2

pomoci automobil
vnitřní kanárek
dialog automobil
porada pazourek

odevzdat kodrcavý
odkašlávání průměrování
odbíhat nechápavý
konzument zadumání

Abulafia

Tento program je pojmenován podle počítače z knížky Foucaultovo kyvadlo Umberta Ecca, kterou všem doporučuji k přečtení (počítač v knížce byl zase pojmenován podle starověkého židovského mystika). Stejně jako v knize slouží program Abulafia k věštění. Funguje to tak, že položíte otázku, spustíte program a on odpoví náhodným množstvím náhodných řádků ze svého souboru, které následně můžete analyzovat jako výsledek věštby. Na příkazovém řádku zadáváte buď interval <číslo>-<číslo> značící rozmezí počtu řádků v souboru, <číslo> značící přesný počet řádků, či (pokud je parametr jiného tvaru) jméno souboru s řádky. Implicitní soubor s řádky je totožný se souborem programu DaGGeR, ale můžete samozřejmě vytvořit i vlastní soubor, obsahující např. slova či věty z vámi dotazované problematiky.

Tak to je ode mne vše, doufám že vám alespoň jeden z prográmků k něčemu bude.

Byl pro vás článek přínosný?

Autor článku