C-Programm – Skalarprodukt

Hier ein kleines Programm, welches das Skalarprodukt von zwei Vektoren berechnet…

/*
 ============================================================================
 Name        : Skalarprodukt.c
 Author      : Voku
 Version     : 1.0
 Description : Skalarprodukt zweier Vektoren
 ============================================================================
 */

#include <stdio.h>
#define MAX 10

int main(void) {
    double vektor1[MAX],vektor2[MAX];  	// Arrays fuer Vektoren (1 und 2)
    int anzahl;      			// Anzahl der Vektoren
    int index;       			// Wert im Array
    double produkt;     		// einzelnes Produkt
    double ergebnis=0.0;  		// Gesamtwert aller Produkte

    printf("Skalarprodukt (innere Produkt) zweier beliebiger Vektoren berechnen:\n\n");

    do {
    	printf("Anzahl der Elemente pro Vektordimension (1-%i):" ,MAX);
        scanf("%i",&anzahl);
        if (anzahl > MAX ) {
        	printf("\n zu viel Dimension...\n\n");
        } else if (anzahl < 1) {
        	printf("\n zu wenig Dimension...\n\n");
        }
    } while (anzahl > MAX || anzahl < 1);

    // Vektorwerte fuer Vektor 1 einlesen
    for (index=0; index < anzahl; index++) {
    	printf("Wert %i fuer Vektor 1 eingeben: ",index+1);
    	scanf("%lf",&vektor1[index]);
    }
    // Vektorwerte fuer Vektor 2 einlesen
    for (index=0; index < anzahl; index++) {
    	printf("Wert %i fuer Vektor 2 eingeben: ",index+1);
    	scanf("%lf",&vektor2[index]);
    }

    // Berechnung des Skalarproduktes
    for(index=0; index < anzahl; index++) {
    	produkt = vektor1[index] * vektor2[index];
    	ergebnis += produkt;
    }

    // Ausgabe
    printf("Skalarprodukt: %.4lf\n",ergebnis);

    return 0;
}

Das Soziale-Netz und die digitale Zukunft

Die digitale Zukunft und wie man diese schon heute nutzen kann. Ich will in diesem Blog-Post einen Überblick über das Web 2.0 geben und beschreiben wie man sich heute im Digitalen-Netz bewegt und wie man Daten / Informationen austauscht. Was Soziale-Netze im Internet sind, sollte den meisten bekannt sein (Facebook, StudiXYZ, Twitter und Co.) wer mit dem Begriff noch nichts anfangen kann, dem empfehle ich den Film “The Social Network”.




Android + Web 2.0
Android + Web 2.0


Allgemeine Infos: Digitale-Welt

Wenn man den Zahlen einer neuen Studie glauben schenken darf, kann man die deutsche Bevölkerung in folgende Gruppen einteilen.:

  • 28 Prozent – Digitale Außenseiter (Digitale Außenseiter sind meist älter und weiblich)
  • 28 Prozent – Gelegenheitsnutzer (Mehrheit noch nicht im digitalen Alltag angekommen)
  • 07 Prozent – Berufsnutzer
  • 20 Prozent – Trendnutzer (Trendnutzer auf dem digitalen Vormarsch)
  • 17 Prozent – Digitale Profis digitale Avantgarde

Link: http://t3n.de/news/digitale-aussenseiter-deutschland-288027/



Weitere Statistiken zeigen, dass die Internet-User immer regelmäßiger Online sind. Dieser Trend dürfte in den nächsten Jahren noch drastisch steigen, da Smartphones und Tablet-PCs momentan meist von Trendnutzern genutzt werden, in Zukunft jedoch in allen Gruppen ankommen werden…


Internetnutzung im Tagesverlauf 300x216 Das Soziale Netz und die digitale Zukunft allgemein



Internetnutzung im Tagesverlauf


… auch wenn sich signifikante Unterschiede in der Altersstruktur der Netze zeigen – eine wirklich scharfe Abgrenzung gibt es nicht.


bild2.jpg 3efb251d3ebc35a9 300x298 Das Soziale Netz und die digitale Zukunft allgemein



Altersstruktur der Netze


Laut dem Bundesverband Informationswirtschaft, Telekommunikation und neue Medien e.V. (Bitkom) (PDF) waren schon im März 2010, 30 Millionen Deutsche ab 14 Jahren Mitglied in mindestens einem Sozialem-Netz (Online-Community), die Gründe einer Community beizutreten können sich natürlich stark unterscheiden.


Gründer für die Nutzung von Sozialen Netzwerken 300x218 Das Soziale Netz und die digitale Zukunft allgemein



Gründer für die Nutzung von Sozialen-Netzwerken


Fazit: ”Soziale Netze können vieles sein – Nachrichtenmedium, Kontaktbörse, Visitenkarte für Freiberufler, Spielplatz, Teamwork-Plattform und Suchdienst für verlorene Freunde. Mitglieder nutzen ihre Netzwerke, um zu klatschen, um geschäftliche Kontakte zu pflegen oder um Tipps zum Hobby auszutauschen. Dank Facebook und Co. bleiben sie mit dem nach Übersee ausgewanderten Kumpel in Kontakt und verpassen mit ihrer Smartphone-App auch im Urlaub nicht, was im Freundeskreis zu Hause passiert.

Wie im richtigen Leben gilt: Alles kann, nichts muss. Wer aber erst einmal einen persönlichen Strom aus geschäftlichen Nachrichten, Surf-Empfehlungen und privatem Klatsch eingerichtet hat, der kommt schwer davon wieder los. Manchmal hat es etwas von einer Mischung aus Tagesschau und „Gute Zeiten, schlechte Zeiten“ – wobei alle Inhalte aus dem persönlichen sozialen Netz stammen.” – heise.de


Warum ich so genau auch die Sozialen-Netze eingehe dürfte klar werden, wenn man sich anschaut wie viele Nutzer allein Facebook hat.

Facebook-User – Weltweit: ~574.460.480 (http://www.facebook.com/press/info.php?statistics)

Einwohner – Deutschland: ~82.167.000 (http://de.wikipedia.org/wiki/Liste_der_Staaten_der_Erde#Liste)


Spätesten jetzt dürften diese Dienste auch für Unternehmen interessant werden, denn wo gibt es sonst so viele potenzielle Kunden? Genauer will ich gar nicht auf den allgemeinen Teil und den Statistiken eingehen, dazu haben sich schon viele Leute ausgelassen, welche sich besser in der Digitalen-Welt auskennen als ich! Daher komme ich jetzt zum praktischen Einstig in die Digitale-Welt, auf das es in Zukunft weniger “Digitale Außenseiter” gibt.


Praktischer Einstig: Digitale-Welt

Ich habe hier eine Auflistung von bekannten Diensten im Internet zusammengeschrieben, welche man als User im Web 2.0 kennen sollte. Zudem sollte man sich zumindest kurz den Netzjargon anschauen, da man ansonsten ggf. in Chats, Foren und Sozialen-Netzen nicht weiß was jemand von einem will. icon wink Das Soziale Netz und die digitale Zukunft allgemein Daher muss du dich nicht wundern, wenn du bei einer Anfrage in einen Linux-Forum, als Antwort: “RTFM” bekommst („Read the fucking manual“ = „Lies das verdammte Handbuch“)



1.) Twitter

twitter Das Soziale Netz und die digitale Zukunft allgemein



twitter – Logo

“Twitter ist eine Anwendung zum Mikroblogging. Es wird auch als soziales Netzwerk oder ein meist öffentlich einsehbares Tagebuch im Internet definiert. Unternehmen und Pressemedien nutzen Twitter als Plattform zur Verbreitung von Nachrichten. Twitter wurde im März 2006 der Öffentlichkeit vorgestellt und gewann schnell international an Beliebtheit.” – Wiki



Leider kann man Twitter nicht wirklich so einfach definieren, da man einen “Twitter-Moment” miterleben muss, um zu verstehen worum es wirklich geht. Mein “Twitter-Moment” war z.B. als Strato ein größerer Server Ausfall hatte und auch mein V-Server betroffen war, ich hatte anfangs keine Idee was los war und warum ich meinen Server nicht erreichen konnte, dann habe ich kurzerhand bei Twitter nach dem Stichwort “Strato” gesucht und konnte mich mit vielen anderen Betroffenen live unterhalten und Infos austauschen!


Um Twitter einigermaßen Sinnvoll zu nutzen ist es meiner Meinung nach wichtig Listen zu erstellen, in welchen man andere Twitter-User (Nachrichten) nach Kategorien sortieren kann. Nachdem man einigen Usern folgt und auch selber einige Kurznachrichten (je 140 Zeichen) veröffentlicht hat. Kann man weitere User mit ähnlichen Interessen ausfindig machen:

twitter.com/who_to_follow

followfinder.googlelabs.com


Wichtig sind außerdem noch HashTags, dies sind Schlagwörter, welche zudem als Link (Suchwort) fungieren z.B. #NewTwitter. Desweiteren sollte man @replies verwenden, um einem anderen User zu Antworten, auch wenn dies auf Twitter meist nicht der Fall ist.


Es gibt eine Menge anderer Webseiten, welche Teilweise mit einer Twitter-Anbindung (API) arbeiten, um zusätzliche Funktionen anzubieten.

z.B.:

twitpic.com – Bilder hochladen, kommentieren und bei Twitter veröffentlichen

hootsuite.com – Twitter & Facebook Nachrichten besser organisieren

(hier noch eine Liste mit einigen Twitter-Anbindungen: twitter.pbworks.com)

Natürlich sollte man aufpassen, welchen Webseiten / Software man Zugriff auf seinen Account gewährt!


mein Twitter-Account: suckup_de



2.) Facebook

