<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8650663337629584112</id><updated>2024-08-30T19:04:11.628-07:00</updated><category term="news"/><category term="Android"/><category term="C"/><category term="GNOME"/><category term="c++"/><category term="coding"/><category term="extern"/><category term="merkzettel"/><category term="qt"/><category term="Empfehlung"/><category term="Facebook"/><category term="Go"/><category term="Kommunikation"/><category term="Kurs"/><category term="Messaging"/><category term="Python"/><category term="RAD"/><category term="Vala"/><category term="Verschlüsselung"/><category term="XMPP"/><category term="error"/><category term="hardware"/><category term="howto"/><category term="joomla"/><category term="linux"/><category term="politik"/><category term="security"/><category term="tutorial"/><title type='text'>Linux for penguins</title><subtitle type='html'>News, Infos, Texte, Anleitungen und Gedanken rund um die Welt der Pinguine.&#xa;&#xa;Linux, UNIX, C, Coding, Programming, Papers</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://linuxforpenguins.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://linuxforpenguins.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>El Duderinho</name><uri>http://www.blogger.com/profile/03836115069840704737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>19</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8650663337629584112.post-5506134505451282375</id><published>2012-02-23T00:08:00.001-08:00</published><updated>2012-02-23T00:08:12.503-08:00</updated><title type='text'>Achtung der Chef kommt!</title><content type='html'>Hier möchte ich mal ein kleines Tool erwähnen das für mich schon oft praktisch war: das Firefox &lt;a href=&quot;https://addons.mozilla.org/de/firefox/addon/boss-key-and-buttons/?src=userprofile&quot;&gt;Bosskey Add-On&lt;/a&gt;.&lt;br /&gt;
Wenn der Chef im Anmarsch ist drückt man einfach auf eine definierte Taste (vorkonfiguriert F12) und der Browser minimiert sich und versteckt alle Tabs. Wenn man den Browser jetzt wieder öffnet sieht man eine vorher definierte Startseite, also Google oder die Firmenwebsite oder was immer man möchte.&lt;br /&gt;
&lt;br /&gt;
&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://static-ssl-cdn.addons.mozilla.net/img/uploads/previews/full/38/38668.png?modified=1292382144&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;245&quot; src=&quot;https://static-ssl-cdn.addons.mozilla.net/img/uploads/previews/full/38/38668.png?modified=1292382144&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Einstellungen des Add-Ons&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
Sobald die Luft wieder rein ist drückt man Shift-F12 (auch selbst wählbar) und die Tabs werden wieder sichtbar gemacht.&lt;br /&gt;
&lt;br /&gt;
Einziger Nachteil: Wenn man mit Alt-Tab durch die Fenster wechselt sind man in der Windows 7 Fenster Vorschau des letzten geöffneten Tabs. Aber so genau wird schon keiner schauen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxforpenguins.blogspot.com/feeds/5506134505451282375/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://linuxforpenguins.blogspot.com/2012/02/achtung-der-chef-kommt.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/5506134505451282375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/5506134505451282375'/><link rel='alternate' type='text/html' href='http://linuxforpenguins.blogspot.com/2012/02/achtung-der-chef-kommt.html' title='Achtung der Chef kommt!'/><author><name>El Duderinho</name><uri>http://www.blogger.com/profile/03836115069840704737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8650663337629584112.post-3267009041191351506</id><published>2012-01-11T04:14:00.000-08:00</published><updated>2012-01-11T04:14:27.754-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="extern"/><category scheme="http://www.blogger.com/atom/ns#" term="qt"/><category scheme="http://www.blogger.com/atom/ns#" term="tutorial"/><title type='text'>Heise Qt Einführung</title><content type='html'>Heise bietet hier eine nette &lt;a href=&quot;http://www.heise.de/developer/artikel/Programmentwicklung-mit-Qt-auf-Windows-7-1404829.html&quot;&gt;Einführung&lt;/a&gt; in Qt für Windows Nutzer.&lt;br /&gt;
Es beginnt bei der Installation und endet mit einem Installer für die im Tutorial erstellte Software.</content><link rel='replies' type='application/atom+xml' href='http://linuxforpenguins.blogspot.com/feeds/3267009041191351506/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://linuxforpenguins.blogspot.com/2012/01/heise-qt-einfuhrung.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/3267009041191351506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/3267009041191351506'/><link rel='alternate' type='text/html' href='http://linuxforpenguins.blogspot.com/2012/01/heise-qt-einfuhrung.html' title='Heise Qt Einführung'/><author><name>El Duderinho</name><uri>http://www.blogger.com/profile/03836115069840704737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8650663337629584112.post-1369461543346218925</id><published>2011-12-21T00:10:00.000-08:00</published><updated>2011-12-21T00:10:41.651-08:00</updated><title type='text'>Web SSH</title><content type='html'>Ab und an sitzt man schonmal in einem Netz das nur HTTP Verbindungen erlaubt, wo man also nur im Web surfen kann. Bei mir ist das heute der Fall.&lt;br /&gt;
&lt;br /&gt;
Es gibt verschiedene Webseiten auf die man sich (per HTTP) verbindet und die sich dann für dich auf den SSH Server weiter verbinden. Natürlich kann diese Schnittstelle alle Daten die anfallen mitlesen. Deshalb sollte man sich genau überlegen ob man einen solchen Dienst nutzen möchte und welchem Anbieter man vertraut.&lt;br /&gt;
&lt;br /&gt;
Es gibt beispielsweise:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.serfish.com/console/&quot;&gt;consoleFish&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.sshterm.com/&quot;&gt;sshTerm&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;serFish, bietet auch noch ein paar andere Weiterleitungsdienste wie zum Beispiel für Mailverkehr an.&lt;br /&gt;
&lt;br /&gt;
Wer keinem Anbieter vertrauen schenken will kann sich auf seinem Server auch selbst eine Schnittstelle installieren.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www-personal.umich.edu/%7Emressl/webshell/&quot;&gt;WebShell &lt;/a&gt;verwendet server-seitig AJAX und Python und client-seitig JavaScript(+ CSS). Wer sicherheit ganz groß schreibt kann dann noch den ganzen Quellcode druchgehen da das Projekt Open Source ist.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www-personal.umich.edu/%7Emressl/webshell/img/mc.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;175&quot; src=&quot;http://www-personal.umich.edu/%7Emressl/webshell/img/mc.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Hier sieht man wie das ganze client-seitig auf dem IPhone aussieht. Man kanns ich schließlich mit jedem Browser (der JavaScript und CSS unterstützt) verbinden.</content><link rel='replies' type='application/atom+xml' href='http://linuxforpenguins.blogspot.com/feeds/1369461543346218925/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/12/web-ssh.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/1369461543346218925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/1369461543346218925'/><link rel='alternate' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/12/web-ssh.html' title='Web SSH'/><author><name>El Duderinho</name><uri>http://www.blogger.com/profile/03836115069840704737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8650663337629584112.post-2971260867854365652</id><published>2011-11-20T11:06:00.000-08:00</published><updated>2011-11-20T11:06:59.380-08:00</updated><title type='text'>Crunchbang root</title><content type='html'>Bei crunchbang Linux kann man mit Hilfe von &lt;i&gt;su&lt;/i&gt; standardmäßig nicht root werden. Das liegt daran das kein root Passwort vergeben ist.&lt;br /&gt;
Nun könnte man vor jeden Befehl den mal mit root-Rechten ausführen möchte ein &lt;i&gt;sudo&lt;/i&gt; schreiben. Was aber total nervt wenn man längere Konfigurationen durchführt.&lt;br /&gt;
&lt;br /&gt;
Hier die Lösung:&lt;br /&gt;
Ihr könnt mit &lt;i&gt;sudo su&lt;/i&gt; root werden.&lt;br /&gt;
Oder ihr könnt ein richtiges root Passwort mithilfe von&lt;br /&gt;
&lt;i&gt;sudo passwd root &amp;lt;password&amp;gt;&lt;/i&gt; setzen.</content><link rel='replies' type='application/atom+xml' href='http://linuxforpenguins.blogspot.com/feeds/2971260867854365652/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/11/crunchbang-root.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/2971260867854365652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/2971260867854365652'/><link rel='alternate' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/11/crunchbang-root.html' title='Crunchbang root'/><author><name>El Duderinho</name><uri>http://www.blogger.com/profile/03836115069840704737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8650663337629584112.post-1622651023442855615</id><published>2011-11-16T04:59:00.000-08:00</published><updated>2011-11-20T11:07:46.026-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hardware"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="news"/><title type='text'>Raspberry Pi</title><content type='html'>Seit Monaten warte ich schon auf das erscheinen eines kleinen MiniPCs mit dem Namen &lt;a href=&quot;http://www.raspberrypi.org/&quot;&gt;Raspberry Pi&lt;/a&gt;. Es ist ein sehr kleiner Rechner der nur 25$ kosten soll. Und im Dezember soll er endlich erscheinen!&lt;br /&gt;
&lt;br /&gt;
Entwickelt wurde er vor allem für Kinder. Die sollen damit günstig die Möglichkeit haben spielend Erfahrungen mit Technik zu machen. Anschliessen lässt sich das kleine Gerät an einen Fernseh und er kann sogar über Batterien betrieben werden.&lt;br /&gt;
&lt;br /&gt;
Als Betriebssystem kommt wahlweise Arch Linux, Debian oder Fedora zum Einsatz. Es freut mich natürlich noch mehr das meine Lieblingsdistributionen Arch und Debian dabei sind :)</content><link rel='replies' type='application/atom+xml' href='http://linuxforpenguins.blogspot.com/feeds/1622651023442855615/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/11/raspberry-pi.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/1622651023442855615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/1622651023442855615'/><link rel='alternate' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/11/raspberry-pi.html' title='Raspberry Pi'/><author><name>El Duderinho</name><uri>http://www.blogger.com/profile/03836115069840704737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8650663337629584112.post-2270184610710844415</id><published>2011-11-08T05:40:00.000-08:00</published><updated>2011-11-08T05:40:30.936-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c++"/><category scheme="http://www.blogger.com/atom/ns#" term="error"/><category scheme="http://www.blogger.com/atom/ns#" term="RAD"/><title type='text'>Embarcadero</title><content type='html'>&amp;nbsp;Wir stellen gerade einige Projekte vom alten Borland C++ Builder 6 auf Embarcadero C++ Builder XE um.&lt;br /&gt;
Borland entwickelte anfangs den C++ Builder, anschließend übernahm das CodeGear und nun Embarcadero. Die neue Entwicklungsumgebung unterstützt nun Unicode.&lt;br /&gt;
&lt;br /&gt;
Es gibt zwar die Möglichkeit bestehende Projekte(Endung .bpr) zu konvertieren, bis jetzt habe ich aber die Erfahrung gemacht, dass es gerade bei kleineren Programmen einfach er ist das Projekt neu zu erstellen.&lt;br /&gt;
&lt;br /&gt;
In den Projekteinstellungen kann festgelegt werden ob für C-Strings der Datentyp char oder wchar_t gilt. Allerdings muss beachtet werden dass alle VCL Komponenten für die Speicherung von Text die Klasse UnicodeString verwenden.&lt;br /&gt;
&lt;br /&gt;
Das konvertieren eines Projektes ist mit dem lösen aller Warnings noch lange nicht fertig. Manche Fehler fallen erst spät auf, wie ich heute feststellte.&lt;br /&gt;
In einem Programm tat ich etwas ähnliches wies das:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;de1&quot;&gt;&lt;span class=&quot;sy0&quot;&gt;AnsiString s;&lt;/span&gt;&lt;/pre&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;pre class=&quot;de1&quot;&gt;s.&lt;span class=&quot;kw3&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&quot;Caption:&amp;nbsp;%s&quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; form1&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;Caption &lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre class=&quot;de1&quot;&gt;&lt;span class=&quot;sy0&quot;&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;
Allerdings an einer heikleren Stelle. Natürlich kam keine Fehlermeldung oder Warnung, erst zur Lauftzeit (nach 2 Tagen in Produktion) wurde bekannt dass das Programm nicht korrekt funkionierte.&lt;br /&gt;
Bis ich auf die entsprechende Stelle stieß dauerte ein bisschen. Da form1 vom Typ TForm ist, also eine VCL Komponente, wird die Eigenschaft Caption als UnicodeString gespeichert. Die Methode sprintf() vom Typ AnsiString kann damit nicht umgeben, deshalb sollte man die Eigenschaft zuerst casten.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;de1&quot;&gt;s.&lt;span class=&quot;kw3&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&quot;Caption:&amp;nbsp;%s&quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; (AnsiString)form1&lt;span class=&quot;sy0&quot;&gt;-&amp;gt;&lt;/span&gt;Caption &lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;
Warum ich AnsiString überhaupt benutze? Nun ja, in diesem Projekt werden oft Ansi C Funktionen aufgerufen die noch mit dem Datentyp char arbeiten. Und ansiStringObjekt.c_str() gibt mir einen char array zurück.&lt;br /&gt;
&lt;br /&gt;
Bis jetzt ist das upgrade auf C++ Buider XE mit mehr Arbeit als nutzen verbunden. Aber das wird hoffentlich nur so lange der Fall sein, bis alle Projekte umgestellt sind.</content><link rel='replies' type='application/atom+xml' href='http://linuxforpenguins.blogspot.com/feeds/2270184610710844415/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/11/embarcadero.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/2270184610710844415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/2270184610710844415'/><link rel='alternate' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/11/embarcadero.html' title='Embarcadero'/><author><name>El Duderinho</name><uri>http://www.blogger.com/profile/03836115069840704737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8650663337629584112.post-852762563716399420</id><published>2011-11-07T05:51:00.000-08:00</published><updated>2011-11-07T05:52:45.152-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c++"/><category scheme="http://www.blogger.com/atom/ns#" term="qt"/><title type='text'>QDomDocument</title><content type='html'>Ich mache gerade meine ersten Schritte mit Qt.&amp;nbsp; Stundenlang, so kommt es mir vor, habe ich jetzt versucht eine Anwenung zu programmieren welche aus einer XML Datei Daten ausliest.&lt;br /&gt;
Es scheiterte schon beim Include:&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;#include &amp;lt;QDomDocument&amp;gt;&lt;/div&gt;Es kam immer wieder die Meldung das diese Datei nicht vorhanden ist. Nach einigem herumgesuche fand ich dann heraus das in der Projektdatei (&lt;i&gt;projektname&lt;/i&gt;.pro) welches Qt Creator für mich anlegt folgendes stehen muss:&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;QT+=xml&lt;/div&gt;Warum das gemacht werden muss ist mir nicht ganz klar. Wenn ich etwas herausfinde lass ich es euch wissen.</content><link rel='replies' type='application/atom+xml' href='http://linuxforpenguins.blogspot.com/feeds/852762563716399420/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/11/qdomdocument.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/852762563716399420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/852762563716399420'/><link rel='alternate' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/11/qdomdocument.html' title='QDomDocument'/><author><name>El Duderinho</name><uri>http://www.blogger.com/profile/03836115069840704737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8650663337629584112.post-5570679535877843822</id><published>2011-07-07T23:16:00.000-07:00</published><updated>2011-07-07T23:16:20.782-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C"/><title type='text'>C-Strings duplizieren</title><content type='html'>Wenn ich einen C-String umkopieren wollte von dem ich zur Entwicklungszeit noch nicht wusste wie groß er ist, habe ich das bisher immer anscheinend ziemlich umständlich gemacht. Hier ein kleines Beispiel Programm:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;i&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; char origin[]={&quot;Hallo&quot;};&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; char *copy;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Inhalt von origin nach copy kopieren&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; copy = (char*)malloc( strlen(origin)+1 );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; strcpy( copy, origin );&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // ...&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; free( copy );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;br /&gt;
}&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Durch meinen Ausbilder wurde ich jetzt auf die Funktion strdup() aufmerksam. Sier erleichtert die Arbeit ein wenig und scheint sogar schneller zu sein als meine Variante.&lt;br /&gt;
um den Geschwindigkeitsunterschied zu messen, habe mit der Windows Funktion GetTickCount() die Millisekunden seit dem Start des Systems erfragt. Dann habe ich das Programm, die Kopierfunktion in beiden Varianten 99999-mal ausführen lassen. Und am Ende wieder die Zeit gemessen. So konnte ich feststellen wie viel Zeit in Millisekunden vergangen war. 4 von 5 Durchläufen war die strdup() Funktion schneller.&lt;br /&gt;
In der optimierten Variante ersetzt man die Zeilen 10 und 11 einfach durch&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;copy=strdup( origin );&lt;/i&gt;&lt;/b&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxforpenguins.blogspot.com/feeds/5570679535877843822/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/07/c-strings-duplizieren.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/5570679535877843822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/5570679535877843822'/><link rel='alternate' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/07/c-strings-duplizieren.html' title='C-Strings duplizieren'/><author><name>El Duderinho</name><uri>http://www.blogger.com/profile/03836115069840704737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8650663337629584112.post-3497272740913702270</id><published>2011-05-07T16:24:00.000-07:00</published><updated>2011-05-07T16:24:59.179-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="extern"/><category scheme="http://www.blogger.com/atom/ns#" term="joomla"/><category scheme="http://www.blogger.com/atom/ns#" term="merkzettel"/><title type='text'>Joomla! Tutorial</title><content type='html'>&lt;span style=&quot;font-family: Arial; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 10pt;&quot;&gt;Ich hab vor ein paar Tagen ein ganz nettes Joomla &lt;a href=&quot;http://www.ully.com/joomla-tutorial/joomla-einsteiger-tutorial.pdf&quot;&gt;Tutorial&lt;/a&gt; für Einsteiger gefunden.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 10pt;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxforpenguins.blogspot.com/feeds/3497272740913702270/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/05/joomla-tutorial.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/3497272740913702270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/3497272740913702270'/><link rel='alternate' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/05/joomla-tutorial.html' title='Joomla! Tutorial'/><author><name>El Duderinho</name><uri>http://www.blogger.com/profile/03836115069840704737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8650663337629584112.post-231333791547030708</id><published>2011-02-14T23:36:00.000-08:00</published><updated>2011-02-14T23:36:21.884-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="news"/><category scheme="http://www.blogger.com/atom/ns#" term="politik"/><category scheme="http://www.blogger.com/atom/ns#" term="security"/><title type='text'>Anonymous bricht in Securityfirma ein und findet interessantes</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://upload.wikimedia.org/wikipedia/commons/thumb/5/51/Anonymous_Flag.svg/200px-Anonymous_Flag.svg.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://upload.wikimedia.org/wikipedia/commons/thumb/5/51/Anonymous_Flag.svg/200px-Anonymous_Flag.svg.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Lest euch unbedingt diesen &lt;a href=&quot;http://www.heise.de/newsticker/meldung/Anonymous-kompromittiert-amerikanische-Sicherheitsfirma-1189245.html&quot;&gt;Artikel&lt;/a&gt; bei heise durch! Anonymous ist angeblich in das System einer Firma eingebrochen, die Rootkits für die Regierung herstellen wollte. Außerdem wollen sie Journalisten davon abhalten Wikileaks zu unterstützen, was die Freiheit an sich einschränkt.</content><link rel='replies' type='application/atom+xml' href='http://linuxforpenguins.blogspot.com/feeds/231333791547030708/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/02/anonymous-bricht-in-securityfirma-ein.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/231333791547030708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/231333791547030708'/><link rel='alternate' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/02/anonymous-bricht-in-securityfirma-ein.html' title='Anonymous bricht in Securityfirma ein und findet interessantes'/><author><name>El Duderinho</name><uri>http://www.blogger.com/profile/03836115069840704737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8650663337629584112.post-2854448212008994233</id><published>2011-02-07T08:34:00.000-08:00</published><updated>2011-02-07T08:34:17.498-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Facebook"/><category scheme="http://www.blogger.com/atom/ns#" term="howto"/><category scheme="http://www.blogger.com/atom/ns#" term="Kommunikation"/><category scheme="http://www.blogger.com/atom/ns#" term="Messaging"/><category scheme="http://www.blogger.com/atom/ns#" term="Verschlüsselung"/><category scheme="http://www.blogger.com/atom/ns#" term="XMPP"/><title type='text'>Wie man sich ohne Browser zum Facebook Chat verbindet</title><content type='html'>&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd0gSxg6KDHo2ZWnajlaA12lKYV4A1fVCX-Hx1-g6oIXlELGNsvmH9zHzNxJjXe86ZWzsEp5ZiWifwRb6u-DkeV8Is_OKr-pI2L7FSRaY4hupu0elrJ8vMyWE8ySK2IKNt75YgTOiWxw6g/s1600/200px-Facebook.svg.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd0gSxg6KDHo2ZWnajlaA12lKYV4A1fVCX-Hx1-g6oIXlELGNsvmH9zHzNxJjXe86ZWzsEp5ZiWifwRb6u-DkeV8Is_OKr-pI2L7FSRaY4hupu0elrJ8vMyWE8ySK2IKNt75YgTOiWxw6g/s1600/200px-Facebook.svg.png&quot; /&gt;&lt;/a&gt;Ich denke die meisten wissen schon dass der Facebook Chat auf dem XMPP Protokoll basiert. Und genau das ist auch der Grund dafür warum man sich zum Facebook Chat mit jedem XMPP/Jabber Client verbinden kann. &lt;br /&gt;
&lt;br /&gt;
Ich benutzte auf meinem Laptop bis vor kurzem Empathy, da dieser der Standard Messenger unter GNOME ist, und ich noch nicht dazu kam etwas besseres zu installieren. Heute hatte ich dann doch Zeit mich endlich von Empathy zu trennen. Wieso bei GNOME von Pidgin auf Empathy umgestellt wurde verstehe ich übrigens immernoch nicht..&lt;br /&gt;
&lt;br /&gt;
Also um mit eurem Lieblings Client zu Facebook verbinden zu können solltet ihr einen Facebook Benutzernamen haben, den könnt ihr &lt;a href=&quot;http://facebook.com/username&quot;&gt;hier&lt;/a&gt; setzen beziehungsweise nachschauen.&lt;br /&gt;
Wenn ihr Miranda, Pidgin oder einen anderen Multiprotokoll Client benutzt dann wählt XMPP als Protokollart, bei einem reinen Jabber Client wie Psi oder Gajim dürfte das wegfallen ;)&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Server ist: chat.facebook.com&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Username: Euer Facebook Benutzername&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Port: 5222&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Jetzt solltet ihr noch darauf achten das ihr SSL ausgeschaltet habt, sonst funktioniert das ganze nicht.&lt;br /&gt;
Das war&#39;s dann eigentlich schon. Jetzt könnt ihr schön bequem mit euren Freunden schreiben ohne dauernd in den Browser wechseln zu müssen.&lt;br /&gt;
Und empfehlenswert ist auch euren Chat jetzt mittels &lt;a href=&quot;http://www.cypherpunks.ca/otr/&quot;&gt;Off-the-Record&lt;/a&gt; zu verschlüsseln, wer will schon das jeder alles mitliest was man so schreibt ;)&lt;br /&gt;
Plugins für die OTR Verschlüsselung gibts unter anderem für &lt;a href=&quot;http://www.cypherpunks.ca/otr/#downloads&quot;&gt;Pidgin&lt;/a&gt;, &lt;a href=&quot;http://addons.miranda-im.org/details.php?action=viewfile&amp;amp;id=2644&quot;&gt;Miranda&lt;/a&gt; und &lt;a href=&quot;http://trillianotr.kittyfox.net/&quot;&gt;Trillian&lt;/a&gt;, aber soweit ich weiss nicht für Empathy..ein hoch auf Empathy!</content><link rel='replies' type='application/atom+xml' href='http://linuxforpenguins.blogspot.com/feeds/2854448212008994233/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/02/wie-man-sich-ohne-browser-zum-facebook.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/2854448212008994233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/2854448212008994233'/><link rel='alternate' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/02/wie-man-sich-ohne-browser-zum-facebook.html' title='Wie man sich ohne Browser zum Facebook Chat verbindet'/><author><name>El Duderinho</name><uri>http://www.blogger.com/profile/03836115069840704737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd0gSxg6KDHo2ZWnajlaA12lKYV4A1fVCX-Hx1-g6oIXlELGNsvmH9zHzNxJjXe86ZWzsEp5ZiWifwRb6u-DkeV8Is_OKr-pI2L7FSRaY4hupu0elrJ8vMyWE8ySK2IKNt75YgTOiWxw6g/s72-c/200px-Facebook.svg.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8650663337629584112.post-6206097597812512124</id><published>2011-02-07T07:18:00.000-08:00</published><updated>2011-02-07T07:53:05.426-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="coding"/><category scheme="http://www.blogger.com/atom/ns#" term="Go"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Vala"/><title type='text'>Welche Sprache jetzt?</title><content type='html'>Eigentlich kenne ich mich nur in C einigermaßen aus. Das bisschen Java das ich in der Schule lerne möchte ich gar nicht aufzählen. Und mein Basic und Pascal ist schon ganz schön eingestaubt. Deshalb wollte ich mich jetzt mal mit einer zweiten Sprache beschäftigen. Dabei wollte mich mit einer Sprache befassen die auch neuere Ansätze unterstützt.&lt;br /&gt;
&lt;br /&gt;
Auf der Suche nach einer Sprache die mir Spaß machen könnte habe ich mir eine &lt;a href=&quot;http://en.wikipedia.org/wiki/Timeline_of_programming_languages&quot;&gt;Liste der Programmiersprachen&lt;/a&gt; auf Wikipedia angeschaut.&lt;br /&gt;
&lt;br /&gt;
Go ist eine Sprache die von Google Mitarbeitern entwickelt wurde und sehr C ähnlich aussieht. Es ist plattformunabhängig und frei. Allerdings gibt es noch nicht viele Bindings für diese Sprache.&lt;br /&gt;
&lt;br /&gt;
Außerdem kam noch Python in Frage, auch wenn es eigentlich eine Scriptsprache ist. Es wäre auch praktisch um ein paar administrative Aufgaben zu erledigen. Es scheint relativ vielseitig einsetzbar zu sein und ist (wie die meisten Scriptsprachen) auch platformunabhängig.&lt;br /&gt;
&lt;br /&gt;
Schließlich hab ich mich für &lt;a href=&quot;http://live.gnome.org/Vala%20&quot;&gt;Vala&lt;/a&gt; entschieden. Es ist auch sehr C und C# ähnlich. Vala Code wird zuerst in C Code umgesetzt und dann kompiliert, somit ist das Programm nativ und wird nicht in Bytecode oder ähnliches wie bei Java übersetzt, was der Geschwindigkeit zugute kommt. Aufgrund der Übersetzung in C können auch C Module eingebunden werden. Somit stehen viele Bibliotheken zur Verfügung. Der Vorteil zu C ist, das es neuere Techniken unterstützt und somit vielleicht etwas einfacher zu handhaben ist.&lt;br /&gt;
Vala benutzt das GObject Objekt System, welches von GTK+ genutzt wird&amp;nbsp; beziehungsweise dafür entwickelt wurde, sowie den Rest der GLib.&lt;br /&gt;
Einige der neueren GNOME Programme wie zum Beispiel die Fotoverwaltung Shotwell und das Backup Programm Déjà Dup.&lt;br /&gt;
&lt;br /&gt;
Entschieden habe ich mich für Vala wegen der Ähnlichkeit zu C, der neueren Ansätze und der Benutzung der GLib, die ich mir schon länger mal anschauen wollte. Ich werde mir Vala jetzt nach und nach anschauen und hier sicher einige Posts darüber veröffentlichen, ja vielleicht sogar meinen ganzen Weg zu Vala beschreiben.</content><link rel='replies' type='application/atom+xml' href='http://linuxforpenguins.blogspot.com/feeds/6206097597812512124/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/02/welche-sprache-jetzt.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/6206097597812512124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/6206097597812512124'/><link rel='alternate' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/02/welche-sprache-jetzt.html' title='Welche Sprache jetzt?'/><author><name>El Duderinho</name><uri>http://www.blogger.com/profile/03836115069840704737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8650663337629584112.post-7029362170512476518</id><published>2011-02-03T13:02:00.000-08:00</published><updated>2011-02-03T13:02:04.948-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="news"/><title type='text'>Android Market im Web</title><content type='html'>Den Android Market gibts jetzt endlich auch im Web unter &lt;a href=&quot;http://market.android.com/&quot;&gt;market.android.com&lt;/a&gt;. Die Seite sieht recht übersichtlich aus. Neben allgemeinen Informationen und Bildern werden auch die Berechtigungen die eine App verlangt angezeigt. Es gibt Bewertungen von Nutzern und Verweise auf ähnliche Apps. Man kann sich mit einem Google Konto beim Market anmelden und Apps kaufen. Außerdem gibt es die Möglichkeit aus Apps heraus, weitere Apps bzw. Zusatzfunktionen zu kaufen. Diese Funktion ist bis jetzt noch nicht verfügbar, soll aber bald folgen.</content><link rel='replies' type='application/atom+xml' href='http://linuxforpenguins.blogspot.com/feeds/7029362170512476518/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/02/android-market-im-web.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/7029362170512476518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/7029362170512476518'/><link rel='alternate' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/02/android-market-im-web.html' title='Android Market im Web'/><author><name>El Duderinho</name><uri>http://www.blogger.com/profile/03836115069840704737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8650663337629584112.post-4840798884201984809</id><published>2011-02-03T09:48:00.000-08:00</published><updated>2011-02-03T12:52:15.085-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C"/><category scheme="http://www.blogger.com/atom/ns#" term="coding"/><category scheme="http://www.blogger.com/atom/ns#" term="Kurs"/><title type='text'>C Kurs</title><content type='html'>&lt;span style=&quot;font-family: Arial,sans-serif; font-size: small;&quot;&gt;&lt;div&gt;Ich habe mich entschieden hier eine kleine Einführung in die Programmiersprache C zu geben.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;C wurde schon 1972 veröffentlicht, ist also schon älter. Nichts desto trotz wird C immernoch häufig eingesetzet.&lt;/div&gt;&lt;div&gt;Es eignet sich unter anderem besonders gut für Hardware nahes  programmieren. Ich bin der Meinung das man durch C einiges über die  Funktionsweise eines Computers lernen kann.&lt;/div&gt;&lt;div&gt;Aufgrund der Hardwarenähe sind C Programme (wenn gut geschrieben)  besonders schnell. Allerdings gibt es in C keine Klassen, in der Sprache  C++ allerdings schon. C++ ist in etwa der Nachfolger von C.&lt;/div&gt;&lt;div&gt;Was jedoch nicht bedeutet das C nicht mehr zum Einsatz kommt. Es  kommt ganz drauf an was man programmieren möchte. In C++ gibt es einige  Sprachelemente die es in C nicht gibt. Dies sollte uns am Anfang jedoch  nicht kümmern.&lt;/div&gt;&lt;div&gt;Und auch später greift man oft doch lieber auf C zurück. Es gibt  auch einige Personen die C++ für umständlicher als C halten. Nun genug  davon. Schließlich wollen wir hier programmieren lernen, rightig?&lt;/div&gt;&lt;div&gt;Programmieren ist nichts anderes als dem Computer, auf einem ihm  verständliche Weise, zu sagen was er zu tun hat. Dann tun wir das doch  einfach mal:&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-family: Arial,sans-serif;&quot;&gt;&lt;div&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/div&gt;&lt;div&gt;int main()&lt;/div&gt;&lt;div&gt;{&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; return 0;&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Arial,sans-serif; font-size: small;&quot;&gt; &lt;div&gt;&lt;/div&gt;&lt;div&gt;Dies ist unser erster Quellcode. Nur, was machen wir jetzt damit?&lt;/div&gt;&lt;div&gt;Wir übersetzen ihn! Damit unser Programmcode dem Computer  verständlich wird müssen wir ihn in Maschinencode übersetzen. Dies  übernimmt ein Compiler für uns.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Bevor wir also anfangen können zu programmieren, müssen wir erst ein paar Hilfsmittel installieren.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Zum schreiben des Quellcodes reicht im Grunde ein normaler Editor.  Einige Editoren unterstützen Syntax Hightlighting, das heißt sie  formatieren den Quellcode auf eine bestimmte Weise um ihn leserlicher zu  machen. Schhlüsselwörter können so zum Beispiel Fett oder in einer bestimmten Farbe dargestellt werden.&lt;/div&gt;&lt;div&gt;Zum übersetzen des Codes in Maschinencode wird wie gesagt ein  Compiler benötigt. Unter Linux beispielsweise, ist wohl gcc der  meistverbreiteste Compiler.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Wenn ihr das Programm abgetippt habt und es gespeichert habt, dann wechselt mit dem Terminal in das Verzeichnis.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;cd /path/to/source/&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Wenn ihr im Verzeichnis seit dann könnt ihr die Datei kompilieren und ausführen:&lt;/div&gt;&lt;div&gt;&lt;i&gt; &lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;gcc -o test main.c&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;./test&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Hierbei sollte main.c durch den Dateinamen ersetzt werden. Und? Was bekommt ihr nach dem ausführen ( &lt;i&gt;./test&lt;/i&gt; ) zu sehen? Nichts? Na dann habt ihr alles richtig gemacht :-)&lt;/div&gt;&lt;div&gt;Bis zum nächsten mal!&lt;i&gt;&lt;br /&gt;
&lt;/i&gt;&lt;/div&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxforpenguins.blogspot.com/feeds/4840798884201984809/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/02/c-kurs.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/4840798884201984809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/4840798884201984809'/><link rel='alternate' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/02/c-kurs.html' title='C Kurs'/><author><name>El Duderinho</name><uri>http://www.blogger.com/profile/03836115069840704737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8650663337629584112.post-5278670413231151390</id><published>2011-02-01T12:45:00.000-08:00</published><updated>2011-02-01T12:45:33.110-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="GNOME"/><category scheme="http://www.blogger.com/atom/ns#" term="news"/><title type='text'>GNOME 3 live CD</title><content type='html'>Heute wurde von Frederic Crozat eine LiveCD der Linux Distribution openSUSE veröffentlicht die die GNOME 3 Shell beinhaltet. Ziel ist es möglichst viele Nutzer für Tests zu gewinnen, damit die Entwicklung von GNOME 3 voranschreiten kann. Runterladen kann man sich das Image &lt;a href=&quot;http://download.opensuse.org/repositories/GNOME:/Medias/images/iso/&quot;&gt;hier&lt;/a&gt;, weite Infos finden sich im &lt;a href=&quot;http://blog.crozat.net/2011/01/gnome-3-live-cd-usb-test-image.html&quot;&gt;Blog&lt;/a&gt; von Frederic. Frohes testen!</content><link rel='replies' type='application/atom+xml' href='http://linuxforpenguins.blogspot.com/feeds/5278670413231151390/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/02/gnome-3-live-cd.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/5278670413231151390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/5278670413231151390'/><link rel='alternate' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/02/gnome-3-live-cd.html' title='GNOME 3 live CD'/><author><name>El Duderinho</name><uri>http://www.blogger.com/profile/03836115069840704737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8650663337629584112.post-6171655132917365510</id><published>2011-01-26T14:27:00.000-08:00</published><updated>2011-01-26T14:27:21.136-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Empfehlung"/><title type='text'>Android-Maus</title><content type='html'>&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh67XvOo6GQM0lJlcNC-oS31DhO9U0T-MM1BjapibL0JfQnap5d1OfvxWvg58SgR0XWuT2g0GUvmmKyKwVcAs6WkE1lXALyCYiCE1oBrxZOsWd5ijTun0UvurwHl6ZnrqDNAtJaZ4MnT5Cw/s1600/logo.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh67XvOo6GQM0lJlcNC-oS31DhO9U0T-MM1BjapibL0JfQnap5d1OfvxWvg58SgR0XWuT2g0GUvmmKyKwVcAs6WkE1lXALyCYiCE1oBrxZOsWd5ijTun0UvurwHl6ZnrqDNAtJaZ4MnT5Cw/s1600/logo.png&quot; style=&quot;cursor: move;&quot; /&gt;&lt;/a&gt;Mit der Android App &lt;a href=&quot;http://code.google.com/p/premotedroid/&quot;&gt;PRemoteDroid&lt;/a&gt; lässt sich ein Android Handy zum fernsteuern des PCs benutzen. Der Client lässt sich sehr einfach installieren, man findet ihn im Market. Der Server, der auf dem PC gestartet werden muss findet man &lt;a href=&quot;http://code.google.com/p/premotedroid/downloads/list&quot;&gt;hier&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Das Paket einfach entpacken und unter Windows die Datei PRemoteDroid-Server.exe starten bzw. unter Linux im Terminal in den gerade entpackten Ordner wechseln und das Programm mit &lt;b&gt;java -jar PRemoteDroid-Server.jar &lt;/b&gt;starten.&lt;br /&gt;
In der Taskleiste erscheint nun ein neues Symbol. Per Rechtsklick kann man den Server nun kofigurieren. Die Verbindung kann über WLAN oder Bluetooth hergestellt werden, außerdem kann ein Port sowie ein Passwort eingestellt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://fs01.androidpit.info/aqr/x49/416849-1272359272889.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://fs01.androidpit.info/aqr/x49/416849-1272359272889.png&quot; /&gt;&lt;/a&gt;Startet man den client auf dem Phone so bekommt man nicht viel zu sehen. Ins Auge stechen nur 3 Buttons im oberen Bildschirmbereich. Dabei soll es sich um die Mausknöpfe handeln. Bevor wir den Client aber benutzen können müssen wir erst einstellen zu welchem Server verbunden werden soll. Hierzu drückt man die &lt;i&gt;Menü&lt;/i&gt; Taste und wählt dann &lt;i&gt;Connections&lt;/i&gt;. Hier drückt man erneut die &lt;i&gt;Menü&lt;/i&gt; Taste und klickt dann auf &lt;i&gt;New&lt;/i&gt;. Hier wählt man zwischen Wifi und Bluetooh Verbindung. Anschließend wird IP, Port, Passwort und Verbindungsname eingestellt und mit einem Klick auf &lt;i&gt;Save&lt;/i&gt; bestätigt.&lt;br /&gt;
&lt;br /&gt;
Nun geht man zurück zum Anfangsbildschirm, nun kann man auf der schwarzen Fläche herumfahren und siehe da: die Maus bewegt sich. Über die &lt;i&gt;Menü&lt;/i&gt; Taste kann auch eine Tastatur angezeigt werden und über den Knopf File Explorer kann man die Dateien des Host PCs durchstöbern.&lt;br /&gt;
&lt;br /&gt;
Mit dieser tollen App lässt sich der PC wie mit einer Fernbedienung steuern. Sehr angenehm um beispielsweise Videos zu schauen. Außerdem hilfreich falls die Funkmaus/-tastatur mal wieder den Dienst versagt.</content><link rel='replies' type='application/atom+xml' href='http://linuxforpenguins.blogspot.com/feeds/6171655132917365510/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/01/android-maus.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/6171655132917365510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/6171655132917365510'/><link rel='alternate' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/01/android-maus.html' title='Android-Maus'/><author><name>El Duderinho</name><uri>http://www.blogger.com/profile/03836115069840704737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh67XvOo6GQM0lJlcNC-oS31DhO9U0T-MM1BjapibL0JfQnap5d1OfvxWvg58SgR0XWuT2g0GUvmmKyKwVcAs6WkE1lXALyCYiCE1oBrxZOsWd5ijTun0UvurwHl6ZnrqDNAtJaZ4MnT5Cw/s72-c/logo.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8650663337629584112.post-1973589532562550681</id><published>2011-01-26T07:57:00.000-08:00</published><updated>2011-01-26T07:58:27.128-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="merkzettel"/><title type='text'>Zerhacktes</title><content type='html'>Gestern bin ich wiedereinmal über den Begriff &lt;i&gt;Hash&lt;/i&gt; gestolpert. Mir war einigermaßen klar was er Bedeutet, jedoch wusste ich nicht viel darüber. Ich wusste das man Passwörter hashen kann und dann die Hashwerte vergleicht, damit man das Passwort nicht im Klartext verschicken bzw. speichern muss.&lt;br /&gt;
&lt;br /&gt;
Ich beschloss, mich ein bisschen damit zu beschäftigen und hier darüber zu schreiben.&lt;br /&gt;
&lt;br /&gt;
Angenommen wir möchten eine Datenbank erstellen in der wir Zitate speichern. Jedes Zitat soll natürlich nur einmal vorkommen. Da an unserem Projekt viele Autoren mitarbeiten verliert man jedoch schnell den Überblick darüber welches Zitat schon vorhanden ist und welches nicht. Deshalb müssen wir bevor wir ein Zitat eintragen, erst überprüfen ob es schon vorhanden ist.&lt;br /&gt;
Unser Programm vergleicht deshalb jedes Zeichen aus dem vermeindlich neuem Text mit jedem Zeichen aus den schon vorhandenen Texten. Wenn es einen Text findet der mit dem neuen Text übereinstimmt, wird es gemeldet, andernfalls wird der Text in die Datenbank übernommen.&lt;br /&gt;
&lt;br /&gt;
Wir möchten nun das Zitat: &lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;Auch die Kunst ist revolutionäres Tun - Renato Guttuso &lt;/b&gt;&lt;span style=&quot;font-size: small;&quot;&gt;eintragen. Zuerst vergleichen wir diesen Text mit dem ersten Zitat aus unserer Datenbank, der lautet:&lt;/span&gt;&lt;b&gt; Auch die beste Medizin hat nur aufschiebende Wirkung - Gerhard Kocher&lt;/b&gt;&lt;/span&gt;.&lt;br /&gt;
&lt;br /&gt;
Nach dem zehnten Zeichen wird uns auffallen das der Text unterschiedlicht ist, und wir können ihn in die Datenbank aufnehmen. Es kann jedoch vorkommen das die ersten 100 Zeichen gleich sind, danch der Text aber unterschiedlich ist. Wir benötigten also mehr Zeit. Handelt es sich um andere Daten die noch größer und sind, so kann es einiges an Zeit kosten.&lt;br /&gt;
&lt;br /&gt;
Würden wir jeden Text mit seinem Hash abspeichern so müssten wir nur die beiden Hashes miteinander vergleichen, dies würde sich natürlich nur lohnen wenn die Hashwerte kürzer sind als der Eingangstext. Deshalb ist dies auch ein wichtiges Kriterium, die &lt;u&gt;Länge&lt;/u&gt;.&lt;br /&gt;
&lt;br /&gt;
Hier nun der MD5 Hash des ersten Zitates:&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;013043df31ed800fc149ee52396cfaef&lt;/div&gt;Und hier der des zweiten:&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;83c8e17721595f83d962331e982079c5 &lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxforpenguins.blogspot.com/feeds/1973589532562550681/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/01/zerhacktes.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/1973589532562550681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/1973589532562550681'/><link rel='alternate' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/01/zerhacktes.html' title='Zerhacktes'/><author><name>El Duderinho</name><uri>http://www.blogger.com/profile/03836115069840704737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8650663337629584112.post-1520041272380816129</id><published>2011-01-23T09:11:00.000-08:00</published><updated>2011-01-23T09:11:00.344-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="GNOME"/><category scheme="http://www.blogger.com/atom/ns#" term="news"/><title type='text'>GNOME 3</title><content type='html'>Vor einigen Tagen habe ich gesehen, dass die Desktop Umgebung GNOME 3  alpha-released wurde. Erste screenshots findet man auf der &lt;a href=&quot;http://www.gnome3.org/&quot;&gt;Projektseite&lt;/a&gt;.&lt;br /&gt;
Was man dort zu sehen bekommt und erfährt gefällt mir eigentlich ganz gut.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.gnome3.org/img/chat.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;187&quot; src=&quot;http://www.gnome3.org/img/chat.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Ich war vom MeMenu, in welchem die Kommunikation in GNOME 2.x zusammengefasst wird schon begeistert. Deshalb freue ich mich über die Ankündigung dass der Kommunikation noch mehr Beachtung gewidmet wird. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leider muss man sich aber noch bis April gedulden, dann erst soll GNOME 3 fertig sein. Wer es solange nicht mehr aushält kann es auch schonmal antesten. Als Tool kommt hier JHBuild zum Einsatz, welches das bauen aus den Quellpaketen erleichtern soll. Ein JHBuild &lt;i&gt;Modulsatz&lt;/i&gt; enthält Informationen zu Abhängigkeiten und kann die Module aus verschiedenen Quellen wie zum Beispiel GIT und Mercurial erstellen. Hierzu gibt es eine &lt;a href=&quot;http://live.gnome.org/GnomeShell#building&quot;&gt;Anleitung&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Selbstverständlich kann man kein 100%-ig Stabiles System erwarten. Wer Fehler findet kann diese natürlich auch gleich melden. Und somit bei der Entwicklung helfen. Wer weniger technisch versiert ist, und&amp;nbsp; das GNOME Projekt trotzdem unterstützen möchte, kann auch Geld spenden.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.gnome.org/friends/&quot;&gt; &lt;img alt=&quot;Become a Friend of GNOME&quot; border=&quot;0&quot; src=&quot;http://www.gnome.org/friends/banners/fog-220x32.png&quot; /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Zum Schluss noch ein &lt;a href=&quot;http://live.gnome.org/ThreePointZero&quot;&gt;Link&lt;/a&gt; zu mehr Links ;)</content><link rel='replies' type='application/atom+xml' href='http://linuxforpenguins.blogspot.com/feeds/1520041272380816129/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/01/gnome-3.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/1520041272380816129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/1520041272380816129'/><link rel='alternate' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/01/gnome-3.html' title='GNOME 3'/><author><name>El Duderinho</name><uri>http://www.blogger.com/profile/03836115069840704737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8650663337629584112.post-6086721526689650912</id><published>2011-01-19T11:37:00.000-08:00</published><updated>2011-01-19T11:37:43.916-08:00</updated><title type='text'>Hello World!</title><content type='html'>So, nun ist es endlich so weit. Dies ist mein erster Blogeintrag für &lt;i&gt;Linux for penguins&lt;/i&gt;. Um was es hier gehen soll? Ich möchte hier Tipps und Tricks zum Umgang mit Linux, Programmempfehlungen, programmiertechnisches, technologisches, interessantes, langweiliges, neues und altes posten.&lt;br /&gt;
Einen richtigen Plan habe ich noch nicht, nur viele kleine Ideen. Mal sehen wo uns das hinbringt..</content><link rel='replies' type='application/atom+xml' href='http://linuxforpenguins.blogspot.com/feeds/6086721526689650912/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/01/hello-world.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/6086721526689650912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8650663337629584112/posts/default/6086721526689650912'/><link rel='alternate' type='text/html' href='http://linuxforpenguins.blogspot.com/2011/01/hello-world.html' title='Hello World!'/><author><name>El Duderinho</name><uri>http://www.blogger.com/profile/03836115069840704737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>