roothausen

  • Impressum
  • Administration
  • Kontaktformular
  • Jabber
  • Tagcloud
  • Twitter
  • Soup
  • Github

Entries tagged as computer

Entries tagged as computer

Related tags

android code google gui jabber java linux&unix misc mobile opensource presentation programming screenshot sdk shortys software video web webdesign xml bad world blog blogging browser captcha changes dns firefox fun hardware html life lighttpd media murphy networking politics privacy s9y security server spam stuff tail -f /var/log/life tv webwide zeitgeist contentmanagement css free tool wordpress rss ruby javascript cheatsheet feedreader markup scala swing windows xslt comic forum unb encryption mail psi newsbeuter test podcast picture howto im regular expression perl conference dslr nikon photography coffee science subnetting truecrypt 1 2

Scala - A Scalable Language

04:42

Friday, May 21. 2010

Da es aktuell aufgrund von Zeitmangel relativ still auf diesem Blog ist und ich aktuell den meisten Content auf Twitter und bei RadioTux produziere, wollte ich auch an dieser Stelle mal ein Lebenszeichen von mir geben und die Slides meiner letzten Präsentation über die Programmiersprache Scala veröffentlichen.

Scala - A Scalable Language
View more presentations from pfleidi.

Die Präsentation gibt es hier als PDF zum Download.

Abschließend habe ich noch ein Beispielprogramm erstellt, das den Einsatz von Scala Traits als polymorphe Typen beschreibt:

Posted by Sven Pfleiderer in computer | Comments (0) | Trackbacks (0)
Defined tags for this entry: code, computer, presentation, programming, scala

CPU-Frequency-Scaling Probleme

00:35

Sunday, February 7. 2010

Ich bin, wie bereits bekannt sein sollte, seit knapp 3 Jahren Besitzer eines Thinpkpad T60. Leider hatte ich hiermit in der Letzten Zeit Probleme mit dem CPU-Frequency-Scaling: Wenn man das Notebook über das Netzteil mit Strom versorgt hat und der Akku entfernt war, wurde die CPU dauerhaft auf ihre minimale Taktfrequenz herunter geregelt. Diesen Zustand hat auch das Tool cpufreq-info bestätigt:

cpufrequtils 006: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  hardware limits: 1000 MHz - 1.83 GHz
  available frequency steps: 1.83 GHz, 1.33 GHz, 1000 MHz
  available cpufreq governors: powersave, ondemand, performance
  current policy: frequency should be within 1000 MHz and 1000 MHz
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 1000 MHz (asserted by call to hardware).

Nach einer kurzen Suche habe ich im Thinkwiki eine passende Lösung gefunden: Das Anhängen des Parameters "processor.ignore_ppc=1" an die Kerneloptionen im Bootloader. Ein passender Eintrag sollte bei grub ungefähr so aussehen:

# (0) Arch Linux
title  Arch Linux-ck
root   (hd0,1)
kernel /vmlinuz26-ck [weitere optionen] processor.ignore_ppc=1
initrd /kernel26-ck.img
 

Nach dieser Änderung und reinem Neustart des Notebooks skaliert die CPU nun bei Last auch wieder sauber auf höhere Taktfrequenzen:

analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  hardware limits: 1000 MHz - 1.83 GHz
  available frequency steps: 1.83 GHz, 1.33 GHz, 1000 MHz
  available cpufreq governors: powersave, ondemand, performance
  current policy: frequency should be within 1000 MHz and 1.83 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 1000 MHz (asserted by call to hardware).
Posted by Sven Pfleiderer in computer | Comments (0) | Trackbacks (0)
Defined tags for this entry: computer, hardware, linux&unix

Feedchecker Version 0.4

16:09

Thursday, December 24. 2009

Änderungen

Nach Feedback auf den letzten Blogeintrag habe ich mich nochmal an das Feedchecker Script gemacht und ein paar Änderungen eingepflegt:

  • Ruby 1.8 Kompatibilität (da ich selbst auf Ruby 1.9 entwickle)
  • Vereinfachtes Suchen der Urls durch XPath-Expression
  • Konfigurierbare Anzahl der parallel abzuholenden Feeds

