<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>juust ~ php oddities</title>
	<atom:link href="http://www.juust.org/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.juust.org</link>
	<description>Link theory and search engine optimization</description>
	<lastBuildDate>Thu, 19 Jan 2012 09:39:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>digital distribution</title>
		<link>http://www.juust.org/index.php/digital-distribution/2012/01/</link>
		<comments>http://www.juust.org/index.php/digital-distribution/2012/01/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 02:19:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[juust]]></category>

		<guid isPermaLink="false">http://www.juust.org/?p=2172</guid>
		<description><![CDATA[Often in major changes in either production or distribution technology, there is a phase where supply and demand renegotiate a new price level agreement. We all have a computer at home that we paid for, we all have our ISP &#8230; <a href="http://www.juust.org/index.php/digital-distribution/2012/01/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Often in major changes in either production or distribution technology, there is a phase where supply and demand renegotiate a new price level agreement.</p>
<p>We all have a computer at home that we paid for, we all have our ISP account that we monthly pay for, with the router we paid for, and cables our society paid for from our taxes, and satellites our governments decided to put up there.  &#8220;We&#8221; as global community paid for and developed and built a global digital network, that makes everything easier and faster and cheaper because there is no truck or airplane or shop-shelf, Sony and pals get to use all that free of charge, that makes their promotion and distribution also cheaper, faster, easier. </p>
<p>Sony and pals do use the digital distribution network but continued to charge shop-shelf prices. The abuse of the digital network as such is largely on the part of the music and movie industry.</p>
<p>To put it in perspective : if I sit outside a bar and some waiter comes and asks what i want to drink and gets my drinks and keeps an eye to see when my glass is empty and asks if i want something else or offers the daily lunch, i give the man a tip, 15% or more.</p>
<p>If the bar has no waiter, i dont pay a tip. </p>
<p>If companies charge shop-shelf price in a digital market, you can expect a wave of &#8216;hacking&#8217; and illegal versions flooding the market, mainly due to dissatisfaction with the perceived overcharging by the suppliers. P2P-networks were the chosen platform for a while, or sites like YouTube. It continues until the market reaches a new price level agreement between supply and demand, or a new business model.</p>
<p>Steve Jobs finally introduced iTunes, 12 songs for 12 dollars, a completely legal digital distribution network. That is for music close to the old price level, just without the cost for the case, transport, and shop shelf (we are going to miss Steve Jobs). </p>
]]></content:encoded>
			<wfw:commentRss>http://www.juust.org/index.php/digital-distribution/2012/01/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>the wrath of  grapes</title>
		<link>http://www.juust.org/index.php/the-wrath-of-grapes/2012/01/</link>
		<comments>http://www.juust.org/index.php/the-wrath-of-grapes/2012/01/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 20:21:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[sem]]></category>

		<guid isPermaLink="false">http://www.juust.org/?p=2123</guid>
		<description><![CDATA[An interesting verdict in a case before the dutch court in Den Bosch, where a liquor store union sued LimonCello.Nu, a webshop selling liquor from a storage facility on an industry terrain. The court ruled the webshop is a retail &#8230; <a href="http://www.juust.org/index.php/the-wrath-of-grapes/2012/01/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>An <a href="http://www.textilia.nl/nieuws/algemeen/nid10305-uitspraak-rechtbank-den-bosch-webwinkel-op-industrieterrein-verboden.html">interesting verdict</a> in a case before the dutch court in Den Bosch, where a liquor store union sued <a href="http://www.limoncello.nu/">LimonCello.Nu</a>, a webshop selling liquor from a storage facility on an industry terrain. The court ruled the webshop is a retail shop and should be run from a location designated for retail in stead of an industrial location. LimonCello from the <a href="http://www.bpo-axsys.nl/">AxSys group</a> has a permit to sell liquor, but the union represents mostly conventional retail shops. </p>
<p>This seems interesting as a conflict between the old and new business model. This was the first verdict, I suspect there might be some appeals as the verdict could serve as precedent to force any dutch webshop to rent commercial retail real estate, that nullifies their main competitive advantage and increases the threshold to set up shop. Online retailers from other countries don&#8217;t have the problem, so it would also weaken our competitive position in the international online retail market.</p>
<p>I think a lot pf people will want the court to add some nuances :) </p>
]]></content:encoded>
			<wfw:commentRss>http://www.juust.org/index.php/the-wrath-of-grapes/2012/01/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>contact us</title>
		<link>http://www.juust.org/index.php/contact-us/2012/01/</link>
		<comments>http://www.juust.org/index.php/contact-us/2012/01/#comments</comments>
		<pubDate>Sat, 31 Dec 2011 22:39:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://www.juust.org/?p=2092</guid>
		<description><![CDATA[I read somewhere on BHW that Google have 25 billion pages indexed. Whilst scr*ping I wondered how many pages the phrase &#8216;contact us&#8217; has, so I checked it and it has 5 billion. Then I saw the serp in Google &#8230; <a href="http://www.juust.org/index.php/contact-us/2012/01/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I read somewhere on BHW that Google have 25 billion pages indexed. Whilst scr*ping I wondered how many pages the phrase &#8216;contact us&#8217; has, so I checked it and it has 5 billion. Then I saw the serp in Google where right above the White House and Google is the Boston Herald page. </p>
<div id="attachment_2093" class="wp-caption alignright" style="width: 818px"><a href="http://www.juust.org/wp-content/uploads/2012/01/contact-us-google.png" rel="shadowbox[post-2092];player=img;"><img class="size-full wp-image-2093" title="contact us google" src="http://www.juust.org/wp-content/uploads/2012/01/contact-us-google.png" alt="contact us google" width="808" height="629" /></a><p class="wp-caption-text">contact us google</p></div>
<p>I really wonder how Matt and company figure that one in terms of relevance to the query.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.juust.org/index.php/contact-us/2012/01/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Use MsAccess as MySql frontend</title>
		<link>http://www.juust.org/index.php/use-msaccess-as-mysql-frontend/2011/12/</link>
		<comments>http://www.juust.org/index.php/use-msaccess-as-mysql-frontend/2011/12/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 22:02:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[juust]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.juust.org/?p=2074</guid>
		<description><![CDATA[&#160; Horses for courses, where MySql, PHP and HTML are native to the web, PHP/HTML suck as table GUI,no offense, I just got extremely frustrated with it today. Another way to get the data off the web onto my desktop &#8230; <a href="http://www.juust.org/index.php/use-msaccess-as-mysql-frontend/2011/12/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>Horses for courses, where MySql, PHP and HTML are native to the web, PHP/HTML suck as table GUI,no offense, I just got extremely frustrated with it today. Another way to get the data off the web onto my desktop is using FTP/ODBC and enclosing MySql tables in my MsAccess desktop database. It has it perks but it works. If you want to try it check with your host (if you are not self hosting) if your host allows external access to your mysql server. For local servers it works flawless.</p>
<h2>Download the odbc connector</h2>
<p>Over at Dev.MySql they muist have heard my screams of agony an programmed an ODBC (open database connectivity) driver. Windows supports the ODBC standards hence in Office you can use external databases if you install an odbc driver for the database type.</p>
<p><a href="http://dev.mysql.com/downloads/connector/odbc/"><img src="http://www.juust.org/wp-content/uploads/2011/12/122911_2205_UseMsAccess1.png" alt="" border="0" /></a></p>
<h2>Create the system datasource</h2>
<p>Once the driver is installed you can add the MySql database as open database to Windows (odbc works via the operating system) and link the tables in MsAccess. Start by opening the Windows configuration screen and open System manager, where you can access the ODBC Datasources and open the ODBC Administrator screen :</p>
<p><img src="http://www.juust.org/wp-content/uploads/2011/12/122911_2205_UseMsAccess2.png" alt="" /></p>
<p>Pick the tab <strong>System DSN</strong> and choose <strong>Add…</strong> to select a driver : the new MySql ODBC Driver.</p>
<p><img src="http://www.juust.org/wp-content/uploads/2011/12/122911_2205_UseMsAccess3.png" alt="" /></p>
<p>Then comes the magic bit : when you click Finish, the MySql driver pops up its own configuration screen :</p>
<p><img src="http://www.juust.org/wp-content/uploads/2011/12/122911_2205_UseMsAccess4.png" alt="" /></p>
<p>The data you fill in is the same login data used in WordPress wp-config.php : the mysql database host, login and password, and what database to select. When you are done, you can make more than one ODBC Sources so you can add every WordPress install you have on the web to it, provided you have access to the mysql server. A lot of hosts do not actually allow it, but mine do.</p>
<p>So far so good, the Datasource is now known in the Windows operating system, now we go to MsAccess.</p>
<h2>Enclose the tables in MsAccess</h2>
<p>&nbsp;</p>
<p>Under <strong>External Data</strong> pick <strong>ODBC Database</strong> :</p>
<p><img src="http://www.juust.org/wp-content/uploads/2011/12/122911_2205_UseMsAccess5.png" alt="" /></p>
<p>In the screen that opens, pick the <strong>Link data</strong> option :</p>
<p><img src="http://www.juust.org/wp-content/uploads/2011/12/122911_2205_UseMsAccess6.png" alt="" /></p>
<p>And in the next screen pick the tab with machine data sources : this picture shows both my new localhost database and the juust.org database so I will pick that one (it is in Rotterdam somewhere on a server)</p>
<p><img src="http://www.juust.org/wp-content/uploads/2011/12/122911_2205_UseMsAccess7.png" alt="" /></p>
<p>When I pick that one the driver kicks in and connects to the remote database, retrieving a list with tables for me to link into the database, for the occasion I will link the Ak_Twitter table of the WordPress Twitter Tools plugin that has my most recent Tweets :</p>
<p><img src="http://www.juust.org/wp-content/uploads/2011/12/122911_2205_UseMsAccess8.png" alt="" /></p>
<p>And click okay and Voila :</p>
<p><img src="http://www.juust.org/wp-content/uploads/2011/12/122911_2205_UseMsAccess9.png" alt="" /></p>
<p>The tables are linked</p>
<p><img src="http://www.juust.org/wp-content/uploads/2011/12/122911_2205_UseMsAccess10.png" alt="" width="686" height="447" /></p>
<p>Note: if you get an error &#8220;server has gone away, ( ask your host to) <a href="http://www.thewebhostinghero.com/articles/mysql-odbc-call-failed.html">set the connection timeout to 300</a> or more</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.juust.org/index.php/use-msaccess-as-mysql-frontend/2011/12/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Publish Microsoft Word 2010 documents to your WordPress blog</title>
		<link>http://www.juust.org/index.php/publish-microsoft-word-2010-documents-to-your-wordpress-blog/2011/12/</link>
		<comments>http://www.juust.org/index.php/publish-microsoft-word-2010-documents-to-your-wordpress-blog/2011/12/#comments</comments>
		<pubDate>Wed, 28 Dec 2011 04:30:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[juust]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[xml-rpc]]></category>

		<guid isPermaLink="false">http://www.juust.org/?p=1998</guid>
		<description><![CDATA[Hands on test, Microsoft Word 2010 supports publishing a document as WordPress blog post, excellent. I have been sailing for a while, so I haven&#8217;t played around with it yet. I love what Microsoft made. They did not just add &#8230; <a href="http://www.juust.org/index.php/publish-microsoft-word-2010-documents-to-your-wordpress-blog/2011/12/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hands on test, Microsoft Word 2010 supports publishing a document as WordPress blog post, excellent. I have been sailing for a while, so I haven&#8217;t played around with it yet. I love what Microsoft made. They did not just add an XML-RPC post routine, they added a small editor in Microsoft Word itself, especially for blog posts. It is everything you ever wanted but the WordPress editor just never was. You can manage content you already posted, publish directly or as draft, you can cut and paste screenshots, pictures, excel sheets and access tables, it is such a total improvement.</p>
<h2>How to set Word up as WordPress editor ?</h2>
<p><img src="http://www.juust.org/wp-content/uploads/2011/12/122811_0434_PublishMicr15.png" alt="" align="left" />Make a document and pick from the File menu &#8220;Save and Send&#8221;, and you get an extra option to <span style="text-decoration: underline;"><strong>publish as blog post</strong></span>.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Once you pick that it opens an editor for blog posts, that pn the background uses the XML-RPC interface. Word starts a wizard the first time, that you can also access by &#8220;manage accounts&#8221; in the editor menu :</p>
<p><img src="http://www.juust.org/wp-content/uploads/2011/12/122811_0434_PublishMicr24.png" alt="" width="768" height="165" /></p>
<p>But let&#8217;s start by clicking <strong>Save and Send</strong> : Word will ask you to register an account, iow your wordpress blog website.</p>
<p><img src="http://www.juust.org/wp-content/uploads/2011/12/122811_0434_PublishMicr32.png" alt="" width="743" height="433" /></p>
<p>When registering you can pick from a whole list of blog types, of course I picked WordPress</p>
<p><img src="http://www.juust.org/wp-content/uploads/2011/12/122811_0434_PublishMicr44.png" alt="" /></p>
<p>In the dialog &#8216;new wordpress account&#8217; you enter your XML-RPC end point, the directory of your blog with /xmlrpc.php, that is where you can post to your blog. Username and Password can be your normal username and password, you can also register separately at the blog. That would be my choice.</p>
<p><img src="http://www.juust.org/wp-content/uploads/2011/12/122811_0434_PublishMicr54.png" alt="" /></p>
<p>Of course these days blog posts all have pictures, and in the account dialog in the lower left corner there is a button &#8220;picture options&#8221; where you can specify how you want uploaded. You can use an FTP upload but in my case picking the blog provider (iow let WordPress handle it itself) works out of the box.</p>
<p><img src="http://www.juust.org/wp-content/uploads/2011/12/122811_0434_PublishMicr64.png" alt="" /></p>
<p>Once you click OK you also get a warning about the visibility of your login and password, XML-RPC posts are text files and your account user name and password are not encrypted when sent to the blog XML-RPC endpoint. There is little risk in it but it is a point that has to be made.</p>
<p><img src="http://www.juust.org/wp-content/uploads/2011/12/122811_0434_PublishMicr74.png" alt="" /></p>
<p>When you agree to continue you can edit your post. And when done, publish.</p>
<p><img src="http://www.juust.org/wp-content/uploads/2011/12/122811_0434_PublishMicr82.png" alt="" /></p>
<p>&#8230;and out came this post. In the WordPress editor you can add some tags and categories if you publish as draft, but you can also specify a category in the  Word editor..</p>
<p>Word offers a lot of picture effects yet it outputs the result as  .png images so it works without css3 dependencies, and outputs very clean html markup. Just for the picture effects and total ease of editing it gets a 5 out of 5.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.juust.org/index.php/publish-microsoft-word-2010-documents-to-your-wordpress-blog/2011/12/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>how to get bing api search results in MsOffice VBA</title>
		<link>http://www.juust.org/index.php/how-to-get-bing-api-search-results-in-msoffice-vba/2011/12/</link>
		<comments>http://www.juust.org/index.php/how-to-get-bing-api-search-results-in-msoffice-vba/2011/12/#comments</comments>
		<pubDate>Sun, 25 Dec 2011 23:27:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[bing]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[seo tips and tricks]]></category>
		<category><![CDATA[serp]]></category>
		<category><![CDATA[tool]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[vba]]></category>
		<category><![CDATA[xhr]]></category>

		<guid isPermaLink="false">http://www.juust.org/?p=1946</guid>
		<description><![CDATA[For the loyal VBA fans a quick snippet to grab search results from Bing in Access or Excel. There are few articles on the web about that, and that is a shame. So lets add some content on it to &#8230; <a href="http://www.juust.org/index.php/how-to-get-bing-api-search-results-in-msoffice-vba/2011/12/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>For the loyal VBA fans a quick snippet to grab search results from Bing in Access or Excel. There are few articles on the web about that, and that is a shame. So lets add some content on it to the web : first in MsAccess VBA and then in Excel, with a <a href="http://www.juust.org/wp-content/uploads/file/sample_workbook_vba_bing_api.xlsm">sample workbook</a> added.</p>
<p>Working with the BING API requires an Application Id you can get <a href="http://www.bing.com/toolbox/bingdeveloper/">at the Bing website</a>.</p>
<h2>Accessing the Bing Api in MsAccess VBA</h2>
<p>In the the VBA Ide, through the menu <em>T</em>ools <em>R</em>eferences I add a reference to the XML object library that contains the XMLHTTPRequest object, enabling me to make HTTP requests from VBA in the MsAccess database.</p>
<p><a href="http://www.juust.org/wp-content/uploads/2011/12/add-xmlhttprequest-to-vba.png" rel="shadowbox[post-1946];player=img;"><img src="http://www.juust.org/wp-content/uploads/2011/12/add-xmlhttprequest-to-vba.png" alt="" title="add xmlhttprequest to vba" width="779" height="278" class="alignnone size-full wp-image-1947" /></a></p>
<p>The simple part is the http request string : </p>
<div class="geshi no vb">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">Dim</span> MyKeyword <span class="kw1">As</span> <span class="kw1">String</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; MyKeyword = <span class="st0">&quot;seo&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">Dim</span> requestString <span class="kw1">As</span> <span class="kw1">String</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; requestString = <span class="st0">&quot;http://api.bing.net/xml.aspx?&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">Dim</span> AppId <span class="kw1">As</span> <span class="kw1">String</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; AppId = <span class="st0">&quot;(get one at the bing website)&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;<span class="co1">&#39; Common request fields (required)</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; requestString = requestString &amp; _</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;AppId=&quot;</span> &amp; AppId &amp; <span class="st0">&quot;&amp;Query=&quot;</span> &amp; MyKeyword &amp; <span class="st0">&quot;&amp;Sources=Web&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">&#39; Common request fields (optional)</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; requestString = requestString &amp; _</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;&amp;Version=2.0&quot;</span> _</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &amp; <span class="st0">&quot;&amp;Market=en-us&quot;</span> _</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &amp; <span class="st0">&quot;&amp;Adult=Moderate&quot;</span> _</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &amp; <span class="st0">&quot;&amp;Options=&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">&#39; Web-specific request fields (optional)</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; requestString = requestString &amp; _</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;&amp;Web.Count=10&quot;</span> _</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &amp; <span class="st0">&quot;&amp;Web.Offset=0&quot;</span> _</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &amp; <span class="st0">&quot;&amp;Web.Options=DisableHostCollapsing+DisableQueryAlterations&quot;</span></div>
</li>
</ol>
</div>
<p>Then comes the working part, sending the actual request and receiving the XML response (<strong>objSvrHTTP.responseText</strong>) containing the search data. I use a DomDocument object and XPath to get at the XML data.</p>
<p>First sending the request</p>
<div class="geshi no vb">
<ol>
<li class="li1">
<div class="de1">&nbsp; &nbsp; objSvrHTTP.<span class="kw1">Open</span> <span class="st0">&quot;GET&quot;</span>, requestString, <span class="kw1">False</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; objSvrHTTP.<span class="me1">send</span> requestString</div>
</li>
</ol>
</div>
<p>then creating a domdocument and receiving the response in it</p>
<div class="geshi no vb">
<ol>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="co1">&#39;Create the DomDocument Object</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">Dim</span> oDoc <span class="kw1">As</span> MSXML2.<span class="me1">DOMDocument</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">Set</span> oDoc = <span class="kw1">CreateObject</span><span class="br0">&#40;</span><span class="st0">&quot;MSXML2.DOMDocument&quot;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; oDoc.<span class="me1">async</span> = <span class="kw1">False</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; oDoc.<span class="me1">validateOnParse</span> = <span class="kw1">False</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="co1">&#39;Load the response in the DomDocument Object</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">Dim</span> fSuccess <span class="kw1">As</span> <span class="kw1">Boolean</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; fSuccess = oDoc.<span class="me1">loadXML</span><span class="br0">&#40;</span>objSvrHTTP.<span class="me1">responseText</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">If</span> <span class="kw1">Not</span> fSuccess <span class="kw1">Then</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">MsgBox</span> <span class="st0">&quot;failed&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">Exit</span> <span class="kw1">Sub</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">End</span> <span class="kw1">If</span></div>
</li>
</ol>
</div>
<p>The response uses two namespaces and the data we actually want is in the &#8220;web&#8221; namespace, so before we start selecting nodes in the xml-tree we first indicate what namespace we want to access :</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1">&nbsp; &nbsp; oDoc<span class="sy0">.</span>SetProperty <span class="st0">&quot;SelectionNamespaces&quot;</span><span class="sy0">,</span> <span class="st0">&quot;xmlns:web=&#39;http://schemas.microsoft.com/LiveSearch/2008/04/XML/web&#39;&quot;</span></div>
</li>
</ol>
</div>
<p>The total search result pages is a top level node in the namespace :</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1">&nbsp; &nbsp; Set xmlnode <span class="sy0">=</span> oDoc<span class="sy0">.</span>selectSingleNode<span class="br0">&#40;</span><span class="st0">&quot;//web:Total&quot;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; Debug<span class="sy0">.</span><span class="kw3">Print</span> xmlnode<span class="sy0">.</span>Text</div>
</li>
</ol>
</div>
<p>&#8230;but the good stuff is in the &#8220;WebResult&#8221; nodes in the xml tree, I can use an XPath reference <strong>//web:Webresult</strong> to access that node-collection and with a simple for-next iterate through the collection, selecting the single nodes containing the actual data.</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1">&nbsp; &nbsp; Set oChildren <span class="sy0">=</span> oDoc<span class="sy0">.</span>selectNodes<span class="br0">&#40;</span><span class="st0">&quot;//web:WebResult&quot;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">For</span> <span class="kw3">Each</span> oResult In oChildren</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; Debug<span class="sy0">.</span><span class="kw3">Print</span> oResult<span class="sy0">.</span>selectSingleNode<span class="br0">&#40;</span><span class="st0">&quot;./web:Title&quot;</span><span class="br0">&#41;</span><span class="sy0">.</span>Text</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; Debug<span class="sy0">.</span><span class="kw3">Print</span> oResult<span class="sy0">.</span>selectSingleNode<span class="br0">&#40;</span><span class="st0">&quot;./web:Description&quot;</span><span class="br0">&#41;</span><span class="sy0">.</span>Text</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; Debug<span class="sy0">.</span><span class="kw3">Print</span> oResult<span class="sy0">.</span>selectSingleNode<span class="br0">&#40;</span><span class="st0">&quot;./web:Url&quot;</span><span class="br0">&#41;</span><span class="sy0">.</span>Text</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; Debug<span class="sy0">.</span><span class="kw3">Print</span> oResult<span class="sy0">.</span>selectSingleNode<span class="br0">&#40;</span><span class="st0">&quot;./web:DisplayUrl&quot;</span><span class="br0">&#41;</span><span class="sy0">.</span>Text</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; Debug<span class="sy0">.</span><span class="kw3">Print</span> vbCrLf</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw3">Next</span></div>
</li>
</ol>
</div>
<p>I output to the Immediate window aka Debug (under <em>V</em>iew, <em>I</em>mmediate Window or Ctrl+G)</p>
<p><a href="http://www.juust.org/wp-content/uploads/2011/12/bing-api-in-vba-visual-basic-for-applications-msaccess-and-excel.png" rel="shadowbox[post-1946];player=img;"><img src="http://www.juust.org/wp-content/uploads/2011/12/bing-api-in-vba-visual-basic-for-applications-msaccess-and-excel.png" alt="" title="bing api in vba visual basic for applications msaccess and excel" width="765" height="248" class="alignnone size-full wp-image-1951" /></a></p>
<p>What can we do with it ? Let&#8217;s make a table for date, keyword, url, title, description, position</p>
<p><a href="http://www.juust.org/wp-content/uploads/2011/12/access-nake-table.png" rel="shadowbox[post-1946];player=img;"><img src="http://www.juust.org/wp-content/uploads/2011/12/access-nake-table.png" alt="" title="access nake table" width="866" height="166" class="alignnone size-full wp-image-1954" /></a></p>
<p>and add some code to store the results we retrieve</p>
<div class="geshi no vb">
<ol>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">Dim</span> table1 <span class="kw1">As</span> DAO.<span class="kw1">Recordset</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">Set</span> table1 = CurrentDb.<span class="me1">OpenRecordset</span><span class="br0">&#40;</span><span class="st0">&quot;Table1&quot;</span>, dbOpenTable<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="co1">&#39;counter for position &nbsp; &nbsp;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; i = <span class="nu0">0</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">Set</span> oChildren = oDoc.<span class="me1">selectNodes</span><span class="br0">&#40;</span><span class="st0">&quot;//web:WebResult&quot;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">For</span> Each oStruct In oChildren</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;i = i + <span class="nu0">1</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">With</span> table1</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .<span class="me1">AddNew</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">&#39;data from bing</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; !TITLE = oStruct.<span class="me1">selectSingleNode</span><span class="br0">&#40;</span><span class="st0">&quot;./web:Title&quot;</span><span class="br0">&#41;</span>.<span class="me1">Text</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; !Description = oStruct.<span class="me1">selectSingleNode</span><span class="br0">&#40;</span><span class="st0">&quot;./web:Description&quot;</span><span class="br0">&#41;</span>.<span class="me1">Text</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; !url = oStruct.<span class="me1">selectSingleNode</span><span class="br0">&#40;</span><span class="st0">&quot;./web:Url&quot;</span><span class="br0">&#41;</span>.<span class="me1">Text</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">&#39;and some additional data</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; !MYDATE = <span class="kw1">Now</span><span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; !POSITION = i</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; !KEYWORD = MyKeyword</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">&#39;store the record</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .<span class="me1">Update</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">End</span> <span class="kw1">With</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">Next</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; table1.<span class="kw1">Close</span></div>
</li>
</ol>
</div>
<p>There now that scratches the seo itch :<br />
<a href="http://www.juust.org/wp-content/uploads/2011/12/bing-api-seo-data-in-msaccess.png" rel="shadowbox[post-1946];player=img;"><img src="http://www.juust.org/wp-content/uploads/2011/12/bing-api-seo-data-in-msaccess.png" alt="" title="bing api seo data in msaccess" width="1071" height="224" class="alignnone size-full wp-image-1957" /></a></p>
<p>MsAccess stuff is a bit hard to put on the web as sample, so I&#8217;ll make a quick one in Excel and put it up for download.</p>
<h2>Accessing the Bing Api in Excel VBA</h2>
<p> <a href="http://www.juust.org/wp-content/uploads/file/sample_workbook_vba_bing_api.xlsm">there you go</a> : on sheet 1 you can fill in your AppID and keyword, click the butt(on&#8230;</p>
<p><a href="http://www.juust.org/wp-content/uploads/2011/12/bing-api-in-excel-vba.png" rel="shadowbox[post-1946];player=img;"><img src="http://www.juust.org/wp-content/uploads/2011/12/bing-api-in-excel-vba.png" alt="" title="bing api in excel vba" width="623" height="236" class="alignnone size-full wp-image-1958" /></a></p>
<p>&#8230;and on sheet 2 you get the top 10 search results</p>
<p><a href="http://www.juust.org/wp-content/uploads/2011/12/bing-api-in-excel-vba-sheet2.png" rel="shadowbox[post-1946];player=img;"><img src="http://www.juust.org/wp-content/uploads/2011/12/bing-api-in-excel-vba-sheet2.png" alt="" title="bing api in excel vba sheet2" width="1247" height="304" class="alignnone size-full wp-image-1959" /></a></p>
<p>It uses the cells B1 and B2 as named ranges for MyKeyword and AppID, and has the code in the enclosed module. It also contains one of my AppId&#8217;s so no querying nasty shit, please.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.juust.org/index.php/how-to-get-bing-api-search-results-in-msoffice-vba/2011/12/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>One billion SEO pages</title>
		<link>http://www.juust.org/index.php/one-billion-seo-pages/2011/12/</link>
		<comments>http://www.juust.org/index.php/one-billion-seo-pages/2011/12/#comments</comments>
		<pubDate>Sun, 25 Dec 2011 03:37:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[seo]]></category>

		<guid isPermaLink="false">http://www.juust.org/?p=1936</guid>
		<description><![CDATA[I just noticed Google have a billion result pages indexed for the keyword SEO. Incredible. Merry Christmas, Frankenstein.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.juust.org/wp-content/uploads/2011/12/one-billion-seo-pages.png" rel="shadowbox[post-1936];player=img;"><img class="alignnone size-full wp-image-1937" title="one billion seo pages" src="http://www.juust.org/wp-content/uploads/2011/12/one-billion-seo-pages.png" alt="" width="949" height="156" /></a></p>
<p>I just noticed Google have a billion result pages indexed for the keyword SEO. Incredible. Merry Christmas, Frankenstein.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.juust.org/index.php/one-billion-seo-pages/2011/12/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