Facebook Das Soziale Netz und die digitale Zukunft allgemein



Facebook – Logo

“Facebook ist eine Website zur Bildung und Unterhaltung sozialer Netzwerke, die der Firma Facebook Inc. mit Sitz im kalifornischen Palo Alto gehört. Größte Anteilseigner sind Mark Zuckerberg (24 Prozent), Chris R. Hughes (12 Prozent), Peter Thiel (7 Prozent), Digital Sky Technologies (6,9 Prozent), Dustin Moskovitz (6 Prozent), Eduardo Saverin (5 Prozent) und Microsoft (1,6 Prozent).” – Wiki


Facebook hat zumindest in Deutschland Konkurrenz durch StudiVZ, MeinVZ, SchuelerVZ etc., wobei facebook meiner Meinung die bessere Qualität (Chat, HipHop-PHP, NoSQL, API, Places, Apps, Fan-Seiten…) bietet, wobei du bei StudiXYZ wahrscheinlich mehr von deinen Freunden und die lustigeren Gruppen-Namen finden dürftest. icon wink Das Soziale Netz und die digitale Zukunft allgemein


Wobei es bei Facekook, StudiXYZ und Co. geht liegt klar auf der Hand. Die einen wollten kontakt mit Freunden, Bekannten, Kommotionen, Mitschüler etc. pflegen andere nutzen diese Dienste als “Kontaktbörse” (siehe “The Social Network“) oder wie ich, um Informationen mit anderen auszutauschen, welche ähnliche Interessen (~> PC, Linux, Internet, Software) haben. icon smile Das Soziale Netz und die digitale Zukunft allgemein Es gibt natürlich auch viel Kritik an diesen Sozialen-Netzen. (z.B.: Datensammler) Du verlierst z.B. alle Rechte an deine Bilder, wenn du dieser bei facebook veröffentlichst, doch auch an dieser Stelle muss ich auf andere Leute mit mehr Ahnung von der Thematik verweisen, denn ich habe (leider) die AGBs nicht gelesen. Mit deinem Facebook-Account kannst du dich nun an vielen Webseiten direkt anmelden (z.B.: www.qype.com/user_login) oder andere Dienste mit deinem Facebook-Account verknüpfen. z.B.: Twitter-Verbindung herstellen apps.facebook.com/twitter & www.facebook.com/twitter oder man kann z.B. auch seine PS3 (Playstation-Network-Account) mit Facebook verbinden, so dass man seinen Freunden automatisch mitteilen, kann wenn man z.B. ein Spiel gewonnen hat. icon smile Das Soziale Netz und die digitale Zukunft allgemein


mein Facebook-Account: Lars-Moelleken



3.) status.net & identi.ca

Identi.ca logo Das Soziale Netz und die digitale Zukunft allgemein



Identi.ca – Lo

“Identi.ca ist ein Mikro-Blogging-Dienst und ein soziales Netzwerk, ähnlich wie Twitter. Identi.ca unterstützt den freien OpenMicroBlogging-Standard und ist die Referenzimplementierung und bedeutendste Plattform für StatusNet.” – Wiki


Identi.ca versucht die Nachrichten durch das anlegen von Gruppen zu organisieren, wobei du hier mehr Linux-User und Blogger findest (aber wahrscheinlich nicht so viele deiner Schulfreunde). Weiter unten in diesem Blog-Post gehe ich noch darauf ein, wie man identi.ca, twiiter und facebook miteinander verbindet, so dass deine Nachrichten automatisch auf den verschieden Webseiten verteilt werden. identi.ca ist nur eine (die größte) von vielen Seiten, welche auf der freien Software “status.net” und somit dem offenes Protokoll “OStatus” aufbaut. Im Grunde kann sich jeder die PHP-Software auf seinem Server installieren und eine eigene Community gründen und diese dann z.B. Twitter und anderen status.net-Seiten verbinden.



mein identi.ca-Account: voku



4.) Flickr

Flickr Das Soziale Netz und die digitale Zukunft allgemein



Flickr – Log

Flickr (von englisch to flick through something, „etwas durchblättern“, also etwa „Vorrichtung zum Durchblättern“ bzw. „Durchblätterer“ oder von englisch to flicker, „flimmern“) ist ein kommerzielles Web-Dienstleistungsportal mit Community-Elementen, das es Benutzern erlaubt, digitale und digitalisierte Bilder sowie Videos mit Kommentaren und Notizen auf die Website zu laden und so anderen Nutzern zur Verfügung zu stellen. Neben dem herkömmlichen Hochladen über die Website können die Bilder auch per E-Mail oder vom Fotohandy aus übertragen und später von anderen Webauftritten aus verlinkt werden.” – Wiki


Ich nutzte Flickr nur um Bilder hochzuladen, welche längere Zeit zur Verfügung stehen sollen, um diese dann z.B. in Blogs, Foren, E-Mails etc. zu verlinken. Man kann den Zugriff auf bestimmte Bilder auch auf bestimmte Gruppen oder User einschränken und natürlich gibt es eine Anbindung an Twitter und Facebook, so dass alle direkt erfahren, wenn du ein neues Bild hochgeladen hast. icon smile Das Soziale Netz und die digitale Zukunft allgemein Wenn du auf “Facebook”, “Twitter” und Co. direkt veröffentlichen möchtest, wenn du ein neues Foto hochgeladen hast, kannst du dies hier tun: www.flickr.com/account?tab=extend


mein flickr-Account: 41342799@N05



5.) last.fm

Last.fm  Das Soziale Netz und die digitale Zukunft allgemein



Last.fm – Logo

“Last.fm ist ein Internetradio auf Basis von sozialer Software, das entwickelt wurde, um Nutzern aufgrund ihrer Hörgewohnheiten neue Musik, Menschen mit ähnlichem Musikgeschmack und Konzerte in ihrer Umgebung empfehlen zu können. Es ist eine ehemalige Schwesterseite von Audioscrobbler, mit dem es sich früher eine Musikdatenbank teilte. Plattenfirmen und Musiker werden ermuntert, Last.fm Lizenzen zum Abspielen ihrer Musik zu erteilen. Last.fm hat derzeit ein Verzeichnis von über 80 Millionen einzelner Stücke und davon sieben Millionen für sein Internetradio zum Streaming sowie 150.000 kostenlose MP3-Downloads vorrätig.

