Home

Masterarbeit

Mittwoch, 9. Februar 2011 | Autor:

Ich habs noch gar nicht geschrie­ben: Ich habe jetzt ein The­ma für mei­ne Masterarbeit!
Was es genau ist, möch­te ich aller­dings nicht ver­ra­ten - da ist mir doch das Risi­ko zu groß, dass es nach­her einer goo­gelt und sei­ne Arbeit schnel­ler raus­haut als ich. Das kol­li­diert natür­lich mit der Idee vom frei­en Wis­sen, aber ein biss­chen garan­tier­te Aner­ken­nung möch­te ich eben auch für mich selbst haben.
Ich wer­de aller­dings die Arbeit, sofern es geht1, hier pos­ten, sowie ein oder zwei klä­ren­de Arti­kel für die 99,99999% Lai­en in der Welt.

  1. Die Uni hält auch ein Copy­right dar­an, glau­be ich

Thema: Informatik, Studium | 2 Kommentare

Ninja-Segfault

Montag, 7. Februar 2011 | Autor:

Letz­te Woche hat­te ich einen Bug, der mich 4 Stun­den und die ent­spre­chen­de Men­ge Ner­ven gekos­tet hat. Der Ori­gi­nal­code ist ziem­lich undurch­sich­tig, des­we­gen habe ich eine klei­ne, kom­pi­lier­ba­re Demo geschrieben:

#include <vector>
#include <stack>

class Blubb
{
	public:
		std::vector<int> * liste;
		Blubb() {
			liste = new std::vector<int>(10);
		}
		~Blubb() {
			delete liste;
		}
};

int main()
{
	std::stack<Blubb> stapel;
	Blubb blip;
	stapel.push(blip);
	return 0;
}

Wer meint, C++ zu beherr­schen, darf jetzt grü­beln, war­um die­ser Code einen Seg­fault wirft. Viel Spaß dabei! 😉 wei­ter…

Thema: Sezierte C++-Käfer | 2 Kommentare

Unique Content in Deutschlands Bloggerszene

Montag, 31. Januar 2011 | Autor:

Hol­gi1 mein­te heu­te bei NSFW, dass sei­nem Gefühl nach die wenigs­ten Blogs in Deutsch­land „Uni­que Con­tent” pro­du­zie­ren, son­dern im Wesent­li­chen nur wie­der­käu­en, was anders­wo pas­siert ist2. (Vol­les Zitat sie­he unten)

Das kann auch gut gehen - man­che Arti­kel kra­men wirk­lich span­nen­de Hin­ter­grund­in­fos aus und lie­fern neue Blick­win­kel, sodass die­se Bericht­erstat­tung an sich schon einen Wert hat3.

Aber davon mal abge­se­hen - wenn ich mir angu­cke, wer bei Wikio die Top-Blogs sind, sehe ich abseits der klas­si­scher­wei­se krea­ti­ven Kate­go­rien kaum Blogs, die aus sich selbst her­aus etwas produzieren.

Viel­leicht ist das ein­fach die Art, wie die Welt nun­mal ist - mit dem Sam­meln ande­rer Leu­te Con­tent gewinnt man nun­mal sehr ein­fach Nut­zer -  schön ist es trotz­dem nicht.

Dabei geht es auch anders! Bei Sci­ence­b­logs zum Bei­spiel gibt es immer wie­der all­ge­mein­ver­ständ­li­che Arti­kel zu den Grund­la­gen und For­schungs­vor­ha­ben der Fach­ge­bie­te der jewei­li­gen Blog­ger. Ande­res Bei­spiel, dass Hol­gi auch gebracht hat, sind Tims Pod­casts4, die wirk­lich eine ein­zig­ar­ti­ge Quel­le an Wis­sen bzw. Unter­hal­tung dar­stel­len. Aber es muss gar nicht immer pri­mär um Wis­sen gehen - auch pri­va­te oder beruf­li­che Erleb­nis­se kön­nen ein­ma­lig unter­halt­sam und lehr­reich sein!

Die Fra­ge ist immer: Gibt es etwas, dass ich aus genau die­sem Blog mit­neh­men kann, das für mich auch mor­gen noch einen Wert hat?

Was wäre, wenn alle Blogs eine Woche lang kei­nen Bezug auf ande­re Quel­len im Netz näh­men? Wenn alle gezwun­gen wären, selbst etwas Neu­es zu schaf­fen - selbst etwas zu ent­wer­fen, selbst etwas zu tun?

Update: Das vol­le Zitat aus NSFW021, ab 117:40sek: wei­ter…

  1. sie­he auch https://twitter.com/#!/holgi
  2. Ja, ich bin mir der Iro­nie hier bewusst. 😉
  3. Wenn das Wort nicht sei­tens der Pres­se so demons­tra­tiv ent­wer­tet wor­den wäre, wür­de man’s „Qua­li­täts­jour­na­lis­mus” nen­nen.
  4. zu denen auch NSFW gehört, sie­he oben

