<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-3972839964393558627</atom:id><lastBuildDate>Sun, 10 May 2026 07:24:01 +0000</lastBuildDate><category>programming</category><category>server</category><category>scripting</category><category>php</category><category>Ubuntu</category><category>linux</category><category>apache</category><category>SQL</category><category>database</category><category>browser</category><category>javascript</category><category>mysql</category><category>tutorials</category><category>optimization</category><category>Command Line</category><category>Microsoft</category><category>binary</category><category>htaccess</category><category>storage</category><category>DHTML</category><category>GUI</category><category>network</category><category>new ideas</category><category>phpbb3</category><category>text editors</category><category>adsense</category><category>color</category><category>experiment</category><category>fancy navigation</category><category>filesystem</category><category>html</category><category>jquery</category><category>regular expressions</category><category>ssh</category><category>UTF-8 BOM</category><category>google</category><category>svn</category><category>Adobe</category><category>HTML Elements</category><category>Opera browser</category><category>changelogs</category><category>css</category><category>rss</category><category>wordpress</category><title>Develobert</title><description></description><link>http://develobert.blogspot.com/</link><managingEditor>noreply@blogger.com (Joe Kovar)</managingEditor><generator>Blogger</generator><openSearch:totalResults>65</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3972839964393558627.post-3432775118450608877</guid><pubDate>Sat, 11 Jan 2014 09:10:00 +0000</pubDate><atom:updated>2014-01-11T20:47:12.370-05:00</atom:updated><title>Chromecast as WiFi Extender</title><atom:summary type="text">Our internet provider brought us a new modem / router today, which ended up with me re-configuring our home network. While doing so, I noticed that our Chromecast was showing up as a wireless network in my phones list of wireless networks. This got me thinking, can the ChromeCast somehow be used as a wireless range extender, does Google have plans to add such useful functionality to the </atom:summary><link>http://develobert.blogspot.com/2014/01/chromecast-as-wifi-extender.html</link><author>noreply@blogger.com (Joe Kovar)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3972839964393558627.post-9165706009926221463</guid><pubDate>Tue, 07 Jan 2014 03:51:00 +0000</pubDate><atom:updated>2014-01-06T22:51:01.390-05:00</atom:updated><title>Chromecast Auto Tune Doesn&#39;t Work</title><atom:summary type="text">I recently picked up a Google Chromecast thinking it made more sense than paying a little less for an HDMI cable long enough to go from our home office to the living room television.

