Loading nodes that are only available to the current user
You need to use the EntityFieldQuery class. The following is example code to load all the published nodes whose content type is Article.
$query = new EntityFieldQuery();
$query-&gt;entityCondition('entity_type', 'node')
  -&gt;entityCondition('bundle', 'article')
  -&gt;propertyCondition('status', NODE_PUBLISHED);

$result = $query-&gt;execute();
if (isset($result['node'])) {
  $nids = array_keys($result['node']);
  $nodes = entity_load('node', $nids);
}

EntityFieldQuery returns only the nodes to which the currently logged-in user has access. In the case you would get all the nodes for which you know the author user ID, you should use the following code.
$query = new EntityFieldQuery();
$query-&gt;entityCondition('entity_type', 'node')
  -&gt;entityCondition('bundle', 'article')
  -&gt;propertyCondition('status', NODE_PUBLISHED)
  -&gt;propertyCondition('uid', $uid);

$result = $query-&gt;execute();
if (isset($result['node'])) {
  $nids = array_keys($result['node']);
  $nodes = entity_load('node', $nids);
}

That code returns all the nodes created in the site. To get only 10 nodes, it sufficient to add a call to $query-&gt;range(0, 10) before calling $query-&gt;execute().