Thema: Gedanken zu Dingen | Ein Kommentar

Das Semikolon aus einer anderen Welt

Dienstag, 25. Januar 2011 | Autor:

#include "../../math/src/FInterpolation.hh"

/** Interface class for seed lines such as lines, curves, polylines. */
class SeedCurve
{
	public:
		virtual FPosition ipol(double t) = 0;
		virtual vector<FPosition> getPositions(positive number_of_seeds) = 0;
};

gibt eine Fehlermeldung:

SeedLine.hh:9:1: error: multiple types in one declaration

Meh­re­re Typen in einer Deklaration.

Der Aus­lö­ser für die­se Mel­dung ist sim­pel, aber viel­leicht nicht offen­sicht­lich: Nach der Dekla­ra­ti­on eines neu­en „Typs”, d.h. einer Klas­se oder eines Structs, wur­de das Semi­ko­lon ver­ges­sen - aller­dings nicht an der Stel­le, die die Feh­ler­mel­dung nennt! 😉 wei­ter…

Thema: Sezierte C++-Käfer | 2 Kommentare

Smartphones

Donnerstag, 20. Januar 2011 | Autor:

Ich über­le­ge schon seit zwei oder drei Jah­ren, ob ich mir ein Smart­phone holen soll -  die Din­ger sind ja schon irgend­wie cool. Ande­rer­seits… es gibt sowie­so schon über­all Inter­net: Zuhau­se, bei Freun­den, in der Uni. Nur ganz sel­ten den­ke ich „Jetzt Inter­net, das wär nett.” und noch sel­te­ner „Jetzt hät­te ich mobi­les Inter­net mal wirk­lich gebraucht!”

Ich weiß auch gar nicht, ob ich über­all online sein will. Wür­de es dazu füh­ren, dass ich nur noch im Netz hän­ge? Oder tritt viel­leicht das Gegen­teil ein - durch die gewon­ne­ne Mobi­li­tät könn­te ich mich schließ­lich auch von den gan­zen Rech­nern lösen?

Ich war vor nem hal­ben Jahr drauf und dran, ein HTC Desi­re zu kau­fen - um mir von dem Geld aus mei­nen SHK-Stel­len mal was zu gön­nen. Aber dann hieß es „Ver­füg­bar erst ab Mit­te August”, dann „Anfang September” …
„Mit­te Okto­ber” hab ich mir dann gesagt: Okay, wenn ihr nich wollt - behalt ich mein Geld eben.

Ande­rer­seits: Geld ist zum Leben da und solan­ge man es dazu nicht nutzt, ist es nur eine bedeu­tungs­lo­se Zahl auf einem Stück Papier.

Thema: Gedanken zu Dingen, Internet | 5 Kommentare

Lange Fehlermeldung, kleine Ursache

Mittwoch, 19. Januar 2011 | Autor:

