Depends on what you want to achieve. Google crawlers treat subdomains and subdirectories the same in the way of ranking, the difference is keyword association. What I mean is, if you already have a website at mydomain.com google will crawl it and assign certain keywords based on the website content, now if you put your blog at blog.mydomain.com, google will crawl it separately and assign keywords to that subdomain which results in people easily finding your blog OR your website. In case I didn't explain it well, example:
You have mydomain.com with content "my awesome node site" and you have blog.mydomain.com post talking about mysql databases. If someone searches for "Mydomain node", results from your blog will rank lower if they don't have the same keywords, but that is also true in reverse too. If someone searches for "mydomain mysql", posts from blog.mydomain.com are prioritized in search results because a keyword from that group is used and content from mydomain.com will rank lower.
In case of subdirectories, all keywords are assigned to the same group. So, using the example from before, if someone searches for "mydomain mysql", the post from mydomain.com/blog will be displayed, but other blog posts and content from mydomain.com will be ranked equally (not talking about other keywords etc of course). This will result in more "mixed" results, and your blog should theoretically increase the results of non-blog related content of mydomain.com.
These examples are extreme oversimplification, and they are based on what we know about google crawlers and search engine. It could be changed or no longer valid. Hope I helped you out
![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif)