3 Wochen – Status: supa :)

Gestern Abend vor 3 Wochen bin ich in New York angekommen und es kommt mir vor, als wäre es erst ein paar Tage her! Bisher vergeht die Zeit wie im Flug und außer einem Fahrrad – nachdem craigslist nichts gescheites ausspuckt, wird es wohl bikesdirect werden, sobald ein Kumpel mir gesagt hat, welches sich lohnt – habe ich auch eigentlich alles zusammen, was man so zum leben braucht :)
Ein wenig mehr Sport wäre angebracht, aber das passte zeitlich bisher nicht so wirklich :oops: Mal sehen wo und wie ich das in Zukunft unterbringe! Ansonsten gefällt es mir hier super! Die Arbeit macht viel Spaß und ich habe auch schon einige Leute kennengelernt mit denen ich regelmäßig was unternehme (danke an Ralf an dieser Stelle ;)). Ein paar Fotos könnte ich bei Gelegenheit mal machen, aber so wirklich aus Touri hier rumeiern… Ich weiß ja nicht… Mal schauen :mrgreen:

Chicken Wings & Whiplash @ UCB Theatre

CroxleysAls ich gestern Abend von der Arbeit nach Hause gekommen bin, fragte mich mein Roomie Matt, ob ich nicht Lust hätte später mit auf einen Standup-Comedy Event zu kommen. Meine Abendpläne hatten bis dato zwar eigentlich Essen & Entspannung vorgesehen, aber kostenlose Standup-Comedy einfach sausen zu lasssen? Nee :mrgreen: Essen musste allerdings trotzdem her und als seine Freundin dann kam, wurde ich “überredet” mit ihnen ins Croxleys zu gehen und Chicken Wings zu essen. Da ich vorher noch nie dort war, wusste ich natürlich nicht, dass man zu einem Getränk ab $4 (z.B. ein Bier ;)) Chickenwings für 10Cent/Stück bekommt! Bei dem Preis erwartet man natürlich nicht sehr viel aber sie waren echt richtig gut und wir haben uns zu dritt 40 Stück reingehauen ;)
Anschließend sind wir dann zum zum Whiplash ins UCB Theatre gefahren, wo u.a. Kumail Nanjiani, Hannibal Buress und Nate Craig aufgetreten sind. Mir waren zwar alle völlig unbekannt, aber der ein oder andere ist wohl doch etwas bekannter in den USA, vor allem durch Saturday Night Live. Gut bis sehr gut waren auf jeden Fall alle und wir haben ordentlich gelacht :mrgreen: Sehr interessant an der Sache fand ich, dass alles kostenlos war, während man bei uns ja eigentlich für jeden 0815-Comedian gleich ein paar Euro zahlen muss. Ich werde also bestimmt noch mal dort vorbeischauen, denn Whiplash ist jeden Montag ab 23h, wobei man sich ab aller spätestens 22.45h anstellen sollte, damit man noch einen Sitzplatz bekommt :)

Android & Multithreaded HTTP-Requests

During the last 3 days on my new job at Sense Networks in New York I was supposed to fix some issues in a project concerning multi threaded http requests in an Android application. At first I thought it’d be a pretty easy task even though I never really used HttpConnectionManager before. So I started reading a bit about it and created some classes, interfaces and stuff like that to have a nice and generic architecture for the project. In fact I am using the MultiThreadedHttpConnectionManager (httpclient-3.x) but Android calls it ThreadSafeClientConnManager as it’s called in the httpclient-4.x which is currently in an alpha stadium.
After the first steps of implementing and testing the test application was throwing exceptions and I just couldn’t figure out why. It seemed to be totally random, the exception as well as the time it shows up. So I started reading tons of different tutorials for Android as well as for the Java2SE httpclient. No one seemed to experience the same problem and I admit it felt a bit like doing some basic newbie stuff wrong without knowing about it. After hours of research and testing the “bug” was finally found and it still seems to be pretty stupid but when you think about it, I’d say it isn’t that stupid. From my point of view it’s something that should be handled by the virtual machine, so for Android by Dalvik:
The response of a http request contains and entity which provides access to the content in form of an inputstream and this content has to be consumed otherwise it’ll never be removed from the memory even if you close/abort the request. Funny thing about this: I read ~50 pages, tutorials and threads but just one mentioned that in a comment line…
As all my tests were just sending a request to the given uri and then checking out the StatusLine for a possible error code the the response was closed if no error code was sent and “everything was fine”. At least that’s what I thought. In fact the sockets were still open, waiting for the empty content of the response to be consumed. So after some requests the memory was full and trying to open a new connection or sending a new request ended up in different exceptions (e.g. Timeout, Unknown Host, Connection refused). After figuring this out, the fix was quite easy. Now, before closing the response, the program consumes the content – even if it is empty – and then the vm cleans it up as expected. No more exceptions and everything works fine :)

By the way, you might want to check out CabSense ;)

To get notified about new posts, just enter your email address on the right :)

Erste Arbeitswoche in NYC

Ausblick vom Office
Ausblick vom Office

Es ist schon ein paar Tage her, dass ich hier etwas gepostet habe, obwohl ich eigentlich wieder mehr posten wollte. Allerdings gibt es hier wirklich reichlich Ablenkung :)

Meine erste Arbeitswoche ist rum und mit Erstaunen musste ich feststellen, dass Karfreitag und Ostermontag hier keine Feiertage sind, ich also ganz normal arbeiten musste. Schlimm ist das aber nicht wirklich, denn bisher macht es richtig Spaß! Alle Kollegen sind nett und das erleichtert den Einstieg natürlich enorm, wobei mir das Arbeiten an einem Mac teilweise doch recht schwer fällt ^^ Mit meinem ersten kleinen Projekt war ich nach 3 Tagen fertig, habe somit die Feuertaufe gut überstanden und einiges an Lob für das Ergebnis bekommen. Ein rundum gelungener Einstieg also und ich hoffe, dass es so weitergeht :mrgreen:
Seit Donnerstag bin ich jetzt in einem (bzw 3) Android-Projekt(en) und habe schon einiges lernen können, auch wenn ich großteils noch damit beschäftigt bin die komplette Architektur zu verstehen. Ich hoffe natürlich auch hier einige Beiträge zu einem sehr guten Ergebnis liefern zu können ;)

Am Donnerstag war großer Releasetag, weshalb im Büro einiges los war. Einer der Chefs hat auf einer Konferenz (Where 2.0) das neuste Projekt CabSense vorgestellt und gleichzeitig landete es in den Marketstores von Android und Apple (iPhone & iPad). Die Nutzerzahlen bisher sind unglaublich und heute ist auch noch ein Artikel in der Druckausgabe der New York Times über das Projekt (online Version). Jetzt sind wir natürlich alle gespannt wie die Zahlen am Montag aussehen werden ;)

Das Bild oben rechts ist übrigens ein Teil dessen, was ich sehe, wenn ich im Büro aus dem Fenster schaue. Genauer gesagt ist das die Skyline vom Financial District, also NYC Downtown ;) Bei passender Gelegenheit nehme ich mal meine richtige Kamera mit und mache ein paar Bilder vom Sonnenuntergang und wie im Dunkeln aussieht. Vorweg kann ich aber schon mal sagen: es ist sehr beeindruckend :)

Ãœbrigens habe ich mir jetzt auch einen Twitter-Account zugelegt, falls mir also jemand folgen möchte: http://twitter.com/moritzp82 ;)