Autoreninformation |
Hans-Joachim Baader befasst sich seit 1993 mit Linux. 1994 schloss er sein Informatikstudium erfolgreich ab, machte die Softwareentwicklung zum Beruf und ist einer der Betreiber von Pro-Linux.de. |
Autoreninformation |
Mathias Menzer wirft gerne einen Blick auf die Kernel-Entwicklung, um mehr über die Funktion von Linux zu erfahren. |
u"Ich bin ein Unicode-String" unicode("Auch ich werde eine Unicode-Zeichenkette") "Bei Python-Versionen < 3 bin ich ein normaler Byte-String" |
>>> print("Hallo Welt") |
>>> print "Hallo Welt" |
Eine Auswahl von Operatoren in Python | ||
Operator | Typ | Funktion |
+, -, *, / | Mathematisch | Addition, Subtraktion, Multiplikation, Division |
** | Mathematisch | Potenzierung |
<, >, <=, >= | Vergleich | kleiner als, größer als, kleiner als oder gleich, größer als oder gleich |
== | Vergleich | gleich |
!= | Vergleich | ungleich |
= | Zuweisung | weist einen Wert zu |
in | Listen-Operator/ Mitgliedschaftstest | testet, ob der rechte Operand Mitglied im linken Operanden ist |
and | Bool. Operator | Konjunktion, logisches Und |
or | Bool. Operator | Disjunktion, logisches Oder |
not | Bool. Operator | Negation, logische Verneinung |
number = 5 if number > 3: print u"Zahl groesser als 3" |
number = 20 if number > 10 and number < 40: print u"Zahl liegt zwischen 10 und 40" |
good_looking = False rich = True if good_looking == True or rich == True: print u"Heirate mich!" |
if good_looking or rich: print u"Heirate mich!" |
if number < 10: print u"Kleiner 10" elif number < 20: print u"Kleiner 20" else: print u"Groesser oder gleich 20" |
while True: raw_input(u"Wie war Ihr Name noch gleich?") |
names = [] running = True while running: user_input = unicode(raw_input(u"Geben Sie einen Namen ein oder 'exit' zum Beenden > ")) if user_input == u"exit": running = False else: names.append(user_input) print u"Sie haben folgende Namen eingegeben:" print names |
if username == u"Bernd": if password == u"xy": print u"Alles ok" else: print u"Password falsch" else: print u"Benutzername falsch" |
>>> persons = [] >>> type(persons) <type 'list'> >>> persons = list() >>> type(persons) <type 'list'> >>>persons = [u"Peter", u"Hermann", u"Simon"] |
>>> persons = [u"Peter", u"Hermann", u"Simon"] >>> persons.append(u"Carla") >>> persons.append(u"Hermann") >>> persons [u'Peter', u'Hermann', u'Simon', u'Carla', u'Hermann'] >>> persons.remove(u"Hermann") >>> persons [u'Peter', u'Simon', u'Carla', u'Hermann'] |
>>> persons = [u"Peter", u"Hermann", u"Hermann"] >>> while u"Hermann" in persons: >>> persons.remove(u"Hermann") >>> print persons ['Peter'] |
>>> persons = [u"Peter", u"Hermann", u"Simon"] >>> persons.append(u"Carla") >>> persons.remove(u"Hermann") >>> print persons [u'Peter', u'Simon', u'Carla'] >>> persons.remove(u"Heidi") Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: list.remove(x): x not in list |
if u"Heidi" in persons: persons.remove(u"Heidi") |
>>> letters = [u"a", u"b", u"c"] >>> letters[1] u"b" |
>>> letters[-3] u"a" |
>>> letters = [u"a", u"c", u"e"] >>> letters.insert(1, u"b") >>> letters [u"a", u"b", u"c", u"e"] >>> letters.insert(3, u"d") >>> letters [u"a", u"b", u"c", u"d", u"e"] >>> letters.pop() u"e" >>> letters [u"a", u"b", u"c", u"d"] >>> letters.pop(2) u"c" >>> letters [u"a", u"b", u"d"] |
[von:bis] |
>>> li = [u"a", u"b", u"c", u"d", u"e"] >>> li[0:3] [u"a", u"b", u"c"] >>> li[2:5] [u"c", u"d", u"e"] |
>>> li[0:-1] [u"a", u"b", u"c", u"d"] >>> li[0:-2] [u"a", u"b", u"c" ] >>> li[1:-2] [u"b", u"c"] |
>>> li = [u"a", u"b", u"c", u"d", u"e"] >>> li[:3] |
>>> li[2:] [u"c", u"d", u"e"] |
>>> li[:] |
>>> li = [u"a", u"b", u"c"] >>> li[2] = u"e" >>> li [u'a', u'b', u'e'] >>> li[2:2] = [u"c", u"d"] >>> li [u'a', u'b', u'c', u'd', u'e'] >>> li[3:] = [1, 2, 3] >>> li [u'a', u'b', u'c', 1, 2, 3] |
#!/usr/bin/env python # coding: utf-8 allowed_tries = 5 counter = 1 users = [u"Karl", u"Willi", u"Joe"] passwords = [u"karl123", u"willi456", u"joe789"] while counter <= allowed_tries: username = unicode(raw_input(u"Bitte geben sie ihren Benutzernamen ein: ")) password = unicode(raw_input(u"Bitte geben sie ihr Passwort ein: ")) if not username in users: print u"Dieser Benutzer existiert nicht!" else: idx = users.index(username) if passwords[idx] == password: print u"Erfolgreich eingeloggt!" break else: print u"Sie haben ein falches Passwort eingegeben" counter += 1 if counter > allowed_tries: print u"Sie haben es zu oft versucht!" |
Autoreninformation |
Daniel Nögel beschäftigt sich seit drei Jahren mit Python. Ihn überzeugt besonders die intuitive Syntax und die Vielzahl der unterstützten Bibliotheken, die Python auf dem Linux-Desktop zu einem wahren Multitalent machen. |
Autoreninformation |
José Antonio Calvo ist der Produktmanager für Zentyal Server und arbeitet bereits seit einigen Jahren an Zentyal und der Vergängerversion eBox. Seine ersten Berührungspunkte mit Linux und Freie Software waren vor zwölf Jahren. |
$ tar xfvj frogatto-1.*.*.tar.bz2 |
$ make |
Autoreninformation |
Michael Schwarz bereut den übereilten Verkauf seines Super Nintendo in jugendlichem Leichtsinn. Erinnerungen aus seiner Kindheit werden hervorgerufen, wenn er im Internet auf Spiele wie Frogatto stößt, die der damaligen Generation von Spielen sehr ähnlich sehen. |
Eckdaten des WeTab 3G | |
Display: | 29,5 cm (11,6 Zoll) Multitouch-Breitbildschirm |
Auflösung: | 1366×768 Pixel, 16:9-Format |
Prozessor: | 1,66 GHz Intel Atom N450 Pineview-M |
Speicher: | 32 GB, erweiterbar über SDHC-Karten |
Arbeitsspeicher: | 1 GB |
HD: | Auf internem Display und über HDMI-Schnittstelle |
Webcam: | 1.3 Megapixel |
Mikrofon: | integriert |
Audioausgang: | ja |
Schnittstellen: | 2 USB Anschlüsse, Cardreader für SD/SDHC-Formate, HDMI-Schnittstelle, Standard SIM-Slot |
Batterielaufzeit: | ca. 6 Stunden |
Kommunikation: | Bluetooth 2.1+EDR, WLAN 802.11 b/g/n, 3G UMTS/HSDPA, GPS |
Gehäuse: | Magnesium-Aluminium |
Abmessungen: | 295×195×15mm |
Gewicht: | ca. 850g |
Weiteres: | Ambient-Light-Sensor, Beschleunigungssensor, Ste reolautsprecher |
Autoreninformation |
Oliver Johanndrees ist langjähriger Anwender von Linux. Als begeisterter Netbook-Nutzer der ersten Stunde ist für ihn der Tablet-PC die gelungene Evolution der mobilen Anwendung. Die Verbindung von moderner Hardware und Linux, bzw. Android, freut ihn dabei ganz besonders. |
Buchinformationen | |
Titel | Network Hacking (2.Auflage) |
Autor | Dr. Peter Kraft und Andreas Weyert |
Verlag | Franzis, 2010 |
Umfang | 598 Seiten |
ISBN | 978-3-645-60030-9 |
Preis | 49,95 Euro (eBook: 29,99) |
Autoreninformation |
Dirk Röder ist Debian-Nutzer und beschäftigt sich seit einiger Zeit mit allen Aspekten der Systemadministration. |
Autoreninformation |
Dominik Wagenführ ist Chefredakteur bei freiesMagazin und engagiert sich nebenbei noch für andere freie Projekte wie Creative Commons und der Free Software Foundation. Die Ubucon sieht er als gute Möglichkeit, freies Wissen weiterzugeben. |
|
|
|
|
|
|
|
$ make qmake && make |
$ ./engine -p 2 -m ../maps/board1.map |
$ ./ai |
$ ./gui |
$ ./start.sh maps/board1.map 20 1 |
menuentry "Tiny Core Linux 2.11" { loopback loop /boot/iso/tinycore_2.11.iso linux (loop)/boot/bzImage boot=boot iso-scan/filename=/boot/iso/tinycore_2.11.iso quiet splash noeject noprompt -- initrd (loop)/boot/tinycore.gz } |
Messen | ||||
Veranstaltung | Ort | Datum | Eintritt | Link |
OpenRheinRuhr | Oberhausen | 13.-14.11.2010 | 3 EUR | http://www.openrheinruhr.de/ |
Open Source Expo | Karlsruhe | 15.-16.11.2010 | 10 EUR | http://openexpo.de/ |
12. LinuxDay | Dornbirn | 27.11.2010 | frei | http://linuxday.at/ |
PGDay.EU | Stuttgart | 06.-08.12.2010 | - | http://2010.pgday.eu/ |
Chaos Communication Congress | Berlin | 27.12.-30.12.2010 | 70 EUR | http://events.ccc.de/congress/2010/ |
5. LIT-OL | Oldenburg | 12.02.2011 | frei | http://www.lit-ol.de/ |
CeBIT | Hannover | 01.-05.03.2011 | - | http://www.cebit.de/ |
Chemnitzer Linux-Tage | Chemnitz | 19.-20.03.2011 | 8 EUR | http://chemnitzer.linux-tage.de/ |
$: | Shell-Prompt |
#: | Prompt einer Root-Shell – Ubuntu-Nutzer können hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzen. |
~: | Abkürzung für das eigene Benutzerverzeichnis /home/BENUTZERNAME |
Impressum ISSN 1867-7991 | ||
freiesMagazin erscheint als PDF und HTML einmal monatlich. | ||
Redaktionsschluss für die Dezember-Ausgabe: 21. November 2010 | ||
Kontakt | ||
Postanschrift | freiesMagazin | |
c/o Dominik Wagenführ | ||
Beethovenstr. 9/1 | ||
71277 Rutesheim | ||
Webpräsenz | http://www.freiesmagazin.de/ | |
Autoren dieser Ausgabe | ||
Hans-Joachim Baader | Ubuntu 10.10 | |
José Antonio Calvo | Zentyal 2.0: Eine Linux-Alternative zum Windows Small Business Server | |
Oliver Johanndrees | Auf dem Tablet serviert – Das WeTab ist massenverfügbar | |
Mathias Menzer | Der Oktober im Kernelrückblick | |
Daniel Nögel | Python-Programmierung: Teil 2 – Tiefere Einblicke | |
Dirk Röder | Rezension: Network Hacking | |
Michael Schwarz | Frogatto – Ein Retroheld im Froschgewand | |
Dominik Wagenführ | Rückblick: Ubucon 2010 in Leipzig |
Erscheinungsdatum: 7. November 2010 | ||
Redaktion | ||
Frank Brungräber | Thorsten Schmidt | |
Dominik Wagenführ (Verantwortlicher Redakteur) | ||
Satz und Layout | ||
Ralf Damaschke | Yannic Haupenthal | |
Nico Maikowski | Matthias Sitte | |
Korrektur | ||
Daniel Braun | Stefan Fangmeier | |
Mathias Menzer | Karsten Schuldt | |
Franz Seidl | Stephan Walter | |
Veranstaltungen | ||
Ronny Fischer | ||
Logo-Design | ||
Arne Weinberg (GNU FDL) | ||