LUGMOS-News 2006/02

Inhalt:

1. LUGMOS-Intern
 a) Mailingliste
 b) RNZ-Ankündigung
2. Zusammenfassung des letzten Treffens vom 8. Februar 2006
 a) Webbrowser Mozilla Firefox und seine Erweiterungen
 b) Installation von dvd:rip
 c) Samba und das Archive Bit
 d) Linux From Scratch
 e) Sprachausgabe
 f) C-Speicherbelegung
3. Nächstes Treffen
 a) Schwerpunkt: MP3-Grundlagen und Anwendung
 b) mitgebrachte Probleme lösen und Neuigkeiten austauschen

---

1. LUGMOS-Intern
================

a) Mailingliste

Wer sich bei unserer Liste anmelden möchte, muss lediglich eine
Nachricht an folgende Adresse schicken:
lugmos-subscribe@linux-sinsheim.de und die Bestätigungs-Nachricht
beantworten. Als Mitglied kann man dann Nachrichten an die Adresse
lugmos@linux-sinsheim.de schicken, um alle Mitglieder unserer Mailliste
zu erreichen. Mit lugmos-unsubscribe@linux-sinsheim.de meldet man sich
von der Liste ab.

b) RNZ-Ankündigung

Die Ankündigung in der RNZ am Dienstag vor unserem Treffen hat wieder
ein paar weitere Interessenten angelockt. In Zusammenarbeit mit der BA
Mosbach wollen wir dies zur Regel machen. Einen herzlichen Dank schonmal
für die zukünftige Unterstützung an die Berufsakademie!


2. Zusammenfassung des letzten Treffens vom 8. Februar 2006
===========================================================

a) Webbrowser Mozilla Firefox und seine Erweiterungen

Schwerpunkt waren die Erweiterungsmöglichkeiten des beliebten und
innovativen Webbrowsers Mozilla Firefox. Dieser ist für alle gängigen
Betriebssysteme verfügbar und hat mittlerweile in Privathaushalten einen
Marktanteil von über 30 Prozent erreicht. Der schlanke und schnelle
Browser berücksichtigt bei der Darstellung von Webseiten offizielle
Standards und kann über sogenannte Erweiterungen viele nützliche
Funktionen "hinzulernen". Von den über 1000 verfügbaren Erweiterungen
wählten wir einige aus, um sie im praktischen Einsatz zu testen.

Vom zentralen Portal für deutschsprachige Erweiterungen -
http://www.erweiterungen.de/ - schauten wir beispielsweise folgende
Erweiterungen genauer an:
* FlagFox
* Greasemonkey
* All-In-One Gestures
* Flashblock
* Web Developer

Aber auch beim "nackten" Mozilla Firefox gab es noch so manches zu
entdecken:

* die "versteckten" Konfigurationsmöglichkeiten
  about:config
* die Tastkürzel
  http://firefox.bric.de/index.php?page=keyboard
* Tipps und Tricks
  http://firefox.bric.de/index.php?page=tips


b) Installation von dvd:rip

Bei der Installation des im Januar vorgestellten Programms dvd:rip gab
es noch einige Probleme. Auf einem Debian-basierten System sollte ein
einfaches
$ apt-get install dvdrip xcdroast vcdimager ogmtools xvid4conf
genügen.


c) Samba und das Archive Bit

Zu dem im Januar geschilderte Problem mit dem auf executable gemappte
Archive Bit konnte kein Hinweis gefunden werden. Es sollte eigentlich
einfach funktionieren... ;-)


d) Linux From Scratch

Weitere Informationen zum kurz vorgestellten LFS-Projekt finden man hier
  http://www.linuxfromscratch.org/
und die aktuelle Anleitung um ein Linuxsystem von grund auf zu bauen hier:
  http://www.linuxfromscratch.org/lfs/view/stable/


e) Sprachausgabe

Beim anschließenden Essen wurde noch der Sprachsynthesizer "festival"
vorgestellt. Die Installation ist sehr einfach
$ apt-get install festival speech-dispatcher-festival festvox-rablpc16k
aber die Bedienung ist etwas komplizierter. Zur Vereinfachung hat
Torsten zwei kleine Skripte geschrieben. 'say' [1] ist ein Filter der
Text aus stdin liest und ausspricht. 'xsay' [2] spricht aus, was gerade
per X selektiert wurde (benötigt das Programm xclip).

