2012
26
Jan

Was Ihr Euch entgehen lasst.

geschrieben am 26.01.2012 in Mittelalter von Ganayan · 0 Kommentare

Wir boten Euch Hingabe, atemberaubende Kämpfe und ein beeindruckendes Bruchenballturnier. Feuer, Folter und Tänze. Atmosphäre und Entspannung.

Im Jahre 2011 leider das letzte Mal. Heute erfuhren wir – das Eynevolk – dass wir in diesem Jahr nicht mehr auf dem W:O:A gebucht sein werden.

Es war jedes Mal eines der Highlights unseres Jahres – ein Erlebnis, das uns fehlen wird.

Doch – unterkriegen lassen wir uns niemals! Die ersten Termine für die kommende Saison stehen bereits fest – und wir freuen und auf Euch!

flattr this!

2012
17
Jan

Stop SOPA

geschrieben am 17.01.2012 in Datenschutz, Politik von Ganayan · 2 Kommentare

Morgen werden weite Teiles des Netzes, unter anderem auch die US-Wikipedia, schwarz werden. Um aufzurütteln und darauf aufmerksam zu machen was geschehen könnte, wenn der “Stop online Piracy Act” in den USA Realität wird. SOPA ist ein Gesetzentwurf, der die Interessen von US-Firmen über das Recht auf ein freies, unzensiertes Netz stellt und den Urhebern selbst Möglichkeiten bietet, national und international auf tiefer technischer Ebene in die Funktionsweisen des Netzes einzugreifen und Zensur zu betreiben.

Wie es für solche Vorhaben typisch ist, wird das weitläufige Mit-Füßen-treten von Freiheits- und Informationsrechten als Kollateralschäden akzeptiert, und hinter fadenscheinig legitimierte, großzügig eingeräumte Rechte der Bedarfsträger gestellt:

Das Netz kennt keine Ländergrenzen – und solche Einschränkungen betreffen stellen nicht nur unsinnige Eingriffe in die DNS-Infrastruktur dar, sondern betreffen jeden einzelnen Inhaltskonsumenten. Bildet Euch eine Meinung – und sucht nach Wegen, die Gesellschaft in eine Richtung mitzuentwickeln, die ihr vertreten könnt.

Update:

Ihr mögt keine Videos? Genießt die Zusammenfassung vom Oatmeal :)

flattr this!

2012
16
Jan

Gravity

geschrieben am 16.01.2012 in Hübschig von Ganayan · 0 Kommentare

Ich mag Spielzeug – und ich weiß, wie gemein es ist, mitten in der Zeit, in der so viele von Euch für Prüfungen lernen müssen, so etwas zu posten. Aber trotzdem :) Es ist toll und geekig – zwar leider in Flash aber, nun, vielleicht mag es ja jemand porten?

flattr this!

2012
14
Jan

Core Data Concurrency

geschrieben am 14.01.2012 in iOS Development von Ganayan · 2 Kommentare

Concurrency ist immer wieder eines der Themen, die ein Projekt um Längen komplexer machen, als es einem lieb ist – die frustrierendst sind während man sie implementiert (weil ein kleiner Denkfehler dazu führt, das Code, der einfach perfekt lief, einem um die Ohren fliegt) – und der macht, dass man “Heureka!” schreit, wenn alles geklappt hat :) Ein besonders gemeines Problem hatte ich immer mit CoreData-Zugriffen aus verschiedenen Threads.

Man muss viel zu oft große Mengen von CD-Objekten verändern, und durch die inherente Kapselung sind sie ein wunderbares Ziel für Parallelisierung. Ich habe mir für normale CD-Operationen eine Helperklasse geschrieben, die ich konsequent benutze – und heute habe ich nach stundenlanger Arbeit den Weg gefunden, diese Thread-Safe zu machen.

ManagedObject-Context

Es ist ein Graus, die Concurrency Programming Guides für Core Data zu lesen. “Jeder thread bekommt einen eigenen ManagedObjectContext, darf nur diesen manipulieren, und danach koordiniert man sich über NSNotifications und merged die Änderungen manuell”. Da stellen sich einem ja die Nackenhaare auf.

Deshalb empfehle ich, den ManagedObjectContext direkt so einzurichten, dass er Manipulationen nur innerhalb eigener privater Blocks akzeptiert – und das geht so:

1
__managedObjectContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSPrivateQueueConcurrencyType];

Vergesst nicht, dass dieser Context nun wirklich NUR aus eigenen Blöcken manipuliert werden darf. Wenn Euch das nicht passt, könnt ihr einen Child-Context mit einem anderen Typen erstellen – Child- und Parent-Kontexte mergen sich nämlich automatisch beim Speichern :)

