Heute wollte ich beschreiben, wie ich mich über IT-News informiere, denn jeder der sich mit dem Thema “IT” beschäftigt bemerke schnell das aktuelle Informationen sehr wichtig sind, wenn z.B. eine Sicherheitslücke bekannt wird, Updates für bestimmte Programme anstehen oder man sich “einfach” über neue Technologien / Programme / etc. informieren möchte.
[stextbox id=”info”]An alle IT-Blogger: Ich bin immer auf der Suche nach neuen IT-Blogs und interessanten IT-News, daher würde ich euch bitten, folgende Angaben als Kommentar zu hinterlassen, so dass ich euch folgen und eure Nachrichten lesen kann, thx.[/stextbox]
RSS-Feed
ggf. Twitter/Identi.ca – Account
ggf. Facebook-Fanpage
Google-Reader
Der Google Reader ist sehr praktisch, da man nicht die verschiedenen News-Seiten besuchen muss, man hat alle Informationen auf einem Blick zusammen. (Im RSS-Feed bitte immer ganze Artikel anzeigen lassen, anders macht RSS keinen Sinn!!!) Zudem kann man im Google-Reader auch bei anderen Google-Usern (Buzz) mitlesen, welche wiederum Infos/News weiterempfehlen können, so baut man sich schnell seine persönliche kleine News-Zentrale zusammen. Damit das ganze nicht unübersichtlich wird, sollte man die RSS-Feed in einzelne Ordner (Kategorien) speichern. Die Krönung ist ganzen ist dann, wenn du dir das Google-Reader App auf deinem Android-Smartphone installierst und immer alle aktuellen News abrufbereit in der Tasche hast.
Tipp: Per iGoogle (Google – Startseite) kannst du dir deine Google-Reader News auch anzeigen lassen und mehr viele weitere Infos wie z.B. das Wetter etc.
Auf speziellen Webseiten, werden auch RSS-Feed von Blogs zusammengefasst, so dass man diese nicht selber organisieren muss bzw. auch neue Blogs / News findet. Wer sich für das Thema (RSS-Sammlung -Planet) interessiert, kann sich eine solche Software ggf. auch selber installieren – www.planetplanet.org
Auch wenn die Technik vom Google-Reader schon sehr gut ist, wirklich ansprecht / übersichtlich sieht es nicht wirklich aus, daher nutze ich www.feedly.com. (verfügbar für Chrome, Firefox, Safari) Die einzelnen Kategorien vom Google-Reader kannst du dir nun übersichtlich in einer Art Zeitungsformat anzeigen lassen und bekommst viele weiter News Empfehlungen.
+ Ordner erleichtern die Verwaltung
+ komplette News auf einer Webseite
+ News werden gewichtet
+ Übersichtliche Darstellung
– nur im Browser verfügbar (App ist jedoch in Arbeit)
feedly
News für unterwegs
Wenn man aus welchem Grund auch immer unterwegs (offline) News lesen möchte, kann man sich auch mehrere RSS-Feed per E-Mail zuschicken lassen und zwar auf tabbloid.com. Außerdem nutze ich auch noch readitlaterlist.com, wir der Name (Read It Later) schon sagt, kann man hier bequem Webseiten abspeichern und später offline lesen.
Tipp: Für “Read It Later” gibt es auch Apps für dein Smartphone, falls du keine Internetflat hast. ;-)
Vor einiger Zeit habe ich mit mich darauf beschränkt (am Morgen) auf der Arbeit die IT-News des Tages per E-Mail zu lesen. Daher kann man meine Blog-Beiträge auch per E-Mail empfangen, dies lässt sich sehr einfach per RSS + FeedBurner realisieren.
Tipp: Unter Linux (Arch Linux & Ubuntu) nutzte ich “Claws Mail” als E-Mail Client. :-)
Wer ein wenig Zeit mitbringt, kann auf Twitter auch viele neue Leute kennen lernen und interessante News in der “Timeline” lesen, ich folge hier vielen IT-Bloggern und kann jedem der Twitter nutzt nur empfehlen Twitter-Listen anzulegen, um ein wenig Ordnung in die Informationsflut zu bekommen. z.B.: twitter.com/suckup_de/lists Indem andere diese Listen wiederum abonnieren, kann man auch ohne viel Zeitaufwand vielen News finden.
Tipp: Wer eine freie Alternative zu Twitter sucht sollte sich einmal identi.ca anschauen…
+ News in Echtzeit
+ Listen erleichtern die Verwaltung
– unübersichtlich Timeline, bei vielen Nachrichten
– spezielle News werden schnell überlesen
– doppelte News
Twitter_Listen
Twitter_IT-Blogger
Online-Zeitung (Twitter)
Als Ergänzung zu Twitter möchte ich an dieser Stelle kurz “Twittertim.es” und “paper.li” vorstellen. Bei Twittertim.es kann man aus seiner Timeline eine Zeitung generieren, die Reihenfolge der Beiträge ergeben sich daraus, wie viele Bekannte diese Nachricht ebenfalls erwählt haben. paper.li ist ebenfalls ein Online-Zeitungs-Dienst, welcher Twitter und ggf. Facebook Meldungen (News) verarbeitet. Der Vorteil von paper.li ist der, dass man auch die erwähnten Twitter-Listen als ansprechende Zeitung publizieren und abonnieren kann. z.B.: paper.li/suckup_de/it-nachrichten
+ News werden gewichtet
+ Übersichtliche Darstellung
– spezielle News werden ggf. nicht anzeigt
paper_politik
Social-News
Ergänzend zu den bisher Vorgestellen News-Quellen schaue ich teilweise auch in sogenannte Social-News, dort können User (du und ich) Nachrichten einreichen, diese können dann von anderen gepusht werden. Um so mehr Stimmen ein Beitrag erhält, desto weiter vorne (oben) wird dieser Angezeigt.
Sehr schön finde ich auch Padcasts, wo sehr liebe Menschen News zusammentragen, diese als eine Art Radiosendung verpacken und als Audio-File anbieten. Solch ein Podcast kannst man sich jedoch nur anhören, wenn man auch die Zeit mitbringt! z.B. auf dem Weg zur Arbeit / im Zug / oder einfach gemütlich zu Hause. ;-)
Es folgt meine Antwort auf die Blogparade von Internetblogger, dort wurden einige Fragen zu Facebook zusammengestellt, welche ich nun kurz beantworten möchte.
1.) Bist du bei Facebook angemeldet? Falls ja, verlinke doch mal deine/n Account/s.
Facebook <- Jop! Jedoch muss ich sagen, dass in meinem Bekanten- / Freundeskreis fast alle bei StudiVZ und nur wenige parallel auf Facebook unterwegs sind. Ich persönlich wäre dafür, dass Facebook das ganz StuduXYZ aufkauft und ein Produkt daraus gemacht wird, aber auf mich hört ja keiner. ;-)
2.) Besitzt du eine Fanpage?
Fanpage <- Auch hier bin ich bzw. mein Blog vertreten, jedoch dümpelt die Anzahl der Personen denen meine Seite gefällt irgendwo im einstelligen Bereich… Ggf. kannst “du” das ändern! ;-)
3.) Seit wann bist du in Facebook und wie viele Fans hast du inzwischen?
Habe die Fanpage irgendwann letztes Jahr angelegt, jedoch erst vor kurzem das “Soziales Plug-in von Facebook” auf meinem Blog (Sidebar) veröffentlicht, so dass man die Seite auch findet.
4.) Pi x Daumen abgeschätzt, wie oft/wie viele Stunden täglich/wöchentlich/monatlich facebookst du? Kann man dabei eine Regelmässigkeit feststellen?
Höchstens 1 Stunde in der Woche, da ich momentan mehr auf Twitter unterwegs bin und meine “Tweets” mir meiner Facebook-Fanpage verknüpft habe, so dass ich auch dort ein wenig Content produziere. :-)
5.) Für welche Zwecke setzt du Facebook ein(Freunde treffen, Blogartikel promoten, Kontakte knüpfen, einfach dabei sein oder eben deine Meinung)?
Gute Frage, wahrscheinlich um mitreden zu können und ggf. neue Leute zu finden, welche die selben Interessen (Computer, Netzwerk, Linux, Programmierung…) haben wie ich.
6.) Analys.ierst du deine Facebook-Aktivitäten bzw. deinen Facebook-Account? Dabei kann man dies entweder mit Facebook-Insights oder Google Analytics tracken.
Nein.
7.) Wie sieht deiner Meinung nach die Zukunft von Facebook aus?
Ich glaube Facebook hat sich bereits fest etabliert, so schnell schafft man es nicht noch einmal, dass sich sooo viele Menschen an einer Webseite anmelden. Außerdem kenne ich Leute, die schreiben Nachrichten (anstatt E-Mails) mit Facebook, Chatten mit Facebook (anstatt ICQ, Jabber, MSN, etc. zu starten) und sprechen sich per Facebook-Places ab, wo man sich trifft. Auch wenn ich nicht ganz einsehe, dass Facebook über 50 Milliarden Dollar Wert sein soll, so kann man einen gewissen Nutzen nicht abstreiten.
8.) Verwendest du externe Facebook-Apps(iPad, iPhone), Fanpage-Box auf der Webseite, einen externen Client zum Facebooken wie etwa TweetDeck etc. ?
Ich nutze das Android App von Facebook, so dass ich sofort mitbekomme, wenn ich eine neue Nachricht habe und wie bereits soeben beschrieben, nutze ich seit neustem diese Fanpage-Box auf meiner Webseite. Tipp: man kann die Fanpage-Box auch am Webseiten-Design anpassen -> http://it-runde.de/facebook-fan-box-individuell-gestalten <- werde ich ggf. auch noch machen. :-)
9.) Drückst du auf “Gefällt mir”-Buttons in Facebook und/oder auf Blogs bzw. Webseiten? Welche Haltung hast du dazu?
Ich nutze diesen “Gefällt mir”-Button bei Blogs welche mir wirklich gut gefallen, so dass man ggf. Beiträge die man im Feed-Reader übersieht, auch noch mal auf Facebook angezeigt bekommt.
10.) Kannst du bzgl. Facebook traffic-bezogene Aussagen machen? Bringt dieses Netzwerk einem Webmaster überhaupt etwas?
Kann ich leider keine Aussagen drüber machen, für meinen Blog zumindest noch nicht. Aber ich kann mir Vorstellen, dass diese Form der Promotion über Facebook sehr viele neue Leute auf eine Webseite locken kann, denn wenn mir ein Freund etwas empfiehlt werde ich mir es ehr ansehen, als wenn Werbung dafür gemacht wird.
11.) Was hältst du von dem Datenschutzauf Facebook? Muss Facebook dringend reagieren, um eines Tages den Rückgang der Nutzerschaft zu vermeiden? Deine eigenen Äusserungen zu diesem Anliegen!?
“Alle aktuellen Browser können Schriftarten per CSS vom Server holen, um die auf dem Rechner vorinstallierte Auswahl von Fonts zu ergänzen und Webdesignern typografische Handlungsfreiheit zu ermöglichen. In der Praxis scheitern diese Webfonts bisher aber oft am technischen Aufwand, an Lizenzfragen und an unterschiedlichen Implementierungen in den Browsern. Die auf der Google-Entwicklerkonferenz Google I/O vorgestellten Google Font API und Google Font Directory könnten dieser Technik endlich zum Durchbruch verhelfen und das Aussehen von Webseiten nachhaltig verändern.” – heise.de
1.) Und -> hier <- gibt es ein kleines HowTo von Google, welches zeigt, dass man als erstes folgendes (ggf. Rennie Beanie gegen eine andere Schriftart austauchen) im HTML-Quellcode einfügen muss…
3.) … und dies z.B. folgendermaßen als Überschrift für WordPress in der Datei (single.php) verwenden. Wie das Ergebnis am Ende aussieht, kannst du hier im Blog sehen. ;-)
<span><h1><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h1></span>
4.) Wer will kann auch erst eine normale Schrift anzeigen lassen und dann die Google-Fonts per JavaScript laden lassen… -> hier <- gibt es diesbezüglich weitere Infos.
<html>
<head>
<script type="text/javascript">
WebFontConfig = {
google: { families: [ 'Tangerine', 'Cantarell' ] }
};
(function() {
var wf = document.createElement('script');
wf.src = ('https:' == document.location.protocol ? 'https' : 'http') +
'://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
wf.type = 'text/javascript';
wf.async = 'true';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(wf, s);
})();
</script>
<style type="text/css">
.wf-loading p {
font-family: serif
}
.wf-inactive p {
font-family: serif
}
.wf-active p {
font-family: 'Tangerine', serif
}
.wf-loading p {
font-family: serif;
font-size: 16px
}
.wf-inactive h1 {
font-family: serif;
font-size: 16px
}
.wf-active h1 {
font-family: 'Cantarell', serif;
font-size: 16px
}
</style>
</head>
<body>
<h1>This is using Cantarell</h1>
<p>This is using Tangerine!</p>
</body>
</html>
“Das Metasploit-Projekt ist ein freies Open-Source-Projekt zur Computersicherheit, das Informationen über Sicherheitslücken bietet und bei Penetrationstests sowie der Entwicklung von IDS-Signaturen eingesetzt werden kann. Das bekannteste Teilprojekt ist das Metasploit Framework, ein Werkzeug zur Entwicklung und Ausführung von Exploits gegen verteilte Zielrechner. Andere wichtige Teilprojekte sind das Shellcode-Archiv und Forschung im Bereich der IT-Sicherheit.
Wie vergleichbare kommerzielle Lösungen wie CANVAS (von Immunity) oder Core Impact (von Core Security Technology), kann Metasploit von Administratoren eingesetzt werden, um die Schwachstellen von Computersystemen zu prüfen und diese bei Bedarf zu schließen. Andererseits kann es auch missbraucht werden, um in andere Systeme einzubrechen. Während der beschriebene Einsatz durch einen Administrator in seinem eigenen Netzwerk nicht nur legitim, sondern auch legal ist, erfüllt ein Einsatz ohne ausdrückliche Erlaubnis bei Fremdsystemen Tatbestände der Computerkriminalität.” – Wiki
[stextbox id=”alert” caption=”Achtung”]Ausdrücklich möchte ich noch einmal darauf hinweisen, dass man dieses Programm nur zur Analyse des eigenen Netzwerkes nutzen darf![/stextbox]
hackingprocess
Als erstes müssen wir einige Dinge nachinstallieren um “unser eigenes” Netzwerk bzw. die Rechner in diesem auf Exploits zu prüfen und spätestens jetzt bemerkt man, dass ein Patch-Day im Monat ggf. nicht ausreicht, sobald man auf eine globale Exploit-Datenbank zurückgreifen kann ;-) …
Optional: falls du später Probleme hast, dich mir postgres-SQL zu verbinden
vim /etc/postgresql/8.3/main/postgresql.conf
#ssl = true
sudo /etc/init.d/postgresql restart
… und müssen eine Datenbank-User / Datenbank anlegen.
sudo -s
su postgres
createuser msf_user -P
Enter password for new role: *******
Enter it again: *******
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) n
Shall the new role be allowed to create more new roles? (y/n) n
createdb --owner=msf_user msf_database
Wenn man gerne nun noch eine hübsche grafische Oberfläche hätte, kann man sich diese GUI installieren oder “msfgui” ausprobieren. :-) Um die neue Metasploit-GUI zu nutzen müssen wir jedoch als erstes Java installieren…
Optional: ggf. falls der PC in der Zwischenzeit neu-gestartet wurde, starten wir nun PostgreSQL…
sudo /etc/init.d/postgresql start
sudo msfconsole
*abwarten, kann einen Augenblick dauern*
msf > load xmlrpc
… nun steht in der Konsole ein Passwort (+User), welches gleich in der GUI eingegeben werden muss, also neue Konsole öffnen und anschließend die neue GUI herunterladen.
cd ~/Desktop/
wget http://www.fastandeasyhacking.com/download/armitage122210.tgz
tar xzvf armitage122210.tgz
cd armitage/
./armitage.sh
Nachdem die Software gestartet wurde, müssen wir noch schnell das soeben beschriebene Passwort (+User) und noch den Befehl zum Verbinden mit der Datenbank eintragen …
… anschließend können wir das Netzwerk scannen und ggf. Sicherheitslücken entdecken …
Armitage_start
Menü:
Hosts -> Clear Hosts
Hosts -> Nmap Scan -> Quick Scan (OS detect)
Services
Auswahl
… genauer will ich auf die GUI auch nicht eingehen, denn weitere Infos findet man z.B. hier:
Naja eigentlich ist es für mich meine erste Blogblume daher V1.0. In der Blogparade auf “blogblume.de” geht es darum, eine “Blume zu pflanzen” (mithilfe von HTML Graph) aber noch schönes als das Bild das an Ende dabei herauskommt, ist der Aufbau dieser “Blume”, daher einfach selber ausprobieren… :-)
“Toy Story was released by Pixar November 22nd, 1995. One year later Debian 1.1 was released. Bruce Perens was the DebianProjectLeader then and also worked for Pixar. He started the tradition of naming Debian releases after Toy Story characters.” – wiki.debian.org/ToyStory -> Debian
Am besten ist es den Flaschenhals an seinem System ausfindig zu machen, dafür sollte man wissen wie viel Arbeitsspeicher zur Verfügung steht, CPU Auslastung, Festplattengeschwindigkeit etc. aktuell verbraucht wird. Ggf. kann man auch mit neuer Hardware (z.B. > RAM) das System beschleunigen, dies muss natürlich bei jedem System einzeln geprüft werden.
1.1) Arbeitsspeicher
free -mt
total: kompletter physikalischer Speicher ( – ein wenig für den Kernel)
use: verwendeter Speicher
free: freier Speicher
buffers/cache: Speicher der wieder freigegeben werden kann, wenn dieser benötig wird. (Cache)
Somit sollte auch klar sein, dass es GUT ist, wenn der Arbeitsspeicher gut ausgenutzt wird, sollte jedoch “use” – “buffer/cache” zu klein werden oder bereits “Swap” (Auslagerungsspeicher -> meist Festplattenplatz) verbracht wird und somit das System wirklich ausbremst.
1.2) Festplatte
hdparm -t /dev/harddrive
Wenn es ewig dauert bis das System gebootet ist oder Programme starten, sollte man die Lesegeschwindigkeit seiner Festplatte einmal testen und ggf. eine neue Festplatte kaufen. ;-) Dabei sollte die Festplatte nicht unter ~50MB/s sein. Moderne SATA-Festplatten haben im Durchschnitt 100MB/s und bei SSD-Festplatten ist eine Datenraten bis zu ~500 MB/s möglich. (SATA-600).
Wenn du Engpässe beim abspielen von Videos oder beim Spielen feststellst, kannst du mit dem vorherigem Befehl feststellen, ob “Direct Rendering” aktiviert ist. Ggf. reicht es aus andere Treiber zu installieren, nach meiner Erfahrung sind die Proprietäten Treiber bei neuen Grafikkarten (ATI & NVIDIA) sehr gut. (http://suckup.de/blog/2010/02/09/lxde-compiz-emerald-awn-ubuntu-howto/) Wer eine alte Grafikkarte hat, kann auch diese 3D-Effekte (Compiz) ausschalten, ggf. andere Treiber installieren und schauen, ob der Desktop dadruch flüssiger läuft.
2.) Lightweight Software
Bevor man in neue Hardware investiert (oder sich diese zu Weihnachten schenken lässt) sollte man einmal “Lightweight Software” ausprobieren, diese bieten zwar ggf. weniger Funktionen, sind dafür aber schneller.
[stextbox id=”alert” caption=”Achtung”]Achtung: Backup nicht vergessen!!![/stextbox]
Als erstes sollte man sich ein wenig mit dem Filesystem beschäfitigen, da ganz nach verwenddung ggf. ein anderes Filesystem verwendet werden sollte.
Zusammenfassung:
XFS: ausgezeichnete Leistung bei großen Dateien, dafür langsamere Geschwindigkeit bei kleinen Dateien (z.B. für ISO’s oder großen Downloads unter /home)
Reiserfs: ausgezeichnete Leistung bei kleinen Dateien (z.B. für viele kleine Dateien unter /var)
Ext3: durchschnittliche Leistung
Ext4: super Gesamtleistung (Leistungsprobleme bei sqlite und anderen Datenbanken)
JFS: gute Gesamtleistung (sehr geringe CPU-Last)
Btrfs: super Gesamtleistung (besser als ext4 ABER ggf. unstable)
Ein weitere Möglichkeit das Dateisystem zu optimieren, sind die “Mount Optionen”, diese trägst du in der Datei “/etc/fstab” ein. So kann man z.B. durch “relatime” oder “noatime” verhindern, dass die Zugriffszeiten in der Inodetabelle gespeichert werden und so die Festplattenaktivität reduziert werden.
Sowohl bei Ext3 als auch bei Ext4 wird ein Journal geschrieben, dieses kann man mit der Option “data=writeback” einschränken und somit die Preformance steigern, kann jedoch zu Problemen führen, da die metadata nun “träge” gespeichert werden.
‘Journal‘ – Langsamster und sicherster Modus. Nicht nur die Metadaten sondern auch die Nutzdaten werden zunächst in das Journal, und dann erst auf die Festplatte geschrieben.
‘Ordered‘ – Guter Kompromiss aus Sicherheit und Geschwindigkeit (Standard). Die Nutzdaten werden auf die Festplatte geschrieben sobald die Metadaten im Journal abgelegt wurden.
‘Writeback‘ – Schnell, dafür relativ unsicher. Die Nutzdaten werden sofort auf die Festplatte geschrieben ohne das gewartet wird bis die Metadaten im Journal abgelegt wurden.
tune2fs -o journal_data_writeback /dev/partition
mit dem vorherigem Befehl schreibt man das vorhandene Journal um…
“noatime” sagt aus, dass nicht gespeichert wird, wann die Datei angesehen wurde. (man liest eine Datei und gleichzeitig wird auf die Dateien geschrieben) Auch “barrier=0” trägt dazu bei, dass deine Daten unsicherer sind, die Option steigert jedoch die Performance. (so soll die Option einen sehr positiven Einfluss auf die Schreib-Performance von MySQL haben) Die Option “nobh” versucht “associating buffer heads” zu vermeiden und bringt eine kleine Performace verbesserung. Als nächstes kommt die Option “commit=100“, diese Option sagt aus, dass die Daten nur alle 100 Sekunden auf die Festplatte geschrieben werden, dafür verliet man ggf. auch 100 Sekunden bei einem Ausfall (default 5). “nouser_xattr” schaltet einige weitere Optionen vom Dateisystem aus und bringt noch einmal einen kleinen Performanceschub.
… und die “Mount Option” -> “logbufs=8” in der fstab einfügen. Zudem kann man das gemountete XFS-Filesysteme per “filesystem reorganizer for XFS” Optimieren.
Die Option “data=writeback” beschleunigt das Dateisystem, kann jedoch zu Datenverlust beim Stromausfall führen. Auch “notail” beschleunigt Reiserfs bewirkt jedoch, dass zirka 5% mehr an Festplattenplatz benötigt wird. Zudem kann man mit dem nächsten Befehl bereits beim erstellen das Dateisystems dieses beschleunigen, indem man das Journal auf eine zweite Partition auslagert.
Dieses neue Dateisystem bietet “online Defragmentation”, “Optimierungen für SSDs”, “Snapshots” und viele weitere Sinnvolle Funktionen, wird jedoch momentan noch aktiv entwickelt.
(Im Arch-Linux Wiki habe ich auch noch von der Möglichkeit gelesen “/usr” komplett zu komprimieren (aufs2 + squashfs-tools) da moderne CPUs schneller die Dateien entpacken können als das größere Daten von der Festplatte geladen werden können, leider habe ich diesbezüglich keine Infos zu Ubuntu gefunden.)
4.) CPU
Hier kann man in erster Lienie Overclocking betreiben und somit einiges an Geschwindigkeit herausholen, so habe ich z.B. aus einem “AMD Athlon II X3” einen “AMD Athlon II X4” gemacht. (PS: wer Fragen zur Hardware hat, sollte sich einmal das Computerbase-Forum anschauen, habe dort auch meinen neuen PC gemeinsam mit anderen Mitgliedern zusammengestellt -> “http://www.computerbase.de/forum/showthread.php?p=8532713” + Vorlagen für verschiedene Preisklassen http://www.computerbase.de/forum/showthread.php?p=3395405)
Wenn man auf der Software-Seite seine CPU besser nutzen möchte kann man einen optimierten Kernel bauen oder zumindest bei Arch-Linux sein System mit neuen “CFLAGS & CXXFLAGS” neu-kompilieren lassen. (https://wiki.archlinux.org/index.php/Pacbuilder) Falls jemand ein ähliches Programm für Ubuntu kennt, würde ich dies gerne erfahren. :-)
“swappiness” ist eine Einstellung, welche dem Kernel mitteilt ob der RAM oder der SWAP bevorzugt werden soll. Der Wert der Variablen kann zwischen 0 und 100 liegen. Der Wert 0 bedeutet, dass der Kernel den Auslagerungsspeicher auf der Festplatte (swap) nur dann nutzt, wenn es nicht anders geht. Der Wert 100 bedeutet das genaue Gegenteil. Es wird so früh wie möglich ein unbenutzter Speicherbereich in den Swapspeicher geschoben.
vim /etc/sysctl.conf
vm.swappiness=20
vm.vfs_cache_pressure=50
5.2) Compcache
Compcache, auch als “ramzswap kernel module” bezeichnet erstellt Swap im Arbeitsspeicher und komprimiert diesen. So dass zwar die CPU wieder mehr zu tun hat, wir jedoch mehr Auslagern können, ausserdem hat dies den Vorteil, dass die Lese-/Schreizugriffe auf der Festplatte weiter reduziert werden.
Einen ählichen Ansatz, wie “Compcache” verfolgt auch “tmpfs” hier werden die Daten jedoch einfach in den Arbeitsspeicher geschrieben, ohne diese zu komprmieren. Wenn man jedoch genügent Speicher übrig hat, kann man so z.B. die “/tmp”-Daten in den Speicher auslagern.
ureadahead ist standardmäßig bereis bei Ubuntu installiert und lädt Programme bereits beim Bootvorgang in den RAM, falls man z.B. preload (apt-get install preload) einsetzten will, sollte man ureadahead deaktivieren, da es die selbe Aufgabe übernimmt. “preload” hat den Vorteil, dass es im Betrieb protokolliert welche Programme wirklich verwendet werden und nur diese bereits beim Boot in den RAM lädt, daher startet das System schneller, die Programm werden jedoch nicht schneller gestartet als mit ureadahead. (persönliche Meinung – nicht auf die Millisekunde gemessen) außerdem verursacht das Programm “preload” immer CPU-Last und verbraucht somit mehr Strom als wie ohne. ;-) Um den Boot-Vorgang näher zu analysieren soll man sich einmal “bootchart” (http://wiki.ubuntuusers.de/bootchart) anschauen.
8.) prelink
Wenn man den Start von Programmen beschleunigen will, kann man “prelink” (apt-get install prelink) ausprobieren, besonders bei KDE bringt dies einiges, da somit bei “dynamic linking” Programmen (Programm die nicht gelinkt sind, um z.B. Speicherplatz zu sparen) die Libraries nicht jedesmal bei geladen werden müssen. Prelink nutzt dies insofern aus, als dass es das Linken im Voraus ausführt und in der Programmdatei abspeichert. Somit kann man (fast) jedes Programm beschleunigen.
Nicht verwendete Sprachdateien zu entfernen erscheint zwar auf den ersten Blick nicht wirklich als Optimierung, jedoch hat sich in der Praxis gezeigt, dass einige Programm diese Sprachdateien z.B. beim Start in den Speicher laden, daher kann man so nicht nur Festplattenplatz, sondern ggf. auch Arbeitsspeicher einsparen und Programme schneller starten.
Dieses Programm teilt einen String in Wörter auf (strtok), anschließend wird jeweils geprüft ob diese von vorn und von hinten gelesen gleich bleiben und somit Palindrome sind.
#include <stdio.h>
#include <string.h>
#define LENGTH 150
// Testdatensatz: "Ha/n/nah", "La-ger-regal", "O%t/to", "(Reit-)tier", "Reliefpfeiler", "Ren--tner", "R!o!t)or", "st--ets", "nein", "Hall67o" und "Lastwa$gen"
// Funktion: lengthOfString - die laenge von dem gegebenen String herausfinden
int lengthOfString(char wort[]) {
int i = 0;
// solang das Ende (\0) nicht erreicht ist, wird der Wert i um 1 erhöht
while (wort[i] != '\0') {
i++;
}
return i;
}
// Funktion: isPalindrom - prueft, ob der angegebe String ein Palindrom (lal, otto, lagerregal ...) ist
int isPalindrom(char wort[]) {
int i;
int length = lengthOfString(wort);
for (i=0; wort[i] != '\0'; i++) {
// for (i = 0; i <= (length-1); i++) { // Alternativ, solange keine Zeichen aus der Zeichenkette entfernt werden :-)
// vergleiche ersten und letzten, zweiten und vorletzten ...
if (wort[i] != wort[((length-1)-i)]) {
return 0;
}
}
return 1;
}
// Funktion: toLower - aus GROß wird klein -> ASCII-Tabelle anschauen ;-)
// Alternative-Funktion: tolower + ctype.h
int toLower(char wort[]) {
int i;
for (i=0; wort[i] != '\0'; i++) {
if (wort[i] <= 90 && wort[i] >= 65) {
wort[i] = wort[i]+32;
}
}
}
// Funktion: cleanString - entfernt '"' und ','
int cleanString(char wort[]) {
int i,j;
for (i=0, j=0; wort[i] != '\0'; i++) {
if (wort[i] != 34 && wort[i] != 44) {
wort[j++] = wort[i];
}
}
wort[j]='\0';
}
// Funktion: removeNonLetters - entfernt Sonderzeichen aus einem String
int removeNonLetters(char wort[]) {
int i,j;
int alphabet_small_num = 97;
int alphabet_big_num = 65;
for (i=0, j=0; wort[i] != '\0'; i++) {
while (alphabet_small_num <= 122) {
if (wort[i] == alphabet_small_num) {
wort[j++] = wort[i];
}
alphabet_small_num++;
}
while (alphabet_big_num <= 90) {
if (wort[i] == alphabet_big_num) {
wort[j++] = wort[i];
}
alphabet_big_num++;
}
alphabet_small_num = 97;
alphabet_big_num = 65;
}
wort[j]='\0';
}
/*
// Alternative-Funktion: removeNonLetters + ctype.h - entfernt Sonderzeichen aus einem String
int removeNonLetters(char wort[]) {
int i,j;
for (i=0, j=0; wort[i] != '\0'; i++) {
if (isalpha(wort[i])) {
wort[j++] = wort[i];
}
}
wort[j]='\0';
}
*/
// main - Hauptprogramm
int main(void) {
char zeichenkette[LENGTH];
char trennzeichen[] = " ";
char *wort;
printf("Bitte eine Zeichenkette eingeben: \n");
fgets(zeichenkette, sizeof(zeichenkette), stdin);
wort = strtok(zeichenkette, trennzeichen);
while(wort != NULL) {
cleanString(wort);
printf("\n\nOriginal: %s\n", wort);
if (isPalindrom(wort)) {
printf("Palindrom: %s\n", wort);
}
else {
printf("kein Palindrom: %s\n", wort);
}
removeNonLetters(wort);
printf("nach removeNonLetters: %s\n", wort);
if (isPalindrom(wort)) {
printf("Palindrom: %s\n", wort);
}
else {
printf("kein Palindrom: %s \n", wort);
}
toLower(wort);
printf("nach toLower: %s\n", wort);
if (isPalindrom(wort)) {
printf("Palindrom: %s \n", wort);
}
else {
printf("kein Palindrom: %s \n", wort);
}
printf("***********************************\n");
wort = strtok(NULL, trennzeichen);
}
return 0;
}
Ziproxy ist ein nicht HTTP-Proxy Server, welcher Daten nicht zwischenspeichert, diese jedoch komprimiert und weiterleitet. Die meiste Bandbreite wird eingespart, indem Bilder neu-konvertiert werden und andere Daten per gzip komprimiert werden.
Ziproxy benötige keine Client-Software, solange der Browser die gzip-Daten korrekt dekomprimieren kann und auch mit JPEG 2000 Bildern umgehen kann. Der Proxy kann auf unterschiedliche Arten konfiguriert werden, ich hatte bereits vor langer Zeit über Ziproxy berichtet (Mein Proxy-Server) und da ich darauf aufmerksam gemacht wurde, dass die gezeigte Konfiguration in der neuen Version nicht mehr funktioniert, ich jedoch den gezeigten Proxy-Aufbau nicht mehr im Einsatz habe, wollte ich in diesem Blog-Post zumindest die beiden Grundkonfigurationen zeigen. (ggf. wäre ein solcher Proxy auch für Smartphones hilfreich)
1.) Ziproxy als Remote-Proxy
Als erstes die einfachste Variante, hier verbindet sich der Ziproxy über eine schnelle Verbindung (extern) mit dem HTTP-Servern und schickt die Daten über eine langsame Verbindung weiter.
Konfiguration: ziproxy.conf (mit ein paar Kommentaren)
Ziproxy-Standard
2.) Ziproxy als Remote-Proxy + Local-Proxy
Die Konfiguration des Remote-Proxys unterscheidet sich im Grunde nicht von der ersten Variante, auch hier wird keine Client-Software benötigt, da ein zweiter lokaler Ziproxy sozusagen als Client fungiert, dies hat den Vorteil:
der Browser muss nicht “JPEG 2000” unterstützen
der Client (z.B. Squid) muss nicht “gzip” unterstützen
CPU-Last wird auf einen Server verlagert (ggf. wenn der Browser durch “JPEG 2000”-Bilder hohe CPU-Last erzeugt)
In diesem Blog-Post beschreibe ich ein wenig die Funktionen der “Android Debug Bridge” (adb), dies ist ein Programm um von einen PC (Linux, Windows, MAC) mit dem Android-Handy zu kommunizieren, ich habe in diesem HowTo Windows verwendet. Adb ist im “Android-SDK” enthalten.
1. Vorbereitung
Als erstes müssen wir uns die Android-SDK herunterladen und installieren.
1.1) Treiber
Wenn du dein Handy noch nie mit deinem PC verbunden hast, musst du ggf. auch noch die Treiber installieren.
“Windows XP” -> “SAMSUNG New PC Studio” -> Download-Link
— die nachfolgenden Befehle werden in der “adb shell” ausgeführt —
Dabei können die meisten der folgenden Befehle können auch in anderen Linux-Systemen verwendet werden… :-)
# zeigt das Android-Logfile an (~tail -f /var/log/everything)
logcat
# zeigt Kernel-Debug Infos an
dmesg
# zeigt die System-Apps an (ls = dir unter Windows)
ls /system/app/
# zeigt die installierten Apps an
ls /data/app/
# zeigt Daten auf deiner SD-Karte an
ls /mnt/sdcard/
# zeigt den Inhalt einer Datei an oder kopiert diese auch, wenn nötig
cat lall.txt
cat lall.txt > lall_copy.txt
# zeigt an wer du bist ;-)
whoami
# zeigt die laufenden Prozesse an
ps
#zeigt die Systemauslastung an
top | tail
# zeigt alle eingehängten Partitionan an
mount
# grep filtert z.B. Ausgaben
mount | grep system
# root-Rechte erhalten (su = substitute user)
su
# alle Partition können nun beschrieben werden
remount rw
# z.B. die Partition /system kann nun beschrieben werden (read & write)
remount rw /system
# die Partition /system kann nun nicht mehr beschrieben werden (read only)
remount ro /system
# z.B. löscht ein System-App (rm = del unter Windows)
rm /system/app/
# löscht ein installiertes App
rm /data/app/
PS: Da ich den “Cyanogenmod” bei mir installiert habe, stehen mir noch viele weitere Programme wie z.B. einen SSH-Server (dropbear), wget… zur Verfügung, :-) die hier gezeigten Befehle sollten aber auch ohne diesen Mod funktionieren.
In order to optimize the website and to continuously improve it, this site uses cookies. By continuing to use the website, you consent to the use of cookies.Ok