[…]

Hört ein Nutzer von Last.fm einen Musiktitel, so wird dessen Bezeichnung (Titelzeile und Interpret) an Last.fm übertragen und dort im Nutzerprofil gespeichert und anderweitig statistisch ausgewertet. Diesen Übertragungsvorgang bezeichnet Last.fm als „scrobbeln“ (to scrobble).

Last.fm-Streams können im MP3-Format mit 128 kbit/s bei einer Abtastrate von 44,1 kHz abgerufen werden.” – Wiki


Nachdem man auf Last.fm einige Musik-Titel gehört hat bzw. auf anderem Wege einige Titel gescrobbelt hat, (build.last.fm/category/For+your+Desktop – für Linux empfehle ich “Clementine“ als Musik-Player) kann man Leute finden, welche einen ähnlichen Musikgeschmack haben oder auch ähnliche Künstler. Ein weitere Dienst, welche ein ähnliches


Als alternative will ich hier noch kurt www.simfy.de ansprechen, welcher mit Facebook-Anbindung, Last.fm-Anbindung (scrobble) daherkommt.

Nun kannst du für 7 Tage jeden Titel und alle Applikationen nutzen. Nach diesen 7 Tagen kostenloser Premium Mitgliedschaft kannst du auf der Webseite immer noch über 6 Millionen Songs direkt hören. Auch deine Freunde, Playlists und Charts werden natürlich nicht gelöscht.
 
Nicht mehr benutzen kannst du die mobilen Applikationen für Smartphones, iPod touch sowie die Desktop App für PC und Mac. Deswegen raten wir dir simfy jetzt auf Herz und Nieren zu testen. Du trägst kein Risiko. Diese kostenlose Test-Mitgliedschaft endet automatisch.
 
Eine dauerhafte Premium Mitgliedschaft, kannst du hier für nur 9,99 €<em>/Monat unter http://www.simfy.de/premium/</em> freischalten lassen.
simfy – überall einfach Musik hören!


mein last.fm-Account: voku1987


6.) Google (Buzz, Reader, hotpot, friendconnect, mail, latitude, docs)

Google Account-Übersicht: www.google.com/accounts/ManageAccount?hl=de (PS: hier kannst du dich auch direkt Regieren, falls du noch kein Google-Account hast)


6.1) Google Buzz

“Google Buzz ist eine Website der Google Inc. zur Unterhaltung von sozialen Netzwerken im Internet. Sie ist eine Erweiterung des E-Mail-Dienstes Gmail. Die Benutzer können Nachrichten, Bilder, Videos, Statusnachrichten und Kommentare austauschen.” – Wiki


mein Google-Buzz-Account: voku1987


6.2) Google Reader

“Google Reader ist ein webbasierter Feedreader. Der Nutzer hat die Möglichkeit, aus favorisierten Nachrichten verschiedener Quellen einen eigenen Feed für andere Leser zu erzeugen. Bis September 2007 war der Google Reader nur in Englisch verfügbar und befand sich im Testbetrieb in Google Labs.” – Wiki


Mit Google Reader kann man als nur RSS-Feed lesen und verwalten!!! Du kannst anderen Nutzern folgen, so dass du Ihre Empfehlungen lesen kannst, nachdem du einige RSS-Feed abonniert hast, schlägt dir Google Reader weitere RSS-Feed (Webseiten, Blogs…) vor, welche dich ggf. auch interessieren könnten. Zudem gibt


mein Google-Reader-Account: voku1987


6.3) Google Hotpot

Google Hotpot dient als Bewertung von Hotels, Restaurants, Öffentlichen Plätzen etc.. Es gibt natürlich bereits andere Dienste, welche einen ähnlichen Dienst anbieten und da bisher sind noch nicht viele Bewertungen bei Hotpot abgegeben wurden, kann ich momentan z.B. als alternative “www.qype.com/de” (mit Facebook-/ Google-/ Yahoo- … Anbindung) empfehlen.


6.4) Google Friend Connect

Google Friend Connect kann genutzt werden, um ähnlich wie auf Facebook-Seiten, Communities zu gründen. und zu verwalten. Hier noch ein Beispiel, wie man diese Fan-Seiten in seiner Webseite integrieren kann (in der rechte Widget-Leiste) -> suckup.de/about


6.5.) Google Mail

“Gmail (in Deutschland: Google Mail) ist ein kostenloser E-Mail-Dienst des Suchmaschinenbetreibers Google Inc.” – Wiki


Wer bisher seine E-Mail Adresse auf gmx.de, web.de etc. hatte sollte sich als alternative einmal “Google Mail” (Sie nutzen derzeit 75 MB (1 %) von Ihren 7526 MB.) ansehen.


chat callout Das Soziale Netz und die digitale Zukunft allgemein



Google Mail + Chat



6.6) Google Latitude

Zeigt auf der Google-Maps Karte deine bzw. die Position deiner Freunde an. Aus Datenschutztechnischen-Gründen kann man diese Funktion z.B. in dem Android Google-Maps App natürlich ein- und ausschalten. icon wink Das Soziale Netz und die digitale Zukunft allgemein


6.7) Google Docs / Google Text & Tabellen

“Google Text & Tabellen (engl. Google Docs) ist eine von Google Inc. angebotene Webanwendung zur Textverarbeitung, Tabellenkalkulation, Präsentation, Erstellung von Formularen und Erstellen von Zeichnungen. Sie ermöglicht Nutzern, Textdokumente, Tabellen und Präsentationen gemeinsam mit anderen Nutzern in Echtzeit online zu erstellen und zu bearbeiten.” – Wiki


z.B.: https://docs.google.com/document/d/1sNeEIBgIHj-d7SOlpYY0Agi1NAUxfOFMD13qD7tIftg/


— weitere Google Dienst —


Google bietet natürlich noch viele weitere Dienst an, welche ich hier noch nicht erwähnt habe z.B.:

Google Webmster: eigene Webseite analysieren

Google Earth + Google Street View: Satelliten-/Luftbilder/Fotos unterschiedlicher Auflösung mit Geodaten, überlagert + einem digitalen Höhenmodell

Google Feedburner: RSS-Feed neu verpacken z.B. http://feeds.feedburner.com/suckup

Google Kalender: ein sehr guter kostenloser Online-Kalender

…und noch vieles mehr…



7.) gravatar.com

“Bei einem Gravatar handelt es sich um einen global verfügbaren Avatar (Globally Recognized Avatar), welcher mit der E-Mail-Adresse des Benutzers verknüpft ist. Verschiedene Seiten bieten den Nutzern an, Avatare auf ihre Server zu laden und mit ihren E-Mail-Adressen zu verknüpfen. So kann ein Benutzer des Internets in jedem Blog oder anderen System seinen globalen Avatar hinterlassen, ohne sich extra bei jedem Blog zu registrieren und dann ein Bild hochzuladen. Für viele Blogsysteme oder andere Internetangebote gibt es Plug-Ins, die das Einbinden solcher kleiner Bilder, die normalerweise eine Größe von 80×80 Pixeln haben, erleichtern.

Es besteht aber auch Kritik an Gravataren. Durch die Verwendung bei unterschiedlichen Internetaktivitäten ist dem Betreiber des Dienstes die Erstellung eines umfassenden Benutzerprofiles des Benutzers möglich, das der Anbieter beispielsweise für Werbezwecke verwenden kann. Auch Ermittlungsbehörden können dadurch auf einfache Art und Weise umfassenden Einblick in die Aktivitäten des Benutzers gewinnen.” – Wiki


Bei aller Kritik finde ich den Dienst trotzdem ziemlich hilfreich, da man über seine E-Mail Adresse, welche man bei den Webseiten angeben muss, um einen Kommentar zu schreiben, direkt ein Profilbild übergibt, zudem kann man dies relativ einfach in jeder Webseite einbauen kann. -> de.gravatar.com/site/implement




8.) disqus.com

