Question: I created a view block, whose machine name is "news." 

How do I display it using `module_invoke()` and the machine name of the view?

Answer: 
This Worked for me :

```
$view = views_get_view('view_machine_name');
$view->set_display('Master');
$view->get_title();
$response = $view->preview('You_Block_id');

```

//and called it in html like this//

```
<div class="col-md-4 col-sm-6">
<div class="blocksOuterWrapper companyNewsWrapper">
'.$response.'
</div>
</div>

```
Also building on tostinni's answer:

If you don't want any HTML to show up if the view has no results.
Also, add a title, but only if there are results.

```
if (array_filter(views_get_view_result('view_machine_name', 'block_1'))) {
    print '<h2 class="my-view-block-title">Special Title</h2>';
    print views_embed_view('view_machine_name', 'block_1');
}

```