The only problem is that even though our TV has multiple HDMI inputs, our TV doesn&#39;t support something called HDMI-CEC, which is required in order for Chromecast to automatically tune the TV to the HDMI port </atom:summary><link>http://develobert.blogspot.com/2014/01/chromecast-auto-tune-doesnt-work.html</link><author>noreply@blogger.com (Joe Kovar)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3972839964393558627.post-5228074108276082184</guid><pubDate>Mon, 18 Nov 2013 18:20:00 +0000</pubDate><atom:updated>2014-01-11T20:54:10.825-05:00</atom:updated><title>Arduino Powered Vertical Garden</title><atom:summary type="text">I started setting up a Vertical Garden in the back yard using PVC and landscape timbers. I plan to grow romaine lettuce and a few herbs for starters. At the moment there are just some plants I picked up at Home Depot for testing, I didn&#39;t bother to transplant them from the containers they came in for now. Eventually I plan to use net pots or net cups in the system and have a semi-hydroponic setup</atom:summary><link>http://develobert.blogspot.com/2013/11/arduino-powered-vertical-garden.html</link><author>noreply@blogger.com (Joe Kovar)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7F8zso7_Nq3ErjGmFWDJs1R_ursb68SFh1osIRzUGrcoHssZymKLOA43Eu4E3P3pA8AizhFxOnKhY0R5QT8j7HyU5v4hbjOkpq5k6Sby0byV11tCljsmeLvbR1qCLGTS99wQsrfCQx98/s72-c/IMG_20131118_124830.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3972839964393558627.post-4090204854575021126</guid><pubDate>Sun, 17 Nov 2013 22:00:00 +0000</pubDate><atom:updated>2014-01-11T20:45:43.770-05:00</atom:updated><title>RHT03 / DHT-22 Temperature / Humidity Sensor Housing</title><atom:summary type="text">I have been using the DHT-22 temperature and humidity sensors
 throughout the house for monitoring temp/humidity with an Arduino Mega. They&#39;re kind of awkward to place though. I discovered with a couple of snips with an exacto knife however, the DHT-22 fits quite nicely in a one port single gang wall plate, which in turn can be mounted to a single gang cut in box in the wall to protect </atom:summary><link>http://develobert.blogspot.com/2013/11/rht03-dht-22-temperature-humidity.html</link><author>noreply@blogger.com (Joe Kovar)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAnUR4ooNm5aB954brL1TMx1CrhYUp_HkQ1fmzJSF8zYr6XlhLJzuvcckW1BLyFEoJDn0tlj1Eze7_IdCxDnQbgUb-NtdzL7z38kSrajxXR2yUROmeO_83GCtUvuSOJasc7Ncdsq3olSk/s72-c/IMG_20130611_191436.jpg" height="72" width="72"/><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3972839964393558627.post-1494041252749927969</guid><pubDate>Sun, 17 Nov 2013 04:49:00 +0000</pubDate><atom:updated>2013-11-16T23:49:19.118-05:00</atom:updated><title>Arduino Solar Sensor</title><atom:summary type="text">I&#39;m thinking about taking this cheap 1.2VDC solar powered garden light&#39;s solar cell and making something I can hook up to my Arduino mega to record how much sun I get where I&#39;m at. In theory I should be able to monitor the voltage coming from the solar cell on an analog input pin of the arduino. I don&#39;t anticipate the cell ever producing the 5VDC limit on the Arduino, but maybe I should add a </atom:summary><link>http://develobert.blogspot.com/2013/11/arduino-solar-sensor.html</link><author>noreply@blogger.com (Joe Kovar)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3972839964393558627.post-2335737715597469199</guid><pubDate>Sun, 20 Jan 2013 20:25:00 +0000</pubDate><atom:updated>2013-01-20T15:25:03.976-05:00</atom:updated><title>auth.log Service Restart</title><atom:summary type="text">I tried to incorporate my auth.log file into logrotate and didn&#39;t use copytruncate in my logrotate.d configuration file, so I ended up with a missing auth.log file. I tried to recreate auth.log by copying auth.log.0 and chown&#39;ing it syslog:adm, but I ended up with an auth.log that wasn&#39;t being updated because the authentication daemon no longer had a handle to the file.

Rather than reboot the </atom:summary><link>http://develobert.blogspot.com/2013/01/authlog-service-restart.html</link><author>noreply@blogger.com (Joe Kovar)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3972839964393558627.post-1091670633523038798</guid><pubDate>Sat, 19 Jan 2013 21:54:00 +0000</pubDate><atom:updated>2013-01-19T16:54:45.705-05:00</atom:updated><title>regex capture $1 refers to no regex</title><atom:summary type="text">I discovered this warning in my Apache log after adding a command via mod_include which utilized awk. When I placed backslashes before the dollar signs in my html page, the error disapeared.

To

awk  &#39;{print \$1\&quot;/\&quot;\$2\&quot;/\&quot;\$3}&#39;

From

