Online product recommendations using Hadoop

One of the leading portals on BigData, Dataconomy, had an interview with a colleague of mine on product recommendations systems. These are systems aimed towards personalizing content and recommending the ‘right’ products, in other words products that inspire customers. The article – The Science Behind the Finding the Perfect Product – is a nice read that covers quite some areas.

Stack of Hadoop nodesAt bol.com we use Hadoop for batches, and we have our own custom-built technology for the real-time part. The picture with this blog post shows some of the new nodes that were added to the Hadoop cluster yust this week.

This colleague also held a talk at BerlinBuzz 2014 on product recommendations. It covers quite some interesting stuff on a great case of the use of Hadoop and BigData in under 20 minutes:

Article on integration infra components published in OTech magazine

article OTech magazineDuring Oracle Open World 2013 OTech magazine was launched. OTech is a new independent magazine for Oracle professionals. The magazine’s goal is to offer a clear perspective on Oracle technologies and the way they are put into action. As a trusted technology magazine, OTech Magazine provides opinion and analysis on the news in addition to the facts.

My article in OTech magazine one of the most frequently asked questions is how to pick the right integration infrastructure component to solve the problem at hand.

Download the fall issue of OTech magazine.

Lean, agile and Software development reading list of 2013

In this blogpost I’ll share a list of books I read during the first six months of 2013.

Hadoop – The definitive guide

Hadoop the definitive guideThis book proved very useful to get an introduction and solid background in Hadoop. I was reading it a little before starting an enhancement of MapReduce code. This made it possible to better understand the production code and how to make the changes.

Hadoop The Definitive Guide (amazon) is recommended for anyone interested in Hadoop stuff.

Essential scrum

Essential ScrumWanted to read Essential Scrum to renew and deepen my theoretical knowledge of Scrum. This is a great read for that purpose!

I like the visuals that are used and set it apart from other books on the subject. Besides that I liked the MindMap-like figures that support the stucture in the chapters.

The scope goes beyond the core of Scrum and does that well. It also touches on subjects like Multilevel and Portfolio planning, The role of managers in Scrum context, and Product Planning.

This is a great follow up read for anyone with basic Scrum training or certification. It doesn’t just offer the big picture but both details and examples on how to become more agile. It will help you deal with the complexities of implementing and refining Scrum.

Thinking Fast and Slow

Thinking Fast And SlowThe aim of Daniel Kahneman the author of Thinking Fast and Slow is to enrich the vocabulary of people talking at a watercooler, where opinions and gossip are exchanged. He wrote this book to influence the way they talk about judgements and choices of others. He has succeeded. As Economist has put it: Kahneman shows that we are not the paragons of reason we assume ourselves to be. When you realise this it put you and the world around you in a different perspective.

Mr. Kahneman is a person that understands like no other on the planet how and why we make the choices we make. He knows how to share his insights! This is a great read for any curious mind, escpecially those with an interest in how and why we make choices.

This book will change the way you think.

Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement

Seven databases in seven weeksThe book Seven databases in seven weeks will take you on a tour visiting some of the hottest open source database today. This is typical software development reading.

It has a progressive style of offering insigts to databases and their capabilities. The open source databases covered are PostgreSQL, Riak, Apache HBase, MongoDB, Apache CouchDB, Neo4J, and Redis. These were chosen to span five database styles or genres: Relational, Key-Value, Columnar, Document and Graph.

This book is recommended for anyone looking for a solid introduction fo databases besides the traditional RDBMS. It will provide the knowledge you need to choose one database to suit your needs.

VirtualBox – Install Ubuntu 13.04

To install Ubuntu 13.04 in a fresh VirtualBox image, create a VirtualBox image as described in the blog post on installing Ubuntu 11.04 in VirtualBox. Focus on the Prepare Ubuntu install in VirtualBox section.

In the latest versions of VirtualBox you can choose multiple types of virtual disks (.vdi , .vmdk , et cetera). This is most relevant if you want to share your image across multiple virtualization platforms. If you have no specific requirements go with the default.

