C++Guns – RoboBlog blogging the bot

08.09.2011

Mein digitales Thermometer

Filed under: Allgemein — Tags: — Thomas @ 20:09

Ich habe schon seit Jahrzehnten ein digitales Thermometer als Bausatz vom Conrad hier rumliegen. Jetzt hat es endlich ein Gehäuse bekommen. Und nicht nur das. Sogar zwei umschaltbare Eingänge mit LED Anzeige. Platz gefunden hat auch noch eine alte C-Control 1. Auch von Conrad. Das Gehäuse war übrigens mal ein 24V DC Netzteil für eine Brandschutztür in der Frankenstein Kaserne in Eberstadt, welches zufällig um 2003 den Weg zu mir nach Hause gefunden hat ;)

Nun kann ich wieder sehen, wie kalt es morgens ist. Es geht ja so langsam auf den Winter zu.

termometer

termometer2

06.09.2011

example to change the base instance of a derived object

Filed under: Allgemein — Tags: , , — Thomas @ 15:09

Man hat ein Array von Objekten einer abgeleiteten Klasse.
Da new[] nur den Default Konstruktor aufruft, kann man keine schon existierende Instanz der Basisklasse mitgeben.
Folgender Code zeigt, wie man die Basisinstnaz nachträglich ändern kann.


// example to change the base instance of a derived object
#include < iostream >
using namespace std;

class rawData
{
public:
double x;
};

class extendedData : public rawData
{
public:
int a;
};

int main ()
{
rawData *knoten = new rawData[2];
knoten[0].x = 0;

extendedData *knotenext = new extendedData[2];
knotenext[0].x = 1;
knotenext[0].a = 10;

cout << knotenext[0].x << endl; cout << knotenext[0].a << endl; // do the magic rawData *base = &knotenext[0]; *base = knoten[0]; cout << knotenext[0].x << endl; cout << knotenext[0].a << endl; delete[] knoten; delete[] knotenext; return 0; }

Ausgabe:

1
10
0
10

Valgrind:

kater@mintux:~$ valgrind ./a.out --leak-check=full
==7218== Memcheck, a memory error detector.
==7218== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
==7218== Using LibVEX rev 1854, a library for dynamic binary translation.
==7218== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==7218== Using valgrind-3.3.1-Debian, a dynamic binary instrumentation framework.
==7218== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
==7218== For more details, rerun with: -v
==7218==
1
10
0
10
==7218==
==7218== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 18 from 1)
==7218== malloc/free: in use at exit: 0 bytes in 0 blocks.
==7218== malloc/free: 2 allocs, 2 frees, 40 bytes allocated.
==7218== For counts of detected errors, rerun with: -v
==7218== All heap blocks were freed -- no leaks are possible.

Eigentlich hätte ich erwartet, dass man das alte Basisobjekt noch löschen muss. Aber anscheinend nicht :)

26.08.2011

Unwetter über Darmstadt

Filed under: Allgemein — Thomas @ 08:08

DAS war ein Gewitter heute Nacht. Bestimmt 100000 Blitze in den Wolken. Krasses Wetterleuchten. Als es dann weiter gezogen ist, konnte man auch die Blitze sehn. Hab ein paar Fotos gemacht :)

blitze1

blitze2

blitze3

blitze4

blitze5

Und hier von einem anderen Gewitter vor 2 Tagen:
blitz-6

Huch, was ist denn hier passiert

blitze1

21.08.2011

Windows installieren - Todesstrafe

Filed under: Allgemein — Tags: — Thomas @ 08:08

Hab mir ein Rechner ausgeliehen um mal nach 4 Monaten Portal 2 zu spielen. Einzige Bedingung: ich muss ihn neuinstallieren. Aber die original Windows XP CDs sind ja dabei. Kein großes Ding oder? Weit gefehlt.
Weil auf der original Festplatte Daten sind, die erst noch ins Backup müssen, hab ich eine andere Festplatte eingebaut. Mit dieser geänderten Hardware ist es mit der mitgelieferten Windows CD aber nicht mehr möglich zu installieren -_-

Das ist mir vor 6 Jahren auch mal mit Word passiert. FLÜCHE!

Aber als Student bekommt man ja ein Windows für umsonst per MSDNAA :) Ein XP Image ist nur 500MB groß. Und mit 2MBit ist das auch in einer halben Stunde runtergalden *schnarch* Warum bezahl ich eigentlich für ein 6MBit Anschluss?

Da CDs schon lange tod sind und mein DVD Brenner nicht mehr so toll funktioniert, möchte ich von einem USB Stick installieren. Um ein ISO Image auf ein USB Stick zu kopieren bietet sich das Programm unetbootin an. Das hab ich schon sehr oft für Linux Images benutzt. Aber heute wollte es einfach nicht funktionieren.

Also bestimmt eine Stunde gegooelt was es für alternative Tools gibt. Aber irgendwie nichts gefunden. Nur Foren Beiträge von irgendwelchen Leuten die über irgendwas reden. Naja, irgendwann hab ich doch eine Seitenlange Anleitung und ein Programm gefunden. Ach, das Tool von m$ selbst wollte noch nicht mal starten.