Die Zugriffe auf den Context würde ich in einer Klasse kapseln, die nur CD-Transaktionen benutzt. Jede Transaktion, die man sich denken kann (CRUD von NSManagedObjects) bekommt eine Methode – in meinem Fall eine Klassenmethode – und führt diese in einem Block aus. So zum Beispiel:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
+(BOOL) objektExistiert: (NSString*) entityName mitEigenschaften: (NSPredicate *) predicate {
// Kontext von der AppDelegate, besorgen, wo er wie oben beschrieben erstellt wurde:
NSManagedObjectContext *managedObjectContext = [(AppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext];
__block NSMutableArray *mutableFetchResults; // Variable, die im Block verändert werden soll
[managedObjectContext performBlockAndWait:^{
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:entityName inManagedObjectContext:managedObjectContext];
[request setEntity:entity];
if(predicate != nil) {
[request setPredicate:predicate];
}
NSError *error;
mutableFetchResults = [[managedObjectContext executeFetchRequest:request error:&error] mutableCopy];
}];
return ([mutableFetchResults count] > 0);
}

Diese Methode liefert beispielsweise die Information, ob ein Objekt existiert, zurück. Beachtet, dass sie mit “performBlockAndWait” ausgeführt wurde, da der Rückgabewert von den Ergebnissen des Codes im Block abhängt. (void)-Methoden können asynchron mit der “performBlock:”-Methode ausgeführt werden.

flattr this!

2012
10
Jan

Sternenlicht

geschrieben am 10.01.2012 in Freunde, Persönliches von Ganayan · 0 Kommentare

Von zwei sehr lieben Menschen haben wir zu Weihnachten einen Besuch bei Starlight Express in Bochum geschenkt bekommen. Das war das zweite Musical, das ich in meinem Leben sah – und ich genoss es sehr  (das erste ist schon fast nicht mehr wahr – ich glaube ich war 12 Jahre alt oder so). Eingebettet war der Besuch in ein zauberhaftes Wochenende mit aufregenden Nächten und Rollenspielen :)

Ich war sehr angetan von der Aufmachung in Bochum: Das Ambiente der Location ist sehr stimmig, nur die Bar (die wir zuerst besuchten – wir hatten noch viel zu viel Zeit und wollten den Abend fein und gemütlich einleiten) beginnt 3m vor dem Haupteingang und teilt dort den Besucherstrom und verursacht Rückstau. Dafür knistert die Luft vor Erwartung :)

Die Show selbst war berauschend. Die Darsteller waren anmutig, talentiert und geschickt – es gab herausragende Stimmen und alles ließ mich den Fakt, dass Lieder nicht besser werden, wenn man sie Übersetzt (und darauf achtet, dass sie sich danach noch halbwegs reimen) überhaupt nicht als störend empfinden. Wir waren ganz einhellig der Meinung, dass es ein wundervolles Spektakel war – so wie es mir von Kuro, die es vor mir erlebte obwohl sie hunderte von Kilometern entfernt lebt, prophezeit wurde :)

Unsere Plätze, übrigens, hielt ich für einen Glücksgriff: Wir saßen extra nicht in einer der Inseln, in denen die Darsteller auf Rollschuhbahnen herumsausen und man sich in drehbaren Stühlen drehen muss um dem Geschehen zu folgen – sondern ein wenig erhöht außerhalb, so dass wir einen tollen Blick über das ganze Geschehen hatten.

Eine uneingeschränkte Empfehlung :)

flattr this!

2012
10
Jan

Sinnvolle design-patterns

geschrieben am 10.01.2012 in Development von Ganayan · 0 Kommentare

sind wirklich wichtig, gerade in größeren Projekten. Es lohnt sich, eine halbe Stunde darüber nachzudenken, wie man etwas umsetzt, bevor man damit beginnt. Konform zu den Dingen, die ich mir 2012 vorgenommen habe, tat ich das heute schon zum 2. Mal und ernte jetzt – viel früher als je erhofft, die Früchte dieser Arbeit in Form dessen, dass ich wunderbar leicht anpassbaren Code habe :)

Eine Joggingstrecke mit vielen Gerade, dazu J-Pop, sind ideale Begleiter dafür, sie in den Grundzügen zu entwickeln, die in die Länge gezogene Duschzeit danach, um sie zu festigen.

Nun kann ich nicht den ganzen Tag laufen und duschen – deshalb würde ich gern wissen, wo Ihr Eure besten Ideen habt! Also – wenn nach dieser überlangen Auszeit überhaupt noch Leser hier sind *lächelt*

flattr this!

2012
09
Jan

Resulotions

geschrieben am 09.01.2012 in Persönliches von Ganayan · 0 Kommentare
Die meine Entschließung des neuen Jahres - 1024 x shirt

Das neue Jahr begann wundervoll – mit lieben Menschen und Entspannung. Damit es so bleibt, möchte ich es auch mit ein paar Dingen beginnen, die ich mir vornehme. Die sind dieses Jahr zwar vielleicht ein wenig egoistisch, das ist aber, so glaube ich, in Ordnung, denn immerhin geht es ja um mich :)

Flexibleres Arbeiten

