That said, if you are not too cost conscious you can build a wireless router out of the Intel NUC really easily, and for modest loads I've used a Beaglebone as an access point. So you may find you can cobble together the pieces in a fairly straight forward way. I do not recommend a Raspberry Pi as a wireless router as its network is all going through the USB hub and as such it has a lot of latency spikes.
I'll second that article. I bought the Asus RT-N16 on the back of that recommendation.
Funnily enough, I never bothered installing any firmware, I found the default to be excellent (despite the reviews on amazon trashing the Asus firmware). I found it fine for me.
I don't see why QoS is such an important feature for a personal router. If he is (and I assume he is) the primary user of his network, then why is QoS control necessary?
The common response is voip, but it can also be video on demand. While Netflix will notch down from HD to SD to Artifact-D as the net congests it isn't pretty. If you have multiple users and some says "Hey look the Linux Mint iso is out, lets get both the 32 bit and 64 bit version." while you are watching a movie, its very annoying for both the movie watcher and the other person who says "WTF? 18 hours to complete, no way!" This way only one of you is disappointed.
Sorry, what jxf wrote. Highly compressed video suffers from extremely obvious and distracting artifacts, about the only thing you can say nice about it is that the frame rate is high and it doesn't pause in the middle. So the neologism conveys the point where the video is unwatchable due to visual artifacts but still considered "video" by the provider.
That said, if you are not too cost conscious you can build a wireless router out of the Intel NUC really easily, and for modest loads I've used a Beaglebone as an access point. So you may find you can cobble together the pieces in a fairly straight forward way. I do not recommend a Raspberry Pi as a wireless router as its network is all going through the USB hub and as such it has a lot of latency spikes.