Aug 262015

With ulimit -n you can see what the maximum number of open files can be. As superuser you can change that -per session- with the ulimit command, but an ordinary user can not do that. Therefore, you need to change the /etc/security/limits.conf file. For instance:

* soft nofile 10000
* hard nofile 10000

Meaning that the hard and soft limit are now increased to 10000. I didn’t know that this does not change the limits for the superuser. The asterisk (*) is not intended to change superuser limits. Instead, repeat both lines, changing the asterisk to the word root. You might need a reboot for that, but that’s all.

I needed this for Neo4j and was surprised to see that normal users could have more open files than the superuser. No more, I say, no more!

Jul 302015

Today (well, technically yesterday) was the release day of Windows 10. I could have waited until Windows update would pick it up, but I forced it by downloading the Windows upgrade tool by Microsoft. The upgrade itself takes some time to complete, please be patient. On my laptop the process was smooth, and after a couple of restarts I was greeted with “Welcome back Reginald”. Nice touch Microsoft.

As far as looks go, nothing much changed since Windows 8.1 except for the start menu that made its comeback. In a good way. I like it.

Windows 10 also makes it possible to stream your gaming from the XBox One to your PC. And it works like a charm. Good work guys!


 Posted by at 00:16
Jul 242015

While searching for a way to find records in a table that best match what I’m looking for, I just discovered (Google is your friend) Oracle’s sys.odcinumberlist and sys.odcivarchar2list. Very nice functions to create in-memory tables.

SQL> select * from table(sys.odcivarchar2list('a',null,'b','c'));



Never too old to learn new tricks….

May 242015

Early this month I bought an XBox One. Basically to play the updated version of Diablo 3, since the XBox 360 version is “old” and won’t be updated anymore. A big sum of money, just to play one game, but I thought it was worth it. And….judging by my playtime on the PC (practically zero) it is.

Recently I bought Destiny (a game by Bungie) as well. Wow. What a beautiful game, but for a longtime PC gamer, doing FPS-like stuff on the controller is hard. Very hard. But still the game is playable, so I’m progressing albeit it slowly.
It’s quite different from what I ever played. Gear has levels (its levels up), so as you progress, your same gear can get better stats or abilities! Very nice. No need to trade in that trustworthy gun :-)
Bungie seems to have cancelled the crossplatform gaming, but even without that, it’s a brilliant game. There’s a trial, so why not check that out?

Destiny | Official Site

Mar 312015

You know how internet surfing works. You read something, click on some links, and finally you don’t even know where you came from. Anyways. That made me try WildFly, the AS formerly known as JBoss AS.

And you know the drill. Download zipfile, unpack, goto bin folder and start. Browse to localhost/something.

Can’t find the console. Well shit.

Do you have an NVidia videocard in your system, and did you install all the drivers and stuff? You probably have NVidia Networks Service as one of you running processes. Kill it. Now restart WildFly and browse to the console.

You’re welcome.

Jan 262015

I have a new job! I will start at IntellinQ at February 2nd (since the 1st is on a Sunday). My main concern will be the GeolinQ application, at first a requirement of the import-module and later more.

Today I met everybody in the company/team already, and look forward to working with all of them. IntellinQ is Rotterdam based (Vasteland 78, in the HNK Rotterdam building), so that will save me from the endless traffic jams I can never get used to.


Jan 162015

My ex-colleague and friend Wijnand asked me if I could do a little project together with him. It involves working with graph databases, in particular Neo4j. Graph databases are different from “traditional” relational databases in the sense that they support semi-structured data without predefining a datamodel. In a way that’s also the case for other NoSQL databases, but when referring to NoSQL databases most people will think of the ones that are used to stored documents of all types. That’s not what graph databases are for.

A graph database is typically used when the relationships between the data are as important as the data itself. Consider persons. I know a lot of other people. I love some of them. I have worked with more. “KNOW”, “LOVE” and “WORKED WITH” are relationships between persons. In a graph database you create nodes and link them with relationships. Relationships are directional and explicit. Unlike relational databases where you have to add constraints to enforce relationship-integrity, a graph database cannot have a stale/dangling relationship.
Back to the persons I know, love, and worked with (yes, an Oxford comma). Persons are not nodes, so in the graph database you label them with “person” or “Persons” (note: define a standard before wildly labeling nodes). A node can even have more than one label.

Another thing that makes graph databases so different is that relationships can have properties. Since when do I know my best friend? In what period did I work with Wijnand? When creating/defining the relationship between two nodes, you can give that relationship properties, on which you can search or filter at a later stage.

The main advantage of a graph database over a relational database is its speed. When you have data with a lot of relationships, relational databases will easily drop performance when it needs to join multiple large (lots of rows) tables. This is not the case with a graph database. It excels in joins. Because that’s what its engine is made to do in the first place. When just iterating through data, the relational database will probably win, but with a lot of joins, a graph database can make a huge difference.

For example. Create a persons table in your relational database. Make it so that you can have friends, colleagues or loved ones that are persons in the same table. Now query for all your friends that where also a colleague within a certain period. Good luck writing your hierarchical query :-)