Also Iso entpacken, kopieren, booten, geht nicht. googlen, kopieren, booten, geht nicht. Fluchen. Pennen.

Am nächsten Tag hab ich mal nach der Fehlermeldung gegoogelt. Error 13 invalid blah blub. Natürlich findet man nichts. Nur irgendwelche Idioten die einen komplett falschen Fehler vermuten. Also direkt auf der GRUB Seite geschaut, was Error 13 bedeutet. In deren Dokumentation gibt es zwar ein Kapitel Fehlermeldungen, aber da steht, dass sie keine Fehlermeldungen haben. Bescheuert?

Irgendwann heute morgen ist mir dann aufgefallen, dass fast alle Datein im entpackten ISO Image 0kb haben. Und das ISO selbst ist nur 280MB groß. AHA! Hat mich das m$ MSDNAA Download Tool einfach mal belogen. Es war garnicht fertig mit laden. Es hat einfach mal mitten drin angefangen zu entpacken.

Also das ISO nocheinmal runterladen. Und entpacken, kopieren, booten, YEAH, formatieren, ARGL. 500GB brauchen etwa 100min. Und nein: quickformat funktionierte nicht.

Nagut, in der Zwischenzeit bilde ich mich mal etwas weiter. Künstliche Intelligenz ist sehr spannend.

So, nachdem die Festplatte 1.5h formatiert wurde gab es bei 99% irgendein Fehler. Welchen weiß ich nicht, wird einem ja nicht gesagt. Zum Glück hab ich das vorrausgesehen und noch eine alte 60GB Festplatte besorgt. Die ist nicht toll, aber sie geht. Und so installiert sich nun Windows nach 9h vorarbeit -_-

So nach 10h ist Windows installiert. Nur noch keine Treiber. Die muss man sich erst googlen. Und wie üblich fehlt mal wieder einer. Und dann geht die Netzwerkarte nicht. Link LED ist an, aber sie erscheint nicht im Gerätemanger. Auch nicht die Ersatznetzwerkkarte. Was machen eigentlich Leute die nicht so viel Ersatzhardware haben?

18.08.2011

4m lange Informatik Mindmap

Filed under: Allgemein — Thomas @ 14:08

Was man so alles lernen will/muss in seinem Informatikerleben ;)
Hier eine ausgedruckte, 4 Meter lange Übersicht.

mindmap informatik
mindmap informatik2

Poster erstellen

Filed under: Allgemein — Tags: — Thomas @ 13:08

Mit dem Programm PosteRazor geht das ganze viel cooler. Mit Winzar. 5 Steps to your poster ^^
Einfach eine Rastergrafik (bmp, png, us.w.) laden, Seitenzahl einstellen und heraus kommt eine PDF Datei mit den einzelnen Seiten.
Bin begeistert :)

14.08.2011

DugJC-07-Algorithmische Geometrie

Filed under: Allgemein — Tags: — Thomas @ 09:08

Auf https://www.buha.info/board/showthread.php?p=401794#post401794 gibt es meine nächste Challenge für die DugJC von BuHa (Die übers ganze Jahr Challenge).

Viel Spass :)

DugJC-07-Algorithmische Geometrie.zip

07.08.2011

hex to int - 1 Byte

Filed under: Allgemein — Tags: — Thomas @ 10:08

uint8_t hex2int(char str[2])
{
for(uint8_t i=0;i<2;i++) { if(str[i] <= '9') str[i] -= 48; else if(str[i] <= 'F') str[i] -= 55; else if(str[i] <= 'f') str[i] -= 87; } return (str[0]<<4)+str[1]; }

04.08.2011

glxinfo badRequest (invalid request code or no such operation)

Filed under: Allgemein — Tags: — Thomas @ 13:08

glxinfo badRequest (invalid request code or no such operation)

Der Fehler kommt beim Aufruf von glxinfo. Hab eine ATI Readen X1300. Habe die Packete xserver-xorg-video-radeon und xserver-xorg-video-ati installiert. Version 6.13.1. Eine xorg.conf mit X -configure erstellt. Aber die GLX Fehler blieben. Erst nachdem ich das Packet libgl1-mesa-glx deintalliert hatte, ging alles auf einmal :) Es wurde nicht nur das Packet deinstalliert sondern gleichzeitig irgendwelche anderen installiert. Darunter libgl1-mesa-swx11. Kernel ist 2.6.38-8

Egal was es war, es geht nun :D

13.07.2011

OpenCV - Pixel format of incoming image is unsupported by OpenCV

Filed under: Allgemein — Thomas @ 10:07

HIGHGUI ERROR: V4L2: Pixel format of incoming image is unsupported by OpenCV
Unable to stop the stream.: Bad file descriptor

http://www.linuxquestions.org/questions/programming-9/opencv-pixel-format-of-incoming-image-is-unsupported-by-opencv-842801/

Einfach v4l2ucp installieren. v4l2ucp starten und Ergebnis ansehen. Wenn alles stimmt, das eigentliche Programm mit

LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so ./youropencvapp

starten

« Newer PostsOlder Posts »

Powered by WordPress