./feedchecker.rb -h
This is a simple, script which takes an opml file and checks all contained feeds for
errors.

 Usage:

feedchecker.rb [options] -i <filename>

where [options] are:
          --input, -i <s>:   Input opml file
        --timeout, -t <i>:   Timeout interval in seconds (default: 60)
            --age, -a <i>:   Specify the minimum age in days (default: 365)
  --fetchparallel, -f <i>:   Specify the amount of feeds to fetch parallel (default: 5)
            --version, -v:   Print version and exit
               --help, -h:   Show this message
 

Mehr Details gibts in der Commit-History auf github.

Geschwindigkeit

In meinen Tests verwende ich meine Liste mit ca. 160 Feeds. Einmal mit den Standardeinstellungen und einmal mit der Option, dass 10 Feeds parallel abgeholt werden.

Zuerst ein paar Vorbereitungen:


wget http://github.com/pfleidi/feedchecker/raw/master/feedchecker.rb
chmod +x feedchecker.rb
 

Mit Standardeinstellungen:


time ./feedchecker.rb -i feeds.opml
...
real    1m33.162s
user    0m18.909s
sys     0m1.296s
 

Mit 10 Threads:


time ./feedchecker.rb -i feeds.opml -f 10
...
real    1m20.754s
user    0m19.493s
sys     0m1.340s
 

Mit 10 Threads und aggressiveren Timeouts von 20 statt 60 Sekunden:


time ./feedchecker.rb -i feeds.opml -f 10 -t 20
...
real    0m39.808s
user    0m19.205s
sys     0m1.472s
 

Viel Spaß damit und ein frohes Fest euch allen!

Posted by Sven Pfleiderer in computer | Comments (0) | Trackbacks (0)
Defined tags for this entry: code, computer, opensource, rss, ruby, software, web, xml

Feeds ausmisten

01:16

Saturday, December 19. 2009

Was tun mit riesigen Feedlisten?

Es geht wahrscheinlich vielen so: Man sammelt im laufe der Jahre hunderte Feeds in seiner Liste ohne nun wirklich zu wissen welche noch aktuell sind und welche nicht. In der letzten Zeit hatte ich genau aus diesem Grund mal wieder das Bedürfnis meine RSS-Feeds auszumisten. Da ich ein fauler Mensch bin und eigentlich keine Lust habe hunderte von Feeds "von Hand" zu prüfen, habe ich ein kleines Tool geschrieben, das mir dabei hilft kaputte, nicht erreichbare oder verwaiste Feeds zu entdecken.

Das Tool

Das Tool wurde in ruby geschrieben, ist frei unter der GPLv2 verfügbar und hoert auf den nicht besonders kreativen Namen feedchecker. Um es zu benutzen ist das Trollop-Gem sowie das Peach-Gem notwendig. Dieses lassen sich einfach mittels "gem install trollop" sowie "gem install peach" installieren.

Update: Unter Debian scheint das SSL-Plugin nicht mit der normalen Ruby-Installation mit installiert zu werden. Darum sollte es noch mittels "aptitude install libopenssl-ruby" nachinstalliert werden.

Verwedung

Da das Tool nicht viel kann, haellt sich die Komplexitaet der Optionen in Grenzen:


 ./feedchecker.rb --help
This is a simple, script which takes an opml file and checks all contained feeds for
errors.

 Usage:

feedchecker.rb [options] -i <filename>

where [options] are:
          --input, -i <s>:   Input opml file
        --timeout, -t <i>:   Timeout interval in seconds (default: 60)
            --age, -a <i>:   Specify the minimum age in days (default: 365)
  --fetchparallel, -f <i>:   Specify the amount of feeds to fetch parallel (default: 5)
            --version, -v:   Print version and exit
               --help, -h:   Show this message
 

Mit einem Aufruf des Scripts lässt sich zumindest die Liste der zu prüfenden Feeds stark eingrenzen.


