Web Analytics
We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Linux-Magazin - Versteckspiele: Software entwickeln unter Linux
Linux-Magazin-Logo Die Zeitschrift für Linux-Professionals

Software entwickeln unter Linux

Versteckspiele

Achim Leitner

Bei Volltext-Suchmaschinen für Webseiten ist die Auswahl groß. Wer aber eine Standalone-Lösung für die Files auf der eigenen Festplatte will oder eine CD-ROM mit Volltextindex plant, muss länger nach geeigneten Tools fahnden. Findige Programmierer entwickeln kurzerhand eigene Such-Applikationen.

Inhalt

116 Perl-Snapshot
Das Perl Object Environment versetzt ein Skript in die Lage, intern kooperatives Multitasking zu betreiben - ohne Zutun des Betriebssystem-Schedulers und ohne Threads.

122 Coffee-Shop
Das Java-API Lucene dient als solide Basis für die eigene Search Engine. Lucene arbeitet schnell und fehlertolerant und liefert ansprechende Ergebnisse.

126 Smalltalk
Sie ist eine der konsequentesten OO-Sprachen: Mit ihren 30 Jahren zeigt Smalltalk der jüngeren Konkurrenz, wie reif eine Implementierung sein kann und was in die Standardbibliothek muss.

Wer heute eine CD mit Textinhalt kauft (etwa die Jahres-CD des Linux-Magazins), erwartet, dass er die Dokumente auch durchsuchen kann. Vorbild sind die Suchmaschinen im Internet, allen voran Google - entsprechend hoch liegt die Messlatte. Zwar gibt es Suchsoftware zur Genüge, und zwar von einfachen Perl-Skripten bis zu leistungsfähigen Indizierern und Volltext-Findern, trotzdem erfüllen nur wenige die hohen Ansprüche der Suchenden.

Zu den guten Programmen gehört sicherlich Swish-E (siehe Know-how-Artikel auf Seite 100). Nur sollte kein Herausgeber einer CD erwarten, dass der Käufer erst einen Webserver aufsetzt und CGI-Skripte einbindet, nur um nach einem Artikel zu fahnden. Eine Standalone-Lösung ist also gefragt.

Unser Autor hat genau das umgesetzt: Er griff kurzerhand zu WX-Windows[1] und programmierte ein einfaches GUI um die Swish-E-Kommandozeilentools. Perfekt für die schnelle Suche auf der eigenen Festplatte, für CDs aber etwas unhandlich - schließlich müssen hier mehrere Komponenten zusammenpassen, was bei unbekannten Zielsystemen zum Vabanquespiel gerät.

Java-Applikation gesucht

Für dieses Einsatzgebiet drängt sich Java geradezu auf: Die Plattform ist standardisiert und mit dem Jar-Format ist es leicht, alle Komponenten der Applikation kompakt zu verschnüren und in einem Stück auszuliefern. Der Coffee-Shop stellt ab Seite 122 zwei dieser Lösungen vor: John Browns Docsearcher[2], der auch auf der Linux-Magazin-CD seinen Dienst verrichtet, sowie Luala[3]. Beide Projekte setzen auf dem Lucene-API auf, das sich um Indizierung und Suche kümmert.

Den Anstoß für die Luala-Entwicklung gab die erwähnte Jahres-CD. Die Redaktion suchte ein schlankes, einfach zu benutzendes Tool, das sich auch in der Shell einsetzen lässt. Wer die Disk durchsucht, findet - etwas versteckt - eine frühe Betaversion, die bereits bestens funktioniert.

Programmierer-Software

Versionsnummern der aktuellen stabilen Releases am 13.02.2004 und Änderungen gegenüber den drei Vormonaten.

Skriptsprachen

Guile 1.6.4

Object Rexx 2.3.3

Perl 5.8.3

PHP 4.3.4

Python 2.3.3

Ruby 1.8.1

Tcl 8.4.5

Java

Blackdown 1.4.2-rc1

IBM Java2 SDK 1.4.1 SR1

Kaffee 1.0.7

Sun SDK 1.4.2_03

Compiler

Binutils 2.14

Clisp 2.32

Free Pascal 1.0.10

GCC 3.3.2

GForth 0.6.2

GNU Pascal 2.1

Intel C++ 8.0

Libraries

Coin 2.2.1

FLTK 1.1.4

glibc 2.3.2

glut 3.7

GTK+ 2.2.4

libpng 1.2.5

libsdl 1.2.6

libxml 2.6.6

Mesa 6.0

OpenSSL 0.9.7c

Qt 3.3.0

wxWindows 2.4.2

zlib 1.2.1

Debugger

Code Medic 2.0.0

DDD 3.3.8

GDB 6.0

Insight 5.3

Mpatrol 1.4.8

Valgrind 2.0.0

Build-Tools

Autoconf 2.59

Automake 1.8.2

Libtool 1.5.2

GNU Make 3.80

SWIG 1.3.20

IDEs

Anjuta 1.2.1

Code Crusader 4.0.0

C-Forge 3.6

CodeWarrior 6

Eclipse 2.1.2

Emacs 21.3

KDevelop 3.0.0

Kylix 3

Motor 3.2.4

Source-Navigator 5.1.4

VIDE 2.0

VIM 6.2

XEmacs 21.4.14

Infos

[1] Steffen Panning, "Cross-Plattform-Entwicklung mit WX-Windows": Linux-Magazin 03/04, S. 98

[2] Docsearcher: [http://www.brownsite.net/docsearch.htm]

[3] Luala: [http://luala.berlios.de]

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Sub-domains

CDRoms - Magnatune - Librivox - Liber Liber - Encyclopaedia Britannica - Project Gutenberg - Wikipedia 2008 - Wikipedia 2007 - Wikipedia 2006 -

Other Domains

https://www.classicistranieri.it - https://www.ebooksgratis.com - https://www.gutenbergaustralia.com - https://www.englishwikipedia.com - https://www.wikipediazim.com - https://www.wikisourcezim.com - https://www.projectgutenberg.net - https://www.projectgutenberg.es - https://www.radioascolto.com - https://www.debitoformtivo.it - https://www.wikipediaforschools.org - https://www.projectgutenbergzim.com