January 2013
2 posts
Moving To Blogger
I will be logging at http://weblog.hataewon.com. Old entries from here will be gradually copied.
2 tags
Qmind 0.0.10
Over the last two weeks I found some time to work on my small Cocoa project Qmind, a mind-mapping app for OS X:
Finally, arrow keys can be used to change the selection. And icons can be inserted. However, the deletion of icons will come in version 0.0.10 + X, where X > 0.
December 2012
15 posts
1 tag
1 tag
1 tag
Removing Multiple Entries From "Open With"
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.fram ework/Support/lsregister -kill -r -domain local -domain system -domain user
Then, relaunch Finder.
1 tag
Node.js Static HTTP Server
Since http://qvacua.com consists of only static files, the following node.js static HTTP server comes in handy
HOST = null; // null => localhost
PORT = 8000;
HTTP_STATUS_OK = 200;
HTTP_STATUS_NOT_FOUND = 404;
var http = require("http"),
url = require("url"),
path = require("path"),
fs = require("fs");
function writeNotFound(response) {
...
1 tag
Anema E Core Trattoria
Lohengrinstraße 11, 81925 München, Germany, anema-e-core.com
J: Pizza with vegetables, C+
T: Saltimbocca alla Romana (Kalbsmedaillons mit Parmaschinken und Salbei), B
1 tag
2 tags
Mocking Class Method in Objective-C
Once in a while, when testing your Objective-C code, you want or have to mock a class method. Or you want to replace the implementation of a class method. The following code replaces the implementation of originalClassMethod of SomeClass with the implementation of mockClassMethod of MockClass:
Method mockMethod = class_getInstanceMethod([MockClass class], @selector(mockClassMethod));
IMP mockImpl...
1 tag
1 tag
Git Submodule Cheat Sheet
Adding a new submodule git submodule add git://URL/TO/SUBMODULE.git SUMMODULE_NAME
Getting, ie downloading, the newly added submodule git submodule init
Updating all submodules git submodule update
Make changes to a submodule cd SUBMODULE
git checkout master (or whatever branch you want to edit)
code ... code ... code ...
git commit
git push
cd .. (go to the parent repo)
git commit...
1 tag
1 tag
1 tag
1 tag
1 tag
2 tags
Wir werden ihm, diesem unseren Staat, das geben, dessen er bedarf. Seine...
– Willy Brandt, 12. Oktober 1972
November 2012
6 posts
2 tags
Chief among these was the stoning to death of adulterers, a punishment which has...
– Reza Aslan, No god but God
1 tag
Gyges und sein Ring, Residenz Theater München
Gähn…
2 tags
Continuous Integration for Cocoa Reloaded
First do the following:
Open the “Manage Schemes…” dialog and check “Shared” for schemes you want to have available for Jenkins. Xcode generates “xcshareddata” folder inside the xcodeproj file.
Open “Build Settings” for the test target and set “Bundle Loader” and “Test Host” to blank by deleting them.
Create a...
1 tag
3 tags
October 2012
6 posts
2 tags
New Objective-C Boxing Rocks!
The new boxing feature of the Objective-C runtime rocks! In tests, for instance, I don’t have to write
assertThatBool([obj someBoolReturningMethod], equalToBool(YES));
but I can write the following
assertThat(@([obj someBoolReturningMethod]), is(@(YES)));
Note that I’m using OCHamcrest or my fork which can handle NSSize, NSRange, NSRect and NSPoint. My fork is probably broken for...
2 tags
A Review of Windows 8
A funny article about the soon-to-come Windows 8 at arstechnica.com
[…]
That’s right—I gave my sick wife a brand new operating system and an updated Office suite to use with 5 minutes of training. I’m surprised she didn’t call a divorce lawyer.
[…]
1 tag
Secretary’s Revenge:
Filing almost everything under...
– $ fortune
3 tags
Gangnam Style in der Süddeutsche
Die Süddeutsche über Gangnam Style:
[…]
Psy verkörpert all das, was Südkoreas Bürokraten ablehnen. Mit einer Ausnahme: Er hat im Ausland Erfolg. Eine konservative Zeitung befand daher, Psy sei der ‘am besten vermarktbare Kulturexport Südkoreas. Der linke Hankyoreh spottete, das rechte Blatt habe nicht einmal Psys Ironie kapiert.
Respekt vor der Süddeutsche, dass sie Hankyoreh...
1 tag
1 tag
How to Get CPU Model Name on OS X
To get the model name, e.g. i7-3667U, out of OS X, issue the following in Terminal
sysctl -n machdep.cpu.brand_string
September 2012
4 posts
1 tag
1 tag
In Potsdam for d.confestival!
1 tag
Tidying up the MacPorts installation
Delete all intermediate files, inactive things, etc. of MacPorts.
port clean --all installed
port -f uninstall inactive
rm -Rf /opt/local/var/macports/build/*
rm -Rf /opt/local/var/macports/distfiles/*
rm -Rf /opt/local/var/macports/packages/*
August 2012
3 posts
4 tags
Continuous Integration for Cocoa using Jenkins,...
Outdated: See Continuous Integration for Cocoa Reloaded
Some time ago, I wrote about how to use Jenkins for Cocoa/iPhone projects. Back then, I used GHUnit which can produce JUnit test results XML files. Recently, I found OCUnit2JUnit which converts OCUnit results to JUnit result XML format. Thus, no more GHUnit. Do the following
xcodebuild -target NAME_OF_TARGET -configuration Debug clean test...
4 tags
How to Use Subprojects with Xcode and Jenkins
Assume, you have an Xcode project Parent and another project Child, which is registered as a subproject of Parent. Let’s further assume that Child is registered as a Git submodule of Parent. Imagine that you want to use Jenkins for continuous integration for the project Parent. Do the following:
Make sure that xcuserdata folder in Parent.xcodeproj is included in the Git repository.
...
1 tag
July 2012
1 post
2 tags
Deutsche Telekom im Wahlkampf
Blogeintrag von nachdenkseiten.de
[…]
Ein beachtenswerter Fund der CRP-Studie fand in den deutschen Medien erstaunlicherweise jedoch gar keinen Nachhall – die Deutsche Telekom ist, hinter der Bayer AG, der größte deutsche finanzielle Unterstützer der Republikaner. Dies ist besonders pikant, sind die Republikaner doch aus europäischer Sichtweise vor allem wegen ihrer teils reaktionären, an die...
June 2012
3 posts
1 tag
Auto Save and Versions
Auto Save and Versions seem only to work in conjunction with the NSFileWrapper-using read/write method of NSDocument, ie
– readFromFileWrapper:ofType:error:
– fileWrapperOfType:error:
If you use only
– readFromURL:ofType:error:
– dataOfType:error:
then you get a warning that the file cannot be autosaved after having done the following:
Restore a version of the document
Modify the document
...
2 tags
Argument Captor for Objective-C
For my small projects Qmind and Qdesktop I needed a Objective-C counterpart of Mockito’s ArgumentCaptor. As far as I can see, OCHamcrest or OCMockito do not offer this functionality. Thus, I wrote an OCHamcrest matcher which does the job: ArgumentCaptor.zip
Example:
ArgumentCaptor *captor = argCaptor();
[someMock someMessage:someArgument];
[verify(someMock) someMessage:captor];
id...
2 tags
Ringelreihen in der Schlecker-Kita -...
Ein Artikel aus sueddeutsche.de
[…]
Wer glaubt, Schleckerfrauen könnten von heute auf morgen Erzieherinnen werden, der glaubt auch, Bergarbeiter könnten Versicherungsverkäufer oder Steinmetze Hebammen werden. Wenn sie das beweisen wollen, können von der Leyen und Schröder gerne vorangehen. Die Agentur für Arbeit hält da sicher ein paar interessante Umschulungen für sie bereit....
May 2012
1 post
2 tags
Qvacua
Qvacua is online!
The only Mac app you can download there is Qdesktop. Version 0.0, so, don’t expect too much. It lets you set an arbitrary web page as the desktop background of the main screen. Multi-screen support is to come. You can also use the file://... URLs to load offline web pages (or animated GIFs!). To interact with the web page, select “Toggle Background” from the...
April 2012
5 posts
Arme zahlen mehr für die Energiewende
Ein Artikel der FAZ
Danach sind die einkommensschwächsten Haushalte mit beinahe 1 Prozent ihrer verfügbaren Einkommen an der Stromförderung nach dem Erneuerbare-Energien-Gesetz beteiligt.
3 tags
Kauder Struck Again...
Sueddeutsche.de: http://www.sueddeutsche.de/politik/volker-kauder-vor-der-islamkonferenz-islam-gehoert-nicht-zu-deutschland-1.1336261
Der Islam ist nicht Teil unserer Tradition und Identität in Deutschland und gehört somit nicht zu Deutschland
OTL
2 tags
Old and New Display Panel of Munich Subway
Old:
New:
The new version shows more useful information, for example how long you have to wait for the next, next^2 and next^3 train. However, visually, I prefer the old one. Beautiful fonts, the shape being warmer, more appealing for my taste. The new version is too plain and cold. It kind of reminds me of Windows or the infamous BSOD.
2 tags
February 2012
6 posts
2 tags
AppCode, OCUnit, GHUnit, CI and All That
Outdated: See Continuous Integration for Cocoa Reloaded
I am using AppCode for not-so-daily Cocoa coding sessions. Therefore, I want to use its nice OCUnit integration—similar to the JUnit integration of IntelliJ. At the same time, I do not want to give up the CI integration of GHUnit. To combine both, I did the following.
Set up your GHUnit target denoted by ghunit.
Create a new OCUnit target...
1 tag
Zur Mittagsstunde von Neil LaBute, Residenz...
Krampfhaft…
2 tags
Continuous Integration for Cocoa
Outdated: See Continuous Integration for Cocoa Reloaded
Using GHUnit and Jenkins, it is quite straight-forward to set up continuous integration environment for Cocoa—also iOS—projects.
Set up GHUnit and write some awesome tests
Makefile (put this in the project root folder)
default:
# Set default make action here
# xcodebuild -target Tests -configuration MyMainTarget -sdk macosx...
2 tags
Analyzing Objective-C Code Using Jenkins
Outdated: See Continuous Integration for Cocoa Reloaded
Using Jenkins, you can automatically execute Clang’s static analyzer each time you commit to your local Git repository.
First, download the binary files, unpack them somewhere and install the Clang Scan-Build Plugin in Jenkins. Then, create a new free-style job with the following
[ -e clangScanBuildReports ] && rm -r...