pain, suffering, grief and lamentation

If you go ahead and use “–core-library” but are in fact
build­ing an appli­ca­tion, then be fore­warned that your appli­ca­tion
will still fail to build or run, at some point. Please be
pre­pared for angry cus­tomers who find, for exam­ple, that your
appli­ca­tion ceases to func­tion once they upgrade their oper­at­ing
sys­tem. You will be to blame for this problem.

If you are legit­i­mately using some code that hap­pens to be in a
core pack­age, then the eas­i­est safe alter­na­tive you have is to
repack­age that code. That is, move the classes in ques­tion into
your own pack­age name­space. This means that they will never be in
con­flict with core sys­tem classes. Jar­Jar is a tool that may help
you in this endeavor. If you find that you can­not do this, then
that is an indi­ca­tion that the path you are on will ulti­mately
lead to pain, suf­fer­ing, grief, and lamentation.

Ich liebe Entwick­ler mit Humor

Build and Analyze

Nach­dem ich jetzt nahezu eine Woche lang verzweifelt den Grund für eine Spe­icherzu­griffsver­let­zung bei meiner iPhone App­lika­tion gesucht habe hat mich ein Tipp von einem Fre­und auf den richti­gen Weg gebracht.

Xcode hat seit kurzem eine neue Funk­tion, Build and Ana­lyze. Diese Funk­tion analysiert die Anwen­dung nach Fehlern die sich erst nach dem Kom­pilieren bemerk­bar machen. In meinem Fall spuckte sie dies aus:

Build and Analyze

Nach­dem ich mit der Nase darauf gestoßen wurde war mir auch sofort klar dass das so nicht stim­men kann, aber irgend­wie habe ich es bisher immer überse­hen. Dauer der Lösung: 2 Minuten. Unglaublich.

Vie­len Dank an Frank für den Tipp.

HTTPS Datei Upload mit POST

Eine nette Auf­gabe kam heute auf mich zu … aus einem Pro­gramm her­aus eine Datei über eine Web­site per HTML-Formular auf einen Web­server laden, das ganze über eine HTTPS-Verbindung und mit Authen­tifizierung per Zertifikat.

Klingt eigentlich nicht so schwer … dachte ich zumindest.

Die Zer­ti­fikate aus dem Cer­tifi­cate­Store von Win­dows ausle­sen war auch rel­a­tiv ein­fach, der Upload per HTTP eigentlich auch … bis ich dann das Zielfor­mu­lar über die Zer­ti­fikatabfrage schützte.

Die Suche nach der Fehlerquelle hat dann einige Zeit gekostet, bis ich dann irgend­wann fest­stellte dass Apache es ein­fach nicht mag wenn man über eine SSL-Verbindung ohne Vorankündi­gung ein POST-Formular abschickt.

Die Lösung des Prob­lems war dann rel­a­tiv ein­fach, ein­fach vorher einen kurzen Seit­enabruf mit GET, dann den tat­säch­lichen Upload, zwis­chen­durch die Ses­sion nicht ver­lieren und voila…

X509CertificateCollection certs = new X509CertificateCollection();
MyCerts mycert = new MyCerts();
int num = mycert.Init();
for (int i=0; i < num; i++)
certs.Add(mycert[i]);
 
HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create(uri);
webrequest.ClientCertificates = certs;
webrequest.Method = "GET"
WebResponse response = webrequest.GetResponse();
Stream read = response.GetResponseStream();
read.Close();
 
webrequest = (HttpWebRequest)WebRequest.Create(uri);
webrequest.ClientCertificates = certs;
webrequest.Method = "POST"
webrequest.ContentType = "multipart/form-data; boundary=" + boundary;
// content zusammenbauen und senden

auf ein­mal geht es einwandfrei.

i810 Tray

Bei meinen Ver­suchen auf meinem Lap­top auss­chliesslich Linux zu benutzen habe ich ein kleines Tool geschrieben um einen schnellen Zugriff auf den exter­nen Anschluss der Grafikkarte zu haben.
Das Ergeb­nis ist hier zu finden: i810 Tray. Our online phar­macy is the per­fect resource for peo­ple to get their drugs with­out any has­sles or awk­ward­ness. buy cialis We work hard to make sure you save money every time you shop with us. buy lev­i­trabuy soma At our online store, you pay less and get more. buy via­gra