feedchecker.rb -i /tmp/rss.opml                                                                                      
http://atsutane.freethoughts.de/feed/atom feed isn't well formed and could't be parsed
http://blog.b-o-f-h.net/index.php?/feeds/index.rss2 is out of date. Age: 388 days without an update
http://blog.choas.net/RSS age could not be checked
http://blog.fefe.de/rss.xml?html age could not be checked
http://blog.roothell.org/feeds/index.rss2 Connection timed out
http://codebu.de/blog/?feed=rss2 Redirect ... new URI: http://codebu.de/blog/feed/
...
 

Eventuell hat ja ausser mir noch jemand eine Verwendung dafür. Falls ja ist dies mein Weihnachtsgeschenk an euch.

Posted by Sven Pfleiderer in computer | Comments (6) | Trackbacks (0)
Defined tags for this entry: code, computer, feedreader, rss, ruby, software

Jetzt auch in audio

19:55

Saturday, October 17. 2009

Der Ingo hat mich vor ein paar Tagen dazu eingeladen bei Radiotux etwas zu Google Wave zu erzählen.

Letzten Donnerstag war es dann so weit und ich war bei radiotux@horads zu Gast und habe mich etwas an der Diskussion beteiligt. Leider sind wir aus unterschiedlichen Gründen nicht mehr zu Wave gekommen. Das wird dann wahrscheinlich in einer anderen Sendung nachgeholt.

Sollte sich also jemand dafür interessieren was der Herr aus roothausen so zu erzählen hat: Hört euch den Podcast an. ;-)

Posted by Sven Pfleiderer | Comment (1) | Trackbacks (0)
Defined tags for this entry: computer, google, linux&unix, media, podcast, tail -f /var/log/life

Verkleinern von Bildern mit Ruby und Imagemagick

16:38

Sunday, August 9. 2009

Vor kurzem hatte ich das Bedürfnis Bilder automatisiert, mit Hilfe eines Ruby-Scripts, zu verkleinern. Dieses Script sollte zudem ohne Änderungen sowohl auf Linux als auch auf Windows lauffähig sein.

Fuer diese Aufgabe ist Imagemagick natürlich ein super Werkzeug, da man es auch als Bibliothek von Ruby aus nutzen kann und auch für Windows verfuegbar ist. Unter Windows ist hierfür eine Installation von Ruby, sowie die Installation von Imagemagick und dem passenden RMagick Ruby-Gem notwendig. Unter Linux reicht es Imagamagick und Ruby mit dem Paketmanager seiner Wahl zu installieren und mittels "gem install rmagick" das Gem zu installieren.

Der eigentliche Code gestaltet sich relativ simpel. Prinzipiell lässt sich ein Bild mit wenigen Anweisungen verkleinern:


#!/usr/bin/env ruby

require 'rubygems'
require 'RMagick'

@debug = true

def resize_image(file)
   puts "let's resize #{file} ..." if @debug
   img = Magick::Image::read(file).first
   img.resize_to_fit(1024, 1024)
   img.write(file)
   puts "resizing of #{file} successful" if @debug
end
 

Die Methode resize_to_fit() sorgt hier für das Verkleinern auf bestimmte Maximalwerte in Länge und Breite. Weiteres erfährt man aus der Doku

.
Posted by Sven Pfleiderer in computer | Comments (2) | Trackbacks (0)
Defined tags for this entry: code, computer, linux&unix, programming, ruby, shortys, software, windows

Medianight 2009

21:05

Wednesday, July 1. 2009

Medianight

Morgen, am Donnerstag den 02.07.2009 wird an meiner Hochschule wieder die Medianight stattfinden. Hier werden die Studenten ihre Projekte des letzten Semesters praesentieren. Ich werde dort unter anderem mit meinem eigenen Projekt am Start sein.

YAXIM

Wie schon zuvor gesagt, werde ich zusammen mit Chris unser Semesterprojekt, das den Namen YAXIM traegt, vorstellen. YAXIM steht fuer "Yet Another XMPP Instant Messenger" und ist ein Jabberclient fuer die Android-Plattform. Als kleinen Vorgeschmack folgen hier noch unsere Folien und das Video der heutigen Praesentation:


