<?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>Joseph Piché &#187; languages</title>
	<atom:link href="http://jpiche.com/tags/languages/feed/" rel="self" type="application/rss+xml" />
	<link>http://jpiche.com</link>
	<description>Web development professional with expertise in PHP, MySQL query optimization, Ajax, and XHTML</description>
	<lastBuildDate>Tue, 20 Jul 2010 04:04:51 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>CSS is Not an Art</title>
		<link>http://jpiche.com/2009/12/css-is-not-an-art/</link>
		<comments>http://jpiche.com/2009/12/css-is-not-an-art/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 08:29:19 +0000</pubDate>
		<dc:creator>Joseph Piché</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[web-browsers]]></category>

		<guid isPermaLink="false">http://jpiche.com/?p=313</guid>
		<description><![CDATA[For some time I&#8217;ve been working with web frameworks. Finding a good web framework is not hard with PHP since so many exist already, but since I&#8217;ve fallen in love with Python I&#8217;ve discovered Django. Recently, I&#8217;ve been re-building this blog using Django (more on that to come later) and to my surprise, using a [...]]]></description>
			<content:encoded><![CDATA[<p>For some time I&#8217;ve been working with web frameworks. Finding a good web framework is not hard with PHP since so many exist already, but since I&#8217;ve fallen in love with Python I&#8217;ve discovered <a href="http://www.djangoproject.com/">Django</a>. Recently, I&#8217;ve been re-building this blog using Django (more on that to come later) and to my surprise, using a well-developed <a href="http://en.wikipedia.org/wiki/Model-view-controller"><acronym title="Model-view-controller">MVC</acronym></a> Framework with a thought-out database schema makes traditional development almost non-existent and lets me focus on theming.</p>
<p>Since my job is mainly PHP and MySQL development, I don&#8217;t do a lot of theming. I actually like coding CSS, but we have a design team for that. For this blog, it&#8217;s actually something I need to think about. I&#8217;ve done a lot of CSS coding, but recent events at work have left me frustrated with legacy code, thus sparking this post. So getting to the point: CSS is not an art. Cross-browser CSS is not something one intuitively picks up and starts playing with, it is a language, and to be successful at it you need to know what you are doing.</p>
<p>The key concept is the possibility of writing unsuccessful or <em>bad</em> CSS. The art is drawing up what the page is to look like&mdash;concept art, or as some call it &ldquo;mocking up&rdquo; a page. CSS is the tool used to get the page to actually look <em>and function</em> as intended, and in every browser. I believe a lot of amateur web developers do not realize the importance of understanding both the CSS specifications themselves and how each CSS command will affect each web browser.</p>
<p>To further my point, this week I&#8217;ve been working with more legacy code which has CSS sprinkled all over, and always as an afterthought. This itself is not necessarily bad, as sometimes the importance of getting something semi-functional (or to a state where your boss stops yelling at you) necessitates ignoring certain parts of the process. In this, Internet Explorer 7 was forgotten about and somehow hovering over a certain set of <code>&lt;span&gt;</code> tags makes large parts of the page shift a few pixels back and forth. In an extreme case, it would hinder someone from using the application and potentially cost the company money&mdash;again an unacceptable outcome.</p>
<p>Having been dealing with CSS for a number of years now, I feel like I&#8217;ve learned quite a bit about how each browser treats different CSS attributes, but new web technology is embraced at a quick pace, and I still find new awkward Internet Explorer rendering engine bugs on a consistent basis. But at the least, having an understanding of what CSS was built to do goes a long way.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpiche.com/2009/12/css-is-not-an-art/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>while, for, and foreach</title>
		<link>http://jpiche.com/2009/05/while-for-and-foreach/</link>
		<comments>http://jpiche.com/2009/05/while-for-and-foreach/#comments</comments>
		<pubDate>Tue, 05 May 2009 02:37:40 +0000</pubDate>
		<dc:creator>Joseph Piché</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[languages]]></category>

		<guid isPermaLink="false">http://blog.jpiche.com/?p=9</guid>
		<description><![CDATA[As a PHP programmer, I actually write code in many different languages. Many times in a single file I will have (X)HTML, CSS, Javascript, PHP, and SQL. Most of the time, I can keep this straight. Semi-often I forget to put a semi-colon at the end of a line (like when I do a bunch [...]]]></description>
			<content:encoded><![CDATA[<p>As a <acronym title="recursive acronym for PHP: Hypertext Preprocessor">PHP</acronym> programmer, I actually write code in many different languages. Many times in a single file I will have (X)HTML, CSS, Javascript, PHP, and SQL. Most of the time, I can keep this straight. Semi-often I forget to put a semi-colon at the end of a line (like when I do a bunch of <a href="http://python.org/">Python</a> programming the night before). But there are certain instances where I get tripped up all the time: <code>while</code>, <code>for</code>, and <code>foreach</code>.</p>
<p>Those three little words are very powerful, and are fundamental constructs of programming languages. I don&#8217;t know what I would do if I couldn&#8217;t iterate over an array. I also don&#8217;t know what to do with myself when I forget how each is used in the current language I&#8217;m writting in.</p>
<p>For example: If I&#8217;m writting in PHP, it&#8217;s <code>foreach ($array as $val =&gt; $key)</code>, in Python it&#8217;s <code>for $i in range(10):</code>, in Perl <code>for</code> and <code>foreach</code> are actually the same thing and can be used interchangably (I did a bunch of Perl stuff while at my last job), and I&#8217;m pretty sure JavaScript doesn&#8217;t have an object iterator construct&mdash;probably because JavaScript implements objects in the most terrible way.</p>
<p>What about <code>while</code>s? They are just strange. I never know when I can use <code>do</code> or when the truth statement is processed. Plus, sometimes the thought of an infinite loop scares me a little. Of course in Perl 6, you can form a lazy infinite loop out of a <code>for</code> statement.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpiche.com/2009/05/while-for-and-foreach/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>If it&#8217;s good enough for Google</title>
		<link>http://jpiche.com/2009/04/if-its-good-enough-for-google/</link>
		<comments>http://jpiche.com/2009/04/if-its-good-enough-for-google/#comments</comments>
		<pubDate>Thu, 16 Apr 2009 15:49:49 +0000</pubDate>
		<dc:creator>Joseph Piché</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://jpiche.com/?p=42</guid>
		<description><![CDATA[A few weeks ago, I realized that in order to expand my possibilities in the programming world, I need to master another language&#8212;one not built only for the web. PHP is a good language for the specific task of web programming, but its usefulness ends there. I do know that there are projects that aim [...]]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago, I realized that in order to expand my possibilities in the programming world, I need to master another language&mdash;one not built only for the web. PHP is a good language for the specific task of web programming, but its usefulness ends there. I do know that there are projects that aim to expand what PHP is capable of: <a href="http://gtk.php.net/">PHP-GTK</a>, <a href="http://pear.php.net/">PEAR</a>, <a href="http://pecl.php.net/">PELC</a>. But these can only do so much. I need a language that I can do cross-platform programming of desktop applications, yet be flexible and is already extensively used (so that it&#8217;s worth my time to learn it).</p>
<p>After assessing my options, I&#8217;ve concluded <a href="http://python.org/">Python</a> is the language I need to master. On top of fulfilling all my requirements, Google uses it, and if it&#8217;s good enough for Google to use for applications that millions of people rely on every day, then it&#8217;s good enough for me. Besides that, it makes a great calculator in Windows.</p>
<p>I&#8217;ve looked at Python before, and it didn&#8217;t look too amazing. But now that I live in a different world and have a new perspective, Python is awesome. Some people frown on the forced indentation, lack of end-line symbols, and non-dollar-sign-prepended variables. After writing a few &#8220;hello world&#8221; programs, I believe these are not failures but perks. If you are among a team of people writing a massive application, these qualities might keep you on this side of sanity. However, the &#8220;batteries-included&#8221; philosophy of Python and its hyper-extendability really push it over the top.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpiche.com/2009/04/if-its-good-enough-for-google/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
