zaterdag 12 december 2015

maandag 7 december 2015

Virtualbox draaien? Hyper-V uitschakelen.

Wanneer je VirtualBox gaat gebruiken, dan kan het je opvallen dat onder Windows 10 je geen 64 bit OS kunt installeren. Dat komt omdat Hyper-V ingeschakeld is onder Windows 10. Hyper-V is ook een virtual machine programma.

Uitschakelen gaat als volgt:
Rechter muisknop op je Windows 10 startknop. "Programma's en onderdelen" kiezen.
Vervolgens: "Windows onderdelen in- of uitschakelen.".
Alles onder node "Hyper-V" uitschakelen.

zondag 29 november 2015

WAMPserver op Windows 10

In Windows 10 is de World Wide Web publishing service automatisch aan. Deze moet uit om WAMPserver te kunnen laten werken op Windows 10.

Ga naar je startknop en rechterklik 'm. Kies Configuratie en dan Systeembeheer. Vervolgens Services en stop service World Wide Web Publishing en zet 'm op handmatig.

donderdag 26 november 2015

How to compress VirtualBox image

First, use sdelete from sysinternals to defragment your virtual system.
So, in your Virtual windows do:

sdelete -z c:

Then, exit the image and use:
VBoxManage.exe modifyhd "c:\path\to\thedisk.vdi" --compact

woensdag 11 november 2015

Effiproz is slow

Effiproz is an embedded C# database. However, a simple select count(1) from table is very slow when using cached disk tables. Almost a slow as selecting all the data in the table.

woensdag 24 juni 2015

C# IEnumerable werking zit soms in de weg

Het onderstaande is een console applicatie waarbij je kunt zien dat ik eerst een element vul en daarna uitlees. Echter de variabele is null bij het uitlezen. De reden is omdat IEnumerable iedere keer geëvalueerd wordt. In de foreach van de Uitlezen methode wordt dus nogmaals de x => x.TheDataAccessElement uitgevoerd waardoor de dbColumnNames dus weer null wordt.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IEnumerableTest
{
    public class BusinessElement
    {
        public string name;
        public string direction;

        public DataAccessElement TheDataAccessElement
        {
            get
            {
                return new DataAccessElement() { name = name, direction = direction };
            }
        }
    }

    public class DataAccessElement
    {
        public string name { get; set; }
        public string direction { get; set; }

        public List<string> dbColumnNames = null;
    }

    class Program
    {
        static void Main(string[] args)
        {
            List<BusinessElement> elements = new List<BusinessElement>();
            elements.Add(new BusinessElement() { name = "aap", direction = "asc" });
            elements.Add(new BusinessElement() { name = "noot", direction = "desc" });
            elements.Add(new BusinessElement() { name = "mies", direction = "desc" });
            Vullen(elements.Select(x => x.TheDataAccessElement));
        }

        public static void Vullen(IEnumerable<DataAccessElement> coll)
        {
            foreach (DataAccessElement da in coll)
            {
                da.dbColumnNames = new List<string>();
                da.dbColumnNames.Add("hoi");
            }

            Uitlezen(coll);
        }

        public static void Uitlezen(IEnumerable<DataAccessElement> coll)
        {
            foreach (DataAccessElement da in coll)
            {
                if (da.dbColumnNames == null)
                {
                    // Dit zou je niet verwachten, omdat je net in Vullen de dbColumnNames gevuld hebt.
                    Console.WriteLine("Dit zou je niet verwachten, omdat je net in Vullen de dbColumnNames gevuld hebt.");
                    Console.ReadLine();
                }
            }           
        }


    }
}

zaterdag 28 februari 2015

jsTree sucks , long live zTree

Het javascript component jsTree, te downloaden op http://www.jstree.com/  werkt niet.
Kortgezegd is jsTree asynchroon, maar biedt niet de mogelijkheden om te achterhalen of een update is uitgevoerd. Daardoor krijg je de vreemdste GUI problemen. Aangezien ik het component op verschillende pagina's BIJNA correct had, heb ik m'n uiterste best gedaan om 'm goed te laten functioneren. Maar op een gegeven moment ben je gewoon teveel events aan het afvangen en wordt het een troep. Nu is jsTree wel gratis, dus ik zal dat paard niet teveel in de bek kijken.

Deze blog is vooral bedoeld om een goed alternatief te promoten namelijk zTree. http://www.ztree.me/

Hierbij kun je kiezen of je een synchrone of asynchrone werking wilt. Ideaal en het functioneert perfekt. Ik heb een donatie gedaan, gewoon omdat ik na de slechte ervaring van jsTree een goede ervaring met zTree had.

vrijdag 6 februari 2015

Jquery deferred

var dF = function() {
    var deferred = $.Deferred();
    deferred.resolve("mik");
    return deferred.promise();
};

var dF2 = function() {
    var deferred = $.Deferred();
    deferred.resolve("mak");
    return deferred.promise();
};

var dArray = [ ];
dArray.push(dF());
dArray.push(dF2());

$.when.apply(this,dArray).then(function() {
    var i  = 0;
    for (i = 0; i < arguments.length; i++) {
        alert(arguments[i]);
    }
});

of zo:

var dF = function() {
    var deferred = $.Deferred();
    deferred.resolve("mik");
    return deferred.promise();
};

var dF2 = function() {
    var deferred = $.Deferred();
    deferred.resolve("mak");
    return deferred.promise();
};

$.when(dF(),dF2()).then(function(data, data2) {
    alert(data);
    alert(data2);
});

extra: 
.then actually creates a new deferred object and sends that to the chain. Since you didn't return anything from .then, the new deferred object has no arguments.

The most common use for .then is chaining ajax requests:

$.ajax({...}).then(function(){
    return $.ajax({...});
}).then(function(){
    return $.ajax({...});
}).then(function(){
    return $.ajax({...});
}).then(function(){
    return $.ajax({...});
});

Samsung SE-208GB regio unlock

Stel, je heb een Samsung SE-208GB externe USB DVD speler gekocht. Dan kun je geen DVD's van regio 2 afspelen.
De manier waarop

> Ga naar start/uitvoeren... Type devmgmt.msc
> Je komt dan in Apparaatbeheer. Hier moet je onder DVD-/cd-rom-stations de Samsung SE-208GB dubbelklikken.
> Ga naar tabblad regio code.
> Vervolgens kies je land Nederland.

Na ongeveer twee minuten begon bij mij een regiocode 2 DVD te spelen.