Disqus, wie der Name schon verrät geht es hier um Diskussionen (Kommentare) auf Webseiten, Blogs etc.. Ich setze den Dienst auch in diesem Blog ein, so dass ich bisher so gut wie keinen Spam-Kommentar hatte, jeder einen Kommentar ohne vorherige Registrierung abgeben kann und wer will kann anstatt seine E-Mail etc. anzugeben sich per Facebook, Twitter, Yahoo … authentifizieren. Zudem gibt es eine “Akismet“ Integration und eine Menge weitere Features.




9.) foursquare.com & gowalla.com

Dies sind jeweils zwei Dienste welche auch konkurieren, da beide eine Mischung aus “GPS-Ortung” und dem bereits erwähnten qype.com/de (Bewertung/Empfehlung von Orten und Läden) ist. Dies macht natürlich erst Sinn, wenn man z.B. ein Handy mit Internet-Zugang + GPS hat, so dass man Empfehlungen andere User in seiner Nähe sehen kann oder sich anzeigen lassen kann so seine Freunde gerade sind. (ähnlich dem ebenfalls bereits erwähnten “Google Latitude”) Aber auch bei aller Kritik an solchen Dienst, finde ich es ziemlich hilfreich und informativ, wenn man sich z.B. nicht in Krefeld auskennt und dort einen Friseur sucht:

http://gowalla.com/spots#q=Friseur&l=Krefeld

http://foursquare.com/search?q=friseur&near=Krefeld,+Germany

http://www.qype.com/dea14/search/Friseur?suppress_category_redirect=true



10.) youtube.com


YouTube Das Soziale Netz und die digitale Zukunft allgemein



YouTube – Logo

“Auf der Internetpräsenz befinden sich Film- und Fernsehausschnitte, Musikvideos sowie selbstgedrehte Filme. Sogenannte „Video-Feeds“ können in Blogs gepostet oder auch einfach auf Webseiten über eineProgrammierschnittstelle (API) eingebunden werden. […] Am 9. Oktober 2006 wurde YouTube vom Suchmaschinenbetreiber Google für umgerechnet 1,31 Milliarden Euro (in Aktien) gekauft. Die Marke YouTube soll bestehen bleiben; der Betrieb mit 67 Mitarbeitern – darunter die Gründer Chad Hurley und Steve Chen – wird die Geschäfte vorerst unabhängig weiterführen.” – Wiki


YouTube ist über die Jahre gewachsen und hat einige wirklich sehr sehr gute Video zu bieten z.B. “Volker+Pispers“, “poetry+slam” (Andy Strauß muss man gesehen haben ^^) oder wer etwas Mathe lernen will “WieFunktioniertMathe“ … Wenn du YouTube mit “Google Reader”, “Twitter”, “Buzz” und “Facebook” verbinden möchtest, so dass deine Freunde (Un-/Bekannten) direkt sehen können welches Video dir gefällt, kannst du deine Account hier mir einander Verbinden: www.youtube.com/account?feature=mhum#sharing/activity


An dieser Stelle möchte ich auch noch vimeo.com und myvideo.de erwähnen! icon smile Das Soziale Netz und die digitale Zukunft allgemein


mein YouTube-Account: Voku1987



11.) meebo.com

“meebo ist ein auf libpurple basierender Ajax-Instant Messaging-Client und führt AOL Instant Messenger-, ICQ-, Yahoo! Messenger-, Windows Live Messenger-, XMPP-, MySpaceIM und Google Talk-Konten auf einer Seite im Messengerstil zusammen.” – Wiki


ICQ sollte bekannt sein, (alternative XMPP/Jabber) doch nicht jeder kennt meebo.de, hier kannst du auf einer Webseite z.B. über dein ICQ-Account mit deinen Freunden chatten… an dieser Stelle möchte ich auch noch “www.skype.com” erwähnen, auch wenn das Programm eigentlich den Punkt 12.) verdient hätte. icon smile Das Soziale Netz und die digitale Zukunft allgemein Es handelt sich hier um eine unfreie Software zur Internet-Telefonie. Mit Skype ist es möglich, mit den Kontakten zu chatten, ihnen Dateien zu senden, zu telefonieren und auch Videotelefonate zu führen. Alle Daten werden bei Skype verschlüsselt übertragen. Weitere Dienste (z.B. Anrufe in oder aus dem Festnetz oder das Verschicken von SMS) sind kostenpflichtig. Die Grunddienste sind jedoch kostenlos und bedürfen lediglich einer Registrierung. (Quelle: wiki.ubuntuusers.de/skype)


meebo 300x161 Das Soziale Netz und die digitale Zukunft allgemein



meebo



12.) mister-wong.de & digg.com & t3n.de/socialnews/ & webnews.de

Verweise auf Neuigkeiten (Blog-Einträge, Pressemitteilungen oder Nachrichten). Es gibt mittlerweile Unmengen an Nachrichten im Internet, einige sind weniger andere von größerer Bedeutung. Diesen Blog-Post den du gerade list, werde ich auch auf einiger der genannten Webseiten veröffentlichen und andere User können diesen dann Bewerten/Kommentieren und ggf. weiterempfehlen, so dass die User entscheiden was wichtig ist. Nachdem man sich ein wenig mit dem Thema auseinandergesetzt hat, stellt man jedoch schnell fest, dass kleine Webseiten, wie diese hier eine ist nicht viel Zuspruch erhalten. Da ich z.B. meistens nicht schreibt, was die Mehrheit lesen will: Linux. Ubuntu, C-Programmierung… gibt es für solche Webseiten andere Methoden, Informationen zu verbreiten, aber dazu kommen ich im nächsten Punkt (13.).



13.) RSS-Feed – Planet (z.B.: planet.ubuntuusers.de & planet.debianforum.de & planetsuse.org)

Im Grunde kann jeder mit der folgenden Software einen Planet auf seiner Webseite eröffnen. -> http://www.planetplanet.org/ <- Es geht darum RSS-Feeds zu einem bestimmten Thema zusammen zu fassen und somit eine Zusammenstellung aus mehreren Blogs etc. zu einem Themengebiet zu erhalten. Somit landen meine “Ubuntu-Themen” automatisch auf dem “ubuntuusers.de – planet” und Themen zu Debian werden auf dem “debianforum.de – planet” veröffentlicht.



14.) Wikipedia und Co.

Die meisten kennen die Webseite Wikipedia.org, doch wissen nicht, dass man sich die Software worauf diese Webseite basiert auch einfach installieren kann, um z.B. ein privates-Wiki oder ein Firmen-Wiki zu erstellen. Eine Webseite, wo Leute zusammen an einem Dokument arbeiten können und man die Veränderungen an dem Dokument stets nachvollziehen und ggf. Rückgängig machen kann. Wiki-Software-Beispiele:

www.mediawiki.org

www.dokuwiki.org


Wer sich über ein spezielles Thema informieren will, sollte sich einmal auf den verschiedenen Wiki-Seiten umsehen, welche es bereits gibt, hier ein paar Beispiele:

ArchLinux – Wiki

ubuntuusers.de – wiki



15.) slideshare.net

Auf der Seite www.slideshare.net kann man seine Präsentationen und Dokumente mit anderen teilen, aufgebaut ist das System ähnlich wie YouTube mit dem Unterschied, dass man direkt Präsentationen (.ppt .pdf) hochladen kann.


An dieser Stelle möchte ich auch noch prezi.com erwähnen, da man hier sehr ansprechende Präsentationen erstellen kann. Hier direkt eine sehr gute Präsentation zu diesem Thema.




Sozial-Browser – RockMelt

RockMelt ist ein (Facebook-)Browser, welcher auf die Nutzung sozialer Netze (Facebook/Twitter) ausgerichtete ist. Die Software basiert auf Chromium, der Open-Source-Version des Google-Browsers. Die Beta ist momentan leider nur für Windows und Mac OS X verfügbar. Interessierte Nutzer können sich vor einem Download bei RockMelt als Betatester anmelden oder mich um eine Einladung bitten, noch habe ich zwei. ;-)

Beim Start von RockMelt kann man sich bei Facebook einloggt und erhält am linken Bildrand eine (anpassbare) Buddyleiste. Hier kannst du Links ,Bilder oder Videos per Drag and Drop in einen Facebook -Chat/-Message/-Wall deiner Freunde ziehen. Außerdem wird direkt angezeigt wer, momentan online ist.

Die zweite Leiste (am rechten Bildrand) enthält deine gewählten Websites und Dienste. Du kannst z.B. per RSS-Feed neue Blogeinträge erhalten oder Statusupdates von Twitter-Nutzern sehen. Mittels einer Schaltfläche (neben der Adressleiste) kannst du Inhalte mit einem Klick auf Facebook oder Twitter veröffentlichen. Zudem kann man Twitter-Nachrichten auch direkt im Browser als Pop-Up anzeigen lassen und mit dem Suchfeld kann man auch nach Freunden suchen.


Auch wenn ich bisher einiges an negativer Resonanz über RockMelt gelesen habe, bin ich bisher positiv überrascht. Natürlich kann man auch “Google Reader” für RSS-Feeds und “Tweetdeck” für die Kommunikation mit Twitter oder HootSuite, um sowohl Facebook als auch Twitter einfacher zu nutzen.


Medienkompetenz? – Nur mit freier Software

In diesem Beitrag möchte ich kurz beschreiben, wie sich Schulen & Lehrer ändern müssen, um Schülern den korrekten Umgang mit dem PC und somit Medienkompetenz zu vermitteln. Die Überschrift habe ich von einem Vortrag auf der “OpenRheinRuhr-2010” (geklaut) übernommen, wo wir auch gleich beim Thema Open-Source und somit freier und kostenloser Software wären.


An den meisten Schulen ist es nach wie vor so, (Erfahrungen der letzten Jahr) dass komplett auf Microsoft gesetzt wird. Dies fängt beim Betriebssystem an geht über Programmierung, Datenbanken, Tabellenkalkulation, Präsentationen und selbst Textverarbeitung. Die Befürworter werden an dieser Stelle bestimmt das Argument einbringen, dass dies auch von der Wirtschaft (Firmen) gefordert wird, ABER wir sollten die Schüler/innen nicht an einer bestimmten Version eines bestimmten Programms ausbilden! Was bringt es mir das ich vor Jahren in der Schule gelernt habe wie ich mit “Word 2003” einen Serienbrief erstelle? Und warum haben wir “Visual Basic” als Thema gehabt und nicht “C”? Mir persönlich hat dieses Wissen beruflich absolut nichts gebracht, da ich in meiner Ausbildung (Fachinformatiker – Systemintegration) mehr mit Linux, Netzwerken und freier Software zu tun hatte. Aber selbst jemand der mit “Word 2003” einen Serienbrief anfertigen kann, weil er weiß wo der richtige Button dafür ist, findet ggf. den neuen optimierten Button in “Word 2010” nicht mehr, daher sollten man Grundlagen in Textverarbeitung etc. vermitteln und das am besten an freien Standards (lizenzfrei) , welche sich etabliert haben, ggf. kann man dazu noch speziell auf bestimmte Produkte eingehen, somit würde man Schüler langfristig ausbilden und würde Schüler nicht dazu drängen sich illegal Software zu besorgen und zu installieren. Wo wir auch gleich beim nächsten Thema wären.


Ich kann mich noch genau daran erinnern als das Thema “Visual Basic” in der Schule aufkam, wurden als erstes illegale die benötigten Programme unter uns Schülern ausgetaucht. Es gibt zwar Programme von Microsoft für Schüler 1.) DreamSpark 2.) MSDNAA jedoch gibt es hier z.B. kein “Microsoft Office” und wie bereits zuvor angedeutet, macht es ggf. nicht so viel Sinn, eine spezielle Software als Thema im Unterricht zu behandeln. Gut finde ich die Idee von einem Lernstick für Schüler & Lehrer (Software-Überblick), gerade wenn man sich vor dem Schulungs-, Einführungs- und Migrationsaufwand fürchten, sollte man sich mit dem Thema beschäftigen. Zudem sollte man bereits in der Schule alternativen zu Windows vermittel, so dass dieses Wissen in die Firmen getragen wird und dort umgesetzt wird, dann würde die Wirtschaft auch nicht nur “MS Word”, “Excel” und Co. fordern, sondern “Textverarbeitung”, “Tabellenkalkulation” und Co. … In diesem Zusammenhang wurde auf der “OpenRheinRuhr 2010” auch seminarix (Seminarix ist eine auf sidux aufbauende Live-DVD, die für die Lehrerausbildung entwickelt wurde, aber sinnvoll auch im gesamten Bildungsbereich  genutzt werden kann.) Vorgestellt.


Auf der “OpenRheinRuhr 2010” wurde auch darüber diskutiert, ob jeder wissen sollte wie ein PC funktioniert um mit den Techniken der Zukunft umgehen zu können. Diesen Ansatz muss ich jedoch klar widersprechen, denn es ist die Aufgabe von findigen Programmieren und Designern Software benutzerfreundlich zu erstellen, so dass diese von dessen Zielgruppe verwendet werden können. Wie sah / sieht  das an deiner schule aus? Wie ist deine Meinung? Ist Medienkompetenz auch ohne freie Software möglich?

C-Programm – Euro & Dollar Umrechnung

Und noch ein einfaches Beispiel für Funktionen… + verschiedenen Schleifen. (for, while, do-while)

// Euro & Dollar

#include <stdio.h>
#define WKURS 1.40331182

double euro2dollar( double euro) {
	return euro*WKURS;
}

double dollar2euro( double dollar) {
	return dollar/WKURS;
}

int main(void) {
	double anfangsbetrag;
	double endbetrag;
	int umrechnung;

	printf("Umrechnen von Dollar in Euro & von Euro in Dollar:\n\n");
	do {
		printf("Anfangsbetrag = "); scanf("%lf", &anfangsbetrag);
	} while ( anfangsbetrag <= 0 );
	do {
		printf("Endbetrag = "); scanf("%lf", &endbetrag);
	} while ( endbetrag <= 0 );

	do {
		printf("\n1 - von Euro in Dollar\n2 - von Dollar in Euro\nUmrechnung:"); scanf("%d", &umrechnung);
	} while ( (umrechnung < 1)  || (umrechnung > 2) );

	if (umrechnung == 1) {
		printf("\n  Euro  |  Dollar");
		printf("\n--------+--------");
		// for
		for (anfangsbetrag; anfangsbetrag <= endbetrag; anfangsbetrag=anfangsbetrag+10) {
			printf("\n %6.2lf | %6.2lf", anfangsbetrag, euro2dollar(anfangsbetrag) );
		}
		/* // while
		while (anfangsbetrag <= endbetrag) {
			printf("\n %6.2lf | %6.2lf", anfangsbetrag, euro2dollar(anfangsbetrag) );
			anfangsbetrag=anfangsbetrag+10;
		}
		*/
		/* // do-while
		do {
			printf("\n %6.2lf | %6.2lf", anfangsbetrag, euro2dollar(anfangsbetrag) );
			anfangsbetrag=anfangsbetrag+10;
		} while (anfangsbetrag <= endbetrag);
		*/
	} else {
		printf("\nDollar  |    Euro");
		printf("\n--------+--------");
		for (anfangsbetrag; anfangsbetrag <= endbetrag; anfangsbetrag=anfangsbetrag+10) {
			printf("\n %6.2lf | %6.2lf", anfangsbetrag, dollar2euro(anfangsbetrag) );
		}
		/* // while
		while (anfangsbetrag <= endbetrag) {
			printf("\n %6.2lf | %6.2lf", anfangsbetrag, dollar2euro(anfangsbetrag) );
			anfangsbetrag=anfangsbetrag+10;
		}
		*/
		/* // do-while
		do {
			printf("\n %6.2lf | %6.2lf", anfangsbetrag, dollar2euro(anfangsbetrag) );
			anfangsbetrag=anfangsbetrag+10;
		} while (anfangsbetrag <= endbetrag);
		*/
	}

	return 0;
}

