<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>use strict ;#) &#187; Uncategorized</title>
	<atom:link href="http://usestrict.net/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://usestrict.net</link>
	<description>Vinny&#039;s Technical Corner</description>
	<lastBuildDate>Wed, 14 Jul 2010 20:21:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>I&#8217;m now on Suite101.com!</title>
		<link>http://usestrict.net/2009/09/22/im-now-on-suite101com/</link>
		<comments>http://usestrict.net/2009/09/22/im-now-on-suite101com/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 21:58:23 +0000</pubDate>
		<dc:creator>Vinny</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://usestrict.net/?p=874</guid>
		<description><![CDATA[Hey folks! I'd like to announce that I've debuted on suite101.com. My first article there was how to optimize your job hunting using RSS feeds. Check out the article here.]]></description>
			<content:encoded><![CDATA[<p>Hey folks!</p>
<p>I'd like to announce that I've debuted on suite101.com. My first article there was how to optimize your job hunting using RSS feeds. </p>
<p><a href="http://job-search.suite101.com/article.cfm/optimize_your_search_for_new_jobs" target="_blank">Check out the article here.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://usestrict.net/2009/09/22/im-now-on-suite101com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Didn&#8217;t find what you came for?</title>
		<link>http://usestrict.net/2009/06/22/didnt-find-what-you-came-for/</link>
		<comments>http://usestrict.net/2009/06/22/didnt-find-what-you-came-for/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 11:35:35 +0000</pubDate>
		<dc:creator>Vinny</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://usestrict.net/?p=760</guid>
		<description><![CDATA[The cool thing about blogging software is that it shows the blogger all sorts of interesting information, such as the number of visitors, or the search string that led them to the blog. I see lots of interesting search strings, but I keep wondering if the users actually found what they were looking for. That [...]]]></description>
			<content:encoded><![CDATA[<p>The cool thing about blogging software is that it shows the blogger all sorts of interesting information, such as the number of visitors, or <strong>the search string that led them to the blog</strong>.</p>
<p>I see lots of interesting search strings, but I keep wondering if the users actually found what they were looking for. That said, please be kind and leave a message telling me if you found what you wanted, and if you didn't, please say what it was and I'll try to cover that in my posts.</p>
<p>You can leave your message either as a comment here, or <a href="/contact/">send me an email through the contact form</a>.</p>
<p>Thanks!!</p>
]]></content:encoded>
			<wfw:commentRss>http://usestrict.net/2009/06/22/didnt-find-what-you-came-for/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upgrade to WordPress 2.8&#8230; IF YOU DARE!!</title>
		<link>http://usestrict.net/2009/06/11/upgrade-to-wordpress-28-if-you-dare/</link>
		<comments>http://usestrict.net/2009/06/11/upgrade-to-wordpress-28-if-you-dare/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 22:11:59 +0000</pubDate>
		<dc:creator>Vinny</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://usestrict.net/?p=744</guid>
		<description><![CDATA[Seriously - **DON'T!** (did I stress that enough?) Not unless you've tested it well on a non-production machine. It's been known to break themes and plugins. My Advertising Manager plugin is still broken as of this writing, and there's no automatic downgrading. If you were hasty like me and ended up getting in trouble with [...]]]></description>
			<content:encoded><![CDATA[<p>Seriously - <strong><em>**DON'T!**</em></strong> (did I stress that enough?) Not unless you've tested it well on a non-production machine. It's been known to break themes and plugins. My Advertising Manager plugin is still broken as of this writing, and there's no automatic downgrading.</p>
<p>If you were hasty like me and ended up getting in trouble with the blasted 2.8 version, check this link on some steps to perform the downgrade.</p>
<p><a href="http://christastjean.co.uk/?p=2964">http://christastjean.co.uk/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://usestrict.net/2009/06/11/upgrade-to-wordpress-28-if-you-dare/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Contact</title>
		<link>http://usestrict.net/contact/</link>
		<comments>http://usestrict.net/contact/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 01:56:58 +0000</pubDate>
		<dc:creator>Vinny</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://usestrict.net/?page_id=653</guid>
		<description><![CDATA[&#160; &#160; Talk to me! &#160;]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>Talk to me!</h3>
<p>&nbsp;</p>
[contact-form]
]]></content:encoded>
			<wfw:commentRss>http://usestrict.net/contact/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jobs!!</title>
		<link>http://usestrict.net/jobs/</link>
		<comments>http://usestrict.net/jobs/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 02:00:46 +0000</pubDate>
		<dc:creator>Vinny</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://usestrict.net/?page_id=552</guid>
		<description><![CDATA[Here's a bunch of links to help job hunters in Canada. It's mainly IT related, but there are other areas as well. To get the 20 latest entries, check out Latest Job Postings. This list updates by the minute, so either refresh frequently or subscribe to the special job posting feed. &#160;]]></description>
			<content:encoded><![CDATA[<p>Here's a bunch of links to help job hunters in Canada. It's mainly IT related, but there are other areas as well. To get the 20 latest entries, check out <a href="/2010/03/03/latest-job-postings/">Latest Job Postings</a>. This list updates by the minute, so either refresh frequently or <a href="http://feeds.feedburner.com/usestrictjobs">subscribe to the special job posting feed</a>. </p>
<p><script type="text/javascript" src="http://www.google.com/reader/ui/publisher-en.js"></script><br />
<script type="text/javascript" src="http://www.google.com/reader/public/javascript-sub/user/06191017349268099014/label/Jobs?callback=GRC_p(%7Bc%3A%22khaki%22%2Ct%3A%22UseStrict's%20Canadian%20Job%20Feeds%22%2Cb%3A%22true%22%7D)%3Bnew%20GRC"></script></p>
<p>&nbsp;</p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://usestrict.net/jobs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New looks for usestrict</title>
		<link>http://usestrict.net/2009/05/16/new-looks-for-usestrict/</link>
		<comments>http://usestrict.net/2009/05/16/new-looks-for-usestrict/#comments</comments>
		<pubDate>Sat, 16 May 2009 18:40:45 +0000</pubDate>
		<dc:creator>Vinny</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://usestrict.net/?p=472</guid>
		<description><![CDATA[Folks, I decided to change the looks of my blog. I'm using Atahualpa theme which is simply amazing. There are over 200 customization options which allow you to do practically anything you want. If you are wondering about the logo, it is one of Pablo Picasso's drawings. I chose it because of its simplicity, which [...]]]></description>
			<content:encoded><![CDATA[<p>Folks,</p>
<p>I decided to change the looks of my blog. I'm using <a href="http://wordpress.org/extend/themes/atahualpa" target="_blank">Atahualpa theme</a> which is simply amazing. There are over 200 customization options which allow you to do practically anything you want.</p>
<p>If you are wondering about the logo, it is one of <a href="http://www.art.com/gallery/id--a16/pablo-picasso.htm" target="_blank">Pablo Picasso's drawings</a>. I chose it because of its simplicity, which is in my opinion one of Perl's faces (I try not to get on its bad side - <a href="http://en.wikipedia.org/wiki/KISS_principle">K.I.S.S.</a>).</p>
<p>I hope you enjoy it.</p>
<p>Vinny.</p>
]]></content:encoded>
			<wfw:commentRss>http://usestrict.net/2009/05/16/new-looks-for-usestrict/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Portfolio (English)</title>
		<link>http://usestrict.net/about-2/portfolio-english/</link>
		<comments>http://usestrict.net/about-2/portfolio-english/#comments</comments>
		<pubDate>Sat, 04 Apr 2009 18:48:43 +0000</pubDate>
		<dc:creator>Vinny</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://usestrict.net/?page_id=378</guid>
		<description><![CDATA[I've been working with Web Development since 1998, focusing mainly on dynamic pages using Perl, PHP, and MySQL. In the last few years I started to improve the way I used CSS and divs, as well as "client side" tecnologies such as Javascript - which led to using Ajax techniques. The Design is done by [...]]]></description>
			<content:encoded><![CDATA[<p><!--noadsense-->I've been working with Web Development since 1998, focusing mainly on dynamic pages using Perl, PHP, and MySQL. In the last few years I started to improve the way I used CSS and divs, as well as "client side" tecnologies such as Javascript - which led to using Ajax techniques.</p>
<p>The Design is done by Maria Alves, who develops the visuals along with the clients.</p>
<p>Besides websites, we also develop intranet and extranet systems.</p>
<p>See below some of our projects.</p>
<hr />
<h3>myWebChat</h3>
<p><a href="http://mywebchat.usestrict.net"><img class="size-thumbnail wp-image-332 alignleft" title="MyWebChat" src="http://usestrict.net/wp-content/uploads/2009/04/portfolio_mywebchat-150x150.png" alt="MyWebChat" width="135" height="135" /></a></p>
<p>myWebChat is the first version of an embedded chat system where visitors of a given site can talk amongst themselves. The technology used for the system was Ajax with PHP and MySQL (but the user doesn't need any of that in their site - all there is to do is to put a piece of code on the page in which they want to have the chat window).</p>
<p>The site's design is simple in this first version, since the intention was to see if the chat system would attract any public. However, the site (and the chat) is multi-language and recognizes the language preference of the user's browser automagically. It also has links to see the site in English and Brazilian Portuguese. The registration forms also use Ajax.<br />
<code><br />
</code><br />
<code><br />
</code></p>
<hr />
<h3>AnimaMundi Dances</h3>
<p><a href="http://www.animamundidances.com"><img class="size-thumbnail wp-image-338 alignleft" title="AnimaMundi Dances" src="http://usestrict.net/wp-content/uploads/2009/04/portfolio_animamundidances-150x150.png" alt="AnimaMundi Dances" width="150" height="150" /></a></p>
<p>Maria Couto's site about her work with Sacred Dances. She designed it herself, maintaining visual structure throughout all pages. Larger texts are shown using scrolling DIVs.</p>
<p>This site is multi-language, recognizing the user's browser preference or through links. Language options are: Brazilian Portuguese, English, and French.</p>
<p>Click on the image to see the site. The link opens in a new window/tab.<br />
<code><br />
</code><br />
<code><br />
</code><br />
<code><br />
</code></p>
<hr />
<h3>Paulo Segatto</h3>
<p><a href="http://usestrict.net/portfolio/ps"><img class="alignleft size-thumbnail wp-image-356" title="Paulo Segatto" src="http://usestrict.net/wp-content/uploads/2009/04/portfolio_paulosegatto-150x150.png" alt="Paulo Segatto" width="150" height="150" /></a></p>
<p>Paulo Segatto is a jewelery designer and makes fantastic things. We built his first site having a gallery amongst other sections. The initial page shows a random piece each time it's loaded.</p>
<p>You can also choose which language to see it in.<br />
<code><br />
</code><br />
<code><br />
</code><br />
<code><br />
</code><br />
<code><br />
</code></p>
<hr />
<h3>Armazém dos Sonhos</h3>
<p><a href="http://usestrict.net/portfolio/armazem"><img class="alignleft size-thumbnail wp-image-361" title="Armazém dos Sonhos" src="http://usestrict.net/wp-content/uploads/2009/04/portfolio_armazemdossonhos-150x150.png" alt="Armazém dos Sonhos" width="150" height="150" /></a><br />
Armazém dos Sonhos  Alimentos (Dreams Warehouse Foods) is a factory of natural products and a coffee shop located in Osório/RS/Brazil. This is a draft of their site.</p>
<p>Maria Alves signs the design.</p>
<p>Click on the image to see the draft. The link opens in another window/tab.<br />
<code><br />
</code><br />
<code><br />
</code><br />
<code><br />
</code><br />
<code><br />
</code></p>
<hr />
<h3>Intranets and Extranets</h3>
<p>Throughout the years I also developed some internal management systems with or without connection to external sites. For example:</p>
<p><a href="http://www.acrefi.org.br/" target="_blank"><strong>Acrefi</strong></a> -<br />
Address book and labeling management system. Acrefi had an excel file with over 5000 associates' addresses, some duplicated, and many with different formats. My work was to migrate all these addresses to a MySQL database (I did it using Perl to massage the addresses and perform the insertion), and build a system where they could: a) manipulate the existing addresses; b) add new ones individually; c) remove addresses; d) browse the addresses without having a MySQL client; and most importantly, e) print addressing labels.</p>
<p><a href="http://www.foreignaffairs.com.br/" target="_blank"><strong>Foreign Affairs Cursos de Idiomas</strong></a> - Student tuition control system. I managed the São Paulo office of FA for 3 years. During this time, I developed a system to control the tuition of the students using PHP and MySQL. It was at that time that I also developed a <strong>Student Central</strong> - a system where the students could follow up on their grandes, frequency, teacher comments, etc. When I have some time I'll place a copy of the Student Central here.</p>
<p><a href="http://www.sashaxaman.com.br/html/cursos.php"><strong>Sasha Shaman </strong></a>- I built Sasha's site sometime around 2002, but what I liked most in her site was that she could manage the content of the courses site herself. That was even before Blogs became a hit (or even existed?).</p>
]]></content:encoded>
			<wfw:commentRss>http://usestrict.net/about-2/portfolio-english/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Portfolio (Português)</title>
		<link>http://usestrict.net/about-2/portfolio-portugues/</link>
		<comments>http://usestrict.net/about-2/portfolio-portugues/#comments</comments>
		<pubDate>Sat, 04 Apr 2009 18:22:54 +0000</pubDate>
		<dc:creator>Vinny</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://usestrict.net/?page_id=328</guid>
		<description><![CDATA[Trabalho com Desenvolvimento Web desde 1998, focando principalmente páginas dinâmicas em Perl, PHP e MySQL. Nos últimos anos eu comecei a melhorar minha utilização de CSS e divs,  bem como tecnologias "client side" como  Javascript, culminando em técnicas de Ajax. O design fica a cargo de Maria Couto, que desenvolve a parte visual em conjunto [...]]]></description>
			<content:encoded><![CDATA[<p><!--noadsense-->Trabalho com Desenvolvimento Web desde 1998, focando principalmente páginas dinâmicas em Perl, PHP e MySQL. Nos últimos anos eu comecei a melhorar minha utilização de CSS e divs,  bem como tecnologias "client side" como  Javascript, culminando em técnicas de Ajax.</p>
<p>O design fica a cargo de Maria Couto, que desenvolve a parte visual em conjunto com os clientes.</p>
<p>Além de websites, também desenvolvemos sistemas de intranet e extranet.</p>
<p>Veja abaixo alguns dos nossos projetos.</p>
<hr />
<h3>myWebChat</h3>
<p><a href="http://mywebchat.usestrict.net"><img class="size-thumbnail wp-image-332 alignleft" title="MyWebChat" src="http://usestrict.net/wp-content/uploads/2009/04/portfolio_mywebchat-150x150.png" alt="MyWebChat" width="135" height="135" /></a></p>
<p>O myWebChat é a primeira versão de um sistema de chat online onde os visitantes de um determinado site podem conversar entre si. A tecnologia usada para o sistema foi Ajax com PHP e MySQL (mas o usuário não precisa de nada disso em seu site - basta colocar um pedaço de código na página em que quiser ter a janela do chat).</p>
<p>O design do site está simples nesta primeira versão pois a intenção foi de ver se o sistema de chat atrairia o público. No entanto,  o site (e o chat) é multi-idiomas e reconhece a preferência de idioma do navegador automaticamente, bem como fornece links para Inglês e Português brasileiro. Os formulários de cadastro de usuários também usam Ajax.<br />
<code><br />
</code><br />
<code><br />
</code></p>
<hr />
<h3>AnimaMundi Dances</h3>
<p><a href="http://www.animamundidances.com"><img class="size-thumbnail wp-image-338 alignleft" title="AnimaMundi Dances" src="http://usestrict.net/wp-content/uploads/2009/04/portfolio_animamundidances-150x150.png" alt="AnimaMundi Dances" width="150" height="150" /></a></p>
<p>Site da Maria Couto sobre seu trabalho com Danças Sagradas. Design de autoria dela mesma, mantém a estrutura visual por todas as páginas. Textos maiores são inseridos via DIVs com scrolling.</p>
<p>Este site é multi-idiomas, reconhecendo a preferência do navegador ou via links. São opções: Português brasileiro, Inglês e Francês.</p>
<p>Clique na imagem para ver o site. O link abre em outra janela.<br />
<code><br />
</code><br />
<code><br />
</code><br />
<code><br />
</code></p>
<hr />
<h3>Paulo Segatto</h3>
<p><a href="http://usestrict.net/portfolio/ps"><img class="alignleft size-thumbnail wp-image-356" title="Paulo Segatto" src="http://usestrict.net/wp-content/uploads/2009/04/portfolio_paulosegatto-150x150.png" alt="Paulo Segatto" width="150" height="150" /></a></p>
<p>Paulo Segatto é um designer de joias e faz coisas fantásticas. Fizemos o primeiro site deles com direito a uma galeria com mais de 30 fotos. A página inicial mostra uma peça aleatórea cada vez que é carregada.</p>
<p>Também é possível escolher o idioma do site.<br />
<code><br />
</code><br />
<code><br />
</code><br />
<code><br />
</code><br />
<code><br />
</code></p>
<hr />
<h3>Armazém dos Sonhos</h3>
<p><a href="http://usestrict.net/portfolio/armazem"><img class="alignleft size-thumbnail wp-image-361" title="Armazém dos Sonhos" src="http://usestrict.net/wp-content/uploads/2009/04/portfolio_armazemdossonhos-150x150.png" alt="Armazém dos Sonhos" width="150" height="150" /></a>Armazém dos Sonhos  Alimentos é uma fábrica de produtos naturais e cafeteria localizado em Osório/RS. Este é um esboço do site deles.</p>
<p>O design é de Maria Couto.</p>
<p>Clique na imagem para ver o esboço. O link abre em outra janela.<br />
<code><br />
</code><br />
<code><br />
</code><br />
<code><br />
</code><br />
<code><br />
</code></p>
<hr />
<h3>Intranets e Extranets</h3>
<p>No decorrer dos anos também desenvolvi alguns sistemas de gerenciamento interno com ou sem ligação com os sites externos. Por exemplo:</p>
<p><a href="http://www.acrefi.org.br/" target="_blank"><strong>Acrefi</strong></a> - Sistema de gerenciamento de cadastro e geração de etiquetas de endereçamento. A Acrefi tinha um arquivo excel com mais de 5000 endereços de associados, alguns duplicados, muitos com formatos diferentes. Meu trabalho foi migrar todos esses endereços para uma base MySQL (fiz usando Perl para tratar os endereços e fazer a inserção), e fazer um sistema onde eles pudessem a) manipular os endereços existentes; b) adicionar novos individualmente; c) remover endereços; d) fazer buscas na base sem ter um cliente MySQL; e mais importante e) imprimir etiquetas de endereçamento.</p>
<p><a href="http://www.foreignaffairs.com.br/" target="_blank"><strong>Foreign Affairs Cursos de Idiomas</strong></a> - Sistema de controle de pagamentos de alunos. Gerenciei o escritório de São Paulo da FA durante 3 anos. Nesse meio tempo, desenvolvi em PHP e MySQL um sistema para controlar o pagamento de mensalidade dos alunos. Foi nessa época também que desenvolvi uma <strong>Central do Aluno</strong> - sistema onde os alunos pudessem acompanhar suas notas, freqüência, etc. Tendo tempo vou colocar uma cópia dummy da Central aqui.</p>
<p><a href="http://www.sashaxaman.com.br/html/cursos.php"><strong>Sasha Shaman </strong></a>- Fiz o site da Sasha em meados de 2002, mas o que mais gostei no site dela foi a capacidade de ela mesma gerenciar o conteúdo da página de cursos. Isso antes mesmo de os Blogs ficarem famosos (ou existirem??).</p>
]]></content:encoded>
			<wfw:commentRss>http://usestrict.net/about-2/portfolio-portugues/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Terreno à Venda / Land for sale</title>
		<link>http://usestrict.net/2009/03/16/terreno-a-venda-land-for-sale/</link>
		<comments>http://usestrict.net/2009/03/16/terreno-a-venda-land-for-sale/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 02:11:43 +0000</pubDate>
		<dc:creator>Vinny</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[lote]]></category>
		<category><![CDATA[Minas Gerais]]></category>
		<category><![CDATA[terreno]]></category>
		<category><![CDATA[venda]]></category>

		<guid isPermaLink="false">http://usestrict.net/?p=291</guid>
		<description><![CDATA[Português Pessoal, estamos querendo vender nosso terreno em Itabirito/MG. O lugar é em um condomínio fechado, lindo e pertinho de BH. Mais informações no nosso hotsite: http://www.idiomasviaskype.com/itabirito English Folks, if you are in Brazil or thinking about moving over, we are selling a piece of land in the town of Itabirito near Belo Horizonte, the [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Português</strong></p>
<p>Pessoal,  estamos querendo vender nosso terreno em Itabirito/MG. O lugar é em um condomínio fechado,  lindo e pertinho de BH. Mais informações no nosso hotsite: <a href="http://www.idiomasviaskype.com/itabirito" target="_blank">http://www.idiomasviaskype.com/itabirito<br />
</a></p>
<p><strong>English</strong></p>
<p>Folks,  if you are in Brazil or thinking about moving over, we are selling a piece of land in the town of Itabirito near Belo Horizonte, the capital city of Minas Gerais state. It's a beautiful place. For more information, send me an email or ping me here on my blog.</p>
]]></content:encoded>
			<wfw:commentRss>http://usestrict.net/2009/03/16/terreno-a-venda-land-for-sale/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DBD::Oracle + Cygwin: Undefined reference error during make</title>
		<link>http://usestrict.net/2009/01/07/dbdoracle-cygwin-error-during-make/</link>
		<comments>http://usestrict.net/2009/01/07/dbdoracle-cygwin-error-during-make/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 20:57:14 +0000</pubDate>
		<dc:creator>Vinny</dc:creator>
				<category><![CDATA[Cygwin]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[dbd::oracle]]></category>
		<category><![CDATA[dbi]]></category>
		<category><![CDATA[_OCILobGetChunkSize]]></category>
		<category><![CDATA[_OCINlsCharSetIdToName]]></category>

		<guid isPermaLink="false">http://usestrict.net/?p=138</guid>
		<description><![CDATA[Yesterday I found myself in a position of having to re-master my computer - hence having to reinstall most of the applications including my trusty Cygwin - which always becomes somewhat of a headache when I reach the point of installing DBD::Oracle in it. This time I got a undefined symbol error. A quick look [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I found myself in a position of having to re-master my computer - hence having to reinstall most of the applications including my trusty Cygwin - which always becomes somewhat of a headache when I reach the point of installing DBD::Oracle in it.</p>
<p>This time I got a undefined symbol error. A quick look in <a href="http://www.nntp.perl.org/group/perl.dbi.users/2008/09/msg33238.html" target="_blank">Google</a> showed me that Erik Squires had the same exact problem. Lots of searching later, I find that Google can't find a handy solution anywhere... So I send Erik an email asking about the solution and to my surprise, he answers only 1 (!!)  minute after I click send. Talk about a fast reply!!</p>
<p>Hats off to Erik! You will find the solution here: <a href="http://cpae.typepad.com/capacity_planning_and_eng/" target="_blank" class="broken_link">http://cpae.typepad.com/capacity_planning_and_eng/</a></p>
<p><strong>Hint:</strong> the <em>oci.def</em> that he mentions in his post is inside your DBD::Oracle build directory. Don't get it confused with ocidef.h file in your $ORACLE_HOME/oci/include directory (that's where I looked first).</p>
<p>I'm adding the error message below with a big SOLUTION header for any Googler out there having the same problem. No need to keep reading if the text above was enough to solve your problem.</p>
<p><span id="more-138"></span></p>
<p>Oracle 10g + DBD::Oracle + Cygwin issue</p>
<p>Make error:</p>
<p>--------------------------------------------------------------</p>
<pre>cp Oracle.pm blib/lib/DBD/Oracle.pm
cp oraperl.ph blib/lib/oraperl.ph
cp dbdimp.h blib/arch/auto/DBD/Oracle/dbdimp.h
cp ocitrace.h blib/arch/auto/DBD/Oracle/ocitrace.h
cp Oraperl.pm blib/lib/Oraperl.pm
cp Oracle.h blib/arch/auto/DBD/Oracle/Oracle.h
cp lib/DBD/Oracle/GetInfo.pm blib/lib/DBD/Oracle/GetInfo.pm
cp mk.pm blib/arch/auto/DBD/Oracle/mk.pm
/usr/bin/perl.exe -p -e "s/~DRIVER~/Oracle/g" /usr/lib/perl5/site_perl/
5.10/i686
-cygwin/auto/DBI/Driver.xst &gt; Oracle.xsi
/usr/bin/perl.exe /usr/lib/perl5/5.10/ExtUtils/xsubpp  -typemap /usr/
lib/perl5/5
.10/ExtUtils/typemap -typemap typemap  Oracle.xs &gt; Oracle.xsc &amp;&amp; mv
Oracle.xsc O
racle.c
gcc -c  -IC:/oracle/product/10.2.0/client_1/oci/include -IC:/oracle/
product/10.2
.0/client_1/rdbms/demo -I/usr/lib/perl5/site_perl/5.10/i686-cygwin/
auto/DBI -DPE
RL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -fno-strict-aliasing -pipe -I/usr/
local/inc
lude -DUSEIMPORTLIB -O3   -DVERSION=\"1.22\" -DXS_VERSION=\"1.22\"  "-
I/usr/lib/
perl5/5.10/i686-cygwin/CORE"  -Wall -Wno-comment -DUTF8_SUPPORT -
DNEW_OCI_INIT -
DORA_OCI_VERSION=\"10.2.0.1\" Oracle.c
gcc -c  -IC:/oracle/product/10.2.0/client_1/oci/include -IC:/oracle/
product/10.2
.0/client_1/rdbms/demo -I/usr/lib/perl5/site_perl/5.10/i686-cygwin/
auto/DBI -DPE
RL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -fno-strict-aliasing -pipe -I/usr/
local/inc
lude -DUSEIMPORTLIB -O3   -DVERSION=\"1.22\" -DXS_VERSION=\"1.22\"  "-
I/usr/lib/
perl5/5.10/i686-cygwin/CORE"  -Wall -Wno-comment -DUTF8_SUPPORT -
DNEW_OCI_INIT -
DORA_OCI_VERSION=\"10.2.0.1\" dbdimp.c
dbdimp.c: In function `ora_db_login6':
dbdimp.c:450: warning: cast to pointer from integer of different size

{ A bunch more cast and int format warnings from oci8.c}

rm -f blib/arch/auto/DBD/Oracle/Oracle.dll
LD_RUN_PATH="C:/oracle/product/10.2.0/client_1/lib:C:/oracle/product/
10.2.0/clie
nt_1/rdbms/lib" g++  --shared  -Wl,--enable-auto-import -Wl,--export-
all-symbols
 -Wl,--stack,8388608 -Wl,--enable-auto-image-base -L/usr/local/lib
Oracle.o dbdi
mp.o oci8.o  -o blib/arch/auto/DBD/Oracle/Oracle.dll    \
          /usr/lib/perl5/5.10/i686-cygwin/CORE/libperl.dll.a -L/
cygdrive/c/cpan/
5.10.0/build/DBD-Oracle-1.22 -loci      \

Oracle.o:Oracle.c:(.text+0x6ba9): undefined reference to
`_OCILobGetChunkSize'
dbdimp.o:dbdimp.c:(.text+0x10e3): undefined reference to
`_OCINlsCharSetIdToName
'
dbdimp.o:dbdimp.c:(.text+0x110f): undefined reference to
`_OCINlsCharSetIdToName
'
collect2: ld returned 1 exit status
make: *** [blib/arch/auto/DBD/Oracle/Oracle.dll] Error 1</pre>
<p>---------------------------------------------------------------</p>
<p><center><script type="text/javascript"><!--
google_ad_client = "pub-3864472231411838";
google_ui_features = "rc:0";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_color_border = "{{color-border}}";
google_color_bg = "{{color-bg}}";
google_color_link = "{{color-title}}";
google_color_text = "{{color-text}}";
google_color_url = "{{color-link}}";

//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</center></p>
<p><strong>!!! HERE IS THE SOLUTION !!!</strong></p>
<p><strong>Taken from <a href="http://cpae.typepad.com/capacity_planning_and_eng/ " target="_blank" class="broken_link">http://cpae.typepad.com/capacity_planning_and_eng/ </a></strong></p>
<p><strong>Thanks to Erik Squires!</strong></p>
<p>[Quote]</p>
<p><span style="font-size: 17px; font-family: Trebuchet MS;"><span id=":i7" class="VrHWId">undefined reference to `_OCILobGetChunkSize' </span></span></p>
<p>Several people helped me with a fix, but this text below is thanks to Jerry Reed.  Thanks Jerry!</p>
<p>Please note this problem ONLY occurs under Windows.  If you are running Perl under Unix/Linux/MacOS you should be fine.</p>
<p>Jerry Wrote:</p>
<p>The make of DBD Oracle builds an intermediate lib, liboci.a.  Functions defined in this lib are somehow culled from the appropriate cygwin distro dll by the line that reads:</p>
<p>system("dlltool --input-def oci.def --output-lib liboci.a") at line 235 in Makefile.PL.</p>
<p>But oci.def lacks entries for the two undefined symbols -<br />
_OCILobGetChunkSize</p>
<p>and</p>
<p>_OCINlsCharSetIdToName</p>
<p>(the later is named twice in the linker output).</p>
<p>Strip the leading underscore and insert them into a copy of oci.def. (I inserted them in alpha order, but I do not know if this is really required.)</p>
<p>rm, or use make clean to remove liboci.a and cause it to be rebuilt.</p>
<p>perl Makefile.PL<br />
make</p>
<p>You should get no unresolved symbols now.  You can check that liboci.a now contains the correct entries by:</p>
<p>nm liboci.a | egrep -i '(chunk|nls)'</p>
<p>[/Quote]</p>
<p><center><script type="text/javascript"><!--
google_ad_client = "pub-3864472231411838";
google_ui_features = "rc:0";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_color_border = "{{color-border}}";
google_color_bg = "{{color-bg}}";
google_color_link = "{{color-title}}";
google_color_text = "{{color-text}}";
google_color_url = "{{color-link}}";

//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</center></p>
]]></content:encoded>
			<wfw:commentRss>http://usestrict.net/2009/01/07/dbdoracle-cygwin-error-during-make/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