Install Ubuntu 13.04 in VirtualBox

  • Go to the settings of the newly created VirtualBox image;
  • In the storage section add an IDE Controller pointing to the installation disk: ubuntu-13.04-desktop-i386.iso for 32 bit or ubuntu-13.04-desktop-amd64.iso for 64 bit;
  • Ensure that you have asigned the VBox image enough processing power and memory;
  • Boot the installation iso by starting the VirtualBox image;
  • Watch Ubuntu 13.04 booting;
  • Choose your language and install Ubuntu;
  • After Ubuntu prepared it’s install and checks some stuff for best results, click Continue to go on with the installation;
  • In a new VirtualBox image you can safely choose to erase all stuff on disk and install Ubuntu (it will use ext4 as a file system);
  • Select the created VBOX Harddisk to do so. Choose install now;
  • Choose the location while Ubuntu continues creating the file system in the background;
  • While Ubuntu keeps copying files choose your keyboard layout;
  • Choose your name, the computer’s name, your username and password. For additional security you choose to encrypt your home folder;
  • Restart the Virtual Machine and log in;

VirtualBox Guest additions

The screenshots in the gallery also show how to install the VirtualBox guest additions in Ubuntu 13.04. Check this post for more details to install Vbox guest additions to install the VirtualBox guest additions.

VirtualBox solved VERR_VMX_MSR_LOCKED_OR_DISABLED

VirtualBox Manager VERR_VMX_MSR_LOCKED_OR_DISABLEDWhile creating a Ubuntu 12.10 machine VirtualBox I ran into an error – VirtualBox VERR_VMX_MSR_LOCKED_OR_DISABLED – on my company issued HP ProBook. This halts the startup process of the virtual machine. You won’t be able to use it.

Here is the complete log and a screenshot:


Failed to open a session for the virtual machine Ubuntu 12.10.

VT-x features locked or unavailable in MSR. (VERR_VMX_MSR_LOCKED_OR_DISABLED).

Result Code: E_FAIL (0x80004005)
Component: Console
Interface: IConsole {db7ab4ca-2a3f-4183-9243-c1208da92392}

I remembered that there were issue were issues with HP bios from the VirtualBox FAQ using ENABLE VT-X/AMD-V:

some HP BIOSES have a glitch, When You ENABLE VT-X/AMD-V, You DISABLE it, so do try both ways.

VirtualBox Enable VT-x AMD-VSo the first solution I tried was to uncheck the box to ENABLE VT-X/AMD-V. That solved my problem. Now VirtualBox was able to start my Ubuntu machine. Check the screenshot how to disable (or enable the) VT-X/AMD-V setting.

Yep, I know this is against the advice I gave to improve VirtualBox performance. However I need it on this hardware to get my machines running…

Upgrade iPad2 to iOS6.1 screenshots

Apple updated iOS to 6.1. The update of the iPad to iOS 6.1 can be started from iTunes or directly in the Settings app (General -> Software Update).

