C-Programm – Schaltjahr Berechnung

ALGORITHMUS Schaltjahr


Beschreibung:

  • das Programm soll testen, ob eine Folge von Jahren jeweills ein Schaltjahr ist
  • wenn das Jahr größer 1582 ist
  • wenn das Jahr durch 4, aber nicht durch 100 teilbar ist, handelt es sich um ein Schaltjahr
  • ist das Jahr durch 400 teilbar, handelt es sich ebenfalls um ein Schaltjahr


Daten:

  • Jahr (Startwert)
  • Jahr (Endwert)
  • Schrittweite


Kern-(Algorithmus):

Einlesen von "Startwert" + "Endwert" + "Schrittweite"
WENN "Startwert" < 1582 ODER "Startwert" >= "Endwert" ODER Schrittweite <= 0
	DANN Fehler-Meldung
ANSONSTEN
	FÜR "Startwert" BIS "Endwert"
		WENN ("Startwert" / 4 ohne Rest UND "Startwert / 100 mit Rest) ODER ("Startwert" / 400 ohne Rest)
			DANN Ausgabe: "Ja"
		ANSONSTEN
			Ausgabe: "Nein"
		ENDE WENN
	ENDE FÜR
ENDE WENN


C-Programm:

#include "stdio.h"

int main(void) {
	int jahr_startwert,jahr_endwert,schrittweite;

	printf("\n\tK a l e n d e r\n");

	printf("\nBitte den Startwert (Jahrszahl) eingeben: ");
	scanf("%d", &jahr_startwert);

	printf("Bitte den Endwert (Jahreszahl) eingeben: ");
	scanf("%d", &jahr_endwert);

	printf("Bitte die Schrittweite (Jahre) eingeben: ");
	scanf("%d", &schrittweite);

	/* Beginn des gregorianischen Kalerndes - 1582*/
	if (jahr_startwert < 1582 || jahr_startwert >= jahr_endwert || schrittweite <= 0) {
		printf("\nFalsche Angabe!");
	} else {
		printf("\nJahr | Schaltjahr?");
		printf("\n------------------");

		for (jahr_startwert; jahr_startwert <= jahr_endwert; jahr_startwert=jahr_startwert+schrittweite) {
			if ((jahr_startwert % 4 == 0) && (jahr_startwert % 100 != 0) || (jahr_startwert % 400 == 0)) {
				printf("\n%d | Ja",jahr_startwert);
			}
			else {
				printf("\n%d | Nein",jahr_startwert);
			}
		}
	printf("\n\n");
	}
	return (0);
}

WordPress Editor TinyMCE optimieren

In diesem Blog-Post beschreibe ich, wie du den Editor von WordPress verbessern kannst und somit auch deine Beiträge interessanter & übersichtlicher gestalten kannst.

 

1.) TinyMCE Advanced

Als erstes installieren wir “TinyMCE Advanced“, dieses Plugin erweitert den Funktionsumfang des WordPress-Editors.

  • Advanced hr
  • Advanced Image
  • Advanced Link
  • Kontextmenü
  • Emotionen (Smilies)
  • Datum und Uhrzeit
  • IESpell
  • Layer
  • Nonbreaking
  • Drucken
  • “Suchen und Ersetzen”
  • Tabellen
  • Visual Charaktere
  • XHTML Extras
  • […]

Diese Funktionen kannst du nun per “drag and drop” in der TinyMCE-Symbolleisten organisieren, indem du im Admin-Bereich unter “Einstellungen” -> “TinyMCE Advanced” folgende Optionen findest.

Des-weitern hat das Organisieren der Symbole noch den Vorteil, dass man den Editor auch auf kleinen Auslösungen (z.B. mit Netbook) verwenden kann, dazu wird passend zu deiner Auflösung angezeigt, wie viele Symbole du in einer Zeile einstellen kannst. (alternativ kann man auch im “Vollbildschirmmodus” einen Blog-Post erstellen)