C-Programm – eulersche Zahl

Hier noch ein Beipspiel für eine Funktion, in welcher die “eulersche Zahl” zu einem bestimmten Exponenten berechnet wird…

#include <stdio.h>

/* 

Die Exponentialfunktion e^x kann als eine unendliche Reihe geschrieben werden, um sich dem Ergebnis anzunaehern!!!

------
e^x = 1 + x + x²/2! + x³/3! + x⁴/4! + ... = 1 + x + 1/2*x² + 1/6*x³ + 1/24*x⁴ + ...  
------

i! ist hier die Fakultaet von i und ist definiert als

------
i! = 1*2*3* ... *(i-1)*i
------

- 1.) die Fakultaet ist fortlaufend mit den aufsteigenden ganzen Zahlen zu multiplizieren
- 2.) die Potenz ist fortlaufend mit Exponenten zu multiplizieren
- 3.) die Summanden koennen aus Fakultaet & Potenz berechnet werden
- 4.) die Summenbildung wird abgebrochen, wenn die Summanden kleiner als eine bestimmte Genauigkeit (Epsilon) werden

*/

double exp_fkt( double exponent) {
	int fakultaet=1; /* i! */
	double potenz=1.0; /* x^i */
	double resultat=1.0, summanden;
	int n=1;

	do {
		fakultaet *= n; // 1.)
		potenz *= exponent; // 2.)
		summanden = potenz/fakultaet; // 3.)
		resultat = resultat + summanden;
		printf("%3d %12d %12.6f %12.6f\n", n, fakultaet, summanden, resultat); // test - Ausgabe
		n++;
	} while (summanden >= 0.0001); // 4.)

	return resultat;
}

int main(void) {
	double exponent;

	printf("Berechnung von e^x\n\n");
	printf("Exponent = "); scanf("%lf", &exponent);

	printf("\nDurchlauf Fakultaet Summanden Resultat\n");
	printf("----------------------------------------\n");
	printf("\nexp(%.1lf) = %.16lf\n", exponent, exp_fkt(exponent));

	return 0;
} 

C-Programm – Funktionen

Dies kurze Beispiel zeigt das Prinzip von Funktionen… und wie man das Maximum von drei Zahlen ausgibt. ;-)

#include <stdio.h>

// Funktion_1: max_1 (Maximum) mit drei Eingaengen
int max_1 (int a, int b, int c) {
	if(a>b && a>c)
		return a;
	else if(b>a && b>c)
		return b;
	else
		return c;
}

// Funktion_2: max_2 (Maximum) mit zwei Eingaengen
int max_2 (int a, int b) {
	if(a>b)
		return a;
	else
		return b;
}

int main (void){

	int a,b,c,max_3;

	printf("a");
	scanf("%d",&a);
	printf("b");
	scanf("%d",&b);
	printf("c");
	scanf("%d",&c);

	// Funktion_1
	printf ("%d", max_1(a,b,c));

	// Funktion_2 (wird 2-mal ineinander ausgefuehrt)
	printf ( "%d", max_2(max_2(a,b),c) );

	// alles in einer Zeile :-)
	max_3 = (a>b) ? ((a>c) ? a : c) : ((b>c) ? b : c);
	printf("%d", max_3);

	return (0);
}

Überblick: Google – Chrome

“Google Chrome ist ein Webbrowser, der von Google Inc. entwickelt wird und seit dem 2. September 2008 verfügbar ist. Am 11. Dezember 2008 erschien die erste finale Version. Zentrales Konzept ist die Aufteilung des Browsers in optisch und aufProzessebene getrennte Browser-Tabs.” – Wiki


1.) Versionsgeschichte von Google Chrome (Quelle: Wiki)

Legende: Alte Version Aktuelle Version Aktuelle Vorabversion Zukünftige Version
Webkit-
Version

JS-Version

(V8)

Version Veröffentlichung Anmerkungen und wichtige Änderungen
522 0.3 0.2 2. September 2008 erste Veröffentlichung als Beta-Version für Windows
0.3 29. Oktober 2008 Verbesserte Pluginstabilität
525 0.4 24. November 2008 Lesezeichenmanager mit Export und Import, Datenschutzabschnitt in den Optionen, Sicherheitsupdates
528 1.0 11. Dezember 2008 erste stabile Version.
530 0.4 2.0 24. Mai 2009 Vollbild (F11), 35% schnelleres JavaScript beim SunSpider Benchmark Test, Unterstützung vom Mausrad
532 1.2 3.0 15. September 2009 Neue „Neuer Tab“-Seite, bis zu 25% schnelleres JavaScript, Unterstützung des HTML5-video-und-audio-Tags, Themes.
532.5 1.3 4.0 25. Januar 2010 Erweiterungen, native Unterstützung für Greasemonkey-Scripte, Lesezeichensynchronisierung, verbesserte Entwicklerwerkzeuge, verbesserte HTML5-Unterstützung[20]
4.1 17. März 2010 Integration des Google-Übersetzers und erweiterte Content-Einstellungen[21]
533 2.1 5.0 25. Mai 2010 Erste offizielle Version für Linux und Mac; bis zu 30% schnelleres JavaScript, Zoom-Einstellungen werden pro Seite gespeichert; verbesserte Unterstützung von HTML 5; Lesezeichenmanager als Tab, Synchronisierung von Browser-Einstellungen[22] integriertes Flash-Plugin
534 2.2 6.0 2. September 2010 Überarbeitetes Design der Omnibox (Adresszeile), bis zu 15% schnelleres JavaScript, Integration der Autofill-Funktion, Synchronisierung von Erweiterungen und Autofill, Unterstützung für das WebM-Format[23]
534 2.3 7.0 19. Oktober 2010 Verbesserte Unterstützung von HTML5, schnelleres JavaScript, Unterstützung des File-API, Behebung hunderter Bugs, erleichtertes Blockieren von Cookies
534 2.4 8.0 Dezember 2010 Hardwarebeschleunigung durch Grafikkarte, Instant-Suche, verbesserte HTML5-Unterstützung, “about:flags” zum Aktivieren von Vorabfunktionen, integrierter PDF-Betrachter[24]
534 2.4 9.0 2010/2011 Print Preview (Vorabfunktion; ist standardmäßig deaktiviert)


2.) Tastenkombination:

Tastenkombination Funktion
Strg + T Tab öffnen
Strg + 1…8 Tab 1/…/8 aufrufen
Strg + Tab Durchschalten der Tabs
Strg + Umschalt + T Geschlossen Tab zurückholen
Strg + B Bookmarks ein-/ausblenden
Strg + H Verlauf anzeigen
Strg + J Downloadseite aufrufen
Umschalt + Esc Task-Manager aufrufen
Strg + F Suchen

weitere Tastenkombis für Chrome:

[stextbox id=”warning”]Unterscheidung: Win, MAC, Linux[/stextbox]

-> http://www.google.com/support/chrome/bin/static.py?page=guide.cs&guide=25799&topic=28650


3.) Design (Theme) für Chrome

Wer ein neues Design (Theme) für Chrome sucht wird hier fündig:

-> https://tools.google.com/chrome/intl/de/themes/index.html


4.) WebInspector – Webseiten live ändern

Mit dem standardmäßig installiertem WebInspector kann man den Quell-Code einer Webseite ändern und diese Änderung auch direkt ansehen. Einfach einen bestimmten -> Bereich markieren -> rechte Maustaste -> “Element untersuchen”

http://trac.webkit.org/wiki/WebInspector


5.) Erweiterungen nachinstallieren

-> http://code.google.com/chrome/extensions/


5.1.) Xmarks Bookmark and Password Sync: (Synchronisiert auch zwischen verschiedenen Browsern, ggf. danach wieder deinstallieren)

https://chrome.google.com/extensions/detail/ajpgkpeckebdhofmmjfgcjjiiejpodla

5.2.) Erweiterung “RSS-Abonnement” (von Google):

https://chrome.google.com/extensions/detail/nlbjncdgjeocebhnmkbbbdekmmmcbfjd

