<?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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Martin Milesich</title>
	
	<link>http://milesich.com</link>
	<description>Blog about my self, PHP, FreeBSD and other things that I found interesting...</description>
	<lastBuildDate>Sat, 08 Aug 2009 20:13:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/MartinMilesich" /><feedburner:info uri="martinmilesich" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>New DateTimePicker features &amp; new stand-alone Timepicker</title>
		<link>http://feedproxy.google.com/~r/MartinMilesich/~3/lcQKjWCZv6I/</link>
		<comments>http://milesich.com/2009/08/08/new-datetimepicker-features-new-stand-alone-timepicker/#comments</comments>
		<pubDate>Sat, 08 Aug 2009 20:13:03 +0000</pubDate>
		<dc:creator>Martin Milesich</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://milesich.com/?p=125</guid>
		<description><![CDATA[DateTimePicker now includes some new features that has been requested:

12h &#38; 24h time format
support for increments
alternate time field
and some bug fixes

Go to the project page

Stand-alone Timepicker
Some guys requested stand-alone timepicker so I have been working on this. It is modified ui.datepicker.js script from jQuery UI.
There is no documentation yet, but you can check the demo [...]]]></description>
			<content:encoded><![CDATA[<p>DateTimePicker now includes some new features that has been requested:<br/><br/></p>
<ul>
<li>12h &amp; 24h time format</li>
<li>support for increments</li>
<li>alternate time field</li>
<li>and some bug fixes</li>
</ul>
<p><br/><a href="http://milesich.com/timepicker/">Go to the project page</a><br />
<br/></p>
<h3>Stand-alone Timepicker</h3>
<p>Some guys requested stand-alone timepicker so I have been working on this. It is modified ui.datepicker.js script from jQuery UI.</p>
<p>There is no documentation yet, but you can <a href="http://milesich.com/tpdemo/tp.html" target="_blank">check the demo page</a> which includes the download link.<br />
<br/></p>
<img src="http://feeds.feedburner.com/~r/MartinMilesich/~4/lcQKjWCZv6I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://milesich.com/2009/08/08/new-datetimepicker-features-new-stand-alone-timepicker/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://milesich.com/2009/08/08/new-datetimepicker-features-new-stand-alone-timepicker/</feedburner:origLink></item>
		<item>
		<title>The missing timepicker for jQuery’s Datepicker</title>
		<link>http://feedproxy.google.com/~r/MartinMilesich/~3/pxh6mssXx4Y/</link>
		<comments>http://milesich.com/2009/06/15/the-missing-timepicker-for-jquerys-datepicker/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 21:25:48 +0000</pubDate>
		<dc:creator>Martin Milesich</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[datepicker]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[timepicker]]></category>

		<guid isPermaLink="false">http://milesich.com/?p=115</guid>
		<description><![CDATA[I have made this simple timepicker. It is very early release and it is buggy.

Go to the project page.
]]></description>
			<content:encoded><![CDATA[<p>I have made this simple timepicker. It is very early release and it is buggy.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-94" style="border: 0pt none;" title="timepicker" src="http://milesich.com/wp-content/uploads/2009/06/timepicker.png" alt="timepicker" width="375" height="304" /></p>
<p><a href="http://milesich.com/timepicker/">Go to the project page.</a></p>
<img src="http://feeds.feedburner.com/~r/MartinMilesich/~4/pxh6mssXx4Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://milesich.com/2009/06/15/the-missing-timepicker-for-jquerys-datepicker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://milesich.com/2009/06/15/the-missing-timepicker-for-jquerys-datepicker/</feedburner:origLink></item>
		<item>
		<title>Dashed polylines on Google Maps</title>
		<link>http://feedproxy.google.com/~r/MartinMilesich/~3/mE6B8pHvPmQ/</link>
		<comments>http://milesich.com/2009/03/22/dashed-polylines-on-google-maps/#comments</comments>
		<pubDate>Sun, 22 Mar 2009 20:34:59 +0000</pubDate>
		<dc:creator>Martin Milesich</dc:creator>
				<category><![CDATA[Code Snippets]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Google Maps]]></category>
		<category><![CDATA[polyline]]></category>

		<guid isPermaLink="false">http://milesich.com/?p=68</guid>
		<description><![CDATA[This is rewritten Bill Chadwick's BDCCPolyline.js script. I rewrote it because its not working correctly. In the redraw function he is expecting that Google will always draw all polylines but that's not true. Google will draw only visible polylines. I need to come with a solution how to uniquely identify a polyline. Then I found [...]]]></description>
			<content:encoded><![CDATA[<p>This is rewritten <a href="http://www.bdcc.co.uk/Gmaps/BdccGmapBits.htm" target="_blank">Bill Chadwick's BDCCPolyline.js</a> script. I rewrote it because its not working correctly. In the redraw function he is expecting that Google will always draw all polylines but that's not true. Google will draw only visible polylines. I need to come with a solution how to uniquely identify a polyline. Then I found a solution using the opacity attribute.</p>
<p>Example:</p>
<ol>
<li>You create a polyline with opacity = 1.</li>
<li>This is you first polyline so the KMPolylineCounter = 1.</li>
<li>The constructor change the opacity using this formula:  opacity - (KMPolylineCounter + 1) / 10000</li>
<li>Opacity for our first polyline is now 0.9998. The change is so small that you wont see the difference.</li>
</ol>
<p>With this solution you can identify your polyline using the opacity attribute even when all polylines are not drawn.</p>
<p><strong>Note:</strong> Non-solid polylines only if drawing is performed using VML or SVG.</p>
<pre class="jscript" name="code">/*!
 * KMPolyline - Draw solid or dashed polylines.
 *
 * Extended Google's GPolyline class.
 *
 * Rewritten Bill Chadwick's BDCCPolyline.js script.
 * http://www.bdcc.co.uk/Gmaps/BdccGmapBits.htm
 *
 * Non-solid polylines only if drawing is performed using VML or SVG.
 *
 * Prototype.js v1.6+ required - http://prototypejs.org/
 *
 * Downloaded from: Martin Milesich - http://milesich.com/
 *
 * Free for any use.
 */

var KMPolylineCounter = 0;

// Constructor
function KMPolyline(points, color, weight, opacity, tooltip, dash)
{
    ++KMPolylineCounter;

    this.points    = points  || [];
    this.color     = color   || "#000000";
    this.weight    = weight  || 1;
    this.tooltip   = tooltip || "";
    this.dash      = dash    || "solid";
    this.elemId    = "KMPolylineId" + KMPolylineCounter.toString();
    this.opacity   = Math.abs(opacity - (KMPolylineCounter + 1) / 10000);
    this.usesVml   = Prototype.Browser.IE;

    GPolyline.call(this, this.points, this.color, this.weight, this.opacity, {"clickable": false}); //call parent constructor
}

KMPolyline.prototype = new GPolyline([new GLatLng(0,0)]);

KMPolyline.prototype.copy = function()
{
    return new KMPolyline(this.points, this.color, this.weight, this.opacity, this.tooltip, this.dash);
}

KMPolyline.prototype.redraw = function(force)
{
   GPolyline.prototype.redraw.call(this, force); //call parent

   var elem = null;

   if (this.usesVml) {
   // VML
       var shps = $$('shape');

       for (i = 0; i &lt; shps.length; i++) {
           if (shps[i].stroke.opacity.toFixed(4) == this.opacity) {
               elem = shps[i];
               break;
           }
       }
   } else {
   // SVG
       elem = $$('path[stroke-opacity="'+this.opacity+'"]').first();

        if (elem != null) {
            Element.writeAttribute(elem, "pointer-events", "stroke");
        }
   }

   if (elem != null) {
       if (this.tooltip != "") {
           elem.style.cursor = "help";
           Element.writeAttribute(elem, 'title', this.tooltip);
       }

       Element.writeAttribute(elem, 'id', this.elemId);

       this.setDash(this.dash);

       var eClick = GEvent.callback(this, this.onClick);
       var eOver  = GEvent.callback(this, this.onOver);
       var eOut   = GEvent.callback(this, this.onOut);

       GEvent.clearInstanceListeners(elem);

       GEvent.addDomListener(elem, "click",     function() {eClick()});
       GEvent.addDomListener(elem, "mouseover", function() {eOver()});
       GEvent.addDomListener(elem, "mouseout",  function() {eOut()});
   }
}

// event handlers
KMPolyline.prototype.onClick = function() {GEvent.trigger(this, "click")}
KMPolyline.prototype.onOver  = function() {GEvent.trigger(this, "mouseover")}
KMPolyline.prototype.onOut   = function() {GEvent.trigger(this, "mouseout")}

// getX functions
KMPolyline.prototype.getDash   = function() {return this.dash}
KMPolyline.prototype.getWeight = function() {return this.weight}
KMPolyline.prototype.getColor  = function() {return this.color}

// setX functions
KMPolyline.prototype.setDash = function(dash)
{
    this.dash = dash;

    var elem = $(this.elemId);

    if (!elem) return;

    if (this.usesVml) {
        switch (this.dash) {
            case "dash" : elem.stroke.dashstyle = "dash";
                break;
            case "dot"  : elem.stroke.dashstyle = "dot";
                break;
            default     : elem.stroke.dashstyle = "";
        }
    } else {
        switch (this.dash) {
            case "dash" : Element.writeAttribute(elem, "stroke-dasharray", "10,10");
                break;
            case "dot"  : Element.writeAttribute(elem, "stroke-dasharray", "3,17");
                break;
            default     : Element.writeAttribute(elem, "stroke-dasharray", null); // remove attribute
        }
    }
}

KMPolyline.prototype.setWeight = function(weight)
{
    this.weight = weight;

    var elem = $(this.elemId);

    if (!elem) return;

    if (this.usesVml) {
        elem.stroke.weight = this.weight.toString() + "px";
    } else {
        Element.writeAttribute(elem, "stroke-width", this.weight.toString() + "px");
    }
}

KMPolyline.prototype.setColor = function(color)
{
    this.color = color;

    var elem = $(this.elemId);

    if (!elem) return;

    if (this.usesVml) {
        elem.stroke.color = this.color;
    } else {
        Element.writeAttribute(elem, "stroke", this.color);
    }
}</pre>
<img src="http://feeds.feedburner.com/~r/MartinMilesich/~4/mE6B8pHvPmQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://milesich.com/2009/03/22/dashed-polylines-on-google-maps/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://milesich.com/2009/03/22/dashed-polylines-on-google-maps/</feedburner:origLink></item>
		<item>
		<title>Disappearing polylines on Google Maps</title>
		<link>http://feedproxy.google.com/~r/MartinMilesich/~3/dUvag6h4yRQ/</link>
		<comments>http://milesich.com/2008/11/29/disappearing-polylines-on-google-maps/#comments</comments>
		<pubDate>Sat, 29 Nov 2008 22:47:35 +0000</pubDate>
		<dc:creator>Martin Milesich</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[disappear]]></category>
		<category><![CDATA[Google Maps]]></category>
		<category><![CDATA[polyline]]></category>

		<guid isPermaLink="false">http://milesich.com/?p=35</guid>
		<description><![CDATA[Recently, I have been playing with Google Maps API at my work. With the API I created a polyline but it disappears on random fashion at different zoom levels. It tooks me days to figure it out why. The main problem was I used numeric strings (i.e. numbers in quotes).
Check this examples:

new GPolyline.fromEncoded({
  color: [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, I have been playing with Google Maps API at my work. With the API I created a polyline but it disappears on random fashion at different zoom levels. It tooks me days to figure it out why. The main problem was I used numeric strings (i.e. numbers in quotes).</p>
<p>Check this examples:</p>
<pre class="js" name="code">
new GPolyline.fromEncoded({
  color: "#0000ff",
  weight: "4",
  opacity: "0.8",
  points: "_gkxEv}|vNM]",
  levels: "PP",
  zoomFactor: "2",
  numLevels: "18"
});
</pre>
<pre class="js" name="code">
new GPolyline.fromEncoded({
  color: "#0000ff",
  weight: 4,
  opacity: 0.8,
  points: "_gkxEv}|vNM]",
  levels: "PP",
  zoomFactor: 2,
  numLevels: 18
});
</pre>
<p>They look the same but the first one has numeric strings. I did some testing and <strong>value of the weight attribute is important!</strong></p>
<p><strong>If the value of the weight attribute is numeric string your polylines will randomly disappear.</strong></p>
<p>I didn't know that this can be so different.</p>
<p>I want to share my experience with you and make a note to my self.</p>
<img src="http://feeds.feedburner.com/~r/MartinMilesich/~4/dUvag6h4yRQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://milesich.com/2008/11/29/disappearing-polylines-on-google-maps/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://milesich.com/2008/11/29/disappearing-polylines-on-google-maps/</feedburner:origLink></item>
		<item>
		<title>Stop Software Patents</title>
		<link>http://feedproxy.google.com/~r/MartinMilesich/~3/SuES92Ixiy8/</link>
		<comments>http://milesich.com/2008/09/24/stop-software-patents/#comments</comments>
		<pubDate>Wed, 24 Sep 2008 20:15:51 +0000</pubDate>
		<dc:creator>Martin Milesich</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Patents]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[software patents]]></category>

		<guid isPermaLink="false">http://milesich.com/?p=27</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://stopsoftwarepatents.org/"><img class="size-full wp-image-26" style="border: 0pt none;" title="Stop Software Patents" src="http://milesich.com/wp-content/uploads/2008/09/webbanner_standard.png" alt="Stop Software Patents" width="468" height="96" /></a></p>
<img src="http://feeds.feedburner.com/~r/MartinMilesich/~4/SuES92Ixiy8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://milesich.com/2008/09/24/stop-software-patents/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://milesich.com/2008/09/24/stop-software-patents/</feedburner:origLink></item>
		<item>
		<title>Best Video Ever – Wheee! by Jeff Gill</title>
		<link>http://feedproxy.google.com/~r/MartinMilesich/~3/XQY9izVaDwE/</link>
		<comments>http://milesich.com/2008/02/25/best-video-ever-wheee-by-jeff-gill/#comments</comments>
		<pubDate>Mon, 25 Feb 2008 14:56:00 +0000</pubDate>
		<dc:creator>Martin Milesich</dc:creator>
				<category><![CDATA[Humor]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[flick]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[netscape]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">tag:blogger.com,1999:blog-4847465313020594054.post-5732255725435973235</guid>
		<description><![CDATA[This is the most popular firefox flick made by Jeff Gill

]]></description>
			<content:encoded><![CDATA[<p><span style="font-weight:bold;">This is the most popular <a href=" http://www.firefoxflicks.com/flick/?id=19542">firefox flick made by Jeff Gill</a></span></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="transparent" /><param name="src" value="http://www.youtube.com/v/O61cG7U-uLw&amp;rel=0&amp;color1=0xd6d6d6&amp;color2=0xf0f0f0&amp;border=0" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://www.youtube.com/v/O61cG7U-uLw&amp;rel=0&amp;color1=0xd6d6d6&amp;color2=0xf0f0f0&amp;border=0" wmode="transparent"></embed></object></p>
<img src="http://feeds.feedburner.com/~r/MartinMilesich/~4/XQY9izVaDwE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://milesich.com/2008/02/25/best-video-ever-wheee-by-jeff-gill/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://milesich.com/2008/02/25/best-video-ever-wheee-by-jeff-gill/</feedburner:origLink></item>
		<item>
		<title>Protect your FreeBSD box!</title>
		<link>http://feedproxy.google.com/~r/MartinMilesich/~3/CpDloLf-P8A/</link>
		<comments>http://milesich.com/2008/02/07/protect-your-freebsd-box/#comments</comments>
		<pubDate>Thu, 07 Feb 2008 02:45:00 +0000</pubDate>
		<dc:creator>Martin Milesich</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[ipfw]]></category>
		<category><![CDATA[password]]></category>

		<guid isPermaLink="false">tag:blogger.com,1999:blog-4847465313020594054.post-8162167334610065595</guid>
		<description><![CDATA[I made this simple PHP script because I was tired of getting 400KB security run output emails from my FreeBSD box. It's written in PHP because I'm not good in shell scripting.
Every minute it checks for line like this
Feb  5 01:40:02 kyle sshd[939]: Failed password for root from 80.86.75.67 port 11807 ssh2
in the auth.log [...]]]></description>
			<content:encoded><![CDATA[<p>I made this simple PHP script because I was tired of getting 400KB security run output emails from my FreeBSD box. It's written in PHP because I'm not good in shell scripting.</p>
<p>Every minute it checks for line like this</p>
<pre>Feb  5 01:40:02 kyle sshd[939]: Failed password for root from 80.86.75.67 port 11807 ssh2</pre>
<p>in the auth.log and grabs the IP address. If there is more than 3 failed logins from 1 IP address in one minute it is added to the firewall. I'm using the ipfw firewall.</p>
<pre class="php" name="code">
// Both your server and this script must share the same timezone
date_default_timezone_set('Europe/Bratislava');

// Get the last minute.
// We need this because when we run this script from the cron
// it starts at zero seconds and the log file will have not any entries.
$lastminute = mktime(date('G'), date('i') - 1);

// Get the lines with failed logins for last minute
$cmd  = '/usr/bin/more /var/log/auth.log | /usr/bin/grep "Failed password" | /usr/bin/grep "';
$cmd .= date('j H:i:', $lastminute).'"';
$output = shell_exec($cmd);

// Make the $output an array
$output = explode("\n", $output);

// Array of IPs that you do not want to block
$ignore = array('127.0.0.1');

// This array will hold IPs with failed logins
$ips    = array();

// Get and count IPs
foreach ($output as $line) {
  $line = trim($line);
  preg_match_all('/[0-9]{1,3}(\.[0-9]{1,3}){3}/', $line, $matches);

  foreach ($matches[0] as $ip) {
    if (!isset($ips[$ip])) {
      $ips[$ip] = 1;
    } else {
      $ips[$ip]++;
    }
  }
}

// Block IPs
foreach ($ips as $ip =&gt; $count) {
  if ($count &gt; 3 &amp;&amp; !in_array($ip, $ignore)) {
    $data = "/sbin/ipfw -q add 20000 deny log all from {$ip} to me";
    file_put_contents('/etc/ipfw-dynamic.rules',$data, FILE_APPEND);
    shell_exec($data);
  }
}</pre>
<p>Put this script to cron and set it to start every minute.</p>
<img src="http://feeds.feedburner.com/~r/MartinMilesich/~4/CpDloLf-P8A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://milesich.com/2008/02/07/protect-your-freebsd-box/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://milesich.com/2008/02/07/protect-your-freebsd-box/</feedburner:origLink></item>
		<item>
		<title>Google guessing drive me crazy!</title>
		<link>http://feedproxy.google.com/~r/MartinMilesich/~3/T65OTRrFRcE/</link>
		<comments>http://milesich.com/2008/01/17/google-guessing-drive-me-crazy/#comments</comments>
		<pubDate>Thu, 17 Jan 2008 01:33:00 +0000</pubDate>
		<dc:creator>Martin Milesich</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Me]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[spellcheck]]></category>

		<guid isPermaLink="false">tag:blogger.com,1999:blog-4847465313020594054.post-7964476055520562787</guid>
		<description><![CDATA[I decided to write another post to my blog while my last post was a long time ago. After I wrote a few words I want to check if the words are correctly typed because I am not good in English. To my surprise words that I know was correct was underlined and was suggested [...]]]></description>
			<content:encoded><![CDATA[<p>I decided to write another post to my blog while my last post was a long time ago. After I wrote a few words I want to check if the words are correctly typed because I am not good in English. To my surprise words that I know was correct was underlined and was suggested a correction. That correction was in Slovak! (fyi I am Slovak and live in Slovakia) I have blogger set to English. I can't make the spellchecker work as I want.  Do the spellcheck in English. I cleared all cookies, set my preferred language to English and English-US in my browser, I was restarted the browser and still no luck. As I am writing this post I recognized another strange thing. You know when you are writing a post it is automatically saved as a draft. And that is the strange thing. Not the autosave feature but the message I got when it was saved. When it is autosaved I get "Draft autosaved at 2:01 AM" but when I click "SAVE NOW" I get "Koncept bol uložený o 2:04" (which is the same as the previous one but in Slovak). I changed everything that I found on Blogger and Google to English but country.</p>
<p><span style="font-weight:bold;">I will not change my country just because Google doesn't know how to handle languages.</span></p>
<p>And I am still not sure if it will help.</p>
<p>When I cleared all cookies I go to www.google.com and get www.google.sk. Why?? I was not logged in to my Google account. How they know that I might want sk version which I really don't want when I have set all to English. (Well I know that my IP address tells Google I am in Slovakia.) When I type www.google.com I want www.google.com and not the sk version! When I will want sk version I will type www.google.sk!</p>
<p><span style="font-weight:bold;">Till Google doesn't learn how to read my mind I suggest Google to get me what I requested instead of what Google think that I might want!</span></p>
<img src="http://feeds.feedburner.com/~r/MartinMilesich/~4/T65OTRrFRcE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://milesich.com/2008/01/17/google-guessing-drive-me-crazy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://milesich.com/2008/01/17/google-guessing-drive-me-crazy/</feedburner:origLink></item>
		<item>
		<title>Zend Studio 5.5 on FreeBSD 6.2</title>
		<link>http://feedproxy.google.com/~r/MartinMilesich/~3/b-V9nZ-nEpo/</link>
		<comments>http://milesich.com/2007/07/15/zend-studio-55-on-freebsd-62/#comments</comments>
		<pubDate>Sun, 15 Jul 2007 16:02:00 +0000</pubDate>
		<dc:creator>Martin Milesich</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[zend studio]]></category>

		<guid isPermaLink="false">tag:blogger.com,1999:blog-4847465313020594054.post-3911765322300267968</guid>
		<description><![CDATA[In this post I'm going to write about how to run Zend Studio 5.5 on FreeBSD 6.2. FreeBSD isn't officially supported by Zend therefore you can't use their support.
I'm using the trial version of Zend Studio 5.5 and I think I will buy it soon. It's the best PHP IDE that I've tried. Who knows [...]]]></description>
			<content:encoded><![CDATA[<p>In this post I'm going to write about how to run <a href="http://www.zend.com/products/zend_studio">Zend Studio</a> 5.5 on <a href="http://www.freebsd.org/">FreeBSD</a> 6.2. FreeBSD isn't officially supported by <a href="http://www.zend.com/">Zend</a> therefore you can't use their support.</p>
<p>I'm using the trial version of Zend Studio 5.5 and I think I will buy it soon. It's the best PHP IDE that I've tried. Who knows the PHP better than the folks at Zend :-)</p>
<p>OK, let's start...</p>
<p>I assume that you have correctly installed xwindows and your favorite windows manager. I'm using Xorg 7.2 and KDE 3.5.7.</p>
<p>First we need to <a href="http://www.zend.com/free_download/studio">download</a> the Zend Studio from Zend. If you are not already registered on Zend website, you will have to register. Only registered users can download products from their website.</p>
<p>I saved it to the /home/majlo/ZendStudio-5_5_0a.tar.gz. We need to unpack it and execute.</p>
<pre lang="text">
kevin# tar xzf ZendStudio-5_5_0a.tar.gz
kevin# sh ZendStudio-5_5_0.bin
</pre>
<p>We get an error that this binary type is not known. This is because we don't have installed Linux compatibility.</p>
<pre lang="text">
ELF binary type „0“ not known
</pre>
<p>We need to install linux base from ports.</p>
<pre lang="text">
kevin# cd /usr/ports/emulators/linux_base-fc4/
kevin# make install clean
</pre>
<p>This installation will also load linux module to the kernel. To load linux module on system start add this line to /etc/rc.conf.</p>
<pre lang="text">
linux_enable="YES"
</pre>
<p>Next attempt to start installation.</p>
<pre lang="text">
kevin# cd /home/majlo/
kevin# sh ZendStudio-5_5_0.bin
</pre>
<p>We get another error:</p>
<pre lang="text">
Java HotSpot(TM) Client VM warning: Can't detect initial thread stack location – find vma failed
'SWING' UI not supported by VM. Reverting to AWT.
</pre>
<p>We need linux xorg libraries.</p>
<pre lang="text">
kevin# cd /usr/ports/x11/linux-xorg-libs/
kevin# make install clean
</pre>
<p>OK. Now we can successfully start the installation wizard. I will install Zend Studio into /usr/local/Zend/ZendStudio-5.5.0.</p>
<pre lang="bash">
kevin# cd /home/majlo/
kevin# sh ZendStudio-5_5_0.bin
</pre>
<p>When the installation finish we can start Zend Studio from /usr/local/Zend/ZendStudio-5.5.0/bin/ZDE but after the "Tip of the Day..." it stop responding and after few minutes it crash. This can be resolved by modification the ZDE file.</p>
<pre lang="text">
kevin# cd /usr/local/Zend/ZendStudio-5.5.0/bin/
kevin# mv ZDE ZDE.bak
kevin# cat ZDE.bak | sed 's/jitOnOrOff=on/jitOnOrOff=off/' > ZDE
kevin# chmod 755 ZDE
</pre>
<p>Now we can successfully start and use Zend Studio on FreeBSD. (It may take a while to load.)</p>
<pre lang="text">
kevin# ./ZDE
</pre>
<p>We now have running Zend Studio on FreeBSD. But I'm Slovak and I need to write Slovak national characters in Zend Studio and when I tried, it doesn't work. After spending days searching the Internet I've found that the solution is really simple. Just add this line to your ~/.cshrc file and reboot.</p>
<pre lang="text">
setenv LC_ALL sk_SK.ISO8859-2
</pre>
<p>We can now use Zend Studio on FreeBSD with Slovak keyboard :-)</p>
<img src="http://feeds.feedburner.com/~r/MartinMilesich/~4/b-V9nZ-nEpo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://milesich.com/2007/07/15/zend-studio-55-on-freebsd-62/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://milesich.com/2007/07/15/zend-studio-55-on-freebsd-62/</feedburner:origLink></item>
		<item>
		<title>Why I’m started writing a weblog?</title>
		<link>http://feedproxy.google.com/~r/MartinMilesich/~3/F3XzIXMO1FY/</link>
		<comments>http://milesich.com/2007/07/13/why-im-started-writing-a-weblog/#comments</comments>
		<pubDate>Fri, 13 Jul 2007 08:00:00 +0000</pubDate>
		<dc:creator>Martin Milesich</dc:creator>
				<category><![CDATA[Me]]></category>

		<guid isPermaLink="false">tag:blogger.com,1999:blog-4847465313020594054.post-4960715789250534136</guid>
		<description><![CDATA[Well, I'm trying to switch from Windows XP on my laptop to FreeBSD. I'm using FreeBSD since FreeBSD 3.0 as a server but I think it's the best time to use it as a desktop too. You may ask why not Linux for a desktop? Hmm.. Every time I need to build a server  [...]]]></description>
			<content:encoded><![CDATA[<p>Well, I'm trying to switch from Windows XP on my laptop to <a href="http://www.freebsd.org">FreeBSD</a>. I'm using FreeBSD since FreeBSD 3.0 as a server but I think it's the best time to use it as a desktop too. You may ask why not Linux for a desktop? Hmm.. Every time I need to build a server  I choose FreeBSD and as a desktop I have Microsoft Windows. Therefore I don't have any experiences with Linux. I'm using my laptop mainly as a developer machine.</p>
<p>What really speeded up the process of switching to FreeBSD is the lack of PHP function <a href="http://www.php.net/manual/en/function.PDOStatement-nextRowset.php">PDOStatement::nextRowset()</a> on Windows. I'm developing projects in <a href="http://framework.zend.com">Zend Framework</a> with <a href="http://framework.zend.com/manual/en/zend.db.html">Zend_Db</a> component and I can't use all results from a stored procedures on <a href="http://www.mysql.com">MySQL</a>.</p>
<p>In next few posts I'm going to write about FreeBSD as a desktop and how to run <a href="http://www.zend.com/products/zend_studio">Zend Studio</a> on FreeBSD which is not officially supported by <a href="http://www.zend.com">Zend</a>.</p>
<p>Thank you for reading my first post :-)</p>
<img src="http://feeds.feedburner.com/~r/MartinMilesich/~4/F3XzIXMO1FY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://milesich.com/2007/07/13/why-im-started-writing-a-weblog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://milesich.com/2007/07/13/why-im-started-writing-a-weblog/</feedburner:origLink></item>
	</channel>
</rss>