TinyMCE Advanced - Optionen
TinyMCE Advanced - Optionen - 1


TinyMCE Advanced - Optionen - 2
TinyMCE Advanced - Optionen - 2




 

 

 

 

 

 

Im linken Bild siehst du, was ich zuvor beschrieben habe (Optionen – 1), unter diesen Optionen findet man auch noch das rechte Bild (Optionen – 2). Dort kannst du “Advanced Image”, “Advanced Link” und das “Kontextmenü” aktivieren, außerdem kannst du eigene CSS-Klassen (Styles) erstellen, welche dann im Editor verwendet werden können. Zu guter letzt kann man dem Editor noch beibringen “p-” / “br”-Tags nicht einfach zu entfernen. ;-)

 

2.) Special Text Boxes

Als nächstes installieren wir “Special Text Boxes“, mit diesem Plugin können wir nun schöne “Warnungen”, “Hinweise” etc. in unseren Blog-Posts einfügen.

 

3.) WP-Syntax & WP-Syntax Button

Als nächstes installieren wir diese beiden Plugin (WP-Syntax & WP-Syntax Button), so dass wir Quelltexte besser darstellen können.

Tipp: Wenn du Probleme beim Einfügen von Quelltexten hast, da WordPress den ganze Code zusammenfasst und die Einrückungen dann weg sind, wechsel einfach in den HTML-Modus und füge dort den Quelltext ein und verwende dort den Button “pre (WP-Syntax)”, um das highliting zu aktivieren.


WP-Syntax
WP-Syntax


Beispiele:

 

 

 

 

 

 

 










Wenn jemand noch weitere hilfreiche Tipps & Tricks zum Thema “WordPress Editor” kennt, würde ich diese gerne hören…

How Fanboys See Operating Systems

Habe gerade folgendes Bild wiedergefunden…



howfanboysseeoperatingsystems
howfanboysseeoperatingsystems


Quelle: www.joeydevilla.com


lynx automatisieren

Bei einigen W-LANs muss man sich vorher per Browser auf einer Authentifizierungsseite einloggen, um dies zu umgehen habe ich einfach den Login-Vorgang mit lynx aufgezeichnet und dies in ein Skript verpackt.


# mit lynx die Tastatur Eingaben aufzeichnen
lynx -cmd_log wlan.log http://www.google.de/
# und diese als "Makro" wieder ausführen
lynx -cmd_script=wlan.log http://www.google.de/


#!/bin/bash

TERM="xterm"; export TERM  
export PATH="/sbin:/usr/sbin:/bin:/usr/bin:$PATH"

sleep 30  

# W-Lan Gateyway IP herausfinden ->
# Gateway-IPs | jedoch nicht eth | bei der Ausgabe muss vone 0.0.0.0 stehen | gewuenschte Ausgabe steht in an Stelle 10
# wenn man als Trennung der Zeichen ein Leerzeichen annimmt
GW=$(route -n | grep -v eth | grep -i "^0.0.0.0" | cut -f 10 -d " ")
# Variablen werden gesezt
PACKETS=3
STARTWERT=0
ENDWERT=5

# wenn die Variable "GW" nicht leer ist dann...
# (-z kann pruefen ob eine Variable leer ist)
if [ -n $GW ]; then
# ...solange der STARTWERT kleiner dem ENDWERT ist, wird folgendes ausgefuert
	while [ $STARTWERT -lt $ENDWERT ]; do
# schauen ob wir eine ANTWORT vom Gateway bekommen ->
# ping-test | Anzahl der zu sendenden / empfangenden Pakete | Ausgabe-Zeile auf "packets" eingrenzen | gewuenschte Ausgabe steht in an Stelle 4
# wenn man als Trennung der Zeichen ein Leerzeichen annimmt
		REQUEST=$(ping -qc $PACKETS $GW | grep packets | cut -f 4 -d " ")
# wenn die gesendeten Packete nicht der Anzahl der empfangenden entspricht...
		if [ $REQUEST != $PACKETS ]; then