5.3.) HTML Validator:

https://chrome.google.com/extensions/detail/cgndfbhngibokieehnjhbjkkhbfmhojo

5.4.) Firebug Lite for Google Chrome:

https://chrome.google.com/extensions/detail/bmagokdooijbeehmkpknfglimnifench



6.) neue Funktionen freischalten

In der Vorherigen Tabelle findet man bereits einige Funktionen, (interner PDF-Betrachter (+ Sandbox), Hardwarebeschleunigung …) um diese nutzen zu können muss man jedoch folgende Schritte befolgen:


6.1.) Vorabversion verwenden:

Natürlich läuft eine Stable-Version ggf. stabiler und eine Dev-Version noch unstabiler wie eine Beta, jedoch hatte ich bisher keine Probleme mit der Dev-Version. :-)


Windows:

MAC:

Linux:


Quelle: dev.chromium.org/getting-involved/dev-channel


6.2.) ggf. Plugins deaktivieren

Ich habe nun andere PDF-Reader deaktiviert…

about:plugins


6.3.) ggf. experimentelle Funktionen freischalten

about:flags


6.4.) ggf. nachschauen mit welchen Parametern Chrome nun gestartet wurde

about:version


bley – gewichtetes Greylisting + Cache

Auf der openrheinruhr.de habe ich gestern einen sehr interessanten Vortrag über Greylisting von Evgeni Golov gehört.


Ich selber hatte bis vor einigen Stunden noch eine Kombination aus Black- & Greylisting + SpamAssassin + ClamAV. Das Problem welches einige kennen ist, dass E-Mails dadurch ggf. verloren gehen oder zumindest verzögert werden, wenn ein “guter” Absender auf einer Blacklist kommt.

Das gewichtetet Greylisting erweitert das normale Greylisting um eine selektive Komponente, somit wenden nur auffällige Sender (welche in einer DNSBL (Blackliste) ist, nicht RFC-konformes EHLO übergibt etc…) werden gegreylisted. Das heißt, dass dem Absender mitgeteilt wird, dass momentan die E-Mail nicht zugestellt werden kann und er es gleich noch einmal versuchen soll, alle anderen werden durchgelassen. Spamer kommen jedoch (noch) nicht noch-einmal, um die selbe E-Mail ein zweites Mal zuzustellen.

Normalerweise werden bei “normalem” Greylisting unbekannten Absender direkt temporär abgewiesen und dessen Reaktion abgewartet. Bei dem “gewichtetem” (intelligentem) Greylisting wird der erste Zustellversuch zunächst analysiert. Anhand dieser Analyse wird entschieden, ob die E-Mail sofort angenommen werden soll oder ob Greylisting zum Einsatz kommt und die E-Mail somit mit einem temporären Fehler abgelehnt wird.


die Analyse:
  1. Absender hat bereits eine E-Mail erfolgreich zugestellt -> E-Mail sofort annehmen
  2. Absender in einer bekannten Whitelist -> E-Mail sofort annehmen
  3. Absender in einer bekannten Blacklist -> Greylisting
  4. Absender verwendet einen nicht standardkonformen Namen im SMTP-HELO, Absender kommt aus einem DialUp-Netzwerk etc… -> Greylisting
  5. SPF-Check (Sender Policy Framework) schlägt fehl -> Greylisting
  6. ansonsten -> E-Mail annehmen
Golov2009a.pdf (docs.google.com) -> S.42


Bley verwendet die Policy-Daemon-Schnittstelle des SMTP-Servers Postfix und ist somit leicht in existierende Umgebungen integrierbar bzw. “policyd-weight” zu ersetzen.
Als Vergleich wurde “bley” & “policyd-weight” auf einem Server mit ca 20.000 E-Mails/Tag getestet, dabei filterte policyd-weight 97,5% der E-Mails als Spam, bley 97%, der Vorteil von bley ist jedoch, dass E-Mails ggf. nicht Verzögert und nicht verloren gehen.
Für den praktischen Einsatz wird die Kombination von bley mit einer inhaltsbasierten Spam-Erkennung (z.B. SpamAssassin) vorgeschlagen. Dadurch, dass bley bereits die meisten Spam-Mails mit minimalem Rechenaufwand auf Protokollebene abweisen kann, müssen rechenaufwändige inhaltsbasierte Verfahren (z.B. SpamAssassin) nur noch auf eine sehr viel geringere Zahl von E-Mails angewendet werden.


Es folgt noch ein kurzes How-To: ;-)


Software nachinstallieren:

aptitude install python-setuptools python-twisted-core python-twisted-names python-spf python-psycopg2 postgresql python-pgsql

bley herunterladen und entpacken:

cd /usr/src
mkdir bley && cd bley
wget http://bley.mx/download/bley-0.1.4.tar.gz
tar xzvf bley-0.1.4.tar.gz
cd bley-0.1.4/

Datenbank anlegen:

su postgres
createuser bley
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=bley bley

exit

bley installieren:

python setup.py build
python setup.py install

cp -vp build/scripts-2.6/bley /usr/bin/

Konfiguration anpassen (Datenbank -> Passwort):

vim /etc/bley/bley.conf

Autostart für bley anlegen:

vim /etc/init.d/bley
#! /bin/sh
### BEGIN INIT INFO
# Provides:          bley
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: bley initscript
# Description:       intelligent greylisting daemon for Postfix.
### END INIT INFO

# Author: Evgeni Golov <evgeni@debian.org>

# Do NOT "set -e"

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="intelligent greylisting daemon for Postfix"
NAME=bley
DAEMON=/usr/bin/$NAME
DAEMON_ARGS=""
DAEMON_USER=$NAME
PIDFILE=/var/run/$NAME/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME

# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

# Add pidfile to DAEMON_ARGS
DAEMON_ARGS="-p $PIDFILE $DAEMON_ARGS"

#
# Function that starts the daemon/service
#
do_start()
{
	# Return
	#   0 if daemon has been started
	#   1 if daemon was already running
	#   2 if daemon could not be started

	# prepare /var/run/bley which can be gone if /var/run is cleaned on reboot
	if [ ! -d /var/run/bley ]; then
		mkdir /var/run/bley
		chown bley:bley /var/run/bley
	fi

	# start bley
	start-stop-daemon --start --quiet --pidfile $PIDFILE --startas $DAEMON --test > /dev/null \
		|| return 1
	start-stop-daemon --start --quiet --pidfile $PIDFILE --chuid $DAEMON_USER --startas $DAEMON -- \
		$DAEMON_ARGS \
		|| return 2
	# Add code here, if necessary, that waits for the process to be ready
	# to handle requests from services started subsequently which depend
	# on this one.  As a last resort, sleep for some time.
}

#
# Function that stops the daemon/service
#
do_stop()
{
	# Return
	#   0 if daemon has been stopped
	#   1 if daemon was already stopped
	#   2 if daemon could not be stopped
	#   other if a failure occurred
	start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
	RETVAL="$?"
	[ "$RETVAL" = 2 ] && return 2
	# Wait for children to finish too if this is a daemon that forks
	# and if the daemon is only ever run from this initscript.
	# If the above conditions are not satisfied then add some other code
	# that waits for the process to drop all resources that could be
	# needed by services started subsequently.  A last resort is to
	# sleep for some time.
	start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
	[ "$?" = 2 ] && return 2
	# Many daemons don't delete their pidfiles when they exit.
	rm -f $PIDFILE
	return "$RETVAL"
}

case "$1" in
  start)
	[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
	do_start
	case "$?" in
		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
	esac
	;;
  stop)
	[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
	do_stop
	case "$?" in
		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
	esac
	;;
  status)
       status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
       ;;
  restart|force-reload)
	log_daemon_msg "Restarting $DESC" "$NAME"
	do_stop
	case "$?" in
	  0|1)
		do_start
		case "$?" in
			0) log_end_msg 0 ;;
			1) log_end_msg 1 ;; # Old process is still running
			*) log_end_msg 1 ;; # Failed to start
		esac
		;;
	  *)
	  	# Failed to stop
		log_end_msg 1
		;;
	esac
	;;
  *)
	echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
	exit 3
	;;