awk  &#39;{print $1\&quot;/\&quot;$2\&quot;/\&quot;$3}&#39;</atom:summary><link>http://develobert.blogspot.com/2013/01/regex-capture-1-refers-to-no-regex.html</link><author>noreply@blogger.com (Joe Kovar)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3972839964393558627.post-4225925349776229228</guid><pubDate>Wed, 26 Jan 2011 05:38:00 +0000</pubDate><atom:updated>2011-01-26T01:14:22.521-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">apache</category><category domain="http://www.blogger.com/atom/ns#">network</category><category domain="http://www.blogger.com/atom/ns#">optimization</category><category domain="http://www.blogger.com/atom/ns#">server</category><title>Simple URL Shortening Script</title><atom:summary type="text">If you&#39;re running Apache and are able to use the mod_asis module, it&#39;s very easy to setup a simple and efficient URL shortener. This URL shortening script doesn&#39;t require any sort of database and it doesn&#39;t have the overhead of something like PHP added to every single redirection.If you read the documentation for mod_asis, the fundamentals of how this all works may be immediately obvious. If not,</atom:summary><link>http://develobert.blogspot.com/2011/01/simple-url-shortening-script.html</link><author>noreply@blogger.com (Joe Kovar)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3972839964393558627.post-2830899959119033610</guid><pubDate>Mon, 24 Jan 2011 10:19:00 +0000</pubDate><atom:updated>2011-01-24T05:57:34.428-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">google</category><category domain="http://www.blogger.com/atom/ns#">wordpress</category><title>Google Safe Browsing Wordpress Dashboard Module</title><atom:summary type="text">I wrote a small dashboard module for Wordpress this morning which automatically fetches the Google Safe Browsing report for the current domain and displays the results on the dashboard. This is a lot more convenient than going to the safe browsing page yourself periodically if you aren&#39;t using a browser with the reporting built-in.The project is named wp-google-safe-browsing-dashboard and the </atom:summary><link>http://develobert.blogspot.com/2011/01/google-safe-browsing-wordpress.html</link><author>noreply@blogger.com (Joe Kovar)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3972839964393558627.post-5048202375807272642</guid><pubDate>Sat, 22 Jan 2011 07:51:00 +0000</pubDate><atom:updated>2011-01-22T13:20:12.540-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">adsense</category><category domain="http://www.blogger.com/atom/ns#">google</category><title>$18.50 Average Adsense Page RPM</title><atom:summary type="text">I&#39;ve been experimenting with a sort of &quot;bare bones&quot; layout with articles for a few weeks now. I have a half-dozen websites using the layout and the average Adsense Page RPM is $18.50 USD. To answer the obvious question, no these aren&#39;t articles that use ridiculously high paying no-chance-for-the-little-guy-to-compete-competition keywords either. Basically, it&#39;s a 500-600 word article centered on </atom:summary><link>http://develobert.blogspot.com/2011/01/1850-average-adsense-page-rpm.html</link><author>noreply@blogger.com (Joe Kovar)</author><thr:total>9</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3972839964393558627.post-4313877842482231733</guid><pubDate>Sun, 09 Jan 2011 23:10:00 +0000</pubDate><atom:updated>2011-01-09T18:14:28.238-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">adsense</category><category domain="http://www.blogger.com/atom/ns#">optimization</category><title>Text Ads or Image Ads</title><atom:summary type="text">A question I see a lot is &quot;Which is better with Adsense, text ads or image ads?&quot; and the honest answer is, it depends.Sometimes a layout will dictate whether you can use text ads or rich media ads. There are certain scenarios where using text ads would break the Adsense TOS whereas using image ads wouldn&#39;t.Another thing to consider is which one would fit better with the placement. Sometimes using</atom:summary><link>http://develobert.blogspot.com/2011/01/text-ads-or-image-ads.html</link><author>noreply@blogger.com (Joe Kovar)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3972839964393558627.post-2482077490520230321</guid><pubDate>Fri, 07 Jan 2011 00:13:00 +0000</pubDate><atom:updated>2011-01-06T19:29:12.153-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">adsense</category><category domain="http://www.blogger.com/atom/ns#">experiment</category><title>Blocking Low Paying Adsense Categories</title><atom:summary type="text">I was looking through the new Adsense interface today (the version with /v3/ in the URL) and found out that the control over blocked ads is a lot better than I remember. Under the &quot;Allow and Block Ads&quot; tab there are two awesome options in &quot;Blocking OptionS&quot; section of the sidebar, &quot;General Categories&quot; and &quot;Sensitive Categories&quot;.Sensitive Categories has things like dating, politics, religion, etc.</atom:summary><link>http://develobert.blogspot.com/2011/01/blocking-low-paying-adsense-categories.html</link><author>noreply@blogger.com (Joe Kovar)</author><thr:total>4</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3972839964393558627.post-6018968158421022508</guid><pubDate>Sat, 13 Nov 2010 11:26:00 +0000</pubDate><atom:updated>2010-11-13T06:35:53.991-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">apache</category><category domain="http://www.blogger.com/atom/ns#">htaccess</category><category domain="http://www.blogger.com/atom/ns#">server</category><title>client denied by server configuration: .htaccess</title><atom:summary type="text">I was getting the error &quot;client denied by server configuration: /.htaccess&quot; in one specific location recently and I wasn&#39;t sure what was going on. Permissions allowed the .htaccess file to be read, because the directives set in that .htaccess were taking effect. There was also no special reason for anyone to try and navigate directly to this directories .htaccess file.It turns out, that the </atom:summary><link>http://develobert.blogspot.com/2010/11/client-denied-by-server-configuration.html</link><author>noreply@blogger.com (Joe Kovar)</author><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3972839964393558627.post-1675850782768004539</guid><pubDate>Mon, 08 Nov 2010 01:21:00 +0000</pubDate><atom:updated>2010-11-07T20:27:54.130-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">binary</category><category domain="http://www.blogger.com/atom/ns#">database</category><category domain="http://www.blogger.com/atom/ns#">mysql</category><category domain="http://www.blogger.com/atom/ns#">SQL</category><title>Select Odd Rows in MySQL</title><atom:summary type="text">Any time you can use a bitwise operator in place of a function call, it&#39;s a good thing. Selecting odd rows from a table in MySQL that have an auto_increment primary key is no exception.SELECT * FROM mytable WHERE id &amp; 1;If you&#39;re unfamiliar with a bitwise AND, basically what it says is return true of the left operand has the same bits set as the right operand. The number 1 only has one bit set, </atom:summary><link>http://develobert.blogspot.com/2010/11/select-odd-rows-in-mysql.html</link><author>noreply@blogger.com (Joe Kovar)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3972839964393558627.post-3107189641384440309</guid><pubDate>Thu, 04 Nov 2010 01:03:00 +0000</pubDate><atom:updated>2010-11-03T21:10:07.092-04:00</atom:updated><title>Blogger Double Post Bug</title><atom:summary type="text">Decided to witch back to the default Blogger templates today. I&#39;d stripped out all of the inline management tools when I created the old layout because I never needed them back then. I just started to miss them too much these days though, they make a lot of things easier.In any event, I&#39;d been putting this off for awhile because when I went to use the blogger template designer, I was getting a </atom:summary><link>http://develobert.blogspot.com/2010/11/blogger-double-post-bug.html</link><author>noreply@blogger.com (Joe Kovar)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3972839964393558627.post-4266036683389243559</guid><pubDate>Tue, 19 Oct 2010 04:44:00 +0000</pubDate><atom:updated>2010-10-19T01:16:06.548-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">changelogs</category><category domain="http://www.blogger.com/atom/ns#">rss</category><category domain="http://www.blogger.com/atom/ns#">svn</category><title>RSS Feed for SVN Changelog</title><atom:summary type="text">I wanted to create an RSS feed for the SVN logs of a wallpaper site script lately. I&#39;ve been keeping track of my progress on the feeds over at Ozzu in this thread.So far I have the feed and an archive of the revisions being automatically generated and uploaded to the remote server daily.Having an RSS feed for the SVN commit history presented an interesting problem where I couldn&#39;t really update </atom:summary><link>http://develobert.blogspot.com/2010/10/rss-feed-for-svn-changelog.html</link><author>noreply@blogger.com (Joe Kovar)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3972839964393558627.post-1204309809133713526</guid><pubDate>Sat, 06 Feb 2010 23:08:00 +0000</pubDate><atom:updated>2010-11-19T07:05:33.543-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">linux</category><category domain="http://www.blogger.com/atom/ns#">text editors</category><category domain="http://www.blogger.com/atom/ns#">Ubuntu</category><title>gedit Loads Slow</title><atom:summary type="text">After a recent Ubuntu install I was having a problem with gedit loading slowly. When I would open gedit, I would geta  blank gedit window with no toolbar buttons or text area.The way I fixed this issue was to disable the file browser pane plugin from Edit -&gt; Preferences -&gt; Plugins. Once I disabled the file browser pane plugin I was able to get gedit to startup faster, immediately even.</atom:summary><link>http://develobert.blogspot.com/2010/02/gedit-loads-slow.html</link><author>noreply@blogger.com (Joe Kovar)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3972839964393558627.post-6076155157704208826</guid><pubDate>Thu, 26 Nov 2009 09:45:00 +0000</pubDate><atom:updated>2010-11-19T07:07:08.073-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Command Line</category><category domain="http://www.blogger.com/atom/ns#">linux</category><category domain="http://www.blogger.com/atom/ns#">server</category><title>Suppress rm No such file or directory</title><atom:summary type="text">rm: cannot remove `*.html&#39;: No such file or directoryIf you have a cron job that deletes files daily or on another schedule you probably don&#39;t want to get the email that tells you something like that. There&#39;s always the option of redirecting the output to /dev/null but then you&#39;re screwed if there&#39;s any other errors that you actually want to know about.Instead, use the -f or --force flag of the </atom:summary><link>http://develobert.blogspot.com/2009/11/suppress-rm-no-such-file-or-directory.html</link><author>noreply@blogger.com (Joe Kovar)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3972839964393558627.post-6177854036071279304</guid><pubDate>Mon, 02 Nov 2009 19:24:00 +0000</pubDate><atom:updated>2009-11-02T14:30:58.421-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">programming</category><category domain="http://www.blogger.com/atom/ns#">ssh</category><category domain="http://www.blogger.com/atom/ns#">svn</category><title>svnserve.conf: Option expected</title><atom:summary type="text">If you get this error when trying to checkout an SVN repository you likely have whitespace before one of the settings in the svnserve.conf file the path in the error refers to. There should be a number in the error, which will tell you what line the whitespace is on.For instance, the following error is given if I remove the hash from the beginning of the passwd line and leave the whitespace there</atom:summary><link>http://develobert.blogspot.com/2009/11/svnserveconf-option-expected.html</link><author>noreply@blogger.com (Joe Kovar)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3972839964393558627.post-3173303348328498725</guid><pubDate>Sat, 31 Oct 2009 20:10:00 +0000</pubDate><atom:updated>2009-10-31T16:15:46.257-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">apache</category><category domain="http://www.blogger.com/atom/ns#">programming</category><category domain="http://www.blogger.com/atom/ns#">server</category><title>X-Pad: avoid browser bug</title><atom:summary type="text">If you&#39;re looking for an explanation to this &quot;X-Pad: avoid browser bug&quot; header you should feel lucky. The X-Pad header is a work around Apache uses for a bug in really old versions of Netscape and it only shows up if there&#39;s a chance the 256th or 257th byte of a response is a newline.It&#39;s a junk header, all it does is prevent the 256th and 257th byte of the response from being a newline. If </atom:summary><link>http://develobert.blogspot.com/2009/10/x-pad-avoid-browser-bug.html</link><author>noreply@blogger.com (Joe Kovar)</author><thr:total>4</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3972839964393558627.post-5257722213304137741</guid><pubDate>Tue, 13 Oct 2009 22:43:00 +0000</pubDate><atom:updated>2009-10-13T18:49:37.559-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Microsoft</category><title>IE8: Intranet Always in Compatibility Mode</title><atom:summary type="text">I was having some odd problems with websites on my local intranet and eventually I traced it back to the sites being forced into IE7 Compatibility Mode for some odd reason. I could view the exact same page on a remote server and it would act as expected.The culprit, was a little setting in the IE8 Tools menu called Compatibility View Settings, more specifically it was a checkbox in the resulting </atom:summary><link>http://develobert.blogspot.com/2009/10/ie8-intranet-always-in-compatibility.html</link><author>noreply@blogger.com (Joe Kovar)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3972839964393558627.post-7634537535071647312</guid><pubDate>Sun, 27 Sep 2009 18:07:00 +0000</pubDate><atom:updated>2009-09-27T14:25:10.373-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">database</category><category domain="http://www.blogger.com/atom/ns#">mysql</category><category domain="http://www.blogger.com/atom/ns#">php</category><category domain="http://www.blogger.com/atom/ns#">programming</category><category domain="http://www.blogger.com/atom/ns#">scripting</category><category domain="http://www.blogger.com/atom/ns#">SQL</category><category domain="http://www.blogger.com/atom/ns#">storage</category><title>PHP MySQLi bind_result Empty LONGTEXT</title><atom:summary type="text">The problem is that when using the PHP MySQLi extension with prepared statements, I was getting an empty value in one of my bound variables after using $mysqli-&gt;execute(), $stmt-&gt;bind_param(), and $stmt-&gt;fetch(). If I executed the exact same query using $mysqli-&gt;query() and subsequently using $result-&gt;fetch_object() I would get the values I was looking for.I went as far as copying and pasting the</atom:summary><link>http://develobert.blogspot.com/2009/09/php-mysqli-bindresult-empty-longtext.html</link><author>noreply@blogger.com (Joe Kovar)</author><thr:total>4</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3972839964393558627.post-310834235879035028</guid><pubDate>Wed, 16 Sep 2009 11:09:00 +0000</pubDate><atom:updated>2010-11-19T07:07:08.077-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Command Line</category><category domain="http://www.blogger.com/atom/ns#">linux</category><category domain="http://www.blogger.com/atom/ns#">programming</category><category domain="http://www.blogger.com/atom/ns#">scripting</category><category domain="http://www.blogger.com/atom/ns#">Ubuntu</category><title>Wordpress xargs: xgettext: No such file</title><atom:summary type="text">I was getting the following error when trying to use the Wordpress i18n-tools to generate POT files for a Wordpress plugin.xargs: xgettext: No such file or directoryCouldn&#39;t generate POT file!At first it didn&#39;t make sense. I couldn&#39;t figure out why it wasn&#39;t finding my plugin directory or file. It hadn&#39;t donned on me that the file which couldn&#39;t be found was actually xgettext.I&#39;d assumed I </atom:summary><link>http://develobert.blogspot.com/2009/09/wordpress-xargs-xgettext-no-such-file.html</link><author>noreply@blogger.com (Joe Kovar)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3972839964393558627.post-6764403390465769754</guid><pubDate>Wed, 02 Sep 2009 10:24:00 +0000</pubDate><atom:updated>2010-11-19T07:05:33.553-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">filesystem</category><category domain="http://www.blogger.com/atom/ns#">php</category><category domain="http://www.blogger.com/atom/ns#">programming</category><category domain="http://www.blogger.com/atom/ns#">scripting</category><title>PHP Get Oldest File</title><atom:summary type="text">I was looking around to make sure there wasn&#39;t some sort of built-in function in PHP now for determining the oldest file in a directory. I didn&#39;t find a built-in function that returns the oldest file, but I found plenty of user functions that were not what I was looking for.So, I wrote my own old file getter function. The function will accept either an array of file paths or a string which will </atom:summary><link>http://develobert.blogspot.com/2009/09/php-get-oldest-file.html</link><author>noreply@blogger.com (Joe Kovar)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3972839964393558627.post-6211759198724857349</guid><pubDate>Tue, 01 Sep 2009 04:21:00 +0000</pubDate><atom:updated>2010-11-19T07:04:54.235-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">experiment</category><category domain="http://www.blogger.com/atom/ns#">php</category><category domain="http://www.blogger.com/atom/ns#">programming</category><title>PHP GD Heatmap Generation</title><atom:summary type="text">I recently set out to write my own tools to generate a heatmap from clicks on my websites. So far the collection of click positions has been a little tricky because of things like the visitors screen being a different size than mine, javascript being enabled but Adsense being blocked which shifts the position of some elements, and a whole host of other annoyances that don&#39;t come to mind at the </atom:summary><link>http://develobert.blogspot.com/2009/09/php-gd-heatmap-generation.html</link><author>noreply@blogger.com (Joe Kovar)</author><thr:total>0</thr:total></item></channel></rss>