# ...dann Variable = 1 -> Fehler
			EXITCODE=1
		else
# ...ansonsten Variable = 0 -> OK
			EXITCODE=0
		fi
# STARTWERT um 1 erhoehen, so dass die while-Schleife irgendwann beendet werden kann
		STARTWERT=$(expr $STARTWERT + 1)
	done
fi

# wenn alles OK war...
if [ $exitcode=0 ]; then
# ...wird lynx (Browser) mit User + Password automatisch gestartet
	gnome-terminal -e lynx -cmd_script=/home/lars/wlan.log http://www.google.de/
# und dem System wird mitgeteilt, dass alles OK ist
	exit 0
else
# bzw. dass ein Fehler aufgetreten ist
	exit 1
fi


Wenn man dieses Skript nun unter “/etc/network/if-up.d/” anlegt, und in der Datei “/etc/network/interfaces” unter dem Abschnitt z.B. “wlan0” folgende Zeile einfügt:

post-up /etc/network/if-up.d/wlan_login.sh

…wird dieses ausgeführt, sobald das W-Lan verbunden ist. Wenn jemand noch eine bessere Möglichkeit kennt, würde ich diese gerne hören… :-)

Blogparade: gewinne ein iPod nano

Bei dieser “Blogparade” von “www.itler.net – Never touch a running system!” geht es darum, zu erklären, warum man bloggt, daher hier mein Beitrag zum Thema:


– Wie seid ihr zum bloggen gekommen?

Ich habe angefangen einen Blog (+Server) zu betreiben, als ich in der Ausbildung war, um mich mehr mit der Thematik (Server, Linux, Datenbanken, Web-Server, Monitoring, Backup, etc.) zu beschäftigen. Außerdem habe ich eine Möglichkeit gesucht, meine “Notiz-Zettel” über IT-Themen (vim, Linux-Befehle, etc.) zu verewigen. :-)


– Warum bloggst Du? / Was gibt Euch die Motivation zu bloggen?

Da man in der IT-Welt nie auslernt und ich immer wieder Themen hab, welche ich mir notieren und anderen zur Verfügung stellen möchte.


– Wie lange bloggt ihr schon?

Ich schreibe seit zirka 1 Jahr mehr oder weniger regelmäßig neue Beiträge, rund um das Thema IT.


– Wie viel Zeit wendet ihr für die Pflege des Blogs auf?

Da ich zeitweise auch alte Beiträge korrigiere bzw. erweitere und wenn man die Pflege des Servers hinzurechnet… sollte ich besser nicht weiter darüber nachdenken. ;-)


– War der Blog, welchen ihr betreibt im letzten Jahr für Dich persönlich erfolgreich?

Für mich persönlich ist jeder Blog-Post, welchen ich schreibe / lese / kommentiere in irgendeiner Form erfolgreich!

Die besten Filme…

… aller Zeiten, zumindest für mich. :-) Habe damit angefangen die Filme, welche ich bereits gesehen habe, auf www.imdb.com/user/ur23762404/ratings zu bewerten.

Ubuntu-10.10 – Maverick-Meerkat

Canonical hat heute, am 10.10.10 exakt um 10:10:10 Uhr UTC die neue Ubuntu-Version – 10.10 (Maverick Meerkat) veröffentlicht. Die Zahlen sind eine Anspielung auf “Per Anhalter durch die Galaxis”, wo die Zahl 42 die Antwort auf alle Fragen ist. (Binär 101010 -> Zahl 42) Ubuntu 10.10 hat kein LTS (Long Term Support) und wird daher (nur) 18 Monate mit Updates versorgt.

ubuntu-logo

10.10



Neuerungen:

– Linux 2.6.35.4

– bessere Multitouch-Unterstützung

– ALSA-Patches zur Behebung von Problemen mit Soundkarten und Mikrophonen

– diversen Treiber-Updates

– Sicherheitsverbesserungen für ARM

– …

btrfs (Dateisystem)

schnellerer Bootvorgang