esac

:
chmod +x bley

update-rc.d bley defaults

User anlegen & Rechte setzen:

adduser --system --quiet --disabled-password --no-create-home --home "/var/run/bley" --gecos "intelligent greylisting daemon for Postfix" --group bley
chown root:bley /etc/bley
chmod 750 /etc/bley
chown bley:bley /etc/bley/bley.conf
chmod 600 /etc/bley/bley.conf
vim /etc/bley/bley.conf

log_file = /var/log/bley/bley.log

cd /var/log
mkdir bley
chown bley:bley bley/
mkdir /var/run/bley
chown bley:bley /var/run/bley
/etc/init.d/bley start

Postfix anpassen:

vim /etc/postfix/main.cf
smtpd_recipient_restrictions =
        permit_mynetworks,
        permit_sasl_authenticated,
        #reject_invalid_hostname,
        #reject_unknown_recipient_domain,
        #reject_unauth_pipelining,
        reject_unauth_destination,
        #reject_non_fqdn_hostname,
        #reject_non_fqdn_sender,
        #reject_non_fqdn_recipient,
        #reject_unknown_sender_domain,
        #reject_unknown_recipient_domain,
        #reject_unauth_pipelining,
        #reject_unauth_destination,
        #check_client_access hash:/etc/postfix/rbl_override,
        check_policy_service inet:127.0.0.1:1337,
        ##check_policy_service inet:127.0.0.1:12525,
        #reject_rbl_client multi.uribl.com,
        #reject_rbl_client dsn.rfc-ignorant.org,
        ##reject_rbl_client dul.dnsbl.sorbs.net,
        #reject_rbl_client list.dsbl.org,
        #reject_rbl_client sbl-xbl.spamhaus.org,
        #reject_rbl_client bl.spamcop.net,
        ##reject_rbl_client dnsbl.sorbs.net,
        #reject_rbl_client cbl.abuseat.org,
        ##reject_rbl_client ix.dnsbl.manitu.net,
        #reject_rbl_client combined.rbl.msrbl.net,
        #reject_rbl_client rabl.nuclearelephant.com,
        permit

Linux-Server analysieren

Dieser Blog-Post ist als Antwort auf die Frage “Nun würde mich mal interessieren, welche Tools euch zum Administrieren eines Linux Servers helfen und speziell auch welchen Taskmanager ihr verwendet.”, aus dem folgendem Blog gedacht. -> infoblog.li/besserer-taskmanager-fuer-den-linux-server-htop/

 

1.) Überblick verschaffen

Wenn man nicht genau weiß, wo das Problem liegt, muss man sich erst-einmal einen groben Überblick über die Situation verschaffen, dabei helfen die folgenden Befehle:

 

1.1) top – CPU- und Arbeitsspeicher-Auslastung analysieren

top

Es folgen einige wichtige Tastenkürzel:

1 -> zeigt die Auslastung der einzelnen CPUs an
b / B -> hebt die aktiven Prozesse hervor
z -> wie “b oder B” nur mit Farbe ;-)
i -> zeigt nur aktive Prozesse an
M -> zeigt die Prozesse sortiert nach dem Speicherverbrauch an
P -> zeigt die Prozesse sortiert nach der CPU-Last an
d -> gibt die Aktualisierungszeit an
k -> kill – tötet einen Prozess

(alternativ kann man sich auch mal “htop” anschauen)

 

1.2) df / du – Festplattenverbrauch analysieren

df -h

-h -> auch für Menschen lesbar (–human-readable)

df -h
df -h

 

Wenn wir den Speicherverbrauch nun weiter analysieren müssen, weil z.B. ein Verzeichnis unter /var zu groß ist, können wir dies mit “du” machen.

du -h | grep "^[0-9,]*[MG]" | sort -hr | less

 

Erklärung: “du” gibt die Größe von Dateien und Verzeichnissen aus “-h” zeigt dies leserlich an, “|” der Pipe leitet die Ausgabe weiter, “grep” ist universal einsetzbar, um etwas (Dateien / Ausgaben…) zu durchsuchen und wir suchen alle Zeilen, in denen “^” am Anfang eine Zahl  “0 1 2 3 4 5 6 7 8 9” oder / und “,” in beliebiger Häufigkeit “*” gefolgt von einem großen “M” oder einem “G”. Diese Ausgabe wird per Pipe “|” an “sort” weitergegeben, wo diese Ausgabe nach sortiert wird und “|” schließlich mit “less” angezeigt wird. (mit q kann man less wieder beenden) Wer mehr über Reguläre Ausdrücken lernen möchte, kann sich dies hier antun ;-) -> http://linuxwiki.de/

Wer will kann dich solche “Funktionen” einfach in die .bashrc eintragen…

alias du_suckup='du -h | grep "^[0-9,]*[MG]" | sort -hr | less'

 

1.3) iotop – Festplattenauslastung  analysieren

iotop

Der Befehl “iotop” kann die aktuellen I/O Transferraten für die laufenden Prozesse/Threads anzeigen und greift dazu direkt auf die Informationen vom Kernel zu ( >= v2.6.20 ).

Es folgen wieder einige wichtige Tastenkürzel:

Pfeiltasten – link & rechte -> ändern die Sortierung der Ausgabe, je nach Kategorie
r -> dreht die Sortierung um (reverse)
o -> Zeigt nur noch Prozesse/Threads an, welche auch I/O-Last produzieren
p-> zeigt nur noch Prozesse an (keine Threads )
a -> zeigt nicht mehr die Last in Sekunden an, sondern addiert die I/O fortlaufen (solange iotop läuft)

1.4) lsof – Beziehung zwischen Dateien & Prozessen analysieren

Der Befehl “lsof” kann eingesetzt werden, um z.B. zu analysieren, welcher Prozess oder Anwender momentan eine bestimmte Datei verwendet oder auch welcher User, welchen Port offen hält + die dazugehörige PID (ProzessID)…

lsof -a -i -u www-data

 

lsof - Beispiel
lsof – Beispiel

 

Wer mehr zu dem Thema erfahren möchte, kann in einen alten Blog-Beitrag weiter lesen -> suckup.de/blog/2010/02/22/lsof-list-open-files


2.) Prozesse analysieren

Hier verweise ich einfach mal auf zwei alte Blog-Beiträge.:

2.1) der Befehl “ps”, um bestimmte Prozesse aufzuspüren -> suckup.de/blog/2010/09/14/shell-ps-prozessstatus

2.2) und noch einige Programm, um den verbrauchten Arbeitsspeicher zu analysieren -> suckup.de/blog/2010/02/08/speicherverbrauch-anzeigen-lassen

 

3.) Hardware analysieren

Auch hier verweise ich auf einen alten Beitrag.:

3.1) hier noch eine Sammlung von Befehlen mit denen man z.B. die Festplatte auf Fehler prüfen kann ->  http://suckup.de/blog/2010/02/08/systeminfos-anzeigen-lassen/

 

4.) Netzwerk analysieren

Und auch hier verweise ich auf ein paar alte Beiträge.:

4.1) mit “TCPdump” kannst du den Netztraffik analysieren (sniffen) ähnlich wie Wireshark, nur auf der Konsole. :-) -> suckup.de/blog/2010/08/02/tcpdump-howto

4.2) offene Ports analysieren mit “nmap” + “fuser” -> suckup.de/blog/2010/03/28/offene-ports-analysieren

 

weitere Schritte

Mit Hilfe dieser Befehl sollte man einige Problem bereits eingrenzen können, ich würde parallel unter /var/log/ nachschauen, ob irgendetwas auffälliges in den Logfiles steht …

ls -altr /var/log/

-> Dateien rekursiv nach ihrer letzten Änderung anzeigen (neuste Datei steht nun unten)

tail -f test.log

-> das Logfile wird nun kontinuierlich mit-gelesen, so dass man neu auftretende Fehler bemerkt