Posted by Sven Pfleiderer in computer | Comments (4) | Trackback (1)
Defined tags for this entry: android, code, computer, jabber, java, linux&unix, opensource, presentation, programming, software, video

Slides: OpenWRT

20:07

Thursday, June 4. 2009

Fuer diejenigen, die es nicht auf den LinuxDay geschafft haben, moechte ich nun noch unsere Slides zum Thema OpenWRT veroeffentlichen:

Hier gibt es die Praesentation auch noch als PDF

Posted by Sven Pfleiderer in computer, misc | Comments (0) | Trackbacks (0)
Defined tags for this entry: computer, hardware, linux&unix, misc, opensource, presentation, screenshot, tail -f /var/log/life

Android-SDK auf 64Bit Arch Linux

19:40

Tuesday, June 2. 2009

Wie bei manchen anderen Kleinigkeiten haben sich bei mir ein paar der Tools aus dem Android-SDK geweigert auf meinem 64Bit Arch Linux zu starten. Anscheinend fehlten ein paar Bibliotheken. Ich versuche hier mal zusammenfassend zu beschreiben, wie ich es zum laufen bekommen habe.

SDK installieren

Da das PKGBUILD aus dem User-Repository zum einen keine Abhaengigkeiten enthaellt und zum anderen nicht aktuell ist, habe ich mich dazu entschlossen eine modifizierte Version zu verwenden:

PKGBUILD


pkgname=android-sdk
pkgver=1.5_r2
pkgrel=1
pkgdesc="Google Android SDK"
arch=('i686' 'x86_64')
url="http://code.google.com/android/"
license=('custom')

if [ "$CARCH" = "x86_64" ]; then
   depends=('jre' 'lib32-libstdc++5' 'lib32-libx11' 'lib32-ncurses' 'lib32-zlib' 'lib32-sdl' 'lib32-libxext' 'swt')
else
   depends=('jre')
fi

source=(http://dl.google.com/android/android-sdk-linux_x86-$pkgver.zip \
        android.sh)

md5sums=('1d3c3d099e95a31c43a7b3e6ae307ed3' 'e7f23c39d02a3a280c746f7398bf5114')

build() {
  mkdir -p $pkgdir/opt &&amp; \
  mkdir -p $pkgdir/etc/profile.d &&amp; \
  mv $srcdir/android-sdk-linux_x86-$pkgver $pkgdir/opt/android-sdk &&amp; \
  cp $srcdir/android.sh $pkgdir/etc/profile.d &&amp; \
  rm  $pkgdir/opt/android-sdk/tools/lib/libswt* &&amp; \
  cp /usr/lib/libswt-* $pkgdir/opt/android-sdk/tools/lib &&amp; \
  cp /usr/share/java/swt.jar $pkgdir/opt/android-sdk/tools/lib &&amp; \
  cd $pkgdir/opt/android-sdk &&amp; \
  find -type d -exec chmod 755 \{\} \; &&amp; \
  find -exec chmod +r \{\} \; &&amp; \
  chmod +x $startdir/pkg/etc/profile.d/android.sh
}
 

Wie man sieht, werden die *swt*-Komponenten des SDK durch native 64Bit Versionen ersetzt. Darum ist es auch notwendig zuvor das SWT-Paket zu installieren.

android.sh


#!/bin/sh

export PATH=$PATH:/opt/android-sdk/tools
 

Installation

Das Erstellen und Installieren des Pakets kann nun wie gewohnt mit makepkg vorgenommen werden. Mit diesem Setup sollten dann auch die Tools fuer Eclipse wieder wie gewohnt laufen.

Posted by Sven Pfleiderer in computer | Comment (1) | Trackbacks (0)
Defined tags for this entry: android, computer, java, programming, sdk

Slides: Design Patterns in Ruby

14:09

Thursday, May 21. 2009

Wie ich bereits gestern versprochen hatte, bekommt ihr nun hier die Slides meiner Praesentation ueber Design Patterns in Ruby:

Hier gibt es das Ganze auch noch als PDF. Den SourceCode findet man hier

Posted by Sven Pfleiderer in computer, misc | Comments (0) | Trackbacks (0)
Defined tags for this entry: code, computer, misc, presentation, programming