neuer Style (Themes, Icons, Hintergrundbilder, …)

Ubuntu-Desktop
Ubuntu-Desktop

neue Standard Schriftart (Ubuntu font family)

neue Paketquellen (Repository – “extra.ubuntu.com”)

proprietäre Software Unterstützung (mp3, Flash, …)

Ubuntu-Install
Ubuntu-Installation

– “Software-Center” wurde aktualisiert (bittet nun auch kommerzielle Software und eine History-Funktion)

kauf-Software
kauf-Software

– “Ubuntu One” wurde besser im Desktop (Dateimanager) integriert

Ubuntu One
Ubuntu One

– “Ubuntu“-Version

– GNOME 2.32

– Sound-Indikatoren-Menü

Indikatoren
Indikatoren

– Shotwell ersetzt F-Spot (Fotoverwaltung)

Shotwell
Shotwell

– Evolution (E-Mail Client) wurde aktualisiert

– Gwibber (Twitter Client) wurde aktualisiert

– Ubuntu Netbook Edition kurz UNE (alte Bezeichnung “Ubuntu Netbook Remix”)

Unity (Standardoberfläche)

Unity
Unity

– Evolution Express (E-Mail Client)

– “Kubuntu-Version

– KDE 4.5.1 (Qt 4.7)

– PulseAudio

– Rekonq (Webbrowser)

– Bluedevil (Bluetooth-Anwendung)

Xubuntu“-Version

Xfce 4.6.2

– Parole (Media-Player)

– Xfburn (Brenn-Software)

– xfce4-taskmanager (Task-Manager)

Edubuntu-Version

Gnome Nanny (Zugriffsbeschränkung für Kinder)

– OEM-Installationsmodus

Ubuntu Studio -Version

– PulseAudio und JACK wurden verbessert (Soundserver)

– gnome-network-admin (Netzwerkkonfiguration-Tool)

Mythbuntu -Version

MythTV 0.23.1

 

Übersicht:

Komponente

Programm

Version

Bildbetrachter Shotwell 0.7.2
Brennprogramm Brasero 2.32
Browser Firefox 3.6.10
Chat-Programm Empathy 2.32
Compiler GCC 4.4.4
Datei-Manager Nautilus 2.32
Desktop Gnome 2.32
Desktop Unity 0.2.46
E-Mail-Programm Evolution 2.30.3
Kernel Linux 2.6.35
Musikplayer Rhythmbox 0.13.1
Office-Suite OpenOffice 3.2.1
Torrent-Client Transmission 2.04
Twitter-Client Gwibber 2.32
Videobearbeitung Pitivi 0.13.5
Videoplayer Totem 2.32

 

Download:

http://releases.ubuntu.com/10.10/


Ubuntu:
Alternate CD (64-bit)
Alternate CD (32-bit)

Desktop-Edition (64-bit)
Desktop-Edition (32-bit)

Server Edition (64-bit)
Server Edition (32-bit)


Kubuntu:
Desktop CD, 32bit
Desktop CD, 64bit

Desktop DVD, 32bit
Desktop DVD, 64bit

Desktop Alternate CD, 32bit
Desktop Alternate CD, 64bit


Weitere Versionen:
Xubuntu xubuntu.org/news/10.10-release

Edubuntu edubuntu.org/news/10.10-release

Mythbuntu mythbuntu.org/10.10/release

Ubuntu Studio wiki.ubuntu.com/UbuntuStudio/10.10release_notes



Die nächste Ubuntu-Version 11.04 soll übrigens im April 2011 erscheinen und den Codenamen Natty Narwhal haben.


Quellen:

http://www.pro-linux.de/news/1/16259/ubuntu-1010-veroeffentlicht.html

http://www.linux-community.de/Internal/Artikel/Online-Artikel/Das-ist-neu-in-Ubuntu-10.10-alias-Maverick-Meerkat

https://lists.ubuntu.com/archives/ubuntu-announce/2010-October/000139.html

