<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Piers Warmers</title>
		<description>Thoughts and writings on PHP, coding and Symfony</description>
		<link></link>
		<atom:link href="/rss.xml" rel="self" type="application/rss+xml" />
		
			
			<item>
				<title>PHP Date Rules Utility</title>
				<description>&lt;p&gt;Just threw up a small toolkit (&lt;a href=&quot;https://github.com/pierswarmers/ManDate&quot;&gt;ManDate&lt;/a&gt;) for working with date rules.&lt;/p&gt;

&lt;p&gt;It even lets you write rules which take into account sunrise and sunset.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/pierswarmers/60f52ae03bce5bbbf43c.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;
</description>
				<pubDate>Fri, 13 Mar 2015 00:00:00 +0000</pubDate>
				<link>/2015/03/13/simple-php-date-rules-toolkit</link>
				<guid isPermaLink="true">/2015/03/13/simple-php-date-rules-toolkit</guid>
			</item>
			
		
			
			<item>
				<title>PHP7 and Symfony Performance</title>
				<description>&lt;p&gt;I missed the talk but these slides – &lt;a href=&quot;http://talks.php.net/oz15#/perf2014&quot;&gt;PHP by Rasmus Lerdorf&lt;/a&gt; – inspired me to 
take a look for myself. &lt;/p&gt;

&lt;p&gt;So I thought I’d run a very quick test to see how a fresh Symfony Framework 2.6.4 install performed on in comparison 
testing against PHP 5.6.6-dev vs PHP 7.0.0-dev.&lt;/p&gt;

&lt;p&gt;I’m using a &lt;a href=&quot;https://github.com/rlerdorf/php7dev&quot;&gt;Rasmus’ Vagrant configuration&lt;/a&gt; and Apache Benchmark to 
target the demonstration “Hello World” script shipped with Symfony – and enabled on production.&lt;/p&gt;

&lt;h2 id=&quot;the-results&quot;&gt;The Results&lt;/h2&gt;

&lt;p&gt;I ran 600 hits with a concurrency of 100 and found that the mean for each was:&lt;/p&gt;

&lt;p&gt;PHP 5.6.6-dev = 220.55 req/sec&lt;br /&gt;
PHP 7.0.0-dev = 341.77 req/sec&lt;/p&gt;

&lt;p&gt;That’s a pretty impressive performance boost.&lt;/p&gt;

&lt;p&gt;I’d love to see a &lt;a href=&quot;https://blackfire.io/&quot;&gt;Blackfire&lt;/a&gt; probe compatible with PHP7 to see where the performance gains are.&lt;/p&gt;
</description>
				<pubDate>Thu, 12 Mar 2015 00:00:00 +0000</pubDate>
				<link>/2015/03/12/php7-and-symfony-performance</link>
				<guid isPermaLink="true">/2015/03/12/php7-and-symfony-performance</guid>
			</item>
			
		
			
			<item>
				<title>PHP / Symfony Checker</title>
				<description>&lt;p&gt;Before I commit changes to my PHP / Symfony projects, I like to pre-check it against a few utilities to ensure
quality and consistency. This little script to automates the steps:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;A PHP compilation check.&lt;/li&gt;
  &lt;li&gt;A syntax cleanup - &lt;a href=&quot;http://cs.sensiolabs.org/&quot;&gt;PHP Coding Standards Fixer&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Run my unit tests - &lt;a href=&quot;https://phpunit.de&quot;&gt;PHPUnit&lt;/a&gt; - with code coverage as an option.&lt;/li&gt;
  &lt;li&gt;Then optionally commit and push changes - only if the above steps passed.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It’s simple and I can modify it easily from one project to another. I thought I’d both share it and ask for any tips on
improvements.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/images/2015-02/checker.png&quot;&gt;&lt;img src=&quot;/images/2015-02/checker.png&quot; alt=&quot;PHP Symfony Checker&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&quot;here-it-is-checksh&quot;&gt;Here it is: check.sh&lt;/h2&gt;

&lt;p&gt;You can run it via something like:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;./check.sh&lt;/code&gt;&lt;br /&gt;
or&lt;br /&gt;
&lt;code&gt;./check.sh -g -b -p -m &quot;Fixed the stuff and things.&quot;&lt;/code&gt;&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/pierswarmers/0c0c5f80d31daa94a461.js&quot;&gt;&lt;/script&gt;

</description>
				<pubDate>Tue, 10 Mar 2015 00:00:00 +0000</pubDate>
				<link>/2015/03/10/php-symfony-syntax-test-checker</link>
				<guid isPermaLink="true">/2015/03/10/php-symfony-syntax-test-checker</guid>
			</item>
			
		
			
			<item>
				<title>Blackfire, PHP Profiling by SensioLabs</title>
				<description>&lt;p&gt;&lt;a href=&quot;https://blackfire.io&quot;&gt;Blackfire&lt;/a&gt; is a new service by &lt;a href=&quot;http://sensiolabs.com/&quot;&gt;SensioLabs&lt;/a&gt;. It’s a web based utility to help benchmark your PHP 
applications. I’ve just sat down to give it a try. I’m blown away!&lt;/p&gt;

&lt;p&gt;Installation was very simple via a Brew Keg (&lt;code&gt;blackfireio/homebrew-blackfire&lt;/code&gt;) and I tested it with a &lt;a href=&quot;http://symfony.com/&quot;&gt;Symfony Framework&lt;/a&gt;
application using one of my custom commands.&lt;/p&gt;

&lt;p&gt;The standard interface tracks a single test batch:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/images/2015-02/blackfire.png&quot;&gt;&lt;img src=&quot;/images/2015-02/blackfire.png&quot; alt=&quot;Blackfire&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You have 10 slots to store test batches. This allows you to compare your benchmarks from one iteration
to another, as shown below:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/images/2015-02/blackfire-comparison.png&quot;&gt;&lt;img src=&quot;/images/2015-02/blackfire-comparison.png&quot; alt=&quot;Blackfire&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hat’s off to the interface people - that’s some sweet work.&lt;/p&gt;

&lt;p&gt;A incredible addition to the toolkit.&lt;/p&gt;

&lt;p&gt;Also, take a look at this simple &lt;a href=&quot;http://tech.enekochan.com/en/2015/03/06/disable-xdebug-temporary-while-using-blackfireio/&quot;&gt;toggle for XDebug&lt;/a&gt;.&lt;/p&gt;
</description>
				<pubDate>Tue, 10 Mar 2015 00:00:00 +0000</pubDate>
				<link>/2015/03/10/blackfire-new-sensiolabs-php-profiler</link>
				<guid isPermaLink="true">/2015/03/10/blackfire-new-sensiolabs-php-profiler</guid>
			</item>
			
		
			
			<item>
				<title>Understanding awesome passwords</title>
				<description>&lt;p&gt;&lt;img src=&quot;/images/2014-05/passwords.png&quot; alt=&quot;Passwords Can Be Tough&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Everyone knows that long random passwords are best, but how random, how long and what about practicality?&lt;/p&gt;

&lt;h2 id=&quot;a-bad-password&quot;&gt;A bad password&lt;/h2&gt;

&lt;p&gt;Let’s start with an example of a &lt;strong&gt;bad&lt;/strong&gt; password: “G3org3.1984”.&lt;/p&gt;

&lt;p&gt;There are many methods hackers use to exploit systems. One of which is the “brute-force attack”, a technique which attempts to discover a users password by trying one variation after another. Each failure triggering another attempt with a new password. You might be thinking, &lt;strong&gt;“my password is awesome, that would take forever”&lt;/strong&gt;. Is it, is it really that awesome?&lt;/p&gt;

&lt;h2 id=&quot;a-closer-look-at-brute-force&quot;&gt;A closer look at “brute-force”&lt;/h2&gt;

&lt;p&gt;Brute force attacks are not actually carried out by a person. Instead a computer is given the task — even if it takes days, months or longer. The time it takes is linked to the strength of your password.&lt;/p&gt;

&lt;p&gt;Lets look at a password example: “J@ck.1984”. A mathematical perspective uses a term “key space” to determine it’s strength. The “key space” for that password would be 85&lt;sup&gt;9&lt;/sup&gt; (depending on the characters used &lt;sup id=&quot;fnref:1&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;). That is to say that it would take 85&lt;sup&gt;9&lt;/sup&gt; or less&lt;sup id=&quot;fnref:2&quot;&gt;&lt;a href=&quot;#fn:2&quot; class=&quot;footnote&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; attempts to crack it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;85&lt;sup&gt;9&lt;/sup&gt; = 231,616,950,000,000,000… is a huge number!&lt;/strong&gt;&lt;/p&gt;

&lt;h2 id=&quot;jck1984-is-a-bad-password&quot;&gt;“J@ck.1984” is a BAD password&lt;/h2&gt;

&lt;p&gt;Here’s why. 85&lt;sup&gt;9&lt;/sup&gt; is a big number, but we’re being naive to assume a hacker is going to simply try random character combinations. We’re dealing with people. Creatures of habit that love to give things meaning and have limited memory. A dangerous combination which hackers use to optimise their efforts.&lt;/p&gt;

&lt;p&gt;Think of the complexity reduction if you focus on passwords built on simple proposition:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;password = &quot;&amp;lt;word or name&amp;gt;.&amp;lt;year between 1940 and 2014&amp;gt;”&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Complexity reduction may be further reduced if the persons email address “jack.beanstalk@example.com” was known.&lt;/p&gt;

&lt;h2 id=&quot;an--acronym-solves-all&quot;&gt;An  Acronym Solves All&lt;/h2&gt;

&lt;p&gt;A good password is built on four simple steps:&lt;/p&gt;

&lt;table&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;C&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;Character Rich&lt;/td&gt;
      &lt;td&gt;Use uppercase, lowercase, numbers and special characters&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;U&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;Unique&lt;/td&gt;
      &lt;td&gt;A fresh password for each credential&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;R&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;Random&lt;/td&gt;
      &lt;td&gt;Avoids words, names and dates&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;L&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;Long&lt;/td&gt;
      &lt;td&gt;15 characters or more&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;“C.U.R.L”,  a recipe for awesome passwords.&lt;/p&gt;

&lt;h2 id=&quot;great-but-we-live-in-the-real-world&quot;&gt;Great, but we live in the real world?&lt;/h2&gt;

&lt;p&gt;No one is expecting you to memorise dozens of long, complicated codes. If you haven’t already – now might be time to move to a dedicated password management program like &lt;a href=&quot;http://www.roboform.com/&quot;&gt;RoboForm&lt;/a&gt;, or &lt;a href=&quot;https://agilebits.com/onepassword&quot;&gt;1Password&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;At the very least, keep the “C.U.R.L” principles in mind when creating your next password. Your credentials are yours and yours alone.&lt;/p&gt;

&lt;h2 id=&quot;further-reading-and-references&quot;&gt;Further Reading and References&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://go.eset.com/us/resources/white-papers/EsetWP-KeepingSecrets20090814.pdf&quot;&gt;Keeping Secrets: Good Password Practice&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.jbonneau.com/doc/BPA12-FC-banking_pin_security.pdf&quot;&gt;A birthday present every eleven wallets?&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://gmailblog.blogspot.com.au/2009/10/choosing-smart-password.html&quot;&gt;Choosing a smart password&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://xato.net/passwords/more-top-worst-passwords/#more-269&quot;&gt;10,000 Top Passwords&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;footnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot;&gt;
      &lt;p&gt;85 being the number of uppercase, lowercase and special characters, 9 being the length of password. &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:2&quot;&gt;
      &lt;p&gt;On average it takes half the “key space” to solve. &lt;a href=&quot;#fnref:2&quot; class=&quot;reversefootnote&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</description>
				<pubDate>Fri, 23 May 2014 00:00:00 +0000</pubDate>
				<link>/2014/05/23/is-your-password-awesome</link>
				<guid isPermaLink="true">/2014/05/23/is-your-password-awesome</guid>
			</item>
			
		
			
			<item>
				<title>Stalking Steve Jobs</title>
				<description>&lt;p&gt;An audiophile writeup on Wired caught my attention: &lt;a href=&quot;http://www.wired.com/2014/04/steve-jobs-stereo-system/&quot;&gt;We Pieced Together Steve Jobs’ Long-Lost Stereo System&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It gives a run down of the music related pieces shown a portrait taken in for TIME in 1982 by photographer Diana Walker (&lt;a href=&quot;http://lightbox.time.com/2011/10/06/in-a-private-light-diana-walkers-photos-of-steve-jobs/#4&quot;&gt;a good article here on the shoot&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Here’s the soundtrack for your convenience.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Bach Brandenberg Concertos (Jean-Pierre Rampal, Maurice André; RCA)&lt;/li&gt;
  &lt;li&gt;Ella Fitzgerald: The Cole Porter Songbook (Vol. 1, Verve)&lt;/li&gt;
  &lt;li&gt;Steely Dan’s Aja (ABC)&lt;/li&gt;
&lt;/ul&gt;

&lt;iframe src=&quot;https://embed.spotify.com/?uri=spotify:user:1235182649:playlist:2oGP8y1kwKGmvE1nHwiZgy&quot; width=&quot;300&quot; height=&quot;380&quot; frameborder=&quot;0&quot; allowtransparency=&quot;true&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;Find it on Spotify: &lt;a href=&quot;http://open.spotify.com/user/1235182649/playlist/2oGP8y1kwKGmvE1nHwiZgy&quot;&gt;Steve Jobs - Diana Walker Shoot&lt;/a&gt;&lt;/p&gt;
</description>
				<pubDate>Thu, 01 May 2014 00:00:00 +0000</pubDate>
				<link>/2014/05/01/stalking-steve-jobs</link>
				<guid isPermaLink="true">/2014/05/01/stalking-steve-jobs</guid>
			</item>
			
		
			
			<item>
				<title>PHP, Symfony, OSX – Oh my!</title>
				<description>&lt;p&gt;Sitting down this morning to update my Brew managed PHP install on OSX – I’d planned to document the process. Justin Hileman had already put together this awesome walk through:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://justinhileman.info/article/reinstalling-php-on-mac-os-x/&quot;&gt;(Re)installing PHP on Mac OS X&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note to self:&lt;/strong&gt; when the PHP module location changes, Apache fails very silently. Took me a while to figure out what was going on. So don’t ignore the “Caveats” notice in the Brew installation output.&lt;/p&gt;
</description>
				<pubDate>Tue, 04 Jun 2013 00:00:00 +0000</pubDate>
				<link>/2013/06/04/php-symfony-osx-oh-my</link>
				<guid isPermaLink="true">/2013/06/04/php-symfony-osx-oh-my</guid>
			</item>
			
		
			
			<item>
				<title>Getting Cozy With Dependency Injection</title>
				<description>&lt;p&gt;I’ve just posted a brief introduction to Dependency Injection over on the Cross Media blog.&lt;/p&gt;

&lt;p&gt;See article here: &lt;a href=&quot;http://crossfunctional.net/blog/2013/mar/getting-cozy-dependency-injection&quot;&gt;Getting Cozy With Dependency Injection&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You can also catch myself, &lt;a href=&quot;http://www.linkedin.com/in/rcross&quot;&gt;Ryan Cross&lt;/a&gt; and &lt;a href=&quot;http://www.linkedin.com/pub/geoffrey-roberts/4/868/337&quot;&gt;Geoffrey Roberts&lt;/a&gt; in DrupalCon Portland this May, where we’ll be giving a training session on Drupal 8 and Symfony. &lt;a href=&quot;http://portland2013.drupal.org/node/3723&quot;&gt;Registration&lt;/a&gt; is now open.&lt;/p&gt;
</description>
				<pubDate>Thu, 28 Mar 2013 00:00:00 +0000</pubDate>
				<link>/2013/03/28/getting-cozy-with-dependency-injection</link>
				<guid isPermaLink="true">/2013/03/28/getting-cozy-with-dependency-injection</guid>
			</item>
			
		
			
			<item>
				<title>Symfony Live</title>
				<description>&lt;p&gt;Very keen to make it to Symfony Live Portland this year. This time it will be running next to DrupalCon Portland and WebVisions. It’s sure to be a busy couple of days.&lt;/p&gt;

&lt;script src=&quot;http://tra.cd/piers/organising/symfony_live.js&quot;&gt;&lt;/script&gt;

</description>
				<pubDate>Thu, 07 Feb 2013 00:00:00 +0000</pubDate>
				<link>/2013/02/07/symfony-live</link>
				<guid isPermaLink="true">/2013/02/07/symfony-live</guid>
			</item>
			
		
			
			<item>
				<title>Symfony Components for Drupal</title>
				<description>&lt;p&gt;I’ve been lucky enough to be invited to give a talk at &lt;a href=&quot;http://sydney2013.drupal.org&quot;&gt;DrupalCon Sydney&lt;/a&gt; about Symfony Components. So here are the &lt;a href=&quot;http://sydney2013.drupal.org/sites/default/files/slides/Symfony%20Components%20-%20A%20Travel%20Guide_7.pdf&quot;&gt;slides&lt;/a&gt; and some extended examples for those interested.&lt;/p&gt;

&lt;iframe width=&quot;420&quot; height=&quot;315&quot; src=&quot;http://www.youtube.com/embed/Tep1-oq6jrU&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;The following is an example which demonstrates how the Symfony HTTP Kernel, HTTP Foundation, Routing and Twig Components can be used to build a very simple application.&lt;/p&gt;

&lt;p&gt;The commands noted in the discussion download, unpack and then run the example application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Please note:&lt;/strong&gt; these commands may need to be adjusted depending on your setup. Also PHP testing server is only available for PHP 5.4.&lt;/p&gt;

&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;curl https://gist.github.com/pierswarmers/4712678/download &amp;gt; app.tar.gz &lt;span class=&quot;p&quot;&gt;|&lt;/span&gt; tar -zx
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;cd &lt;/span&gt;gist4712678-*
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;curl -s https://getcomposer.org/installer &lt;span class=&quot;p&quot;&gt;|&lt;/span&gt; php
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;php ./composer.phar install
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;php -S localhost:8000&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Check it out: &lt;a href=&quot;http://localhost:8000/app.php/say/hello/DrupalCon&quot;&gt;http://localhost:8000/app.php/say/hello/DrupalCon&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And the code for browsing pleasure…&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/pierswarmers/4712678.js&quot;&gt;&lt;/script&gt;

</description>
				<pubDate>Thu, 07 Feb 2013 00:00:00 +0000</pubDate>
				<link>/2013/02/07/symfony-components</link>
				<guid isPermaLink="true">/2013/02/07/symfony-components</guid>
			</item>
			
		
			
			<item>
				<title>PHPStorm Data Sources and JDBC</title>
				<description>&lt;p&gt;Setting up &lt;a href=&quot;http://www.jetbrains.com/phpstorm/&quot;&gt;PHPStorms&lt;/a&gt; database integration for &lt;a href=&quot;#mysql-on-localhost&quot;&gt;MySQL&lt;/a&gt; and &lt;a href=&quot;#microsoft-sql-server-on-remote-server&quot;&gt;Microsoft SQL Server&lt;/a&gt;, I ran into a couple of small gotcha’s which might be worth noting for anyone else struggling through some of the vague error messages.&lt;/p&gt;

&lt;p&gt;To keep things brief I’ll note the the server locations and JDBC libraries I used.&lt;/p&gt;

&lt;h2 id=&quot;mysql-on-localhost&quot;&gt;MySQL On Localhost&lt;/h2&gt;

&lt;p&gt;I run a local MySQL server on my OS X machine (mysql-5.5.25a-osx10.6-x86_64). The JDBC driver I used was downloaded from &lt;a href=&quot;http://dev.mysql.com/downloads/connector/j/&quot;&gt;the source&lt;/a&gt; and unpacked into a safe location.&lt;/p&gt;

&lt;p&gt;I used the package:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;mysql-connector-java-5.1.22-bin.jar&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;…and the class:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;com.mysql.jdbc.Driver&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;My server location looked something like:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;jdbc:mysql://localhost:3306/myDataBaseName&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Done and done!&lt;/p&gt;

&lt;h2 id=&quot;microsoft-sql-server-on-remote-server&quot;&gt;Microsoft SQL Server on Remote Server&lt;/h2&gt;

&lt;p&gt;It’s pretty rare I get to play with SQL Server, but at least a couple of my ongoing projects use remote SQL Server access. This example is from a Microsoft SQL Server 2008R2 connection. The drivers can be &lt;a href=&quot;http://msdn.microsoft.com/en-us/sqlserver/aa937724.aspx&quot;&gt;downloaded from Microsoft&lt;/a&gt;. Like above, I unpack them into a shared location and…&lt;/p&gt;

&lt;p&gt;I used the package:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;jdbcsql.jar&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;…and the class:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;com.microsoft.sqlserver.jdbc.SQLServerDriver&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;My server location looked something like:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;jdbc:sqlserver://example.com:1433;databaseName=myDataBaseName&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Hope it helps!&lt;/p&gt;
</description>
				<pubDate>Thu, 31 Jan 2013 00:00:00 +0000</pubDate>
				<link>/2013/01/31/phpstorm-data-source</link>
				<guid isPermaLink="true">/2013/01/31/phpstorm-data-source</guid>
			</item>
			
		
			
			<item>
				<title>Hello World</title>
				<description>&lt;p&gt;Finally on &lt;a href=&quot;http://jekyllrb.com/&quot;&gt;Jekyll&lt;/a&gt;. This theme is using &lt;a href=&quot;http://foundation.zurb.com/&quot;&gt;Foundation&lt;/a&gt;
and &lt;a href=&quot;http://fortawesome.github.com/Font-Awesome/#icons-social&quot;&gt;Font Awesome&lt;/a&gt; and you are more than welcome
to &lt;a href=&quot;https://github.com/pierswarmers/pierswarmers.github.com&quot;&gt;use it&lt;/a&gt; as a base for your own.&lt;/p&gt;

</description>
				<pubDate>Fri, 18 Jan 2013 00:00:00 +0000</pubDate>
				<link>/2013/01/18/hello-world</link>
				<guid isPermaLink="true">/2013/01/18/hello-world</guid>
			</item>
			
		
	</channel>
</rss>