Seit einigen Monaten arbeite ich endlich wieder (und endgültig) vollkommen selbstständig. Die Gründung einer neuen Firma liegt hinter mir, die sehr gut anlief – und das möchte ich auch nutzen. Kein Binden an Orte und Zeiten mehr. Arbeiten wo ich möchte, flexibler sein und spontan Zeit für schöne Dinge finden – schlicht: Es nutzen, dass ich keinen Urlaub einreichen und damit haushalten muss. Ich bin fleißig, ich arbeite mengenmäßig wirklich nicht wenig – dann kann ich das doch auszugleichen versuchen, indem ich arbeite, wann und wo es mich glücklich macht.

Nicht nur coden

Ich bin der Letzte, der Softwareentwicklung nicht als kreativen Prozess ansieht, doch in letzter Zeit verschiebt sich mein Tätigkeitsspektrum so, dass ich das zu fast 100% tue. Das ist in Ordnung, ich bin gut darin und mache es gern, aber ein wenig Ausgleich kann nicht schaden. Ich werde dieses Jahr häufiger nähen – und zwar relativ regelmäßig am Donnerstag Abend, und auch nicht allein. Außerdem möchte ich bis zur anstehenden Mittelaltersaison noch ein größeres Projekt umsetzen: Den Bau einer Seildrehmaschine.

Weiter laufen

Dies hat ein wenig mit dem ersten Vorhaben zu tun, und ein wenig mit meinem Aussehen: Ich möchte viel mehr laufen (und auch weniger essen) – und deshalb werde ich das an jedem Werktag nun zwei Mal tun. Die Doppelte Strecke – aufgeteilt auf Mittags und Abends. So bekomme ich Mittags auch einen klaren Kopf und fühle mich für die zweite Hälfte des Arbeitstages gleich viel energiegeladener :)

Ich bin guter Dinge, diese Punkte durchhalten zu können und setze seit dem Jahreswechsel alles daran, sie in meinen Tagesablauf einzugliedern und Alltag zu machen – und ich freue mich, dass sich viele davon schon fein natürlich anfühlen.

flattr this!

2011
29
Aug

Noch dreimal Duschen…

geschrieben am 29.08.2011 in Events, Freunde, Mittelalter von Ganayan · 0 Kommentare

- dann ist wieder Wacken! Aber die Erinnerungen des W:O:A 2011 hallen noch wundervoll nach, und deshalb schwelge ich noch ein wenig in Ihnen bevor ich vom nächsten Jahr träume – bei dem dann hoffentlich alle, die dazugehören, dabei sind, und nicht ein besonders wichtiger Mensch fehlt.

Dafür bin ich einer der wenigen Menschen die mal so spontan von seinen Eltern auf Wacken besucht worden – was ich ganz großartig fand. Auch, dass die beiden viele meiner Freunde mal kennenlernten, meine Hobbys und meine Lebensart ein wenig mitbekamen – das fand ich wundervoll, und sie auch. Oh, ich bin einfach glücklich.

Wenn Ihr auch einen Einblick (mit einem Intro von @Diemen) mögt – hier gibt es ein paar bewegte Bilder:

flattr this!

2011
30
Jul

WackenPacken

geschrieben am 30.07.2011 in Events, Mittelalter von Ganayan · 0 Kommentare

Heute morgen geht’s auf nach Aachen um den 40tonner zu beladen – und schon Sonntag Nacht brechen wir auf :) Meine persönlichen Sachen zu packen habe ich natürlich wie immer ewig vor mir hergeschoben und bis gestern Nacht noch genäht – nun ist aber alles bereit.

Feiner als jede NATO-Rolle :p Oh ich freu mich so!

flattr this!

2011
27
Jul

Formalitäten und Freunde

geschrieben am 27.07.2011 in Events, Freunde von Ganayan · 0 Kommentare

Für diejenigen, die diese Woche noch arbeiten müssen, ist heute Bergfest – und Sonntag Nacht geht es los gen Norden :) Höchste Zeit also, dass unsere Crew-Formulare, mit denen wir die (viel zu labilen) Papier-Aktiven-Bändchen bekommen (die uns, so weniger hübsch sie sind, Zugang zu VIP-Duschen und -WCs gewähren und eine schöne Abkürzung direkt vor die Bühnen sichern – da nimmt man das doch gern in Kauf oder?).

Traurig ist es natürlich, dass einige Menschen dieses Jahr nicht dabei sein können, weil die grausame Welt ihnen wichtigere Aufgaben auferlegte. Eine werde ich ganz besonders vermissen und sicher ganz oft an sie denken – doch mit ihr darf ich ein paar Tage später das M’era Luna unsicher machen und alles wieder ausgleichen :)

Gleich schaue ich mir mal die offizielle W:O:A-Festival-App an und bringe mich in Stimmung – morgen wird noch einmal fleißig gearbeitet und der Freitag steht schon im Zeichen der Vorbereitungen *freu* Hach, ich kann es kaum erwarten :)

flattr this!