Montag, 22. März 2010

Feurige Kramkiste: Meine Firefox Addons

In letzter Zeit habe ich mal ein wenig in der Addon Kiste von Firefox gekramt. Ein paar davon haben es dann auch in die engere Auswahl geschafft. Und da es sich bei "ZeigdochmaldeinAddon" um eine neue Sportart der Firefox Fanboys zu handeln scheint, (Mist geoutet!) will ich hier mal die Addons kurz vorstellen,die es erstmal geschafft haben längere Zeit auf meinem Pcs zu erleben ohne gelöscht zu werden.

Adblock Plus:
Muss man das eigentlich noch erklären? Also alle die das noch nicht installiert haben, sollten das sofort nachholen. Es blockt effektiv Werbung, so dass das Browsen im Web wieder Spaß macht.

Better Privacy: Löscht so gennante Flashcookies nachdem beenden von Firefox.

BugMeNot: Zum Umgehen von Zwangsregistrierungen. Das Addon holt per Kontextmenu Zugangsdaten aus einer Datenbank.

Dictionary (EN/DE): Schnell mal ein Wort übersetzen.

Download in Tab: Öffnet das Downloadfenster in einem eigenen Tab wie man es von Opera her kennt.

DownThemAll: Mehrere Elemente mit einem Mausklick herunterladen, ohne dass einem der Finger abfault.

FEBE: Mit Febe kann ich mir meine Addons speichern, damit ich sie mir bei einem Update oder bei einer Neuinstallation nicht wieder zusammensuchen muss.

Firebug: Debuger für Websiten.

Fireclam: In Verbindung mit Clamav kann man heruntergeladene Objekte auf Viren überprüfen.

Flashblock: Zusätzlich zur Werbung werden nun auch die nervigen Flashfilmchen ausgeblendet. In Verbindung mit Adblock Plus unverzichtbar.

Flashgot: Zum herunterladen von Flashfilmen.

HideMenuBar: Damit schafft man sich noch ein wenig Platz im Browser indem man die Menüleiste verschwinden lässt. Sollte man die Menüleiste wieder brauchen kann man sie mit der Alt Taste wieder hervorholen.

Mouseless Browsing:
Das ist mein absolutes LieblingsAddon. Damit wird es nämlich mögliche sich ganz ohne Mouse durchs WWW zu hangeln. Nach der Installation sieht man neben den Links kleine Zahlen. Drückt man nun Strg + die Zahl wird der Link "angeklickt".

NoScript: Verhindert Cross Site Angriffe und blockt andere Scripte die sich in Webseiten eingebettet werden.

ReadItLater: Dieses Tool hat meine Bookmarks ersetzt mit einem einfachen Klick fügt man eine Website zu seiner Liste hinzu. Geht man Offline werden die Hinzugefügten Seiten heruntergeladen und lokal gespeichert. Braucht man den Bookmark nicht mehr, kann man ihn genauso einfach wieder entfernen.

Redirect Remover: Entfernt die Umleitung aus Links und Grafiken. ;)

ScribeFire: Ein Plugin mit dem ich meinen Blog verwalte. Eigentlich ist es ein Programm im Programm, mit dem sich das Bloggen wesentlich übersichtlicher und einfacher gestaltet.

Smart Stop/Reload: Verschmilzt den Start und den Reload Button.

Stealther: Ermöglicht das Anonyme Surfen auf Knopfdruck. Es werden keine Cookies mehr angenommen.

Work Offline: Ein Kleiner Schalter mit dem man zwischen Off und Onlinemodus wechseln kann.

Montag, 15. März 2010

Rednotebook Notiz: - Mit Python Programmieren lernen 2

Da ich nun am Wochenende mal wieder etwas Zeit hatte mein Python 3 Buch zu studieren, will ich hier nun die 2. Notiz veröffentlichen. Wie immer habe ich keinen Wert auf Vollständigkeit gelegt. Ne Versicherung, dass es keine Fehler mehr gibt, kann ich auch diesmal nicht geben. Alles wie immer: Ohne Gewe(ä)hr.

Da bei der letzten Notiz durch die von Blogspot verwendete Software viel an der Ursprünglichen Formatierung verloren ging, habe ich meine Notizen diesmal in das Text Format konvertiert. Ich hoffe ihnen wurde geholfen.