On Apple’s support pages, it is stated that the new version will have:

  • LTE support for more carriers (complete list of supported carriers at Apple on LTE
  • Purchase movie tickets through Fandango with Siri (USA only)
  • iTunes Match subscribers can now download individual songs from iCloud
  • New button to reset the Advertising Identifier


There was a small language issue on the slide to unlock page in the Dutch version (see screenshot 4).

Amazon’s best sold laptop runs Linux

Amazon’s best sold laptop runs Linux! And I must admit that I was surprised to discover this today. It has been the for almost three months today.
Amazon best sold laptop runs LinuxAmazon best sold laptop runs Linux

It’s Samsung’s ARM-powered, Linux-based Chromebook. This laptop has at least three great advantages:

  • It is cheap. There is no laptop in Amazon’s top-20 that can compete based on price. It’s even hard for tablet to be cheaper.
  • It is easy. Anyone that can use a web browser should be able to use the Chromebook. There is learning curve.
  • Although it runs Linux, you have to try hard to find that. Unlike with Windows 8 you don’t have to relearn how to use your laptop. Same goes for those moving from Windows to OSX. Even there is more learning involved.

Think about how you are using your laptop most of the time: If you spend 90% of your time using the web the Chromebook might be something for you. Especially if you are using software-as-a-service or Web apps most of the time. On the other hand if you need special programs that require Windows or OSX this probably won’t work for you. Right now you might want to check ZDnet’s review of the Samsung Chromebook.

Maak in 3 stappen een webshop met de bol winkelwidget (dutch)

Als je je bij bol.com aanmeld als partner kun je in drie stappen een webwinkel in elkaar klikken. Hiervoor gebruik je de zogenaamde Bol winkelwidget.

  1. Kies menu-items. Per menu item kun je op basis van een selectie van producten, of een bol.com categorie of een zoekopdracht binnen bol.com een selectie van producten weergeven.
  2. Selecteer het uiterlijk. Je kan op dit moment kiezen uit 3 kleuren thema’s, 3 lay-outs voor het producten overzicht en een naam en logo kiezen.
  3. Koppel de webwinkel aan een van je websites en zet de code als div / iframe op je webpagina of gebruik een unieke link.

Zie de onderstaande screenshots voor het maken van een webshopmet de bol winkelwidget en bekijk het resultaat – de deltalounge webwinkel:

Forrester on Dynamic Case Management Q1 2011

What Oracle and some other BPM and ECM vendors call Adaptive Case Management – ACM – is called Dynamic case management by Forrester and others. The notion of a case and the need for these systems emerge from requirements elicited by existing Business Process Management (BPM) and Enterprise Content Management (ECM) implementations. Forrester states:

We found a clear recognition that older process automation approaches based on traditional mass production concepts no longer fit an era of peolple-driven processes.

Types of Dynamic Case management

Forrester uses a division in three categories of Case Management:

  • Investigative – Examples are Audit request, Fraud detection and regulatory queries. All these are aiming at risk mitigation and cost control.
  • Service Request – Think claims, customer service, underwriting and customer onboarding. Processes like these are aimed at customer experience and risk mitigation.
  • Incident management – Think managing complaints, order exception and acute helth care. This categorie is aimed at customer experience and cost control.

Dynamic Case Management extends BPM

In contrast to traditional BPM products, DCM software supports:

  • The ability to run multiple procedures against a given case of work – An individual case instance can be influenced by multiple processses.
  • The ability to associate different types of objects with a case – A set of data (structure, unstructured, assets, customers calls, etc) provide the context for an individual case.
  • Mechanisms that allow end users to handle variantion – Humans working on the case use their skills and expertise to interpret what is needed to handle the case and see the results of this reflected in the supporting system.
  • Mechanisms to selectively restrict change on a process – Certain lock down of change on certain assets is required due to compliance on one hand and facilitating goal-centric behavior on the other hand.

Beware of the untamed processes

In every organization there are several to loads of untamed processes. With a growing demand to track these, meet compliance regulations and gain insight on their effectiveness (and efficiency). Dynamic Case Management aligns with these untamed processes since they support:

  • both structured and unstructured content
  • both human and system controlled processes
  • facilitating khowledge and expert guidance

Forrester Wave - Dynamic Case Management q1 2011DCM has very strong point when bringing flexibilty and manageability together. It provides visibility and control for tasks that have to be performed. Key drivers for the DCM initiatives are both agility and traceability.

Oracle and ACM

As Forrster states: Many ECM and BPM tools form the basis for Dynamic Case Management solutions. With PS6 and release 12c of the Oracle BPM Suite, Oracle will take a leap into Adaptive Case Management segment as they call it. Check the other vendors in the Forrester Wave for Dynamic Case Management.

Configure BPM engine to publish to BAM

By default the Oracle BPM engine (Business Process Management) is configured so it won’t publish events to BAM (Business Activity Management). So should you choose to use BAM and use these great dashboards, you have set the DisableActions property to false/empty. Here is how it works to configure BPM to BAM:

  • Log in to the Fusion Middleware Control – http://bpm-host:7001/em
  • Navigate through the Farm – WebLogic Domain – select the domain and then select the Server in which BPM is running (soa_server1 in a default install)
  • Use the WebLogic Server dropdown menu as shown in the first screenshot
  • Select the System Mbean browser in the menu
  • Expand the folder ans shown in the second screenshot: Application Defined MBeans - oracle.as.soainfra.config - BMNNConfig - bpmn
  • Find the DisableActions property and remove it’s value
  • Apply the changes