/home/nico/code/FAnToM/src/visAlgos/StreakSurface/FStreakSurfaceAlgorithm.cc: In member function ‘void FStreakSurfaceAlgorithm::DCELtest()’:
/home/nico/code/FAnToM/src/visAlgos/StreakSurface/FStreakSurfaceAlgorithm.cc:245:43: error: no match for ‘operator<<’ in ‘std::cout << ((DCEL::HalfEdge*)((DCEL::HalfEdge*)((boost::intrusive::detail::add_const_if_c::type*)x.boost::intrusive::list_iterator::operator* [with Container = boost::intrusive::list_impl, (boost::intrusive::link_mode_type)1u, boost::intrusive::default_tag, 1>, long unsigned int, true> >, bool IsConst = false, typename boost::intrusive::detail::add_const_if_c::type& = DCEL::HalfEdge&, typename boost::intrusive::detail::add_const_if_c::type = DCEL::HalfEdge]

wei­ter…

Thema: Sezierte C++-Käfer | 2 Kommentare

Nerd-Nite

Freitag, 14. Januar 2011 | Autor:

Heu­te war Nerd-Nite in Leip­zig! Das Kon­zept besteht im Wesent­li­chen dar­in, sich unge­zwun­gen zu tref­fen und Vor­trä­ge anzu­hö­ren, die ande­re Nerds über ihr The­ma hal­ten. Das kön­nen Bei­trä­ge aus For­schung, Kul­tur, Steu­er­ge­setz­ge­bung, was auch immer sein - haupt­sa­che es ist inter­es­sant und man kann sein Wis­sen erwei­tern! Im Grun­de TED für Arme 😉

Heu­te war also so eine Nerd-Nite in Leip­zig. Ich bin noch vorm zwei­ten Vor­trag wie­der gegan­gen - aber fan­gen wir vor­ne an… wei­ter…

Thema: Leben und Erlebnisse | 2 Kommentare

Anti-Reflexionsfolie von Maoni

Donnerstag, 13. Januar 2011 | Autor:

Pass­sy hat sich neu­lich ent­spie­geln­de Folie für sein neu­es Con­ver­ti­ble geholt. Da muss­te ich sofort an mein eige­nes Note­book den­ken. Es ist ein ein Sam­sung R70 Aura und ich muss sagen, ich bin sehr zufrie­den damit - abge­se­hen vom Dis­play. Es hat eine Blick­win­kel­sta­bi­li­tät unter aller Kano­ne und es spie­gelt eben auch wie’s böse Tier. Also habe ich mir auch so eine Folie gegönnt! Näm­lich die­se hier von Mao­ni für 20€.

Bevor ich hier lan­ge rum­re­de - erst­mal ein Ver­gleichs­bild: wei­ter…

Thema: Reviews | Beitrag kommentieren

Cygwin Command History

Mittwoch, 12. Januar 2011 | Autor:

Ich benut­ze pri­vat Win­dows1. Trotz­dem hat man ja gele­gent­lich Bock auf ein Linux-Ter­mi­nal. Ich benut­ze da Cyg­win - das ist ein­fach zu instal­lie­ren und läuft pro­blem­los. Fast zumin­dest. Es ver­gisst lei­der beim Schlie­ßen die Com­mand Histo­ry2. Die­ser Thread hat mich dann auf fol­gen­des gebracht:

$ echo $HISTFILE
/home/Nico/.bash_history
$ ls -a
.              .bash_profile  .links      Kiwi_3d_MRT_endless.gif
..             .bashrc        .ssh        .inputrc       
CloseKugel

A-ha! .bash_history exis­tiert schlicht noch nicht! Legen wir es kurz an3:

$ cat > .bash_history

Fer­tig!4 Cyg­win erin­nert sich jetzt ses­si­onüber­grei­fend an unse­re Befehle!

Update: Ich weiß nicht, ob es an der letz­ten Aktua­li­sie­rung lag oder ich es vor­her nur nicht bemerkt habe: Das eigent­li­che Pro­blem liegt dar­in, dass man Cyg­win mit­tels exit been­den muss, statt das Fens­ter ein­fach zu schlie­ßen. Tut man letz­te­res, schreibt Cyg­win die aktua­li­sier­te .bash_history offen­bar nicht mehr auf die Plat­te - das führt dazu, dass beim nächs­ten Start eine neue, lee­re, .bash_history anlegt wird.

Man kann Cyg­win, genau­er gesagt bash, aber so ein­stel­len, dass es nach jedem aus­ge­führ­ten Befehl die Histo­ry spei­chert! Dazu muss man in der .bashrc die zwei­te der fol­gen­den Zei­len ein­kom­men­tie­ren5

# Whenever displaying the prompt, write the previous line to disk
# export PROMPT_COMMAND="history -a"
  1. War­um? Weils zuver­läs­sig funk­tio­niert - und wegen Pho­to­shop.
  2. Die­ses Ding, dass man mit der HOCH-Tas­te durch frü­her getipp­te Befeh­le blät­tern kann
  3. cat wird mit STRG+D been­det.
  4. Bei life­ha­cker gibt es noch mehr nütz­li­che Befeh­le u.A. zur Histo­ry!
  5. d.h. das „# ” ent­fer­nen

Thema: Software | Beitrag kommentieren

Constness of least Surprise

Donnerstag, 6. Januar 2011 | Autor:

Phy­sik­stu­dent Mar­tin K.1 hat mir wie­der einen net­ten klei­nen Bug zuge­tra­gen! Hier erst­mal der Codeausschnitt:

QList<qint32> countlist;
	//std::swap funktioniert nicht, daher manuelles tauschen
	int_swap = countlist.at(i);
	countlist.at(i) = countlist.at(j);
	countlist.at(j) = int_swap;
	string_swap = keylist.at(i);
	keylist.at(i) = keylist.at(j);
	keylist.at(j) = string_swap;

Und die Fehlermeldung:

wortliste.cpp: In function 'void quick_sort(QList<QString>, QList<int>)':
wortliste.cpp:49: error: assignment of read-only location 'countlist.QList<T>::at [with T = int](i)'
wortliste.cpp:50: error: assignment of read-only location 'countlist.QList<T>::at [with T = int](j)'
wortliste.cpp:52: error: passing 'const QString' as 'this' argument of 'QString& QString::operator=(const QString&)' discards qualifiers
wortliste.cpp:53: error: passing 'const QString' as 'this' argument of 'QString& QString::operator=(const QString&)' discards qualifiers

Viel­leicht mal ein paar Wor­te zum Lesen von Feh­ler­mel­dun­gen. wei­ter…

  1. Name nicht im Gerings­ten geän­dert.

Thema: Sezierte C++-Käfer | Beitrag kommentieren