Installing NVMe M.2 PCIe SSD on Windows 10 and make it boot

I got a Corsair Force MP510, a blazing fast NMVe M.2 SSD and I couldn’t get Windows 10 to boot from it. It succesfully installed all the time, but never decided to boot Windows 10 for me.

What a dissapointment, since the drive is so fast, I didn’t want to restort to an older SSD and didn’t give up. There is so much crappy advice on the web, including many times the advice to RMA the device. But that might be way too drastic I decided.

Finally, after lots of trying with Windows tools like bootrec and diskman, I decided it had to be some BIOS setting and I was right.

To install a NVMe M.2 PCIe drive, follow these steps:

  1. Make sure the M.2. is the only drive that can be found (disconnect all other drives or disable them in the BIOS)
  2. Boot into your BIOS (usually means pressing F1 or ESC during boot)
  3. Disable, or make sure it is disabled, CSM ( Compatibility Support Module) UEFI, you should find it in the Startup/Boot section of the BIOS
  4. Make sure Secure Boot is enabled
  5. Format your drive. This is e.g. possible by choosing repair this computer during Windows 10 Setup and then getting into the command line.
  6. Restart your computer
  7. Go into the BIOS again
  8. Enable CSM/UEFI
  9. Disable Secureboot
  10. Go into the installer and follow the steps
  11. Then go back into the BIOS and confirm that the Windows Boot Manager is listed with your new NVMe drive
  12. Enable Secureboot again and install the default (factory) keys
  13. Save and exit
  14. You should be good to go!
  15. Let us know if that helped you….
Posted in Uncategorized | Leave a comment

Install Netbeans 11 and skip Java Development Kit (JDK) not found error

Since Netbeans is my IDE of choice, it was one of the first things I installed on my new PC. running Windows 10. I went straight away with the latest Netbeans version, which was version 11 at that time. Unfortunately installing Netbeans 11 was a pain, I got stuck with the installer stating Java SE Development Kit (JDK) not found on this computer.

The installer hints that using –javahome you can point the installer to the folder where the JDK is installed. However that never worked for me as well. If you have the same issue with installing Netbeans 11, you might want to know there is a fix.

Step 1

Make sure you have Java SE installed. E.g download the latest version from this page.

Step 2

Download the installer for Netbeans (on Windows) and then nagivate to the file. Run the Windows command line (cmd.exe) as Administrator and then run this command:

{filename.exe} --extract.

You will notice that the installer will start to extract files without doing any additional checks (such as for the JRE/JDK/Java whatever requirements).

Step 3

After that, run the command:

java -jar bundle.jar

Now setup should start and guide you through all next steps

Posted in Uncategorized | Leave a comment

Terrible experience with BDO Groningen

For my company I hired an accountant in Groningen, The Netherlands. In my case BDO Groningen. They also advice on taxes but unfortunately don’t understand that their clients benefit from paying less taxes.

An advice I received was described too near in the invoice which resulted in not being able to deduct it from taxes as a cost.

After mailing a couple of times, the company never wanted to change the description in such a way that I could deduct it from taxes. While my company always plays by the rules, there were some good arguments why it could be changed, at least for part of the process.

The end result,  a whopping 1400 EURO extra in tax obligations. Thank you BDO Groningen…

Posted in Uncategorized | Leave a comment

WordPress 3.5 – Image / Gallery Media uploader to custom plugin / meta box (easy)

With this simple and relative short code you can add the WordPress 3.5 Media Uploader to your own plugins. It will return single or multiple images and returns them in a comma seperated list.

If you want to return other attributes then  monitor the attributes using the console.


jQuery('#image_button').click(function(e) {
 frame ={
 title : 'Add your title here',
 frame: 'post',
 multiple : true, // set to false if you want only one image
 library : { type : 'image'},
 button : { text : 'Add Image' },
 frame.on('close',function(data) {
 var imageArray = [];
 images = frame.state().get('selection');
 images.each(function(image) {
imageArray.push(image.attributes.url); // want other attributes? Check the available ones with console.log(image.attributes);

 jQuery("#imageurls").val(imageArray.join(",")); // Adds all image URL's comma seperated to a text input


<input type="text" name="imageurls" id="imageurls" />
 <input type= "button" class="button" name="image_button" id="image_button" value="Add Image(s)" />

Fixing WordPress error: An error occurred in the upload. Please try again later

I’ve been spending a considerable amount of time in fixing the WordPress error: An error occurred in the upload. Please try again later. I received this error when trying to add image upload functionality to my own custom plugin.

I had a hard time debugging and first focussed on the Javascript. Unfortunately I couldn’t find the cause of the error and nearly gave up.

Then I remembered the obvious. The media upload element uses Ajax for uploading and return information about the uploaded image.

I assume you have WP_DEBUG = true in your config file, if not, make sure to add it to wp-config.php.

After that, use FireFox or Chrome developer tools and monitor the Ajax requests. You’ll notice requests to admin-ajax.php and async-upload.php. By looking at the responses the error was obvious, there was a conflict with (in my case, the custom permalink plugin) which gave me notices in the Ajax response. When I changed some code, it was solved and uploading media worked great!

So if you want to debug the mentioned issue, then make sure to monitor the Ajax requests, you might find the cause. Good luck and feel free to ask in case you need help!


Google now also reports about old versions of software

When I logged in to Google Webmastertools today I was presented with a message that I’m using an old version of Vbulletin on one of my websites. Vbulletin is currently in the 4.x.x. version but in the 3.x.x versions there is still a maintained one, which we’re using. But it’s probably good that Google monitors for it as many outdated versions come with security vulnerabilities. I hope to update to the 4.x.x. branch soon but as our forum is rather large this is more than simply running the update script.

Leave a comment

WordPress wp_list_comments callback explanation

When working with comments you might want to drastically change the appearance of the comments. You can use a new comment template with

comments_template( '/my-comments.php', true )

which you call from the template where you want to list the comments. But if you want each single comment to be different, you can use the callback function of wp_list_comments.

You use wp_list_comments in your comments template. Default is comments.php in your theme function, but if you used the comments_template function from above, you have to look for that file (of course). You should see wp_list_comments like the The Loop on it’s own. It goes through all of the comments and lists them. With the callback you can modify The Comment Loop and totally make it to your own likings.

global $my_object;
wp_list_comments(array('type' => 'all', 'callback', array($my_object, 'my_custom_comments'));

I’m using classes in my plugins, hence the inclusion of the global, you can also put the function in your functions.php and simply remove the references to the object. Then you can create a function in your class or functions.php and start the fun:

function my_custom_comments($comment, $args, $depth){
        $GLOBALS['comment'] = $comment;

In it, you can use the Comments Tags which are listed here. Questions? I’m happy to help you a little further, so don’t hesitate to post!

Posted in Uncategorized | Leave a comment