<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>Konstantin Kovshenin</title>
	
	<link>http://kovshenin.com</link>
	<description>WordPress Consultant, PHP &amp; MySQL Junkie, Python Enthusiast</description>
	<lastBuildDate>Sat, 04 Feb 2012 14:59:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/kovshenin_com" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="kovshenin_com" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Sync Time and Date in Ubuntu Linux</title>
		<link>http://kovshenin.com/2012/02/sync-date-time-ubuntu-3806/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=sync-date-time-ubuntu</link>
		<comments>http://kovshenin.com/2012/02/sync-date-time-ubuntu-3806/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 14:59:38 +0000</pubDate>
		<dc:creator>Konstantin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://kovshenin.com/?p=3806</guid>
		<description><![CDATA[<p>Quick tip! If you&#8217;re using virtual machines to develop and test your web applications, you probably use the &#8220;save state/snapshot&#8221; feature instead of turning it off and on every time. I noticed after a while that my time was out of sync (a few weeks late) which caused a bunch of problems. Luckily, I found [...]</p><p>Source: <a href="http://kovshenin.com/2012/02/sync-date-time-ubuntu-3806/">Sync Time and Date in Ubuntu Linux</a> by <a href="http://kovshenin.com">Konstantin Kovshenin</a></p>]]></description>
			<content:encoded><![CDATA[<p>Quick tip! If you&#8217;re using virtual machines to develop and test your web applications, you probably use the &#8220;save state/snapshot&#8221; feature instead of turning it off and on every time. I noticed after a while that my time was out of sync (a few weeks late) which caused a bunch of problems. Luckily, I found this simple command:</p>
<pre>sudo ntpdate ntp.ubuntu.com</pre>
<p>It will sync your time with the Ubuntu Time server. You can even add a cron entry as suggested by <a href="https://help.ubuntu.com/community/UbuntuTime#Command_Line_ntpdate">this article</a>. To display the current time and date, simply type <strong>date</strong>. Hope this helps :)</p>
<p>Source: <a href="http://kovshenin.com/2012/02/sync-date-time-ubuntu-3806/">Sync Time and Date in Ubuntu Linux</a> by <a href="http://kovshenin.com">Konstantin Kovshenin</a></p>]]></content:encoded>
			<wfw:commentRss>http://kovshenin.com/2012/02/sync-date-time-ubuntu-3806/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open-sourcing the Code Comments Trac plugin by Nikolay Bachiyski, from the WordPress.com VIP team. I haven’t ...</title>
		<link>http://kovshenin.com/2012/02/trac-code-commenting-plugin-3802/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=trac-code-commenting-plugin</link>
		<comments>http://kovshenin.com/2012/02/trac-code-commenting-plugin-3802/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 17:40:15 +0000</pubDate>
		<dc:creator>Konstantin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[trac]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://kovshenin.com/?p=3802</guid>
		<description><![CDATA[<p>Open-sourcing the Code Comments Trac plugin by Nikolay Bachiyski, from the WordPress.com VIP team. I haven&#8217;t had a chance to use the plugin myself, but I really love Trac (I don&#8217;t have much choice now either) and I really love code commenting on Github. This little plugin brings one to the other. Awesome, and well done!</p><p>Source: <a href="http://kovshenin.com/2012/02/trac-code-commenting-plugin-3802/">Open-sourcing the Code Comments Trac plugin by Nikolay Bachiyski, from the WordPress.com VIP team. I haven&#8217;t ...</a> by <a href="http://kovshenin.com">Konstantin Kovshenin</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://vip.wordpress.com/2012/02/01/open-sourcing-the-code-comments-trac-plugin/">Open-sourcing the Code Comments Trac plugin</a> by Nikolay Bachiyski, from the WordPress.com VIP team. I haven&#8217;t had a chance to use the plugin myself, but I really love Trac (I don&#8217;t have much choice now either) and I really love code commenting on Github. This little plugin brings one to the other. Awesome, and well done!</p>
<p><a href="http://s.kovshenin.com/core/wp-content/uploads/2012/02/trac-code-comments.png"><img class="alignnone size-full wp-image-3803" title="Trac Code Commenting" src="http://s.kovshenin.com/core/wp-content/uploads/2012/02/trac-code-comments.png" alt="Trac Code Commenting" width="440" height="476" /></a></p>
<p>Source: <a href="http://kovshenin.com/2012/02/trac-code-commenting-plugin-3802/">Open-sourcing the Code Comments Trac plugin by Nikolay Bachiyski, from the WordPress.com VIP team. I haven&#8217;t ...</a> by <a href="http://kovshenin.com">Konstantin Kovshenin</a></p>]]></content:encoded>
			<wfw:commentRss>http://kovshenin.com/2012/02/trac-code-commenting-plugin-3802/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>I’ve Joined Automattic</title>
		<link>http://kovshenin.com/2012/01/ive-joined-automattic-3799/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=ive-joined-automattic</link>
		<comments>http://kovshenin.com/2012/01/ive-joined-automattic-3799/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 19:39:34 +0000</pubDate>
		<dc:creator>Konstantin</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[automattic]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://kovshenin.com/?p=3799</guid>
		<description><![CDATA[<p>This is big news, and words can&#8217;t explain my feelings. Today&#8217;s my first day at Automattic, the company behing WordPress.com, Akismet, Gravatar, Polldaddy, VaultPress, and a whole lot more. As you know, Automattic also contributes to a number of Open Source projects, including BuddyPress, bbPress, Browse Happy, WordCamp.org and of course WordPress itself. So&#8230; Starting today, [...]</p><p>Source: <a href="http://kovshenin.com/2012/01/ive-joined-automattic-3799/">I&#8217;ve Joined Automattic</a> by <a href="http://kovshenin.com">Konstantin Kovshenin</a></p>]]></description>
			<content:encoded><![CDATA[<p>This is big news, and words can&#8217;t explain my feelings. Today&#8217;s my first day at <a href="http://automattic.com/">Automattic</a>, the company behing WordPress.com, Akismet, Gravatar, Polldaddy, VaultPress, and a whole lot more. As you know, Automattic also contributes to a number of Open Source projects, including BuddyPress, bbPress, Browse Happy, WordCamp.org and of course WordPress itself.</p>
<p>So&#8230; Starting today, I&#8217;ll be working on some <span style="color: #333333;"><strong>really</strong> cool stuff with some of the most talented minds on earth. I&#8217;ve already met with some of the folks online and the energy is incredible, they got me even more excited, and now I can&#8217;t wait for my first meetup and of course WordCamp to meet everybody in real life.</span></p>
<p>This is a <strong>dream come true</strong> for me, thank you so much Automattic! Looking forward to &#8220;make the web a better place.&#8221; :)</p>
<p>Source: <a href="http://kovshenin.com/2012/01/ive-joined-automattic-3799/">I&#8217;ve Joined Automattic</a> by <a href="http://kovshenin.com">Konstantin Kovshenin</a></p>]]></content:encoded>
			<wfw:commentRss>http://kovshenin.com/2012/01/ive-joined-automattic-3799/feed/</wfw:commentRss>
		<slash:comments>37</slash:comments>
		</item>
		<item>
		<title>Hey WordPress, How About a WP_Plugin Class?</title>
		<link>http://kovshenin.com/2012/01/hey-wordpress-how-about-a-wp_plugin-class-3797/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=hey-wordpress-how-about-a-wp_plugin-class</link>
		<comments>http://kovshenin.com/2012/01/hey-wordpress-how-about-a-wp_plugin-class-3797/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 11:26:13 +0000</pubDate>
		<dc:creator>Konstantin</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[ideas]]></category>
		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://kovshenin.com/?p=3797</guid>
		<description><![CDATA[<p>Okay January is my month of ideas :) Let&#8217;s talk about plugins for a moment, shall we? Actions and filters are no secret to WordPress developers, right? Say, how many times do you type something like this in your plugins or theme files: class Some_Plugin {     function __construct() {         [...]</p><p>Source: <a href="http://kovshenin.com/2012/01/hey-wordpress-how-about-a-wp_plugin-class-3797/">Hey WordPress, How About a WP_Plugin Class?</a> by <a href="http://kovshenin.com">Konstantin Kovshenin</a></p>]]></description>
			<content:encoded><![CDATA[<p>Okay January is my month of ideas :) Let&#8217;s talk about plugins for a moment, shall we? Actions and filters are no secret to WordPress developers, right? Say, how many times do you type something like this in your plugins or theme files:</p>
<pre>class Some_Plugin {
    function __construct() {
        add_action( 'admin_init', array( $this, 'admin_init' ) );
    }

    function admin_init() {
        // Whatever
    }
}</pre>
<p>If you don&#8217;t, then you can stop reading now :) I&#8217;m addressing the naming technique here, the fact that admin_init is both an action tag, and a method that you assign to that action tag. So if I&#8217;m naming all my methods after actions and filters tags in WordPress, isn&#8217;t there a way to cut down the burden of having to add_action and add_filter all the time?</p>
<p>I&#8217;ve been thinking of an approach that could solve this problem in both, an easy to understand way, and a compatible way. Perhaps we&#8217;re lacking a WP_Plugin class in WordPress that would take care of this (along with a bunch of other things) for us, so that we can focus on writing our plugin, and not spend time matching tags to methods.</p>
<p>Here&#8217;s a concept that first popped into my mind, experimental and buggy, but something to get our heads thinking about it. If your class extends the WP_Plugin class, and your method&#8217;s name starts with a double-underscore prefix (or any other convention we may choose), and matches an existing action or filter, why not run the action or filter automatically without having to add_action or add_filter?</p>
<pre>class Some_Plugin extends WP_Plugin {
    function __admin_init() {
        // Will run during admin_init
    }

    function __the_content( $content ) {
        // Will filter the_content
        return $content;
    }
}</pre>
<p>Again, it&#8217;s just a thought and a lot of decisions should be made before implementing something like this. I went ahead and <a href="https://gist.github.com/1626284">drafted a plugin file</a> which works well to some extent. You can change the method name convention on line 18.</p>
<p>So my questions to you, dear reader are: is will this make things easier for the WordPress developers? Will this mess things up? What do you think of the prefix convention? How would you propose to handle the priority dilemma? What else could go into a WP_Plugin class?</p>
<p><strong>Update!</strong> It seems like <a href="http://php.net/manual/en/book.reflection.php">Reflection</a> is a better approach at what I&#8217;m trying to do, and separating actions from filters logic too. Thanks so much for the heads up Ryan McCue, Kaiser and Daniel Dvorkin. Here&#8217;s <a href="https://gist.github.com/1626492">Ryan&#8217;s improvement</a> over my first Gist.</p>
<p>Thanks for stopping by and <a href="http://kovshenin.com/feed/">subscribing</a>!</p>
<p>Source: <a href="http://kovshenin.com/2012/01/hey-wordpress-how-about-a-wp_plugin-class-3797/">Hey WordPress, How About a WP_Plugin Class?</a> by <a href="http://kovshenin.com">Konstantin Kovshenin</a></p>]]></content:encoded>
			<wfw:commentRss>http://kovshenin.com/2012/01/hey-wordpress-how-about-a-wp_plugin-class-3797/feed/</wfw:commentRss>
		<slash:comments>50</slash:comments>
		</item>
		<item>
		<title>WordPress Multisite with Wildcard Subdomains</title>
		<link>http://kovshenin.com/2012/01/wordpress-multisite-with-wildcard-subdomains-3795/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=wordpress-multisite-with-wildcard-subdomains</link>
		<comments>http://kovshenin.com/2012/01/wordpress-multisite-with-wildcard-subdomains-3795/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 09:43:38 +0000</pubDate>
		<dc:creator>Konstantin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[multisite]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://kovshenin.com/?p=3795</guid>
		<description><![CDATA[<p>If you&#8217;re working with WordPress Multisite in your local environment, you might have noticed that dealing with a subdomain install is a pain, because your hosts file doesn&#8217;t support wildcard entries for hosts, i.e. you cannot do something like this: 127.0.0.1 *.multisite.lo # will not work! There are quite a few solutions though, first and [...]</p><p>Source: <a href="http://kovshenin.com/2012/01/wordpress-multisite-with-wildcard-subdomains-3795/">WordPress Multisite with Wildcard Subdomains</a> by <a href="http://kovshenin.com">Konstantin Kovshenin</a></p>]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re working with WordPress Multisite in your local environment, you might have noticed that dealing with a subdomain install is a pain, because your hosts file doesn&#8217;t support wildcard entries for hosts, i.e. you <strong>cannot</strong> do something like this:</p>
<pre>127.0.0.1 *.multisite.lo # will not work!</pre>
<p>There are quite a few solutions though, first and easiest of which is to run multisite with a subdirectories setup. The second solution would be to manage you hosts file manually and create an entry for each subdomain in you installation. This could be a pain if you&#8217;re working with quite a large amount of subdomains, in fact you can end up spending most of your time editing you hosts file and flushing DNS cache.</p>
<p>I wrote a little snippet that you can use in a plugin file or functions.php which prints out a string you can copy and paste into your /etc/hosts file. It generates an entry out of all the existing domains in your WordPress multisite install and maps them to the IP address you specify.</p>
<pre>add_action( 'wp_footer', 'print_entry_for_hosts_file' );
function print_entry_for_hosts_file() {
    global $wpdb;
    $domains = $wpdb-&gt;get_col( "SELECT domain FROM $wpdb-&gt;blogs;" );
    echo "127.0.0.1 " . implode( ' ', $domains );
}</pre>
<p>The wp_footer hook will get it to print the entry in your theme&#8217;s footer but you can attach it to any other hook if you like. When actually pasting the generated entry into your hosts file, make sure you remove the previous entry for your domain to keep the file clean and shiny. Comment out the add_action line to hide the mess until you add a few more sites to the network and need to update you hosts file again.</p>
<p>I agree it&#8217;s still a bit of a pain but it really helps! The third and probably most correct way of handling wildcard domains working locally would be to set up a DNS server. It&#8217;s not always worth the trouble though.</p>
<p>If you had experience dealing with wildcard domains in WordPress multisite, please share your thoughts in the comments section below. If you installed a local DNS server, feel free to link to any guide or tutorial on how to do that on your operating system. Thanks!</p>
<p>Source: <a href="http://kovshenin.com/2012/01/wordpress-multisite-with-wildcard-subdomains-3795/">WordPress Multisite with Wildcard Subdomains</a> by <a href="http://kovshenin.com">Konstantin Kovshenin</a></p>]]></content:encoded>
			<wfw:commentRss>http://kovshenin.com/2012/01/wordpress-multisite-with-wildcard-subdomains-3795/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>I turned 23 today, it doesn’t feel too much different from last year. I ...</title>
		<link>http://kovshenin.com/2012/01/i-turned-23-today-3794/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=i-turned-23-today</link>
		<comments>http://kovshenin.com/2012/01/i-turned-23-today-3794/#comments</comments>
		<pubDate>Sat, 14 Jan 2012 16:16:30 +0000</pubDate>
		<dc:creator>Konstantin</dc:creator>
				<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://kovshenin.com/?p=3794</guid>
		<description><![CDATA[<p>I turned 23 today, it doesn&#8217;t feel too much different from last year. I have gone through a lot of (mostly) good things, the most wonderful of which was my marriage in December. Let&#8217;s see what happens next, I&#8217;m quite excited!</p><p>Source: <a href="http://kovshenin.com/2012/01/i-turned-23-today-3794/">I turned 23 today, it doesn&#8217;t feel too much different from last year. I ...</a> by <a href="http://kovshenin.com">Konstantin Kovshenin</a></p>]]></description>
			<content:encoded><![CDATA[<p>I turned 23 today, it doesn&#8217;t feel too much different from last year. I have gone through a lot of (mostly) good things, the most wonderful of which was <a href="http://kovshenin.com/2011/12/just-married-3724/">my marriage</a> in December. Let&#8217;s see what happens next, I&#8217;m quite excited!</p>
<p>Source: <a href="http://kovshenin.com/2012/01/i-turned-23-today-3794/">I turned 23 today, it doesn&#8217;t feel too much different from last year. I ...</a> by <a href="http://kovshenin.com">Konstantin Kovshenin</a></p>]]></content:encoded>
			<wfw:commentRss>http://kovshenin.com/2012/01/i-turned-23-today-3794/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Dear WordPress, I Want to “Drop Files Here” in the Visual Editor!</title>
		<link>http://kovshenin.com/2012/01/dear-wordpress-i-want-to-drop-files-here-in-the-visual-editor-3790/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=dear-wordpress-i-want-to-drop-files-here-in-the-visual-editor</link>
		<comments>http://kovshenin.com/2012/01/dear-wordpress-i-want-to-drop-files-here-in-the-visual-editor-3790/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 10:18:57 +0000</pubDate>
		<dc:creator>Konstantin</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[core]]></category>
		<category><![CDATA[ideas]]></category>
		<category><![CDATA[ux]]></category>

		<guid isPermaLink="false">http://kovshenin.com/?p=3790</guid>
		<description><![CDATA[<p>Wouldn&#8217;t in be great if we could drag and drop to upload files directly into the visual editor? WordPress 3.3 very well handles drag and drop uploads into the Add Media modal box, in a special area that says &#8220;drop files here&#8221;: And thank you so much for that, WordPress, but I&#8217;m tired of constantly [...]</p><p>Source: <a href="http://kovshenin.com/2012/01/dear-wordpress-i-want-to-drop-files-here-in-the-visual-editor-3790/">Dear WordPress, I Want to &#8220;Drop Files Here&#8221; in the Visual Editor!</a> by <a href="http://kovshenin.com">Konstantin Kovshenin</a></p>]]></description>
			<content:encoded><![CDATA[<p>Wouldn&#8217;t in be great if we could drag and drop to upload files directly into the visual editor? WordPress 3.3 very well handles drag and drop uploads into the Add Media modal box, in a special area that says &#8220;drop files here&#8221;:</p>
<p><a href="http://s.kovshenin.com/core/wp-content/uploads/2012/01/drop-files-here.png"><img class="alignnone size-full wp-image-3791" title="WordPress 3.3 Drop Files Here" src="http://s.kovshenin.com/core/wp-content/uploads/2012/01/drop-files-here.png" alt="WordPress 3.3 Drop Files Here" width="669" height="280" /></a></p>
<p>And thank you so much for that, WordPress, but I&#8217;m tired of constantly having to open the media manager to insert an image into my post or page. Having the visual editor carry out the &#8220;drop files here&#8221; role would be awesome, it would save at least one click every time I need to insert an image.</p>
<p>Two clicks if we can get it to upload and insert the image into the editor without even showing the Add Media screen! But that might be a little more complicated because of positioning and sizing. A simple upload is where we should start.</p>
<p><span id="more-3790"></span></p>
<p>So I went digging around <a href="http://www.plupload.com/">Plupload</a> last night &#8212; the library that powers the upload features of WordPress since 3.3. I spent almost two hours poking the tool around and I could get it to handle drag and drog events literally <strong>anywhere</strong> in the admin screen, <strong>except</strong> the freaking TinyMCE editor, because of the stupid iframe! Can you believe that!</p>
<p>I&#8217;m not loosing hope though, I&#8217;m quite sure that I (or somebody else) will come up with a solution. At least I can get to drop files in the HTML editor textarea ;) Thoughts?</p>
<p>P.S. An &#8220;idea&#8221; <a href="http://wordpress.org/extend/ideas/topic/drag-and-drop-files-into-the-visual-editor">has been submitted</a> to WordPress.org pool, I appreciate the votes there if you own a dot-org account. Thanks!</p>
<p><strong>Update</strong>: Thanks to my brother <a href="http://twitter.com/SoulSeekah">@SoulSeekah</a> we&#8217;ve been able to figure out that the TinyMCE editor is not loaded at the time I added the drop event listener. Okay now this is exciting, let&#8217;s see where we can take this!</p>
<h2>Update: Proof of Concept</h2>
<p>Ready? Are you sure? Great!</p>
<p><iframe width="580" height="435" src="http://www.youtube.com/embed/Mqs4_g-7SCU?fs=1&#038;feature=oembed" frameborder="0" allowfullscreen></iframe></p>
<p>Sorry for the background noise, and low quality sound. In this video I&#8217;m demonstrating my first experiment, currently as a plugin. I&#8217;m not ready to share the plugin yet since it needs a little bit more work, and besides, I had to make changes to the plupload file shipping with 3.3.1 core.</p>
<p>As soon as I have something I&#8217;ll open a core trac ticket to see where we can take this. Thank you all for your support.. And ugh.. <strong>What do you think?</strong></p>
<p><strong>Update</strong>: <a href="http://core.trac.wordpress.org/ticket/19845">Trac ticket</a> created if you&#8217;d like to follow along. Thanks for the support everyone, it really means a lot to me!</p>
<p>Source: <a href="http://kovshenin.com/2012/01/dear-wordpress-i-want-to-drop-files-here-in-the-visual-editor-3790/">Dear WordPress, I Want to &#8220;Drop Files Here&#8221; in the Visual Editor!</a> by <a href="http://kovshenin.com">Konstantin Kovshenin</a></p>]]></content:encoded>
			<wfw:commentRss>http://kovshenin.com/2012/01/dear-wordpress-i-want-to-drop-files-here-in-the-visual-editor-3790/feed/</wfw:commentRss>
		<slash:comments>46</slash:comments>
		</item>
		<item>
		<title>Installing WordPress with MAMP on Mac OS X</title>
		<link>http://kovshenin.com/2012/01/installing-wordpress-with-mamp-on-mac-os-x-3776/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=installing-wordpress-with-mamp-on-mac-os-x</link>
		<comments>http://kovshenin.com/2012/01/installing-wordpress-with-mamp-on-mac-os-x-3776/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 16:17:27 +0000</pubDate>
		<dc:creator>Konstantin</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://kovshenin.com/?p=3776</guid>
		<description><![CDATA[<p>This is an absolute beginners tutorial on how to get yourself a local WordPress development environment set up on your Mac OS X with MAMP. Step by step (and with screenshots,) we&#8217;ll go through each part of the process &#8212; downloading and installing MAMP, basic MAMP configuration, creating a MySQL user and database, getting WordPress [...]</p><p>Source: <a href="http://kovshenin.com/2012/01/installing-wordpress-with-mamp-on-mac-os-x-3776/">Installing WordPress with MAMP on Mac OS X</a> by <a href="http://kovshenin.com">Konstantin Kovshenin</a></p>]]></description>
			<content:encoded><![CDATA[<p>This is an absolute beginners tutorial on how to get yourself a local WordPress development environment set up on your Mac OS X with MAMP. Step by step (and with screenshots,) we&#8217;ll go through each part of the process &#8212; downloading and installing MAMP, basic MAMP configuration, creating a MySQL user and database, getting WordPress up and running, and in the end I&#8217;ll share some tips you might find useful in your WordPress journey.</p>
<p><span id="more-3776"></span></p>
<h2>What is MAMP and why MAMP?</h2>
<p>WordPress is not a stand-alone application. In order to work, it <a href="http://wordpress.org/about/requirements/">requires</a> a special set of server software that your hosting company will typically provide for you, but such software is not pre-installed on your local Mac. This means that in order to run WordPress locally, you would need to install and configure the set of software yourself, but luckily there&#8217;s MAMP!</p>
<p><a href="http://www.mamp.info/en/mamp/index.html">MAMP</a> is a stand-alone application for Mac OS X which brings server power to your home or office desktop or laptop. It bundles the typical software stack you&#8217;d need to run all sorts of web applications including WordPress; that is the <strong>A</strong>pache web server, a <strong>M</strong>ySQL database server and a <strong>P</strong>HP interpreter. As you might have noticed, those three are the &#8220;AMP&#8221; part. The first &#8220;M&#8221; stands for Macintosh, or as we call it nowadays &#8212; Mac.</p>
<h2>Installing MAMP</h2>
<p>If you&#8217;re a Mac user, you&#8217;ve probably gone through the process of installing new software in OS X, and MAMP is not too different. Let&#8217;s browse to <a href="http://www.mamp.info/en/downloads/index.html">the MAMP website</a> and get ourselves the latest copy of the software. It&#8217;s usually bundled with MAMP PRO trial (a commercial and more advanced) version, but we&#8217;ll be using the free version which is enough to get you started.</p>
<p><a href="http://s.kovshenin.com/core/wp-content/uploads/2012/01/mamp-download.png"><img class="alignnone  wp-image-3778" title="Download MAMP" src="http://s.kovshenin.com/core/wp-content/uploads/2012/01/mamp-download-680x388.png" alt="Download MAMP" width="580" height="330" /></a></p>
<p>Once the download is complete (over a hundred megabytes,) extract the contents of the archive somewhere, your desktop is a good place. You&#8217;ll see that it contains a <strong>MAMP.pkg</strong> package which you can run. You&#8217;ll be greeted with a user-friendly installer where you&#8217;ll have to keep hitting Continue to get through each step.</p>
<p>Note that during the Installation Type step, you can hit <strong>Customize</strong> and uncheck MAMP PRO which would skip the trial commercial package.</p>
<p><a href="http://s.kovshenin.com/core/wp-content/uploads/2012/01/mamp-installation.png"><img class="alignnone size-full wp-image-3779" title="Installing MAMP" src="http://s.kovshenin.com/core/wp-content/uploads/2012/01/mamp-installation.png" alt="Installing MAMP" width="616" height="438" /></a></p>
<p>After MAMP has been installed, you can launch it using the Applications tab in your dock or by searching for MAMP in Spotlight. Note that when starting and stopping services and changing the configuration, MAMP may ask you for your password, which is required to make system changes in OS X.</p>
<p><a href="http://s.kovshenin.com/core/wp-content/uploads/2012/01/mamp-password.png"><img class="alignnone size-large wp-image-3780" title="MAMP Configuration Password" src="http://s.kovshenin.com/core/wp-content/uploads/2012/01/mamp-password-680x360.png" alt="MAMP Configuration Password" width="580" height="307" /></a></p>
<p>The Status section on the left will show you when the Apache and MySQL services are started or stopped. After changing any configuration, you might need to restart the servers for your changes to take effect.</p>
<h2>Configuring Apache &amp; MySQL Ports</h2>
<p>This step is quite important. By default MAMP sets <em>non-default</em> ports for Apache and MySQL in order to avoid possible conflicts with other running applications, so unless you&#8217;re using some software that occupies the default ports, it would be nice to change them. Apache to port <strong>80</strong> and MySQL to port <strong>3306</strong>.</p>
<p>Use the Preferences button, and then the <strong>Ports</strong> tab to make the necessary changes. MAMP will have to restart your servers for the changes to take effect.</p>
<p><a href="http://s.kovshenin.com/core/wp-content/uploads/2012/01/mamp-ports.png"><img class="alignnone size-full wp-image-3781" title="MAMP Ports Setup" src="http://s.kovshenin.com/core/wp-content/uploads/2012/01/mamp-ports.png" alt="MAMP Ports Setup" width="418" height="340" /></a></p>
<p>Now while you&#8217;re at the MAMP preferences, hit the <strong>Apache</strong> tab to be able to select a directory root. This is like the public_html folder on your web hosting server, but a local one. That&#8217;s where you will install WordPress and store all your project files. A folder in your Documents is a good place to start. I&#8217;ll call it <em>my_document_root</em>.</p>
<p>To make sure everything is working correctly, let&#8217;s create a new PHP file in the directory we just set as our document root. Call the file <strong>index.php</strong> and have its contents say something simple:</p>
<pre>&lt;?php phpinfo(); ?&gt;</pre>
<p>Then get your web browser to point to <strong>localhost</strong> and if you&#8217;re lucky enough you&#8217;ll see the PHP info page that looks like this:</p>
<p><a href="http://s.kovshenin.com/core/wp-content/uploads/2012/01/phpinfo.png"><img class="alignnone size-large wp-image-3782" title="phpinfo with MAMP" src="http://s.kovshenin.com/core/wp-content/uploads/2012/01/phpinfo-680x447.png" alt="phpinfo with MAMP" width="580" height="381" /></a></p>
<p>Hurray, now <strong>delete that file</strong> and let&#8217;s get a MySQL database ready for WordPress.</p>
<h2>Creating a MySQL Database for WordPress</h2>
<p>Now, before installing WordPress we need a database where it would store its data and settings. MAMP ships with a database manager application called phpMyAdmin and the WordPress Codex has a guide on <a href="http://codex.wordpress.org/Installing_WordPress#Using_phpMyAdmin">how to create a database with that</a>, but let&#8217;s take a shortcut here and fire our <strong>Terminal</strong> in OS X. You can find it in your Applications folder or easier, through Spotlight.</p>
<p><a href="http://s.kovshenin.com/core/wp-content/uploads/2012/01/spotlight-terminal.png"><img class="alignnone size-large wp-image-3785" title="Spotlight Terminal" src="http://s.kovshenin.com/core/wp-content/uploads/2012/01/spotlight-terminal-680x201.png" alt="Spotlight Terminal" width="580" height="171" /></a></p>
<p>The Terminal is a command line utility to your Mac, sort of what you might have heard about Linux, DOS and so on.</p>
<p><a href="http://s.kovshenin.com/core/wp-content/uploads/2012/01/osx-terminal.png"><img class="alignnone size-full wp-image-3783" title="Terminal in OS X" src="http://s.kovshenin.com/core/wp-content/uploads/2012/01/osx-terminal.png" alt="Terminal in OS X" width="567" height="363" /></a></p>
<p>If you&#8217;re planning to become a kick-ass WordPress developer, you&#8217;re going to have to learn this tool. We&#8217;ll type in a few commands (which you can easily copy and paste) that will connect to your local MySQL server, create a new database for WordPress and then create a new MySQL user with access to that database. Ready?</p>
<pre>mysql -uroot -proot
CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO wp@localhost IDENTIFIED BY 'hello';
EXIT;</pre>
<p>Don&#8217;t get too scared yet, it&#8217;s quite simple if you understand what each command does. The first one connects to our local MySQL server using <span style="color: #333333;"><strong>root</strong> as the username (the -u argument) and <strong>root</strong> as the password (the -p argument.) These are the default settings in MAMP. Note that there is no space character between arguments and their values. If that gives an error, you should explicitly tell Terminal where the MySQL binary is (where you installed MAMP,) in my case it&#8217;s:</span></p>
<pre>/Applications/MAMP/Library/bin/mysql -uroot -proot
</pre>
<p>If everything&#8217;s correct, the first command will open a MySQL command line (in the same Terminal window) to which you type in the rest of the commands or as they&#8217;re called <em>SQL queries</em>. The first query (second command) is straightforward &#8212; it will create a new database called <strong>wordpress</strong> and the second query will grant all possible privileges (read, write, delete, etc.) on every table in the wordpress database, to the <strong>wp</strong><span style="color: #333333;"> user originating from <strong>localhost</strong> identified by the <strong>hello</strong> password.</span></p>
<p>The third query exits the MySQL shell, at which point you no longer need Terminal so feel free to close it. Here&#8217;s a screenshot from my Terminal to make sure you&#8217;ve done everything right:</p>
<p><a href="http://s.kovshenin.com/core/wp-content/uploads/2012/01/terminal-mysql.png"><img class="alignnone size-full wp-image-3784" title="MySQL Terminal" src="http://s.kovshenin.com/core/wp-content/uploads/2012/01/terminal-mysql.png" alt="MySQL Terminal" width="595" height="377" /></a></p>
<p>As you might have guessed, the bolded words in the paragraphs above are the values we&#8217;re going to use when setting up WordPress, so we&#8217;re really close now!</p>
<h2>Installing WordPress</h2>
<p>Okay, I assume you already know where to get the <a href="http://wordpress.org/download/">latest version of WordPress</a>. Download the ZIP archive and extract it to that document root directory. The one where we created our index.php file, remember? Note that the archive might (and probably will) extract an additional folder called <em>wordpress</em> with all the WordPress files inside. Feel free to move all the contents of that folder back to your document root and then delete the empty WordPress folder.</p>
<p><a href="http://s.kovshenin.com/core/wp-content/uploads/2012/01/wordpress-finder.png"><img class="alignnone size-large wp-image-3787" title="WordPress Contents in Finder" src="http://s.kovshenin.com/core/wp-content/uploads/2012/01/wordpress-finder-680x384.png" alt="WordPress Contents in Finder" width="580" height="327" /></a></p>
<p>Now, open your browser and point your web browser to <strong>localhost</strong> again. This should bring up the WordPress welcome page and then on to your database settings, which you probably are familiar with already.</p>
<p><a href="http://s.kovshenin.com/core/wp-content/uploads/2012/01/wordpress-database.png"><img class="alignnone size-large wp-image-3788" title="WordPress MAMP Database" src="http://s.kovshenin.com/core/wp-content/uploads/2012/01/wordpress-database-680x519.png" alt="WordPress MAMP Database" width="580" height="442" /></a></p>
<p>The database name, username, password fields are the ones we used when creating the user and database, remember? The host field is localhost because MySQL is running on the same computer (your computer) as the Apache web server. The table prefix is up to you. I generally leave it wp_ for local installs.</p>
<p>The rest is pretty straightforward, blog name, admin username, password and e-mail. After having filled those in you&#8217;re left with your brand new and empty WordPress installation, on your local machine, running MAMP. Congratulations!</p>
<h2>Conclusion</h2>
<p>I&#8217;d like to end this tutorial with a few short tips you might find useful when working with WordPress locally on MAMP.</p>
<ul>
<li>While MAMP itself is a lightweight application, when working for a long time without turning it off (and without restarting your computer,) it can get a little laggy and use too much memory. Kick it around from time to time.</li>
<li>If ever needed, Apache and PHP configuration files are located in MAMP&#8217;s conf directory, that&#8217;s /Applications/MAMP/conf.</li>
<li>Apache and PHP binaries and service scripts are available in MAMP&#8217;s bin directory, Apache, PHP and MySQL logs are in the logs folder (duh.)</li>
<li>You don&#8217;t need MAMP PRO unless you&#8217;re 100% sure you do.</li>
</ul>
<p>Final tip &#8212; whenever you become a MAMP ninja, don&#8217;t stop there! Your next goal is being able to run a local virtual machine with your favorite Linux distribution linked to your Mac OS X with a network file system or something similar. That would really get you closer to the real world hosting environments, and a better WordPress pro.</p>
<p>Thank you so much for reading, hope you enjoyed it and feel free to ask questions, post comments and come <a href="https://twitter.com/#!/kovshenin">say hi on Twitter too</a>. Cheers and thanks again!</p>
<p>Source: <a href="http://kovshenin.com/2012/01/installing-wordpress-with-mamp-on-mac-os-x-3776/">Installing WordPress with MAMP on Mac OS X</a> by <a href="http://kovshenin.com">Konstantin Kovshenin</a></p>]]></content:encoded>
			<wfw:commentRss>http://kovshenin.com/2012/01/installing-wordpress-with-mamp-on-mac-os-x-3776/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Stop SOPA Ribbon for your WordPress site or network. A plugin I made in ...</title>
		<link>http://kovshenin.com/2012/01/stop-sopa-ribbon-for-wordpress-3772/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=stop-sopa-ribbon-for-wordpress</link>
		<comments>http://kovshenin.com/2012/01/stop-sopa-ribbon-for-wordpress-3772/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 05:42:35 +0000</pubDate>
		<dc:creator>Konstantin</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://kovshenin.com/?p=3772</guid>
		<description><![CDATA[<p>Stop SOPA Ribbon for your WordPress site or network. A plugin I made in a few minutes to show my support. It works with Multisite if you need a ribbon throughout the whole network. Learn more about SOPA on the Stop American Censorship website or read the Help Stop SOPA/PIPA in the WordPress news section.</p><p>Source: <a href="http://kovshenin.com/2012/01/stop-sopa-ribbon-for-wordpress-3772/">Stop SOPA Ribbon for your WordPress site or network. A plugin I made in ...</a> by <a href="http://kovshenin.com">Konstantin Kovshenin</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://wordpress.org/extend/plugins/stop-sopa-ribbon/">Stop SOPA Ribbon</a> for your WordPress site or network. A plugin I made in a few minutes to show my support. It works with Multisite if you need a ribbon throughout the whole network. Learn more about SOPA on the <a href="http://americancensorship.org/">Stop American Censorship</a> website or read the <a href="http://wordpress.org/news/2012/01/help-stop-sopa-pipa/">Help Stop SOPA/PIPA</a> in the WordPress news section.</p>
<p>Source: <a href="http://kovshenin.com/2012/01/stop-sopa-ribbon-for-wordpress-3772/">Stop SOPA Ribbon for your WordPress site or network. A plugin I made in ...</a> by <a href="http://kovshenin.com">Konstantin Kovshenin</a></p>]]></content:encoded>
			<wfw:commentRss>http://kovshenin.com/2012/01/stop-sopa-ribbon-for-wordpress-3772/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Andy Stratton gave a presentation called “Diet Pills, SEO, and Theme Frameworks” at WordCamp Chicago ...</title>
		<link>http://kovshenin.com/2012/01/andy-stratton-diet-pills-seo-and-theme-frameworks-3760/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=andy-stratton-diet-pills-seo-and-theme-frameworks</link>
		<comments>http://kovshenin.com/2012/01/andy-stratton-diet-pills-seo-and-theme-frameworks-3760/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 11:22:43 +0000</pubDate>
		<dc:creator>Konstantin</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[themes]]></category>
		<category><![CDATA[videos]]></category>
		<category><![CDATA[wordcamp]]></category>

		<guid isPermaLink="false">http://kovshenin.com/?p=3760</guid>
		<description><![CDATA[<p>Andy Stratton gave a presentation called &#8220;Diet Pills, SEO, and Theme Frameworks&#8221; at WordCamp Chicago 2011. He talked about WordPress themes, frameworks, marketplaces and a lot of related misconceptions, and some of the many problems with commercial themes including SEO, customization, child themes. Here&#8217;s a quote if you haven&#8217;t got time to watch the whole video. [...]</p><p>Source: <a href="http://kovshenin.com/2012/01/andy-stratton-diet-pills-seo-and-theme-frameworks-3760/">Andy Stratton gave a presentation called &#8220;Diet Pills, SEO, and Theme Frameworks&#8221; at WordCamp Chicago ...</a> by <a href="http://kovshenin.com">Konstantin Kovshenin</a></p>]]></description>
			<content:encoded><![CDATA[<p><embed src="http://v.wordpress.com/mkr7UQST" type="application/x-shockwave-flash" width="580" height="326" allowscriptaccess="always" allowfullscreen="true" wmode="transparent"></embed></p>
<p>Andy Stratton gave a presentation called &#8220;Diet Pills, SEO, and Theme Frameworks&#8221; at WordCamp Chicago 2011. He talked about WordPress themes, frameworks, marketplaces and a lot of related misconceptions, and some of the many problems with commercial themes including SEO, customization, child themes. Here&#8217;s a quote if you haven&#8217;t got time to watch the whole video.</p>
<blockquote><p>There are no shortcuts to awesome!</p></blockquote>
<p>So if your clients think that $30 themes are flexible, customizable and awesome products that will solve all their business problems, they might be wrong. Thank you Andy for clearing that out! Andy&#8217;s presentation is on <a href="http://www.slideshare.net/theandystratton/diet-pills-seo-theme-frameworks-there-are-no-magic-bullets">SlideShare</a> too!</p>
<p>Source: <a href="http://kovshenin.com/2012/01/andy-stratton-diet-pills-seo-and-theme-frameworks-3760/">Andy Stratton gave a presentation called &#8220;Diet Pills, SEO, and Theme Frameworks&#8221; at WordCamp Chicago ...</a> by <a href="http://kovshenin.com">Konstantin Kovshenin</a></p>]]></content:encoded>
			<wfw:commentRss>http://kovshenin.com/2012/01/andy-stratton-diet-pills-seo-and-theme-frameworks-3760/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss><!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced
Database Caching using disk: basic
Object Caching 1549/1685 objects using disk: basic
Content Delivery Network via s.kovshenin.com

Served from: kovshenin.com @ 2012-02-07 14:30:48 -->

