<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4437103720725118993</id><updated>2012-02-16T00:20:21.712-08:00</updated><category term='Intro Juan Pablo Stange'/><category term='Google Maps'/><category term='php progress bar'/><category term='ip regex'/><category term='C file reading'/><category term='java'/><category term='Zend Framework'/><category term='Gdata'/><category term='jquery progress bar'/><category term='ssh'/><category term='barra de progreso php'/><category term='filereading function'/><category term='PHP security basics'/><category term='upload progress bar'/><category term='ssh applet'/><category term='C practice'/><category term='Zf Zend Framework Zend Tool Bug'/><category term='Introduccion Introduction'/><category term='Maps'/><category term='javascript validate ip'/><category term='Javascript Tree Ajax Jquery'/><category term='ip address  regex'/><category term='internet address regular expression'/><category term='javascript progress bar'/><category term='ip regular expression'/><title type='text'>Juan Pablo Stange Random thoughts and ideas</title><subtitle type='html'>Just a way of expressing myself in a professional kind of way. I belive in helping others, thats why most of the time I share what I do. As I also believe  others will help me.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://juanpablostange.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://juanpablostange.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Juan Pablo Stange</name><uri>http://www.blogger.com/profile/18404906298577964770</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_Sd-nlj5PKWw/SsP5mxX8LlI/AAAAAAAAAew/Aj79_QbpNqc/S220/pony.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4437103720725118993.post-2365150864633991621</id><published>2009-09-11T05:41:00.000-07:00</published><updated>2009-09-11T06:02:59.970-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C practice'/><category scheme='http://www.blogger.com/atom/ns#' term='C file reading'/><category scheme='http://www.blogger.com/atom/ns#' term='filereading function'/><title type='text'>C Coding Practice</title><content type='html'>I'm definetly getting into the C wagon, many of you will ask why would I want to get aboard a language that it's certainly difficult to master, and my answer is simple, It's just because most of the software, programming languages, etc that we use today come from this very same language. &lt;br /&gt;&lt;br /&gt;Most of today's programming languages such as PHP dont provide the programmer with enough background about memory allocation, etc. &lt;br /&gt;And certainly when it comes to threading, using multiple sockets, nothing beats C!&lt;br /&gt;&lt;br /&gt;Being curious enough these days I've learnt about dynamic memory allocation with pointers which is *very* cool. Before I knew dynamic memory allocation I always thought about the problem of fixed size arrays, my thought was something like this&lt;br /&gt;&lt;br /&gt;"If I always have to pass the size, that is incredibly stupid, I'm sure theres a way to solve this out, like, if my program would take input from a user, I would like that input to be dynamic and not static! I dont want to force her/him to only be able to write 100 bytes!"&lt;br /&gt;&lt;br /&gt;I've been always curious about it and now I really want to get to know it, so here we go!&lt;br /&gt;&lt;br /&gt;This is a simple program that illustrates memory allocation, by reading a file of any length. Might have some trouble, but it has definetly worked for me :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//This is the size of the buffer&lt;br /&gt;#define LENGTH 2048&lt;br /&gt;&lt;br /&gt;char* readfile(const unsigned char* path, unsigned long length);&lt;br /&gt;void minimize(char* str);&lt;br /&gt;&lt;br /&gt;main(int argc, char* argv[]){&lt;br /&gt;&lt;br /&gt;        char* cur;&lt;br /&gt;&lt;br /&gt;        while((cur=readfile(argv[1],LENGTH))!=NULL){&lt;br /&gt;&lt;br /&gt;                printf("%s",cur);&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        return 0;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;char* readfile(const unsigned char* path,const unsigned long length){&lt;br /&gt;&lt;br /&gt;        static FILE* fp;&lt;br /&gt;        static unsigned long int offset = 0;&lt;br /&gt;&lt;br /&gt;        if(!fp){&lt;br /&gt;&lt;br /&gt;                fp = fopen(path,"r");&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        if(!fp){&lt;br /&gt;&lt;br /&gt;                puts("Cannot read file");&lt;br /&gt;                return 0;&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        if (!fseek(fp,offset,length)){&lt;br /&gt;&lt;br /&gt;                puts("Done");&lt;br /&gt;                fclose(fp);&lt;br /&gt;                return NULL;&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        offset+=length;&lt;br /&gt;&lt;br /&gt;        char* read = malloc(length);&lt;br /&gt;&lt;br /&gt;        if( (fgets(read,length,fp)) == NULL){&lt;br /&gt;&lt;br /&gt;                fclose(fp);&lt;br /&gt;                return NULL;&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        return read;&lt;br /&gt;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4437103720725118993-2365150864633991621?l=juanpablostange.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanpablostange.blogspot.com/feeds/2365150864633991621/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://juanpablostange.blogspot.com/2009/09/c-coding-practice.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/2365150864633991621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/2365150864633991621'/><link rel='alternate' type='text/html' href='http://juanpablostange.blogspot.com/2009/09/c-coding-practice.html' title='C Coding Practice'/><author><name>Juan Pablo Stange</name><uri>http://www.blogger.com/profile/18404906298577964770</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_Sd-nlj5PKWw/SsP5mxX8LlI/AAAAAAAAAew/Aj79_QbpNqc/S220/pony.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4437103720725118993.post-4402105417729896870</id><published>2009-09-11T05:39:00.000-07:00</published><updated>2009-09-11T05:40:53.582-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP security basics'/><title type='text'>PHP Security Basics</title><content type='html'>I really suggest you to watch &lt;a href="http://videos.code2design.com/video/play/PHP/11"&gt;THIS VIDEO&lt;/a&gt;, It covers the basics on PHP security.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4437103720725118993-4402105417729896870?l=juanpablostange.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanpablostange.blogspot.com/feeds/4402105417729896870/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://juanpablostange.blogspot.com/2009/09/php-security-basics.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/4402105417729896870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/4402105417729896870'/><link rel='alternate' type='text/html' href='http://juanpablostange.blogspot.com/2009/09/php-security-basics.html' title='PHP Security Basics'/><author><name>Juan Pablo Stange</name><uri>http://www.blogger.com/profile/18404906298577964770</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_Sd-nlj5PKWw/SsP5mxX8LlI/AAAAAAAAAew/Aj79_QbpNqc/S220/pony.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4437103720725118993.post-5741589902440207043</id><published>2009-08-21T07:45:00.000-07:00</published><updated>2009-08-21T07:46:45.648-07:00</updated><title type='text'>uoOgle</title><content type='html'>uoogle! makes it easy for searching google from your PHP application. This does it for the new google search API (which uses JSON). It even includes smarty for making your searches templatable, as well as a few self explanatory examples. The code is fully OO.&lt;br /&gt;&lt;a href="http://uoogle.googlecode.com/files/uoogle-0.1.tgz"&gt;Download&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4437103720725118993-5741589902440207043?l=juanpablostange.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanpablostange.blogspot.com/feeds/5741589902440207043/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://juanpablostange.blogspot.com/2009/08/uoogle-makes-it-easy-for-searching.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/5741589902440207043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/5741589902440207043'/><link rel='alternate' type='text/html' href='http://juanpablostange.blogspot.com/2009/08/uoogle-makes-it-easy-for-searching.html' title='uoOgle'/><author><name>Juan Pablo Stange</name><uri>http://www.blogger.com/profile/18404906298577964770</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_Sd-nlj5PKWw/SsP5mxX8LlI/AAAAAAAAAew/Aj79_QbpNqc/S220/pony.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4437103720725118993.post-2112376473693710876</id><published>2009-07-28T09:58:00.000-07:00</published><updated>2009-07-28T10:14:19.388-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='ssh applet'/><category scheme='http://www.blogger.com/atom/ns#' term='ssh'/><title type='text'>SSH'ing through Java</title><content type='html'>Today i ran into a major problem at work. I was supposed to access a server through ssh to get work done. However it was impossible for me to get something decent like putty, or other windows ssh program or any program at all since they forbid one to download any executable files at least for windows that is (IT policies *cough* bureaucracy), so I reminded an application from mindterm that I had used quite a few years ago. I was amazed to see that the application has come to be something really cool these days. Without further words, if you ran into the same situation that i did today:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.netspace.org/ssh"&gt;Click here http://www.netspace.org/ssh&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4437103720725118993-2112376473693710876?l=juanpablostange.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanpablostange.blogspot.com/feeds/2112376473693710876/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://juanpablostange.blogspot.com/2009/07/sshing-through-java.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/2112376473693710876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/2112376473693710876'/><link rel='alternate' type='text/html' href='http://juanpablostange.blogspot.com/2009/07/sshing-through-java.html' title='SSH&apos;ing through Java'/><author><name>Juan Pablo Stange</name><uri>http://www.blogger.com/profile/18404906298577964770</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_Sd-nlj5PKWw/SsP5mxX8LlI/AAAAAAAAAew/Aj79_QbpNqc/S220/pony.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4437103720725118993.post-3600017193991899843</id><published>2009-07-27T06:01:00.000-07:00</published><updated>2009-07-27T06:04:17.311-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ip regular expression'/><category scheme='http://www.blogger.com/atom/ns#' term='javascript validate ip'/><category scheme='http://www.blogger.com/atom/ns#' term='internet address regular expression'/><category scheme='http://www.blogger.com/atom/ns#' term='ip regex'/><category scheme='http://www.blogger.com/atom/ns#' term='ip address  regex'/><title type='text'>Javascript Valid IP</title><content type='html'>Validate an IP address with javascript:&lt;br /&gt;Its just a regular expression, so it should work in PHP, or any language supporting&lt;br /&gt;regular expressions, however most languages have ip validating functions, such as ip2long or long2ip in PHP :)&lt;br /&gt;&lt;br /&gt;ipaddr = {&lt;br /&gt;        validate:function(ip){&lt;br /&gt;                var ip = new String(ip);&lt;br /&gt;                return (ip.match(/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/));&lt;br /&gt;        }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Usage:&lt;br /&gt;&lt;br /&gt;&amp;lt; input type="text" name="ip" onblur="ipaddr.validate(this.value);" &amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4437103720725118993-3600017193991899843?l=juanpablostange.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanpablostange.blogspot.com/feeds/3600017193991899843/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://juanpablostange.blogspot.com/2009/07/javascript-valid-ip.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/3600017193991899843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/3600017193991899843'/><link rel='alternate' type='text/html' href='http://juanpablostange.blogspot.com/2009/07/javascript-valid-ip.html' title='Javascript Valid IP'/><author><name>Juan Pablo Stange</name><uri>http://www.blogger.com/profile/18404906298577964770</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_Sd-nlj5PKWw/SsP5mxX8LlI/AAAAAAAAAew/Aj79_QbpNqc/S220/pony.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4437103720725118993.post-4176588618410031513</id><published>2009-07-23T05:05:00.000-07:00</published><updated>2009-07-23T05:21:32.025-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript Tree Ajax Jquery'/><title type='text'>Javascipt Tree with Jquery and Ajax</title><content type='html'>Just so i dont forget to post it and explain further when i have sometime!&lt;br /&gt;Jquery is used for performing the ajax part and the show/hide effects&lt;br /&gt;although i could've used &lt;a href="http://code.google.com/p/yaguajax"&gt;yaguajax (http://code.google.com/p/yaguajax)&lt;/a&gt; I decided to use jquery because of the showing/hiding effects, well anyways, this is a tree that takes a JSON object as parameter 1 (data), ill provide more examples in the future!&lt;br /&gt;&lt;br /&gt;CSS&lt;br /&gt;-----------------------&lt;br /&gt;ul li a {&lt;br /&gt;}&lt;br /&gt;.level {display:none;}&lt;br /&gt;.level1{display:none;}&lt;br /&gt;.level2 {display:none;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;JAVASCRIPT&lt;br /&gt;-----------------------&lt;br /&gt;tree={branches:[],parse:function(data,id,fieldName,lvlPrefix,lvlField,lvlClass,jsFunc,branchTitle){var div=document.getElementById(id);var ul=document.createElement("ul");if(branchTitle){var li=document.createElement("li");li.setAttribute("class","treetitle");li.appendChild(document.createTextNode(branchTitle));ul.appendChild(li);}if(!this.hasbranch(id))this.branches[id]={data:data,expanded:false};for(i=0;i&amp;lt;data.length;i++){var val=data[i][fieldName];var lvlID=lvlPrefix+data[i][lvlField];if(!val) continue;var li=document.createElement("li");var a=document.createElement("a");var txt=document.createTextNode(val);var lvl=document.createElement("div");lvl.id=lvlID;lvl.setAttribute("class",lvlClass);a.appendChild(txt);a.href="javascript:"+jsFunc+"("+$.toJSON(data[i])+");";li.appendChild(a);li.appendChild(lvl);ul.appendChild(li);}div.appendChild(ul);this.expandContract(id);},hasbranch:function(id){return (!(typeof(this.branches[id])=="undefined"));},expandContract:function(id){if(!this.hasbranch(id))return false;if (this.branches[id].expanded){$("#"+id).hide("slow");this.branches[id].expanded=false;return;}$("#"+id).show("slow");this.branches[id].expanded=true;return;}}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4437103720725118993-4176588618410031513?l=juanpablostange.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanpablostange.blogspot.com/feeds/4176588618410031513/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://juanpablostange.blogspot.com/2009/07/javascipt-tree-with-jquery-and-ajax.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/4176588618410031513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/4176588618410031513'/><link rel='alternate' type='text/html' href='http://juanpablostange.blogspot.com/2009/07/javascipt-tree-with-jquery-and-ajax.html' title='Javascipt Tree with Jquery and Ajax'/><author><name>Juan Pablo Stange</name><uri>http://www.blogger.com/profile/18404906298577964770</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_Sd-nlj5PKWw/SsP5mxX8LlI/AAAAAAAAAew/Aj79_QbpNqc/S220/pony.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4437103720725118993.post-7448541784664238405</id><published>2009-07-13T19:05:00.000-07:00</published><updated>2009-07-13T20:07:47.238-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jquery progress bar'/><category scheme='http://www.blogger.com/atom/ns#' term='javascript progress bar'/><category scheme='http://www.blogger.com/atom/ns#' term='upload progress bar'/><category scheme='http://www.blogger.com/atom/ns#' term='barra de progreso php'/><category scheme='http://www.blogger.com/atom/ns#' term='php progress bar'/><title type='text'>Upload Progress Bar 100% PHP</title><content type='html'>Past weekend I entertained myself trying to figure out how would I go doing a 100% PHP upload progress bar without using iframes.&lt;br /&gt;&lt;br /&gt;At the start my premise was this: &lt;br /&gt;&lt;br /&gt;PLAIN PHP         (Trying not to use extensions!)&lt;br /&gt;PLAIN AJAX UPLOAD (Yes, the upload would've been done ALL via AJAX)&lt;br /&gt;MULTIPLE FILES MULTIPLE UPLOADS MULTIPLE PROGRESS BARS! Yeah, Multiple!&lt;br /&gt;&lt;br /&gt;Doing a bit of research I found out that the file object in javascript had some interesting properties like the following: &lt;br /&gt;&lt;br /&gt;&amp;lt;input id="file" type="file" name="blah" onchange="interesting(this);"&amp;gt; &lt;br /&gt;&lt;br /&gt;function interesting(elm){&lt;br /&gt;&lt;br /&gt;   alert(elm.files.item(0).fileSize);       //Gets the filesize in bytes for the loaded file&lt;br /&gt;   alert(elm.files.item(0).getAsDataURL()); //Gets the whole file as a base64 encoded string&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;As you might guess I've found the second (elm.files.item(0).getAsDataURL()) very interesting,&lt;br /&gt;so the main idea was, "If i can get the file as a base64 encoded string I can send it through ajax without any problems, write to a file from PHP, get the amount of bytes written, then get a percentage and make a progress bar in a snap hah! Yeah I dont know about you but in my case I always start happy and then begin to complicate things :) (I think its a fact related to the very existence of programmers?) &lt;br /&gt;&lt;br /&gt;However there were certain complications trying to send this data as $_POST data through AJAX.&lt;br /&gt;&lt;br /&gt;Most of the time my struggle was based on getting $_POST data "as it arrived", now, "as it arrived" meant data to be dumped in the *very moment* as it was coming IN&lt;br /&gt;I tried reading with $fp = fopen("php://input",'r'); while(!feof($fp)) $line = fgets($fp,2048);  amongst other techniques like trying to use output buffering, but no luck. Later on I did some more research and found out that PHP is not able to read POST data in the manner as I wanted (as some kind of stream flushing it in as it arrived). &lt;br /&gt;&lt;br /&gt;So, everyone pointed out me to use APC upload progress functions, but i didn't felt like installing apc just for getting a way of polling for upload progress, thats when I stepped with uploadprogress simply by doing :&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;pthreat@localshot:~$ pecl search uploadprogress&lt;br /&gt;&lt;br /&gt;Retrieving data...0%Matched packages, channel pecl.php.net:&lt;br /&gt;=======================================&lt;br /&gt;Package        Stable/(Latest) Local&lt;br /&gt;uploadprogress 1.0.1 (stable)  1.0.1 An extension to track progress of a file upload.&lt;br /&gt;&lt;br /&gt;Riiiiiiight, who would've thought so!! &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I just had to do the following:&lt;br /&gt;&lt;br /&gt;sudo su -c "pecl install uploadprogress";&lt;br /&gt;&lt;br /&gt;Add the extension to /etc/php5/apache2/php.ini&lt;br /&gt;&lt;br /&gt;echo "extension=uploadprogress.so" &gt;&gt; /etc/php5/apache2/php.ini&lt;br /&gt;&lt;br /&gt;Then i checked out the examples available in the extension, and i came up with the following:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://190.2.40.57/upload"&gt;DEMO RIGHT HERE!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can get the code here: &lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.google.com/p/uprogress"&gt;CODE RIGHT HERE!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I've called this uprogress, I guess i didnt wanted to be original this time :)&lt;br /&gt;&lt;br /&gt;I still have to tweak a coupple of things, but it works in the overall.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4437103720725118993-7448541784664238405?l=juanpablostange.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanpablostange.blogspot.com/feeds/7448541784664238405/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://juanpablostange.blogspot.com/2009/07/upload-progress-bar-100-php.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/7448541784664238405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/7448541784664238405'/><link rel='alternate' type='text/html' href='http://juanpablostange.blogspot.com/2009/07/upload-progress-bar-100-php.html' title='Upload Progress Bar 100% PHP'/><author><name>Juan Pablo Stange</name><uri>http://www.blogger.com/profile/18404906298577964770</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_Sd-nlj5PKWw/SsP5mxX8LlI/AAAAAAAAAew/Aj79_QbpNqc/S220/pony.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4437103720725118993.post-3065642862178787333</id><published>2009-07-04T05:28:00.000-07:00</published><updated>2009-07-04T05:39:05.448-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Zf Zend Framework Zend Tool Bug'/><title type='text'>ZF Tool</title><content type='html'>Today I woke up, and decided to make a small project with Zend Framework, some kind of a photo album. I wanted to make the whole thing modular and all, I've got to a &lt;a href="http://blog.keppens.biz/2009/06/create-modular-application-with-zend.html"&gt;TUTORIAL&lt;/a&gt; that sort of explained howto use modules, with ZF.After some workarounds i managed to get it "working", Just to find that Zend_Tool was using Short Tags to generate code. As you all know (or most of you should) Short tags are meant to be deprecated in PHP6.&lt;br /&gt;&lt;br /&gt;This bug has been filed by me here: http://framework.zend.com/issues/browse/ZF-7192&lt;br /&gt;&lt;br /&gt;Here's some of it:&lt;br /&gt;&lt;br /&gt;From Zend/Tool/Project/Context/Zf/ViewScriptFile.php:&lt;br /&gt;Starting in line 127:&lt;br /&gt;&lt;br /&gt;&amp;lt;h2&amp;gt;&amp;lt;?= \$this-&gt;message ?&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;&lt;br /&gt;From my php.ini file :)&lt;br /&gt;&lt;br /&gt;; Allow the &amp;lt;? tag.  Otherwise, only &amp;lt;?php and &amp;lt;script&amp;lt; tags are recognized.&lt;br /&gt;; NOTE: Using short tags should be avoided when developing applications or&lt;br /&gt;; libraries that are meant for redistribution, or deployment on PHP&lt;br /&gt;; servers which are not under your control, because short tags may not&lt;br /&gt;; be supported on the target server. For portable, redistributable code,&lt;br /&gt;; be sure not to use short tags.&lt;br /&gt;&lt;br /&gt;short_open_tag = Off&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4437103720725118993-3065642862178787333?l=juanpablostange.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanpablostange.blogspot.com/feeds/3065642862178787333/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://juanpablostange.blogspot.com/2009/07/zf-tool.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/3065642862178787333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/3065642862178787333'/><link rel='alternate' type='text/html' href='http://juanpablostange.blogspot.com/2009/07/zf-tool.html' title='ZF Tool'/><author><name>Juan Pablo Stange</name><uri>http://www.blogger.com/profile/18404906298577964770</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_Sd-nlj5PKWw/SsP5mxX8LlI/AAAAAAAAAew/Aj79_QbpNqc/S220/pony.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4437103720725118993.post-5334716037364048126</id><published>2009-07-01T06:53:00.000-07:00</published><updated>2009-07-01T07:09:06.458-07:00</updated><title type='text'>Simple Javascript File Adder</title><content type='html'>Bored, made this simple file adder, actually you can add text fields also, I should add options into it for it to be able to also remove the created input fields.&lt;br /&gt;&lt;br /&gt;files={elms:[],count:0,add:function(id,name,type,max,prefix){if(max&amp;&amp;((files.count+1)&gt;max))return;var elm,cont,label;elm=cont=label=null;cont=document.getElementById(id);type=(type) ? type : "file";if(!cont) return alert("addboxes.js: Container for adding elements does not exists");name=(!name) ? "files" : name;elm=document.createElement("input");elm.setAttribute("name",name+"[]");elm.setAttribute("type",type);label=document.createElement("label");label.setAttribute("class","autoadd");if(prefix) label.appendChild(document.createTextNode(prefix+' '+(files.count+1)));label.appendChild(elm);cont.appendChild(label);files.elms[files.elms.length]=elm;files.count++;}}/*Example Usage: &amp;lt;a href="javascript:files.add('emails','reviews','text',4,'Review #');"&amp;gt;[+]Add Email&amp;lt;/a&amp;gt; &amp;lt;div id="emails"&amp;gt;&amp;lt;/div&amp;gt;*/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4437103720725118993-5334716037364048126?l=juanpablostange.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanpablostange.blogspot.com/feeds/5334716037364048126/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://juanpablostange.blogspot.com/2009/07/simple-javascript-file-adder.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/5334716037364048126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/5334716037364048126'/><link rel='alternate' type='text/html' href='http://juanpablostange.blogspot.com/2009/07/simple-javascript-file-adder.html' title='Simple Javascript File Adder'/><author><name>Juan Pablo Stange</name><uri>http://www.blogger.com/profile/18404906298577964770</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_Sd-nlj5PKWw/SsP5mxX8LlI/AAAAAAAAAew/Aj79_QbpNqc/S220/pony.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4437103720725118993.post-3584064124953976731</id><published>2009-06-16T20:40:00.000-07:00</published><updated>2009-06-25T08:36:37.766-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Zend Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='Gdata'/><category scheme='http://www.blogger.com/atom/ns#' term='Maps'/><category scheme='http://www.blogger.com/atom/ns#' term='Google Maps'/><title type='text'>Zend Gdata Maps</title><content type='html'>Using Zend Framework checked the Gdata package and found no google maps support:&lt;br /&gt;&lt;br /&gt;So i decided to create a Zend_Gdata_Maps subpackage, and here it is:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.google.com/p/zfgeolocation/downloads/list"&gt;Download Zend_Gdata_Maps!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Installation: Just uncompress it outside The Zend Framework folder&lt;br /&gt;&lt;br /&gt;See the Examples provided on Zend/Gdata/Maps/Examples&lt;br /&gt;&lt;br /&gt;yeah, the examples are *practical* and *usefull* you wont find any useless gibberish on them&lt;br /&gt;&lt;br /&gt;Run the example within your console OUTSIDE the ZF folder!&lt;br /&gt;&lt;br /&gt;/path/to/php Zend/Gdata/Maps/Examples/example.php&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Once youre used to it, use it in your project as any other library.&lt;br /&gt;&lt;br /&gt;There's lot to be done yet! I'm sure there are a thousand of bugs.&lt;br /&gt;&lt;br /&gt;Looking up for people who care to create a Google Maps Gdata Subpackage :)&lt;br /&gt;&lt;br /&gt;Cheers! &lt;br /&gt;&lt;br /&gt; Juan.-&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4437103720725118993-3584064124953976731?l=juanpablostange.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanpablostange.blogspot.com/feeds/3584064124953976731/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://juanpablostange.blogspot.com/2009/06/zend-gdata-maps.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/3584064124953976731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/3584064124953976731'/><link rel='alternate' type='text/html' href='http://juanpablostange.blogspot.com/2009/06/zend-gdata-maps.html' title='Zend Gdata Maps'/><author><name>Juan Pablo Stange</name><uri>http://www.blogger.com/profile/18404906298577964770</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_Sd-nlj5PKWw/SsP5mxX8LlI/AAAAAAAAAew/Aj79_QbpNqc/S220/pony.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4437103720725118993.post-6909059973164569781</id><published>2009-06-08T16:47:00.000-07:00</published><updated>2009-06-08T16:51:38.568-07:00</updated><title type='text'>Zend Framework 1.8 PDO_MYSQL</title><content type='html'>The Quickstart provided on the Zend framework page does not specify howto use PDO_MYSQL&lt;br /&gt;and as you already have noticed it uses PDO_SQLITE. &lt;br /&gt;&lt;br /&gt;However this is not the most common option for people who are going to build serious RDBM　applications, so after wondering a coupple of minutes I just used this on my configuration file&lt;br /&gt;&lt;br /&gt;application/configs/application.ini&lt;br /&gt;&lt;br /&gt;[production]&lt;br /&gt;phpSettings.display_startup_errors = 0&lt;br /&gt;phpSettings.display_errors = 0&lt;br /&gt;includePaths.library = APPLICATION_PATH "/../library"&lt;br /&gt;bootstrap.path = APPLICATION_PATH "/Bootstrap.php"&lt;br /&gt;bootstrap.class = "Bootstrap"&lt;br /&gt;resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"&lt;br /&gt;resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"&lt;br /&gt;resources.view[]=&lt;br /&gt;&lt;br /&gt;resources.db.adapter         = "PDO_MYSQL"&lt;br /&gt;resources.db.params.host     = "YOUR HOST GOES HERE USUALLY LOCALHOST"&lt;br /&gt;resources.db.params.username = "DATABASE USERNAME DONT BE A NOOB AND USE ROOT"&lt;br /&gt;resources.db.params.password = "YOUR USER'S PASSWORD"&lt;br /&gt;resources.db.params.dbname   = "DATABASE NAME"&lt;br /&gt;resources.db.isDefaultTableAdapter = true&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I gope this helps anybody out there ...&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4437103720725118993-6909059973164569781?l=juanpablostange.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanpablostange.blogspot.com/feeds/6909059973164569781/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://juanpablostange.blogspot.com/2009/06/zend-framework-18-pdomysql.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/6909059973164569781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/6909059973164569781'/><link rel='alternate' type='text/html' href='http://juanpablostange.blogspot.com/2009/06/zend-framework-18-pdomysql.html' title='Zend Framework 1.8 PDO_MYSQL'/><author><name>Juan Pablo Stange</name><uri>http://www.blogger.com/profile/18404906298577964770</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_Sd-nlj5PKWw/SsP5mxX8LlI/AAAAAAAAAew/Aj79_QbpNqc/S220/pony.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4437103720725118993.post-6078470418870819404</id><published>2009-06-04T16:57:00.000-07:00</published><updated>2009-06-04T17:03:51.652-07:00</updated><title type='text'>Cannot map the project with svn provider</title><content type='html'>So i began using eclipse ganymede seriously lately, downloaded and installed the subclipse plugin, checked out a project from our existing project repository, everything seemed to be cool, until i wanted to checkout a different project in the same server.&lt;br /&gt;&lt;br /&gt;Apparently the subclipse plugin was using the same data of my previous repository, which as I stated, was hosted in the same server.&lt;br /&gt;&lt;br /&gt;QUICK FIX! (it works)&lt;br /&gt;&lt;br /&gt;I tricked eclipse by adding an alias to the host in my /etc/hosts file, simple as:&lt;br /&gt;&lt;br /&gt;200.xxx.xxx.xxx otherproject.mycompany.com&lt;br /&gt;&lt;br /&gt;So, when importing the project, i used this alias, and then i was prompted again with username and password for the other repository that i needed to checkout.&lt;br /&gt;&lt;br /&gt;Tried googling for this one altough found a lot of noise and nothing concrete.&lt;br /&gt;&lt;br /&gt;Comments?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4437103720725118993-6078470418870819404?l=juanpablostange.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanpablostange.blogspot.com/feeds/6078470418870819404/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://juanpablostange.blogspot.com/2009/06/cannot-map-project-with-svn-provider.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/6078470418870819404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/6078470418870819404'/><link rel='alternate' type='text/html' href='http://juanpablostange.blogspot.com/2009/06/cannot-map-project-with-svn-provider.html' title='Cannot map the project with svn provider'/><author><name>Juan Pablo Stange</name><uri>http://www.blogger.com/profile/18404906298577964770</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_Sd-nlj5PKWw/SsP5mxX8LlI/AAAAAAAAAew/Aj79_QbpNqc/S220/pony.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4437103720725118993.post-5572475458763014166</id><published>2009-02-09T13:46:00.000-08:00</published><updated>2009-02-09T13:47:53.295-08:00</updated><title type='text'>Random Thought</title><content type='html'>The more i live the more I see this world is meant to be hell for some and heaven for others.&lt;br /&gt;So evident and tangible as any philosophical thought, yet hidden for many ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4437103720725118993-5572475458763014166?l=juanpablostange.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanpablostange.blogspot.com/feeds/5572475458763014166/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://juanpablostange.blogspot.com/2009/02/random-thought.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/5572475458763014166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/5572475458763014166'/><link rel='alternate' type='text/html' href='http://juanpablostange.blogspot.com/2009/02/random-thought.html' title='Random Thought'/><author><name>Juan Pablo Stange</name><uri>http://www.blogger.com/profile/18404906298577964770</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_Sd-nlj5PKWw/SsP5mxX8LlI/AAAAAAAAAew/Aj79_QbpNqc/S220/pony.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4437103720725118993.post-1454837399167216091</id><published>2009-02-02T05:56:00.000-08:00</published><updated>2009-02-02T07:56:09.388-08:00</updated><title type='text'>Vuln research? Programmers ? Freelancers ?</title><content type='html'>It has caught my eye in these years that every single day that I check sites like security focus or packetstorm, every single vulnerability ends up being  some SQL injection gibberish for  some unknown CMS or some dumb forum.&lt;br /&gt;&lt;br /&gt;I'll just go straight to the point, because i really like to be straight forward.&lt;br /&gt;&lt;br /&gt;The questions are:&lt;br /&gt;&lt;br /&gt;A) Are we lacking serious security researchers?&lt;br /&gt;&lt;br /&gt;B) Has the world gone so stupid that we have people inventing terms like web 2.0 and looking for SQL injection vulnerabilities, and then claiming to be big?&lt;br /&gt;&lt;br /&gt;C) Are there so many stupid web programmers?&lt;br /&gt;&lt;br /&gt;I believe the right answer is a mixture between B and C.&lt;br /&gt;&lt;br /&gt;Sometime ago i was working as a freelancer. My work consisted into modifying a couple of web apps made by some guys in some part of the globe.&lt;br /&gt;Making my way through horrendous programming manners. 50 lines of elseif  just for getting the correct location to redirect to. Design patterns where too much to ask, there were no traces of a design pattern standard such as MVC and clearly also no OOP but a DB PDO Object. When you see code like this:&lt;br /&gt;&lt;br /&gt;   function test ($a=1) {&lt;br /&gt;&lt;br /&gt;        if ($a) {&lt;br /&gt;&lt;br /&gt;            return TRUE;&lt;br /&gt;&lt;br /&gt;        } else {&lt;br /&gt;&lt;br /&gt;            return FALSE;&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;You start to get seriously worried.&lt;br /&gt;       &lt;br /&gt;It's a real shame that web developers these days are mostly unexperienced beings with little, poor or no background knowledge like C or even Shell scripting.&lt;br /&gt;&lt;br /&gt;Their way of fixing problems is to *patch* all the way through, doing  whatever it takes. Doesn't matters how nasty the patch is, they don't mind if you or me have to code over that later.&lt;br /&gt;&lt;br /&gt;These  careless people exist thanks to following characters:&lt;br /&gt;&lt;br /&gt;A) Customers that think that serious web development is a matter of point and click.&lt;br /&gt;B) People with Microsoft's NIKE  philosophy  "Just do it" add to that "No matter  what".&lt;br /&gt;C) People that still code for PHP4.&lt;br /&gt;D) People who have little or no vision at all about the future of their application.&lt;br /&gt;E) People who play to be experts  when all they have is a bunch of fancy words.&lt;br /&gt;&lt;br /&gt;Now, if you're even thinking that I should be grateful to these people because they give me work, think twice.  I've left freelancing for modifying applications, and I've left my job thanks to people like the ones mentioned in points A, B, D and E  (&lt;-mediocre) to get another one in which I'm able to work happy (which I already have).&lt;br /&gt;&lt;br /&gt;So, if you happen to be in some of the previous mentioned situations, and feel  frustrated of doing the same stupid stuff over and over again just leave everything behind and start a new path.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4437103720725118993-1454837399167216091?l=juanpablostange.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanpablostange.blogspot.com/feeds/1454837399167216091/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://juanpablostange.blogspot.com/2009/02/vuln-research-programmers-freelancers.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/1454837399167216091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/1454837399167216091'/><link rel='alternate' type='text/html' href='http://juanpablostange.blogspot.com/2009/02/vuln-research-programmers-freelancers.html' title='Vuln research? Programmers ? Freelancers ?'/><author><name>Juan Pablo Stange</name><uri>http://www.blogger.com/profile/18404906298577964770</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_Sd-nlj5PKWw/SsP5mxX8LlI/AAAAAAAAAew/Aj79_QbpNqc/S220/pony.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4437103720725118993.post-9034542422730699669</id><published>2009-01-29T08:56:00.000-08:00</published><updated>2009-02-02T05:55:58.387-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Introduccion Introduction'/><category scheme='http://www.blogger.com/atom/ns#' term='Intro Juan Pablo Stange'/><title type='text'>First entry, wow!</title><content type='html'>Hey there! Greetings! (altough i may not know who the fuck you are , but anyways :) ) .&lt;br /&gt;&lt;br /&gt;I'm Juan Pablo Stange, 25 born in Rosario Argentina, currently working in Buenos Aires. What do i do for a living ? Well, I'm a PHP / Javascript / SQL / HTML / XML / CSS  programmer, in a short term, a so called "web developer".&lt;br /&gt;&lt;br /&gt;Thursday 29 14:25 P.M Buenos Aires, Argentina. At work here in Source South.&lt;br /&gt;&lt;br /&gt;After meditating a lot, I decided to create this blog as a way of storing wacky thoughts ideas, source code, utilities and certainly about music. And I prefer not to be good introducing myself,  (I could be, really) but I'll let you get your very own wrong conclusions.&lt;br /&gt;See ya around.&lt;br /&gt;&lt;br /&gt;                                                                                                           Juan.-&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4437103720725118993-9034542422730699669?l=juanpablostange.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://juanpablostange.blogspot.com/feeds/9034542422730699669/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://juanpablostange.blogspot.com/2009/01/first-entry-wow.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/9034542422730699669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4437103720725118993/posts/default/9034542422730699669'/><link rel='alternate' type='text/html' href='http://juanpablostange.blogspot.com/2009/01/first-entry-wow.html' title='First entry, wow!'/><author><name>Juan Pablo Stange</name><uri>http://www.blogger.com/profile/18404906298577964770</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_Sd-nlj5PKWw/SsP5mxX8LlI/AAAAAAAAAew/Aj79_QbpNqc/S220/pony.png'/></author><thr:total>0</thr:total></entry></feed>