Planet.ubuntuusers.de

Da dies der erste Beitrag ist, der auf “planet.ubuntuusers.de” veröffentlicht wird, stelle ich mich und meinen Blog erst-einmal kurz vor.


Blog: Wenn ich meinen Blog in einem Satz beschreiben müsste… -> “Mein IT-Blog, in welchem ich über Linux, Windows, Programmierung und dem Web 2.0 schreibe, halt alles was ich selber nicht vergessen möchte.” Meistens schreibe ich keine langen Text, sondern kurze Anleitungen (HowTo’s) und wenn sich an der einen oder anderen Stelle Rechtsschreibfehler finden lassen, hab ich damit kein Problem. ;-) -> “Hier gibt es weitere Infos.”


Ich: Mein Spitzname ist “Voku“,  bin seit diesem Jahr “Fachinformatiker für Systemintegration” und studiere nun “Informatik“. :-) -> “Hier gibt es weitere Infos.”

Debian Backports

In der Debian-Distribution werden bekanntlich nur getestete Pakete verwendet und in einer Version (z.B. Debian-Version 5, “Lenny”) nur wichtige Korrekturen durchgeführt, aber keine weiteren Versionssprünge vorgenommen. Wenn ich nun eine neuere Version von einer bestimmten Software nutzen wollte, habe ich bisher auf backports.orgzurückgegriffen, seit zirka einem Monat gehört das Projekt nun offiziell zum Debian-Service und ist unter “packports.debian.orgzu erreichen. Die Quellen heißen deshalb “backport”, da diese aus dem Debian-Testing-Zweig (momentan Debian-Version 6, “Squeeze”) zurück portiert wurden. Das Paket “debian-backports-keyring” wird nun nicht mehr benötigt, da die Pakete nun mit den offiziellen Key von Debian unterzeichnet sind.

 

“Da sich die Adresse von backports.org zu backports.debian.org ändert, sollten alle Benutzer, um Überraschungen zu vermeiden, ihre Repositorien in sources.list so bald wie möglich anpassen. Die alte Adresse wird allerdings als Spiegel des Archivs noch für einige Zeit erhalten bleiben. Wer Pinning mit Backports-Paketen nutzt, sollte seine Einstellungen in der Datei preferences bald anpassen, da sich der Archivname in »Debian Backports« geändert hat.” – Pro-Linux.de

 

Wenn nun jedoch in im Testing-Zweig keine neue Software aufgenommen wird, wie es momentan der Fall ist und der Testing-Zweig somit eingefroren wird, um diesen auf die Stabilen-Zweig zu bringen, dann benötigt man ggf. auch noch die Quelle “lenny-backports-sloppy“. Somit kannst du bereits Software aus der Unstable-Version (Debian-Version 7, “Wheezy) verwenden, wenn du jedoch auf die kommende stabile Version “Squeeze” aktualisieren möchtest, dann benötigst du zwingend die zugehörigen Backports, zudem ist diese Quellen stets mit dem packports zu verwenden.

 

1.) Folgende Zeilen einfügen:

Entweder direkt in der “/etc/apt/sources.list”-Datei oder du musst im folgendem Unterverzeichnis (/etc/apt/sources.list.d/) eine Datei mit der Endung (.list) anlegen und dort die folgenden Zeilen einfühen.

deb http://backports.debian.org/debian-backports lenny-backports main
deb http://backports.debian.org/debian-backports lenny-backports-sloppy main

2.) Quellen aktualisieren

 

apt-get update

3.) Folgende Zeilen einfügen:

In der “/etc/apt/preferences”-Datei folgendes Einfügen, so dass du auch mit Sicherheit-Updates versorgt wirst.

 

Package: *
Pin: release a=lenny-backports
Pin-Priority: 200

4.) Pakete installieren

Mit dem folgendem Befehl kannst du nun, aus dem Backports Software installieren, hier gibt es noch mehr Infos zu aptitude. ;-)

 

aptitude -t lenny-backports install "package"