Eine weitere schöne Lösung: Diese Seite beschreibt, wie man sich News
aus dem Web in MP3 umwandelt, so dass man sie sich mit dem MP3-Player
anhören kann:
  http://tintuc.no-ip.com/linux/tipps/WebNews2Mp3.html


f) C-Speicherbelegung

Im Januar kam die Frage nach der Speicherbelegung, dem Stackzustand etc.
beim Ablauf von C-Programmen und wie beispielsweise Pufferüberläufe
ausgenutzt werden können.

Um etwas mehr über die low-Level Abläufe in einem C-Programm zu
erfahren, sind diese Artikel zu empfehlen:

  http://doc.bughunter.net/buffer-overflow/smash-stack.html
  http://www.cs.pdx.edu/~bjorn/CS200/linux_tutorial/

Weiter unten sind ein paar Protokolle meiner eigenen Experimente [3].

Generell lässt sich zusammenfassen, dass Assembler als Zwischenschritt
schon vieles klar macht, sofern man Assembler entziffern kann. Weiterhin
sind Debugger wie gdb oder das grafische Frontend ddd sehr hilfreich.


3. Nächstes Treffen
===================

a) Schwerpunkt: MP3-Grundlagen und Anwendung

Neben mitgebrachten Tipps und Problemen schauen wir uns das MP3-Format
und die Anwendung der zahlreichen Hilfsprogramme an. Dem Mobilmachen der
eigenen CD-Sammlung sollte dann nichts mehr im Wege stehen.

Ein paar Anregungen bis dahin:

  http://de.wikipedia.org/wiki/MP3
  http://de.wikipedia.org/wiki/ID3-Tag
  Encoder: lame oggenc
  Digital Audio Extraction: cdparanoia
  id3-Tags: id3, id3ed, id3ren, id3tool, id3v2, kid3
  CD-Ripper: jack crip grip abcde
  mp3-Player: xmms mpg321 cplay
  Sonstige: mp3gain mp3splt


b) mitgebrachte Probleme lösen und Neuigkeiten austauschen



Kommentare über die Liste sind erwünscht.



[1] /usr/local/bin/say
---------------8<--------------8<---------------
#!/usr/bin/festival --script

;;; apt-get install xclip festival festvox-rablpc16k

;;; try this for singing:
;;; echo "(tts \"/usr/share/doc/festival/examples/songs/america1.xml\"
;;;   'singing)" | festival
;;; echo "(tts \"/usr/share/doc/festival/examples/songs/lochlomond.xml\"
;;;   'singing)" | festival

;;; Because this is a --script type file it has to explicitly
;;; load the initfiles: init.scm and user's .festivalrc
(load (path-append datadir "init.scm"))

;;; BE: (voice_rab_diphone)
;;; AE: (voice_kal_diphone)

(if (not (member_string "-a" argv)) (voice_rab_diphone))
(tts_file "-")
---------------8<--------------8<---------------

[2] /usr/local/bin/xsay
---------------8<--------------8<---------------
#!/bin/sh
/usr/X11R6/bin/xclip -o | say $1
---------------8<--------------8<---------------

[3]
---------------8<--------------8<---------------

/* hello.c */
#include <stdio.h>
main()
{
  printf("hello\n");
}

gcc -o hello hello.c
./hello
readelf -l hello

gcc -v -o hello hello.c
gcc -E hello.c

gcc -S hello.c
as -a --gstabs -o hello.o hello.s
ld -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 -o hello
/usr/lib/crt1.o /usr/lib/crti.o -lc hello.o /usr/lib/crtn.o

gdb ./hello
(gdb) l
break main
run
info registers
p/x $eax
  The "p" command prints, "/x" indicates the output should be in
hexadecimal.
  type "s" or "step" to step to the next instruction.
s

pmap -d `pidof hello`

---

example1.c

void function(int a, int b, int c) {
   char buffer1[5];
   char buffer2[10];
}

main() {
  function(1,2,3);
}

gcc -S -o example1.s example1.c

gcc -o example1 example1.c

gdb example1
(gdb) disassemble main
---------------8<--------------8<---------------

LugMosbach/Treffen/2006 Februar (zuletzt geändert am 2007-12-23 22:46:53 durch localhost)