Camstick

15:35

Wednesday, April 22. 2009

Ein Kommilitone von mir hat heute die Ergebnisse seines letzten Semesterprojekts oeffentlich gemacht. Darum moechte ich hier mal etwas Werbung fuer das coole Projekt machen:

camstick is a symbiosis of camera and joystick to symbolize you that you can not only use your webcam for simple video chats but for interacting with your computer using your webcam. Camstick is started as a project work of mine at the Stuttgart Media University. Now i want to share my result with you!
Posted by Sven Pfleiderer in computer, misc, zeitgeist | Comments (0) | Trackbacks (0)
Defined tags for this entry: computer, java, media, misc, software, webwide, zeitgeist

Newsbeuter 2.0

21:50

Tuesday, April 21. 2009

Nach langer Wartezeit wurde nun der von mir genutzte und fuer Arch Linux gepflegte Feedreader newsbeuter in der Version 2.0 freigegeben. Die Liste der Neuerungen liesst sich bisher sehr gut:

  • Added more flexible dialog handling
  • Improved position handling in article list (fixes #112; thanks to Isaac Good)
  • Fixed a lot of bugs (#102, #111, #117, #130, #131).
  • Added ability to specify a list of OPML URLs when using OPML as URL source.
  • Added config option "keep-articles-days" to optionally keep articles only for a limited number of days.
  • Added config option "bookmark-interactive" to indicate that the configured bookmarking command is interactive.
  • Don't display authentication information in URLs (fixes #121).
  • Replaced mrss with new RSS/Atom parser.
  • Added ability to search for text from the article view.
  • Added basic support for Yahoo Media RSS.
  • Made article view pager configurable.
  • Improved HTML rendering of links and underlined and bold text.
  • Added ":source" commandline command to (re)load configuration files.
  • Implemented "pipe-to" key to pipe articles to external commands.
  • Implemented backtick evaluation for configuration files.
  • Extended filter language with "between" operator.
  • Added "age" attribute for articles to filter them for relative age (in days).
  • Extended "set" commandline command to toggle boolean variables and reset configuration variables of all types to their default.
  • Added ability to configure local files as feeds.
  • Added a "random-unread" key to go to a random unread article.
  • When opening articles from a search result dialog, make search phrase stand out in article view.
  • Persist commandline and search history.
  • Implemented commandline completion.
  • Improved help dialog so that it now shows unbound functions.
  • Added ability to sort feed list and article list by interactively choosing the sort method.
  • Improved and extended conditional HTTP download handling.

Ich habe gerade die Arbeiten am PKGBUILD fuer Arch Linux fertig gestellt und dieses in AUR hochgeladen. Ich wuensche euch viel Spass damit!

Posted by Sven Pfleiderer in computer, web | Comments (0) | Trackbacks (0)
Defined tags for this entry: computer, feedreader, linux&unix, media, newsbeuter, opensource, web

Smack: XMPP fuer java

23:08

Saturday, April 18. 2009

Da ich gerade an einem Projekt arbeite, dass XMPP auf Java verwendet, hab ich mir zu Testzwecken eine Klasse gebaut, die Smack verwendet und ein paar Moeglichkeiten der API nutzt. Es ist unter anderem moeglich sich zu verbinden, das Roster auszulesen und empfangene Nachrichten anzuzeigen. Da mir bei der offiziellen Dokumentation Beispiele gefehlt haben, die man auf einen Rutsch kopieren und bearbeiten kann, moechte ich hier ein wirklich lauffaehiges Beispiel veroeffentlichen. Ich hoffe, damit kann jemand was anfangen:


import java.util.Collection;

import org.jivesoftware.smack.ConnectionConfiguration;
import org.jivesoftware.smack.PacketListener;
import org.jivesoftware.smack.Roster;
import org.jivesoftware.smack.RosterEntry;
import org.jivesoftware.smack.RosterListener;
import org.jivesoftware.smack.SASLAuthentication;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.filter.PacketTypeFilter;
import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.packet.Packet;
import org.jivesoftware.smack.packet.Presence;

public class SmackTester {

        private XMPPConnection conn;
        private String username;
        private String password;
        private String server;

        public SmackTester() {
                // debug option
                XMPPConnection.DEBUG_ENABLED = false;

                username = "einuser";
                password = "einpasswort!";
                server = "jabber.foo.bar";

                makeConn();
                doConnect();
                makeRoster();
                chatAction();

                // wait ... (I know that's pretty ugly)
       
                while (conn.isConnected()) {
                        try {
                                Thread.sleep(Long.MAX_VALUE);
                        } catch (InterruptedException e) {
                                e.printStackTrace();
                        }
                }
        }

        // nothing interesting here
        public static void main(String[] args) {
                new SmackTester();
        }

        private void doConnect() {
                // let's connect
                try {
                        conn.connect();
                        conn.login(username, password, "someRessource");
                } catch (XMPPException e) {
                        System.err.println("Login failed!");
                        e.printStackTrace();
                        System.exit(1);
                }
                System.out.println("Login succesful!");
        }

        private void makeConn() {
                ConnectionConfiguration config = new ConnectionConfiguration(server,
                                5222);
                // pass some connection options
                config.setSASLAuthenticationEnabled(true);
                SASLAuthentication.supportSASLMechanism("PLAIN", 0);

                conn = new XMPPConnection(config);
        }

        private Roster makeRoster() {
                Roster roster = conn.getRoster();
                Collection<RosterEntry> entries = roster.getEntries();

                // print out all entries in roster
                System.out.println("---------- entries in roster -----------");
                for (RosterEntry entry : entries) {
                        System.out.println(entry);
                }
                System.out.println("---------- entries in roster -----------");

                // react to changes in roster
                roster.addRosterListener(new RosterListener() {
                        // called methods ...
                        public void entriesDeleted(Collection<String> addresses) {
                                // do stuff
                        }

                        public void entriesUpdated(Collection<String> addresses) {
                                // do stuff
                        }

                        public void presenceChanged(Presence presence) {
                                System.out.println("Presence changed: " + presence.getFrom()
                                                + " " + presence);
                        }

                        public void entriesAdded(Collection<String> arg0) {
                                // do stuff
                        }
                });

                return roster;

        }

        private void chatAction() {
                PacketTypeFilter filter = new PacketTypeFilter(Message.class);
                PacketListener myListener = new PacketListener() {

                        public void processPacket(Packet arg0) {
                                if (arg0 instanceof Message) {
                                        Message msg = (Message) arg0;
                                        System.out.println("Message: " + msg.getFrom() + " "
                                                        + msg.getBody());
                                }
                        }

                };

                // Register the listener.
                conn.addPacketListener(myListener, filter);
        }

        private void doDisconnect() {
                conn.disconnect();
                System.out.println("Disconnected");
        }

}
 
Posted by Sven Pfleiderer in computer | Comments (6) | Trackbacks (0)
Defined tags for this entry: computer, im, jabber, java, opensource, programming, software

LinuxDay 2009

23:14

Tuesday, April 14. 2009

Gute Nachrichten: Auch dieses Jahr wird es an der HdM Stuttgart einen LinuxDay geben. Dieses mal bin auch ich aktiv daran beteiligt:

Es steht fest: Es wird einen zweiten LinuxDay an der Hochschule der Medien in Stuttgart geben.
Am 25.05.2009 ab ca. 12.30 Uhr an der Hochschule der Medien
Das Vortragsprogramm wird zur Zeit noch festgezurrt, nähere Informationen folgen in Kürze.

Weitere Infos werden im Blog, bei Markus auf twitter und auch hier veroeffentlicht.

Posted by Sven Pfleiderer in misc, web, zeitgeist | Comments (2) | Trackbacks (0)
Defined tags for this entry: computer, life, linux&unix, misc, opensource, web, webwide, zeitgeist

LaTeX Template fuer Praesentationen

22:40

Saturday, April 11. 2009

Nachdem ich es schon lange vor hatte, habe ich mich nun mal an LaTeX heran getraut und damit die ersten Texte formatiert. Als die Ergebnisse nach den ersten Gehversuchen schon sehr vielversprechend aussahen, habe ich zudem beschlossen meine naechsten Praesentationen ebenfalls in LaTeX zu schreiben. Auf der Suche nach einer Vorlage bin ich auf diesen Beitrag in einem Forum gestossen, der mir sehr geholfen hat:


\documentclass[ngerman]{beamer}
\usepackage{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usetheme[secheader]{Madrid}
\useinnertheme{circles}
\setbeamercovered{transparent}
\beamertemplatenavigationsymbolsempty
 \author[Tester]{Tester}
 \title[Minimalbeispiel]{Minimalbeispiel ist immer BESSER}
\begin{document}
\begin{frame}[plain]
 \maketitle
\end{frame}

\begin{frame}
 \tableofcontents
\end{frame}

\setbeamertemplate{headline}
{
  \leavevmode%
  \hbox{%
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.25ex,dp=1ex,center]{section in head/foot}%
    \usebeamerfont{author in head/foot}\raggedleft\thesection.~\insertsection\hspace{2em}\null
  \end{beamercolorbox}%
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.25ex,dp=1ex,center]{subsection in head/foot}%
    \usebeamerfont{author in head/foot}\hspace{2em}\raggedright\insertsubsection
  \end{beamercolorbox}}%
  \vskip0pt%
}

\section{Test}
\subsection{Test unter}
\begin{frame}
 \frametitle{Testfolie}
\begin{itemize}
 \item Eintrag
 \item Ende
\end{itemize}
\end{frame}

\section{noch ein Test}
\subsection{noch ein Test unter}
\begin{frame}
 \frametitle{Testfolie}
\begin{itemize}
 \item Eintrag
 \item Ende
\end{itemize}
\end{frame}
\end{document}
 

Wirft man diesen Code nun pdflatex vor die Fuesse, generiert dieses eine schoene Praesentation, die man sich hier ansehen kann.

Posted by Sven Pfleiderer in computer, misc | Comments (2) | Trackbacks (0)
Defined tags for this entry: code, computer, misc, opensource, presentation, shortys, software
(Page 1 of 6, totaling 83 entries)   next page »

Calendar

« July '10 »
Mo Tu We Th Fr Sa Su
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

Quicksearch

Kategorien

  • XML computer
  • XML misc
  • XML web
  • XML zeitgeist


All categories

Archiv

  • July 2010
  • June 2010
  • May 2010
  • April 2010
  • March 2010
  • Recent...
  • Older...

Feeds

  • XML RSS 2.0 feed
  • ATOM/XML ATOM 1.0 feed
  • XML RSS 2.0 Comments

Links

Shackspace
Yaxim
Radio Tux
Kais Blog
Blumen Pfleiderer
Alk
paxos
filzo
Marc Seeger
polzifer

Previous | Next

Tags

android bad world blog blogging browser changes code comic computer contentmanagement encryption feedreader firefox free fun google gui hardware howto html im jabber java life lighttpd linux&unix media misc mobile murphy networking newsbeuter opensource picture politics presentation privacy programming regular expression rss ruby s9y screenshot sdk security server shortys software stuff tail -f /var/log/life test tool tv video web webdesign webwide windows xml zeitgeist

del.icio.us

  • Appcelerator Developer Center - Documentation
  • Coderspiel — Rewiring Android for type-safe layout resources
  • pkrumins's stackvm at master - GitHub
  • Netty - the Java NIO Client Server Socket Framework - JBoss Community
  • Learn Your Motherf#@kin' Science: A Textbook for Juggalos | Cracked.com
  • The C Book - Table of Contents
  • andrewvc's node-streamlogger at master - GitHub
  • Setting up a JavaScript Build Process – JavaScriptr
  • js-build-tools - Project Hosting on Google Code
  • YUI Compressor
  • JsUnit
  • InfoQ: Ralph Johnson, Joe Armstrong on the State of OOP
  • ztellman's aleph at master - GitHub
  • Clojure - home
  • Mac OS X keyboard shortcuts

(More)

Lizenz

Creative Commons License - Some Rights Reserved