Python1

Python1(DOS konvertiert)

Python2

Python2(DOS konvertiert)

Mittwoch, 3. März 2010

Wie man im Aktivcenter deaktiviert wird

Aktualisiert am 04.03.2010

So nachdem ich jetzt 3 Monate dabei war, will ich noch mal zusammenfassen was das Aktivcenter ist und was man da macht bzw was man da nicht macht, wozu das ganze gut ist und wer am Ende davon profitiert.
Das ganze läuft grundsätzlich so ab. Das einem am Anfang eine so genannte Eingliederugnsvereinbarung unter die Nase gehalten wird. Doch mit Vereinbarung hat das ganze nichts zu tun. Höchst Grundgesetzfeindlich wird man erpresst, den Wisch zu unterschreiben der einen dann zwingt 6 Monate seines Lebens im offenen Strafvollzug abzusitzen. Im Aktivcenter wird man dir später erklären, dass es überhaupt nicht gegen deine Grundrechte verstößt. Schließlich hätte man ja die Wahl gehabt, gar keine staatliche Hilfe in Anspruch zu nehmen und auf der Straße zu verhungern. Und wenn du dich weigerst den Wisch zu unterschreiben, dann wird es einfach per Verwaltungsakt erlassen.
Über diese Eingliederungserzwingung kann sich der TÜV Rheinland freuen, die wohl ungefähr folgenden Gedankengang hatten: Ey cool. Aktivcenter. Da mieten wir einfach auf einem alten abgewrackten Gelände ein olles Gebäude, dass schlecht beheizt ist und wenig Miete kostet und alles andere kommt von allein. Wir brauchen uns nicht mal um Teilnehmer kümmern und Werbung dafür machen, denn das Arbeitsamt wird uns die Leute direkt zuspielen und damit auch die Kohle, - und sich für jeden Teilnehmer ein paar tausend Euro in die Tasche stecken kann. Das ist ja wie im Schlarafenland. Nur blöd dass diejenigen den es eigentlich etwas bringen soll, gar nichts bringt. Aber hey wen interessieren die schon.
Abstellen auf das Abstellgleis und für ein halbes Jahr nichts mehr von den Problemen sehen und hören. Das ist die Devise. Von diesem Zeitpunkt an, ist man nicht mehr arbeitslos sondern arbeitsuchend. Und Hokus Pokus Schlechterscherzus haben wir auch weniger Arbeitslose. Die moderne Endlösung für ein anwachsendes gesellschaftliches Problem.
Ok was soll man hier also machen. Groß und Schwierig ist diese Frage zu beantworten. Das habe ich selber auch nie herausfinden können. Also zusammenfassen man macht nichts und man lernt nichts,- wie auch denn die Pfeifen die hier Dozenten nennen, wissen weniger als man selber. Zusammenfassend geht es nur darum dass man hier herumsitzt und solange die Liste nicht da ist, lernt wie wertvoll seine Zeit eigentlich ist. Und wenn man nicht irgendeine unsinnige Zeitung zusammenbastelt, könnte man auf die Idee kommen sich zu bewerben. Doch die Bewerbung sollte man lieber zu Hause abschicken, denn für jede erfolgreich vermittelte Arbeit oder sonstige bezahlte oder unbezahlte Beschäftigung, zahlt das Abrbeistamt dem Herrn Möckel eine saftige Prämie. Klar dass er versucht auf der einen Seite einen auf Kumpel zu machen und hinten rum sagt, dass Du da nichts Wert bist, und gefälligst jede Arbeit anzunehmen hast. Damit er auch Morgen wieder gut gelaunt mit dem Fahrstuhl fahren kann, den die Teilnehmer nicht benutzen dürfen und sich kumpelhaft als echter Witzbold neben einem setzt und erst mal den neuesten Kalauer zum Besten gibt. Der hat halt gut lachen. Kann sich vor der Rente eben noch mal nen hübches Sümmchen dazu verdienen. Und das auf Kosten des Staates, des Grundrechtes und der Arbeitslosen. Ein Hoch auf den TÜV und das Arbeitsamt.

Dienstag, 16. Februar 2010

