tag:blogger.com,1999:blog-53015749090037023912024-03-19T06:02:54.176+01:00Sergej FerlichMOnsDaRhttp://www.blogger.com/profile/01056330233127886297noreply@blogger.comBlogger27125tag:blogger.com,1999:blog-5301574909003702391.post-69510595848049808512010-08-22T20:08:00.001+02:002010-08-22T20:08:10.258+02:00Beginner Exercises – Patient GameAnother one from Bazzy on cplusplus.com. Its original name was “While( user == gullible )”. The program asks the user to enter any number but a special one. If the user finally enters the special number, a message will put out, praising the user if he was very patient. (If the user has done the game more than 10 times) Example output: Do NOT enter 1: 2 Do NOT enter 2: 3 Do NOT MOnsDaRhttp://www.blogger.com/profile/01056330233127886297noreply@blogger.com0tag:blogger.com,1999:blog-5301574909003702391.post-52132385185510457682010-08-22T19:53:00.001+02:002010-08-22T19:53:02.735+02:00Beginner Exercises – Guess the numberI’m currently on the Python train again because a friend of mine wants to learn some basics about programming. Because its not easy to just learn the theoretical part without any  exercises I searched some beginner exercises for him. In this series of articles I want to present some of the exercises along with a solution. The solutions will be written in Python, but the exercises could be MOnsDaRhttp://www.blogger.com/profile/01056330233127886297noreply@blogger.com0tag:blogger.com,1999:blog-5301574909003702391.post-74641177300609915682010-07-09T21:28:00.001+02:002010-07-09T21:28:05.609+02:00Still aliveDue to the good weather and having a lot of work to do, the blog was quite inactive for the last weeks. I don’t want to promise that its getting better, but i’ll try. The attentive reader might have noticed, that i’ve decided to write SergejFerlich in English from now on. This way a lot more readers could profit from the content of this blog. Perhaps i’ll translate the old posts too. Another MOnsDaRhttp://www.blogger.com/profile/01056330233127886297noreply@blogger.com0tag:blogger.com,1999:blog-5301574909003702391.post-60054174271742853562010-05-20T08:25:00.001+02:002010-08-22T20:50:31.391+02:00CMake: Find Thirdparty like QTAlmost every project depends on Thirdparty software like Boost or QT. For building those projects, the compiler and linker need to know where they could find includes and which libraries they should link. But how should the programmer should know where the user has installed his Thirdparty-components? CMake provides the command find_package(). This command uses special find-scripts called MOnsDaRhttp://www.blogger.com/profile/01056330233127886297noreply@blogger.com0tag:blogger.com,1999:blog-5301574909003702391.post-58523749727066610282010-05-19T14:23:00.000+02:002010-08-23T18:36:51.462+02:00KDevelop 4.0: Patch ReviewThis article already gives a short introduction on how to create patches with SVN and what they’re good for. Now I’ll talk about how to review and apply patches. The command svn diff creates a textual summary of changes in a specific revision. Even with small changes, those textfiles aren’t very easy to read. KDevelop with its builtin Patch Review tries to solve that problem.   MOnsDaRhttp://www.blogger.com/profile/01056330233127886297noreply@blogger.com0tag:blogger.com,1999:blog-5301574909003702391.post-26089108293175236032010-05-19T08:38:00.001+02:002010-06-29T16:13:37.594+02:00Patches mit SubversionWährend der Arbeit mit Projekten anderer (seien es Arbeitskollegen oder OpenSource-Projekte) findet man ab und an Bugs, die sich mit Zugriff auf den Sourcecode leicht selbst beheben lassen.
Doch wie kommuniziert man diese Änderungen nun? Oft hat man keinen Schreibzugriff aufs SVN und selbst wenn, möchte man nicht einfach im Code des Kollegen rumwurschteln.
Subversion bietet die Möglichkeit, MOnsDaRhttp://www.blogger.com/profile/01056330233127886297noreply@blogger.com0tag:blogger.com,1999:blog-5301574909003702391.post-16083369694836247802010-05-07T23:02:00.001+02:002010-08-22T20:31:38.501+02:00C++: Plugins the QT wayCompared to modern languages like C# or Java, C++ lacks in support of dynamically loading code at runtime. It is not easy to implement a portable plugin-framework, but it is possible. Luckily there are frameworks available which make such a functionality possible. Nokias QT-Framework is one of the most active and best maintained frameworks for C++. Besides the famous GUI-functionality are some MOnsDaRhttp://www.blogger.com/profile/01056330233127886297noreply@blogger.com0tag:blogger.com,1999:blog-5301574909003702391.post-70498285611710976262010-04-24T14:03:00.001+02:002010-04-24T14:03:24.016+02:00Code Coverage unter LinuxUm zu testen, ob die geschriebenen Unittests wirklich alle wichtigen Teile des Codes abdecken, führt man Coverage-Tests durch. Hierbei wird der Test ausgeführt und geloggt, welche Zeilen im Code angesprungen werden. Im Bild ist ein Coverage-Report abgebildet, bei dem der if-Zweig des Programmes nicht berücksichtigt wird. Der zugehörige Unittest hat also nur einen Teil des Codes überprüft und MOnsDaRhttp://www.blogger.com/profile/01056330233127886297noreply@blogger.com0tag:blogger.com,1999:blog-5301574909003702391.post-79999966213762380342010-04-18T20:03:00.001+02:002010-04-18T20:03:17.328+02:00KDevelop 4 RC3 veröffentlichtFreitag erschien der dritte RC von KDevelop4. Bis zur finalen Veröffentlichung Anfang Mai ist es also nicht mehr lang hin. Wer vorab schonmal einen Blick riskieren möchte, findet HIER eine Schritt für Schritt Anleitung zur Installation unter Linux. Wenn man zusätzlich noch die Requirements beachtet, klappt eigentlich alles ohne Probleme. Ich habe den RC1 bereits auf der Arbeit kompiliert und imMOnsDaRhttp://www.blogger.com/profile/01056330233127886297noreply@blogger.com0tag:blogger.com,1999:blog-5301574909003702391.post-79275897090851981142010-04-18T19:42:00.001+02:002010-04-18T19:42:53.564+02:00Netzwerk: Endgültige LösungNach dem ich HIER schon sehr zuversichtlich war, dass das Problem soweit gelöst ist, taten sich in den folgenden Wochen dieselben Probleme erneut auf. Nachdem der Netgear-Support schon soweit gegangen ist, ein komplettes Abbild meiner Router-Konfiguration anzufordern, konnte weiterhin keine Lösung erreicht werden. Letzte Woche bekam ich dann abschließend eine Email, in der mir vorgeschlagen MOnsDaRhttp://www.blogger.com/profile/01056330233127886297noreply@blogger.com0tag:blogger.com,1999:blog-5301574909003702391.post-17547356949945260392010-03-13T21:19:00.001+01:002010-03-13T21:19:20.877+01:00KDevelop 4 – IntellisenseIntellisense, teils auch CodeCompletion oder AutoCompletion genannt, ist ein Feature, dass einem viel Arbeit ersparen kann. Der Programmierer schreibt die ersten Buchstaben eines Wortes und auf Tastendruck werden ihm alle zu den Startbuchstaben passenden Elemente (Methoden, Attribute, Datentypen etc) angezeigt. Während in der Windowswelt mit dem Microsoft Visual Studio eine mächtige IDE MOnsDaRhttp://www.blogger.com/profile/01056330233127886297noreply@blogger.com0tag:blogger.com,1999:blog-5301574909003702391.post-50848044483433677802010-03-11T20:54:00.001+01:002010-03-11T20:55:13.232+01:00KDevelop 4 – Syntax HighlightingOhne dieses Feature kommt kein Editor aus, der zum Programmieren geeignet sein soll: Durch Syntax Highlighting lässt sich die Lesbarkeit der Sourcen extrem steigern. Umso ärgerlicher, wenn eine IDE die Hervorhebung nur begrenzt beherrscht oder sie schlecht konfigurierbar ist. Ein Negativbeispiel ist in diesem Fall das Eclipse (+CDT) für mich. Der Editor kommt mit einem sehr schlichten MOnsDaRhttp://www.blogger.com/profile/01056330233127886297noreply@blogger.com0tag:blogger.com,1999:blog-5301574909003702391.post-82518697483423746942010-02-27T14:12:00.001+01:002010-02-27T14:12:42.892+01:00Netzwerkprobleme: Fall gelöst?Falls du das erste mal hier liest, kannst du dich HIER und HIER darüber informieren, was mein WLAN-Netz für Probleme bereitet. In den letzten Tagen habe ich wie vom Netgear-Support empfohlen verschiedene MTU-Größen ausprobiert. Ich kam zu folgenden Ergebnissen: MTU von 1500: Dies ist die Standard-Einstellung mit er das Netz alle 1-2 Tage verschwand. MTU von 1430: Diese Einstellung habe ich alsMOnsDaRhttp://www.blogger.com/profile/01056330233127886297noreply@blogger.com0tag:blogger.com,1999:blog-5301574909003702391.post-29278262312900964692010-02-25T19:28:00.001+01:002010-02-25T19:28:29.091+01:00C++-Entwicklung mit KDevelop 4Ich habe bereits einige C++ Entwicklungsumgebungen unter Linux getestet, doch bisher konnte mich keine wirklich überzeugen. Es gibt für Linux eine Vielzahl von mehr oder weniger guten IDEs. Sie alle bringen vielversprechende Features wie Intellisense, Subversion-GUI oder eingebaute Debugger mit sich. Leider habe ich bisher keine IDE kennengelernt, mit der ich rundum zufrieden sein konnte. MOnsDaRhttp://www.blogger.com/profile/01056330233127886297noreply@blogger.com0tag:blogger.com,1999:blog-5301574909003702391.post-91152976223219608752010-02-20T20:03:00.000+01:002010-02-20T20:03:36.866+01:00MediaMasher: Pluginframework läuftDie freie Zeit am heutigen Samstag habe ich genutzt, um ein wenig am MediaMasher zu basteln.
Assembla
Das Projekt hat schon seit einigen Tagen einen Space bei Assembla. Dieser wird derzeit primär als Subversion-Hoster genutzt. Später kann aber auch die Wiki-Funktion oder ein Bugtracker-System genutzt werden.
Falls sich jemand für den derzeitigen Stand interessiert, kann er HIER auf das MOnsDaRhttp://www.blogger.com/profile/01056330233127886297noreply@blogger.com0tag:blogger.com,1999:blog-5301574909003702391.post-35456731229983351562010-02-18T15:11:00.003+01:002010-05-20T08:26:37.194+02:00CMake und CTest - 'make test' geht nichtWill man sein Programm mit Hilfe des in CMake eingebauten Testtools CTest testen, kann man schnell über folgenden Fehler stolpern:
Nachdem man mit den Befehlen
enable_testing()
add_test(testName testExecutable)
die Tests definiert hat, kann man wie gewohnt das Projekt generieren.
Auch ein Aufruf von make und make install läuft fehlerfrei ab.
Doch leider ergibt die Eingabe von make test nicht MOnsDaRhttp://www.blogger.com/profile/01056330233127886297noreply@blogger.com0tag:blogger.com,1999:blog-5301574909003702391.post-54013794994715208582010-02-16T21:01:00.003+01:002010-02-16T21:04:38.453+01:00MediaMasher: Umsetzung via kioslaves?Ein Entwickler in #python.de machte heut den Vorschlag, so etwas wie MediaMasher doch mit den KDE I/O Slaves (kioslaves) zu lösen.
Doch was sind kioslaves? (es folgt eine einfache, technisch nicht 100%ig richtige Erklärung)
Unter KDE greift man mit dem Konqueror (Counterpart zum Windows Explorer) nicht direkt auf die Dateien des Dateisystem zu, sondern nur auf eine Zwischenschicht. Diese SchichtMOnsDaRhttp://www.blogger.com/profile/01056330233127886297noreply@blogger.com0tag:blogger.com,1999:blog-5301574909003702391.post-34897537123208495452010-02-16T16:51:00.007+01:002010-02-16T19:47:54.910+01:00Test: Syntax Highlighting in BloggerSobald es um Software-Entwicklung geht, ist natürlich auch vernünftiges Syntax-Highlighting nötig.
Glücklicherweise liefert Google uns hierzu diverse Möglichkeiten.
Entschieden habe ich mich schlussendlich für das auf JavaScript basierende Highlighting von Alex Gorbatchev. Auf seiner Seite findet man alle Informationen zur Einbindung in den eigenen Blog.
Hier ein Beispiel:
#include < iostream>
MOnsDaRhttp://www.blogger.com/profile/01056330233127886297noreply@blogger.com0tag:blogger.com,1999:blog-5301574909003702391.post-31627873299043457262010-02-16T13:34:00.002+01:002010-02-16T13:39:19.923+01:00Kurz Notiert - Merkwürdiges verhalten im Joomla BackendIhr könnt in eurem Joomla Backend keine Beiträge oder Ähnliches bearbeiten oder erstellen und das Menü ist nicht anwählbar? Da mir der Fehler auch öfters passiert, hier die Lösung: <!-- Article --> Dieser Fehler ensteht, wenn bei der URL die im Browser eingebeben wird, das "a" von Administrator groß geschrieben wird. Lösung: Anstatt: http://url/joomla/Administrator gebt Ihr: http://urlanysniperhttp://www.blogger.com/profile/14934691814651286285noreply@blogger.com0tag:blogger.com,1999:blog-5301574909003702391.post-4139505811329593352010-02-15T21:03:00.006+01:002010-02-15T21:12:44.486+01:00ping.py - Portable Ping mit PythonHIER habe ich ja schon darüber berichtet, dass in unregelmäßigen Zeitabständen mein Heimnetz abraucht.
Um nun mal zu prüfen, zu welcher Uhrzeit und nach welcher Dauer das Netz verschwindet, wollte ich mit einem Tool zwischen 2 Hosts pingen und mitloggen, wann die Verbindung nicht mehr möglich ist.
Ich erhoffte an dem Ergebnis zu sehen, ob das Netz immer zur selben Uhrzeit ausfällt und MOnsDaRhttp://www.blogger.com/profile/01056330233127886297noreply@blogger.com2tag:blogger.com,1999:blog-5301574909003702391.post-54798361409905676802010-02-15T15:38:00.005+01:002010-02-15T21:35:53.656+01:00Spam vermeiden mit GMailGoogle bietet mit seinem Email-Dienst ein kaum bekanntes, aber sehr nützliches Feature:
Eine Mailadresse wie user@gmail.com kann beliebig durch einen Suffix erweitert werden. Dieser Suffix beginnt mit einem '+'.
Das heißt, dass Emails mit dem Ziel
user+suffix@gmail.com oder
user+irgendeintext@gmail.coman den Account user@gmail.com weitergeleitet werden.
Wird man bei der Registrierung MOnsDaRhttp://www.blogger.com/profile/01056330233127886297noreply@blogger.com0tag:blogger.com,1999:blog-5301574909003702391.post-43812895168227897062010-02-15T15:30:00.005+01:002010-05-20T08:27:03.150+02:00Verschachtelte Ajax RequestsHeute bin ich beim Programmieren auf einen Fehler gestoßen der wohl nur Ajax Anfängern passieren kann.
Ich wollte innerhalb eines Response Handlers einen erneuten Ajax Request ausführen.
Dies führte zu einem sehr undurchsichtigem verhalten der Anwendung.
Zunächst dachte ich ich hätte einen Bug in FireBug gefunden. Dem war aber nicht so.
Ich habe einen tödlichen Fehler begangen und alle Requestsanysniperhttp://www.blogger.com/profile/14934691814651286285noreply@blogger.com0tag:blogger.com,1999:blog-5301574909003702391.post-79275217941999391492010-02-15T13:26:00.001+01:002010-02-15T13:29:40.843+01:00Hello World ²Hallo Zusammen,möchte mich auch einmal kurz vorstellen.Ich arbeite in der selben Firma wie Monsdar als Webentwickler.Habe also beruflich und privat mit allem was Ajax, XML, PHP usw. angeht zu tun.Täglich stolpere ich in diesem Bereich auf Probleme die sich nur durch sehr viel Recherche lösen lassen.Um euch diese Arbeit zu ersparen werde ich hier Lösungen für Probleme posten die ich während meineranysniperhttp://www.blogger.com/profile/14934691814651286285noreply@blogger.com0tag:blogger.com,1999:blog-5301574909003702391.post-55016232287420383542010-02-14T14:02:00.013+01:002010-02-14T14:18:07.236+01:00Netzwerk-ProblemeUm alle Geräte in meiner Wohnung miteinander zu vernetzen und ihnen Internetzugang zu ermöglichen, habe ich mir vor einigen Monaten einen Netgear WNR2000 Wireless-Router zugelegt.
Derzeit hängen in diesem Netz bis zu 7 Geräte:
Art Modell Betriebssystem
Medien-PC eeeBox B206 Windows XP
Laptop ASUS N50V Kubuntu 9.10
Netbook eeePC MOnsDaRhttp://www.blogger.com/profile/01056330233127886297noreply@blogger.com0tag:blogger.com,1999:blog-5301574909003702391.post-40932928960211162972010-02-13T22:36:00.004+01:002010-02-13T22:40:37.920+01:00Integer Overflow in Python?Beruflich bedingt habe ich bisher fast ausschließlich Erfahrungen mit streng typisierten Sprachen wie C++ oder C# gesammelt.
Im Unterschied zu diesen Sprachen muss man bei Python den Datentyp einer Variable nicht angeben. Doch was passiert, wenn man eine Variable mit einem Integer füllt und diesen über 32bit hinaus befüllt?
Dank des Interactive Mode des Python-Interpreters kann man das schnell MOnsDaRhttp://www.blogger.com/profile/01056330233127886297noreply@blogger.com0