My first experiences with Oracle MCS

Oracle Mobile Cloud Service (MCS) is a PaaS solution for creating mobile backends and connectors to mobile applications. I’ve done a workshop with it some time ago and you can read all about it at the Whitehorses Blog.

Time Machine issue: not able to activate time machine

What if you always use OS X Time Machine for your backups and find out that restoring doesn’t work as you hoped? I found out recently that the “Activate Time Machine” option didn’t work anymore. It was accessible in the menu, but clicking it did not give a response.

I scoured the internet for a solution, went through all my log files and even did a complete restore (fortunately that still worked!). Still, not being able to restore specific files, I tried a desperate last option: removing the Time Machine backup disk from the selected backup disks in the options, and re-adding it. The good thing is that Time Machine will resume backing up in the same sparse bundle. The best thing is, though, that restoring files from Time Machine works as it should. This problem gave me a lot of head aches and frustration, so I’m very happy I found this solution.

Check these great Oracle JET blogposts

I just want to bring some nice blogposts on Oracle JET to your attention. Oracle JET is a new Javascript Extention Toolkit (yes, yes: JET) from Oracle for interacting with Oracle products and Oracle Cloud services.

They are written by my colleague Herman Brunnekreef. This are the topics:

 Visualizing data with Oracle JET,

Routing and responsive Layout with Oracle JET,

Integrating Oracle Map in Oracle JET

Go check them out. My guess is more blog posts about the subject are coming up 🙂

Running XCode simulator results in “LaunchServicesError error 0.”

So, one moment you’re app was running fine in the simulator and the next moment you get an error saying  “The operation could not be completed. (LaunchServicesError error 0.)”

Bummer! When you check your logs (see ~/Library/Logs/CoreSimulator/CoreSimulator.log or ~/Library/Logs/CoreSimulator/[Device UDID]/system.log) you’ll find errors like “/<app name>.app did not have a CFBundleIdentifier in its Info.plist}”. And when you check your Info.plist all is fine there.

Don’t despair. You probably created a folder “Resources” in your Project Navigator. And while that’s a perfectly reasonable name for a project folder, XCode does not like that. All you have to do is rename the folder and chances are your project will run again.

Javascript keyboard events: the difference between keypress and keydown

Some things you learn the hard way. I was trying to catch some keyboard events in order to replace comma’s with dots in html input items and validating the input against a regular expression along the way. The results I got were at best confusing, but never as expected.

I did some reading on sites like, and found out there is a fundamental difference between the keypress and keydown event. This shows especially when catching the “.” “,” or decimal point (yes, the decimal point on your numeric keypad is another character!)

The next output is consecutively a comma, a dot, and a decimal point on the numeric keypad. The keydown and keyup event present values that are unexpected, like the ¼ character. Only keypress shows comma and dot as expected.

keydown keyCode=188 which=188 charCode=0 char=¼
keypress keyCode=44 which=44 charCode=44 char=,
keyup keyCode=188 which=188 charCode=0 char=¼
keydown keyCode=190 which=190 charCode=0 char=¾
keypress keyCode=46 which=46 charCode=46 char=.
keyup keyCode=190 which=190 charCode=0 char=¾
keydown keyCode=110 which=110 charCode=0 char=n
keypress keyCode=46 which=46 charCode=46 char=.
keyup keyCode=110 which=110 charCode=0 char=n

Remember this when getting unexpected results when grabbing key-events in your web application.

Provisioning to your device is now free with XCode for iOS

Maybe I’m a little late to the party, but apparently this information is known by not so many people.
Since XCode 7 you are now able to provision (or install) to your device without a paid developer account.

However, it may be possible that it still doesn’t work for you. In that case, try the following options, as mentioned in the release notes.

  • Accounts with expired Apple Developer Program memberships may not be able to use free provisioning. (20486606)

    Workaround: Create a new Apple ID and enter it into Xcode’s Accounts preference pane.

  • The list of teams displayed within Xcode’s Accounts preference pane may not update to show your new free provisioning team. (19775448)

    Workaround: Remove your Apple ID and add it again in Xcode’s Accounts preference pane.

IBM released a SWIFT language sandbox in the browser.

Just a few days ago, IBM released a sandbox for Apple’s SWIFT language, and it works in the browser. I think that’s great news, now there is a convenient and easy way for everyone to become acquainted with  SWIFT.

The news is also noteworthy because the site is announced only a few days after Apple put their money where their mouth is and made SWIFT available in the public domain. There must have been some collaboration between the two companies. IBM and Apple are working ever closer together. Remarkable, knowing that the two have been rivals for years.

I’d suggest you give it a try on In the upper left corner there are some sample projects to get you started. There is some more getting started on the IBM blog.

refreshing PL/SQL regions with AJAX in Oracle APEX

Not all regions in APEX can be refreshed using the PPR (partial page refresh) mechanism. Especially PL/SQL regions are difficult to refresh with AJAX.

Although… the fact that the HTML in a PL/SQL region is constructed in PL/SQL may be in your advantage. With the use of a tiny bit of JQuery and an application process, you will be able to update a region asynchronously. How? I’ve described that on the Whitehorses blog

It makes use of jQuery, an application process and the PL/SQL function you normally use in the PL/SQL region.

The latest Whitebooks: improving performance with OSB split-join and Behaviour Driven Development in Scrum

There are a couple of interesting new articles on the Whitehorses knowledge site. All in Dutch, but Google Translate can fix that for the none-Dutch speaking audience.

Remco Cats has written an article about Behaviour Driven Development, a new concept in Scrum. It should help reduce the amount of left-over testwork at the end of the scrum, and improve the communication in your team. Read here how Behaviour Driven Development works.

The article about OSB split-joins is written by Peter Holtland and explains how you can enrich your data during transformation using the split-join in OSB, and the performance improvement you get with this technique. Read all about the split-join here.

I already mentioned my own whitebook in the previous post, but if you haven’t found it yet, read about calling REST services and decoding JSON messages with some populair programming languages.

New article on Whitehorses blog: Webservices and JSON in Java, Go and Swift

I published a new article on the Whitehorses blog. It’s in Dutch!

It features the development of (mobile) clientapplications in Apple’s Swift Language, Java or Google Go, specifically  decoding JSON results from web services.

By using this site you acknowledge the use of cookies (which are mostly harmless, btw) More information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below you are agreeing to these settings.