Rednotebook Notiz: - Mit Python Programmieren lernen 1

Ich habe mir neulich das Buch "Python 3 for absolute beginners" gekauft. Während ich das Buch lese, werde ich mir Notizen zu dem gelesenen in meinem persönlichen Notizbuch Rednotebook machen. An welchem ich die Allgemeinheit gerne teilhaben lasse. Wie gesagt es sind nur Notizen und haben daher weder Anspruch auf Vollständigkeit noch auf Richtigkeit. Ich hoffe dennoch, dass sie dem einem oder anderen vom Nutzen sind:

===Lerning Python Part 1===

__Chapter 1 Introducing Python__
**Why python**
- leicht zu lernen
- einfach zu lesender und zu wartender Code
- schnell zu schreibender Code
- man wird gezwungen sauberen Code zu schreiben
- aussergwöhnliche Große Bibliothek mit Funktionen und Klassen

**Wann Python**
- Schnelle Zweizeiler um adminstrative Aufgaben zu erledigen
- als Projektcode
- zum Einfachen nachvollziehen simpler Algorithmen
- Flexibel einsetzenbar +Jango --> Webprogrammierung
+ Pygtk --> grafische programmierung
- als kleiner Taschenrechner

[Python-docs ""http://docs.python.org/3.1/index.html""]

Python3 ist __**nicht**__ zur früheren Version 2.x komapttibel

[Jargon Hackers Dictionary ""http://catb.org/~esr/jargon""]
- erklärt Begriffe der Informatik und der Programmierung

**Tipp**
Da Python noch immer standardmäßig in Version 2.x ausgeliefert wird, wird Python3 oftmals zusätzlich installiert und dann durch python3 in der shell aufgerufen.
Wenn man in der bash aber den alias setzt
alias py='python3'

und dann anschließend mittels source ~$USER/.bashrc die bashrc neu sourced, bekommt man eine ziemlich nette Abkürzung für die shell.

matthias@Dickkopf:~$ py
Python 3.1.1+ (r311:74480, Nov 2 2009, 14:49:22)
[GCC 4.4.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

Verlassen mit quit()

Geany wird als IDE erwähnt. Ich empfehle Genay weil es ein bisschen mehr als ein Text-Editor und ein bisschen weniger als eine IDE ist.

**Was heißt hier Programmieren**
Problem, was gelöst werden soll --> Idee wie ich dieses Problem lösen kann --> Wie kann ich die Idee Umsetzen (welche Methoden und Algorithmen muss ich anwenden)

Problem --> Idee --> Werkzeug
_____________v________________
v
Lösung
Cyclus der Softwareentwicklung (**software development circle**)

__Chapter 2 Designing Software__
//Frage: Wie wird ein Problem in ein funktionierendes Programm umgewandelt, welches dieses in Problem löst?//

**Das Problem beschreiben**
- (1) Was soll die Software für dich tun? Welches Problem soll sie lösen?
- (2 ) Wer soll die Software benutzen?
- (3) Auf welchem System wird die Software laufen

- zu (1)
Öffnen Sie einen Texteditor und beschreiben Sie kurz welches Problem die Software lösen soll und was die Software tun soll. Welche Optionne es verwenden wird, wie es generell ausgeführt werden soll.

**Tipp:**
ich speichere alle meine Projekte unter
/home/$USER/workspace/python

- zu (2)
Für wen ist das Programm und wie Benutzerfreundlich muss ich es machen. Technical Scills des Anwenders.
Wie soll der Anwender mit dem Programm interagiieren
--> einen knopf drücken
--> komplexe grafische oberfläche mit menüstruktur
--> Text interface wie bash mit optionen
--> Eine Fragedialog beantworten
--> Wieviel hilfestellung soll angeboten werden

- zu (3)
Welches Betriebssystem (bei Linux welche Distri) wird eingesetzt. Welche Bibliotheken kann ich benutzen. Müssen bestimmten Vorraussetzungen gegeben sein, damit dass Programm läuft.


**Tipp**
Um mehr Hilfe zu erhalten dokumentiert man möglichst in englisch
Beispiel:
"
Simple Program for Systemadministrators to make a dircetory or files
shared.
Share is a file having the Rights root:Shared rwxrx---, so that the group Shared is able to access and use the file but only root can delete and write to this files.

This idea came to me when i was deleting all my Music-Collection in a non sleeping night using rm -r /media/MeinMusik instead of rm -r /media/MeineMusik1

usage: mksh where the argument is eithe a vail file or dircetory known in root-directory.
"

**Functinal Requirement**
Methoden, Funktionen, Klassen die man braucht damit die Software das tut was man von ihr erwartet. Definieren Sie in Kommentaren am Ende des Programms welche Funktionen die Software noch erhalten soll. (ein Update soll möglich sein, der User soll in der lage sein den Ort einer log-datei selbst festzulegen). Oftmals fallen einem während der Arbeit an dem Programm noch zusätzliche Funktionen und Optionen ein, die ein Program erhalten soll oder man merkt dass Software hier und da noch nicht ausreichend so gestaltet ist, dass es auch die dümmsten falscheingaben des Users abfängt.
|
/ \
|
|
**Nonfunctional Requirements**
Accessibillity, Usability, Kosteneffizens, Kompatibilität mit anderen Systemen, Sicherheit und Performance, Stabilität, Flexibilität (sind neue Features leicht zu implementieren. Muss ich neue Features implementieren?)

__Besseres Beispiel:__
"
Problem: Make A file have permissions root:Shared 750 (Shared)

Target Users: Me and Users holding Root Permissions preventing there Data to be deleted in long work nights ;)

Target System: Linux

Interface: Bash Command-line

Functional Requirements: Using chmod and chown. Printing out a message when done with the processes.

Testing: simple run program on a bunch of files and use ls to verify

Maintainer: theo@example.com
"

__In Python__
#!/usr/bin/env python3
"""
hello_world.txt
Problem: Get the Computer to print a message
Target Users: Me
Target System: GNU/Linux
Interface: Command-line
Funtional Requiremnest: Print out a messae. User must be able to input text
Testing: Simple run test - expecting a message to appear.
Maintainer: me@home.com
"""

Python Programme haben immer die Endung .py

# In python wird alles was hinter den # in einer zeile bis zum ende der zeile steht als Kommentar gewertet.

Gute Dokumentration ist notwendig, um auch später nachzuvollziehen was ein Stückchen Code macht.

"" '' sind in Python //Text-Strings// Quotes Alles was innerhalb eines """ steht wird als Kommentar gesehen, so das man nicht jede Zeile mit # versehen muss. Dass hilft auch um nicht funktionierenden Code schnell auszukommentieren. Der Unterschied zwischen "" und '' ist der, dass man '' benutzt um Kommentare in Kommentare einzubetten.
"'Was soll das.', fragte sie."

**Pseudocode benutzen**
Pseudocode ist durch ein # Kommentar gekennzeichnet und beschreibt in kurzen prägnanten Worten, welcher Schriit hier implementiert werden soll.

__Beispiel:__
"""
#!/usr/bin/env python3

hello_world.txt
Problem: Get the Computer to print a message
Target Users: Me
Target System: GNU/Linux
Interface: Command-line
Funtional Requiremnest: Print out a messae. User must be able to input text
Testing: Simple run test - expecting a message to appear.
Maintainer: me@home.com
"""
#read users input <--step ##initialize varibale that holds users input <--substep #test users input #printout users input on screen #endprogramm

Donnerstag, 11. Februar 2010

Schau doch mal mein Conky

In den letzten Tagen habe ich mich sehr detailliert mit Conky und seinen Nettigkeiten beschäftigt. Das Ergebnis sieht man im Bild.

Ich will hier nicht weiter auf die Besonderheiten und Details eingehen. Dazu gibt es schon genug ausführliches Material im Netz.
http://crunchbanglinux.org/forums/topic/59/my-conky-config/
http://conky.linux-hardcore.com/

Zudem gibt es auf der Website von Conky eine ausführliche Dokumentation.

Ich werde einfach nur ein Conkyschalter vorstellen mit dem mehrere Conkys verwalten kann:

Conkymain (Ist die Hauptdatei):
"# Use Xft?
use_xft yes
xftfont Trebuchet MS:size=8
xftalpha 0.8
text_buffer_size 256

update_interval 2
total_run_times 0

####edit this lines if conky does not work propertly
#default 512
max_specials 1024
default 16384
max_user_text 18384
####edit this lines if conky does not work propertly

# Create own window instead of using desktop (required in nautilus)
own_window yes
own_window_transparent yes
#own_window_type desktop
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager


double_buffer yes
#minimum_size 220
draw_shades no
draw_outline no
draw_borders no
stippled_borders 0
border_margin 5
border_width 1
default_color 719ECE
color1 EF6631
alignment bottom_left
gap_x 15
gap_y 25
no_buffers yes
uppercase no
cpu_avg_samples 1
net_avg_samples 2
override_utf8_locale yes
use_spacer yes


TEXT
${font OpenLogos:size=22}J
${font}$nodename
${font OpenLogos:size=12}t${font} $sysname $kernel on $machine
${font StyleBats:size=12}q${font} Uptime: ${alignr}${uptime}
${hr}
${exec grep -m 1 "model name" /proc/cpuinfo | sed 's/^.*: //g'}
${font Poky}P ${font}CPU: ${cpu cpu1}% ${alignr}${cpugraph cpu1 10, 100 EF6631 EF6632}
${font Poky}H ${font}HDD: $diskio ${alignr}${diskiograph /dev/sda 10,100 EF6631 EF6632}
$diskio_read (disk read) ${alignr} $diskio_write (disk write)
${hr}
${font StyleBats:size=12}g${font} RAM: ${alignr}$mem / $memmax
${font StyleBats:size=12}j${font} SWAP: ${alignr}$swap / $swapmax
${hr}
${font Pie charts for maps:size=12}7${font} ${fs_free_perc /}% free / ${alignr 8}${fs_bar 4,100 /}
${font Pie charts for maps:size=12}7${font} ${fs_free_perc /boot}% free /boot ${alignr}${fs_bar 4,100 /boot}
${hr}
$processes processes ($running_processes running)

NAME $alignr PID CPU
${color1}${top name 1} $alignr ${top pid 1} ${top cpu 1}
${color white}${top name 2} $alignr ${top pid 2} ${top cpu 2}
${color}${top name 3} $alignr ${top pid 3} ${top cpu 3}
${top name 4} $alignr ${top pid 4} ${top cpu 4}
${top name 5} $alignr ${top pid 5} ${top cpu 5}

"

netioconky:
"
use_xft yes
xftfont Trebuchet MS:size=8
xftalpha 0.8
text_buffer_size 2048
update_interval 2
total_run_times 0
own_window yes
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
double_buffer yes
minimum_size 220 0
draw_shades no
draw_outline no
draw_borders no
stippled_borders 0
border_margin 5
border_width 1
own_window_colour grey
color1 white
color2 EF6631
alignment top_right
#gap_x 15
gap_y 40
no_buffers yes
uppercase no
cpu_avg_samples 1
net_avg_samples 2
override_utf8_locale yes
use_spacer none
if_up_strictness adress

TEXT
${if_up eth0}
${font VariShapes Solid}F${downspeedgraph 15, 100 EF6631 EF6632} ${font VariShapes Solid}E${upspeedgraph 15, 100 EF6631 EF6632}
${else}
${if_up eth1}
${font VariShapes Solid}F${downspeedgraph 15, 100 EF6631 EF6632} ${font VariShapes Solid}E${upspeedgraph 15, 100 EF6631 EF6632}
${else}
There is no connection ${font Smiley}m
${endif}

"

Das Script kann versteckt zum Beispiel als .conkystart.sh angelegt werden und zum Beispiel
zu den zu startenden Programmen hinzugefügt werden:
"
#!/bin/bash
CONKY_RC=$HOME/.conky/conkymain
SLEEP_TIME=$1 ${SLEEP_TIME:=30}
if pidof conky | grep [0-9] > /dev/null

then
exec killall conky
else
sleep $SLEEP_TIME
conky -c $CONKY_RC &
conky -c $HOME/.conky/conkynet &
#conky addmoresconkyshere
exit

fi

"

Achja hätte ich ganz vergessen. Das ganze funktioniert nur mit ConkyColors und den entsprechenden Fonts. Viel Spaß