<?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>Tinsology &#187; Programming</title> <atom:link href="http://tinsology.net/category/programming/feed/" rel="self" type="application/rss+xml" /><link>http://tinsology.net</link> <description>Searching for the Right Questions</description> <lastBuildDate>Wed, 25 Jan 2012 16:57:44 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.2</generator> <item><title>Google is translating my code!</title><link>http://tinsology.net/2011/04/google-is-translating-my-code/</link> <comments>http://tinsology.net/2011/04/google-is-translating-my-code/#comments</comments> <pubDate>Thu, 28 Apr 2011 01:55:26 +0000</pubDate> <dc:creator>Tinsley</dc:creator> <category><![CDATA[Programming]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[google]]></category> <category><![CDATA[translate]]></category> <guid
isPermaLink="false">http://tinsology.net/?p=1493</guid> <description><![CDATA[Recently I added the &#8216;Google Translate&#8217; widget to my sidebar. After some testing I noticed something problematic: All of the code snippets in my posts were also being translated. Unfortunately the PHP interpreter does not speak Spanish (it&#8217;s not that &#8230; <a
href="http://tinsology.net/2011/04/google-is-translating-my-code/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <wfw:commentRss>http://tinsology.net/2011/04/google-is-translating-my-code/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>NoSQL</title><link>http://tinsology.net/2011/01/nosql/</link> <comments>http://tinsology.net/2011/01/nosql/#comments</comments> <pubDate>Thu, 20 Jan 2011 00:13:22 +0000</pubDate> <dc:creator>Tinsley</dc:creator> <category><![CDATA[Databases]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[neo4j]]></category> <category><![CDATA[NoSQL]]></category> <guid
isPermaLink="false">http://tinsology.net/?p=1349</guid> <description><![CDATA[Recently I've been working with a non-relational, graph DBMS called <a
href="http://neo4j.org/">Neo4j</a>. I've really only scratched the surface and it might just be a the temporary euphoria of working with something so new, but it feels liberating to be able to approach problems in a new way. It might also be that for the first time in a long time I'm working in Java. At this point I've written far <a
href="http://tinsology.net/2011/01/nosql/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <wfw:commentRss>http://tinsology.net/2011/01/nosql/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Is SHA1 Still Viable?</title><link>http://tinsology.net/2010/12/is-sha1-still-viable/</link> <comments>http://tinsology.net/2010/12/is-sha1-still-viable/#comments</comments> <pubDate>Thu, 23 Dec 2010 13:09:25 +0000</pubDate> <dc:creator>Tinsley</dc:creator> <category><![CDATA[My Thoughts and Rants]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[Science]]></category> <category><![CDATA[Tech News]]></category> <category><![CDATA[algorithm]]></category> <category><![CDATA[hash]]></category> <category><![CDATA[passwords]]></category> <category><![CDATA[security]]></category> <category><![CDATA[sha1]]></category> <guid
isPermaLink="false">http://tinsology.net/?p=1279</guid> <description><![CDATA[Lately whenever I see discussion regarding SHA1 in the context of password hashing or user management it usually involves someone claiming that SHA1 has been 'cracked' or is otherwise not viable as a hashing algorithm. I think there is some degree of truth to these claims. In spite of this however, I think that many of these conclusions are based on a misinterpretation of the evidence.
Before I explain <a
href="http://tinsology.net/2010/12/is-sha1-still-viable/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <wfw:commentRss>http://tinsology.net/2010/12/is-sha1-still-viable/feed/</wfw:commentRss> <slash:comments>10</slash:comments> </item> <item><title>Fetching Remote Content in PHP</title><link>http://tinsology.net/2010/12/fetching-remote-content-in-php/</link> <comments>http://tinsology.net/2010/12/fetching-remote-content-in-php/#comments</comments> <pubDate>Tue, 21 Dec 2010 14:08:43 +0000</pubDate> <dc:creator>Tinsley</dc:creator> <category><![CDATA[PHP]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[curl]]></category> <category><![CDATA[fopen]]></category> <category><![CDATA[fsockopen]]></category> <category><![CDATA[remote]]></category> <category><![CDATA[url]]></category> <guid
isPermaLink="false">http://tinsology.net/?p=1283</guid> <description><![CDATA[Reading in remote content with PHP can be an incredibly simple task:
<code> $url = 'http://example.com/foo.php?bar=1';
$remote_content = file_get_contents($url); </code> One problem with the above solution is that it requires allow_url_fopen to be enabled in your php.ini. If you're writing a portable application that depends on being able to fetch remote content you probably don't want to tell your users to modify their php.ini. Doing so would mean turning away users who don't have access to their php.ini (as is the case with some shared hosts). Ideally you would want a solution that offers some redundancy. <a
href="http://tinsology.net/2010/12/fetching-remote-content-in-php/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <wfw:commentRss>http://tinsology.net/2010/12/fetching-remote-content-in-php/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Doing Things the Hard Way</title><link>http://tinsology.net/2010/08/doing-things-the-hard-way/</link> <comments>http://tinsology.net/2010/08/doing-things-the-hard-way/#comments</comments> <pubDate>Tue, 17 Aug 2010 09:09:39 +0000</pubDate> <dc:creator>Tinsley</dc:creator> <category><![CDATA[My Thoughts and Rants]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[Bugs]]></category> <category><![CDATA[Errors]]></category> <guid
isPermaLink="false">http://tinsology.net/?p=1179</guid> <description><![CDATA[Every now and then I discover something that makes me feel like I've been doing things the hard way. The feeling is an interesting combination of excitement and embarrassment. I experienced this today while browsing PHP documentation. I discovered two function that will make my life a lot easier in the future: <a
href="http://www.php.net/manual/en/function.debug-backtrace.php">debug_backtrace</a> and <a
href="http://www.php.net/manual/en/function.debug-print-backtrace.php">debug_print_backtrace</a>. As someone who has written his fair share of Java, I'm very accustomed <a
href="http://tinsology.net/2010/08/doing-things-the-hard-way/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <wfw:commentRss>http://tinsology.net/2010/08/doing-things-the-hard-way/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>PHP Overloading</title><link>http://tinsology.net/2010/04/php-polymorphism/</link> <comments>http://tinsology.net/2010/04/php-polymorphism/#comments</comments> <pubDate>Sat, 17 Apr 2010 02:33:34 +0000</pubDate> <dc:creator>Tinsley</dc:creator> <category><![CDATA[My Thoughts and Rants]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[overloading]]></category> <guid
isPermaLink="false">http://tinsology.net/?p=1099</guid> <description><![CDATA[The lack of function overloading is one of my biggest complaints about PHP. If you're not familiar with overloading, its a feature of some languages that allows you to defined multiple methods (or functions) with the same name, but taking different paramenters. In Java, for instance, methods are not identified solely by their name. Instead, functions are distinguished by their signature: their name, return type, number of parameters and their <a
href="http://tinsology.net/2010/04/php-polymorphism/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <wfw:commentRss>http://tinsology.net/2010/04/php-polymorphism/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Resurrecting a Laptop for Development</title><link>http://tinsology.net/2010/04/resurrecting-a-laptop-for-development/</link> <comments>http://tinsology.net/2010/04/resurrecting-a-laptop-for-development/#comments</comments> <pubDate>Sat, 03 Apr 2010 05:04:10 +0000</pubDate> <dc:creator>Tinsley</dc:creator> <category><![CDATA[About Me]]></category> <category><![CDATA[My Thoughts and Rants]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[Website/Server Administration]]></category> <category><![CDATA[laptop]]></category> <category><![CDATA[linux]]></category> <guid
isPermaLink="false">http://tinsology.net/?p=1077</guid> <description><![CDATA[I have an old single core laptop that doesn't get a whole lot of use anymore, partially because it is dated (purchased in 2006) and partially I've never really adapted to using a laptop as a general purpose computer. Increasingly, however, I find myself in need of a laptop either when I want to get some work done when I'm away from home, or when I need to take my <a
href="http://tinsology.net/2010/04/resurrecting-a-laptop-for-development/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <wfw:commentRss>http://tinsology.net/2010/04/resurrecting-a-laptop-for-development/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Hello World Nightmare</title><link>http://tinsology.net/2010/02/hello-world-nightmare/</link> <comments>http://tinsology.net/2010/02/hello-world-nightmare/#comments</comments> <pubDate>Fri, 26 Feb 2010 02:27:03 +0000</pubDate> <dc:creator>Tinsley</dc:creator> <category><![CDATA[My Thoughts and Rants]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[Hello World]]></category> <category><![CDATA[Java]]></category> <guid
isPermaLink="false">http://tinsology.net/?p=1041</guid> <description><![CDATA[Traditionally, when someone is introduced to programming, the first block of code they write is the infamous "Hello World" program. Unless you're dealing with some esoteric language this program usually consists of just a few or even a single line. There is one popular language out there where, in comparison, Hello World is a monster: Java. If you're a Java coder you may not see it, especially if Java wasn't your first language. Try to look at it from the perspective of a first timer: <a
href="http://tinsology.net/2010/02/hello-world-nightmare/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <wfw:commentRss>http://tinsology.net/2010/02/hello-world-nightmare/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>RosettaCodex</title><link>http://tinsology.net/2010/02/rosettacodex/</link> <comments>http://tinsology.net/2010/02/rosettacodex/#comments</comments> <pubDate>Sat, 20 Feb 2010 23:56:38 +0000</pubDate> <dc:creator>Tinsley</dc:creator> <category><![CDATA[Programming]]></category> <category><![CDATA[rosettacodex]]></category> <guid
isPermaLink="false">http://tinsology.net/?p=1033</guid> <description><![CDATA[As someone who is already experienced with a few programming languages, learning new languages, frameworks, and platforms is a much different process from someone who has no background in programming. Obviously having written a ton of code make learning how to write different code much easier. Much of the documentation out there however does not seem to take advantage of this fact. Documentation for someone who is completely new to <a
href="http://tinsology.net/2010/02/rosettacodex/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <wfw:commentRss>http://tinsology.net/2010/02/rosettacodex/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>A Supplement</title><link>http://tinsology.net/2009/12/a-supplement/</link> <comments>http://tinsology.net/2009/12/a-supplement/#comments</comments> <pubDate>Wed, 16 Dec 2009 07:20:16 +0000</pubDate> <dc:creator>Tinsley</dc:creator> <category><![CDATA[PHP]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[login]]></category> <category><![CDATA[security]]></category> <guid
isPermaLink="false">http://tinsology.net/?p=880</guid> <description><![CDATA[I've just added a section about session management to <a
href="http://tinsology.net/2009/06/creating-a-secure-login-system-the-right-way/">Creating a Secure Login System the Right Way</a>.
Check it out <a
href="http://tinsology.net/2009/12/a-supplement/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <wfw:commentRss>http://tinsology.net/2009/12/a-supplement/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Passing by Reference or Value</title><link>http://tinsology.net/2009/07/passing-by-reference-or-value/</link> <comments>http://tinsology.net/2009/07/passing-by-reference-or-value/#comments</comments> <pubDate>Sat, 18 Jul 2009 19:43:34 +0000</pubDate> <dc:creator>Tinsley</dc:creator> <category><![CDATA[Programming]]></category> <category><![CDATA[reference]]></category> <category><![CDATA[value]]></category> <guid
isPermaLink="false">http://tinsology.net/?p=807</guid> <description><![CDATA[Even if you are new to programming, you probably have an understanding of functions and their purpose. What may be less clear, however, is what is happening underneath the hood when you pass a value to a function. In some languages, such as Java, when you pass a value (such as an integer or a char, this only applies to primitive types) the function receives a copy of that value <a
href="http://tinsology.net/2009/07/passing-by-reference-or-value/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <wfw:commentRss>http://tinsology.net/2009/07/passing-by-reference-or-value/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Creating a Secure Login System the Right Way</title><link>http://tinsology.net/2009/06/creating-a-secure-login-system-the-right-way/</link> <comments>http://tinsology.net/2009/06/creating-a-secure-login-system-the-right-way/#comments</comments> <pubDate>Tue, 30 Jun 2009 06:03:13 +0000</pubDate> <dc:creator>Tinsley</dc:creator> <category><![CDATA[Databases]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[hash]]></category> <category><![CDATA[login]]></category> <category><![CDATA[passwords]]></category> <category><![CDATA[secure]]></category> <guid
isPermaLink="false">http://tinsology.net/?p=663</guid> <description><![CDATA[Making a custom login system is a common task for beginning PHP developers. Jumping right into it, however, may not be the best approach. There are several important aspects do building a login system that not only makes it work, but makes it safe. <a
href="http://tinsology.net/2009/06/creating-a-secure-login-system-the-right-way/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <wfw:commentRss>http://tinsology.net/2009/06/creating-a-secure-login-system-the-right-way/feed/</wfw:commentRss> <slash:comments>104</slash:comments> </item> <item><title>Scripting Vs. Programming</title><link>http://tinsology.net/2009/06/scripting-vs-programming/</link> <comments>http://tinsology.net/2009/06/scripting-vs-programming/#comments</comments> <pubDate>Wed, 24 Jun 2009 18:59:06 +0000</pubDate> <dc:creator>Tinsley</dc:creator> <category><![CDATA[Programming]]></category> <category><![CDATA[script]]></category> <guid
isPermaLink="false">http://tinsology.net/?p=761</guid> <description><![CDATA[Occasionally I'll see someone make a point of distinguishing coding in a particular language as scripting as opposed to programming. Often times the distinction is arbitrary. I've seen justifications for this distinction ranging from scripting languages not being as strict as programming languages, to scripting languages not being turing complete. Web languages in particular (HTML, javascript, PHP, etc) seem to have the stigma of being scripting languages. To this day <a
href="http://tinsology.net/2009/06/scripting-vs-programming/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <wfw:commentRss>http://tinsology.net/2009/06/scripting-vs-programming/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Client Side Vs. Server Side Code</title><link>http://tinsology.net/2009/06/client-side-vs-server-side-code/</link> <comments>http://tinsology.net/2009/06/client-side-vs-server-side-code/#comments</comments> <pubDate>Fri, 19 Jun 2009 19:11:31 +0000</pubDate> <dc:creator>Tinsley</dc:creator> <category><![CDATA[(X)HTML/CSS]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[PHP]]></category> <guid
isPermaLink="false">http://tinsology.net/?p=771</guid> <description><![CDATA[In my experience, one of the most common pitfalls for beginning programmers is not understanding the relationships between objects in their environment. This is especially the case in web development where there is in almost every case a blend between multiple client side and server side scripts. Failure to understand the the way browsers and servers communicate or the relationships between (X)HTML (or javascript or CSS etc) and PHP (insert alternative language here) will certainly lead to a poor or incorrect implementation. If you are an experienced programmer you probably won't gain much from reading this, but if you are a beginner, hopefully I can provide some insight that will save you a lot of trouble. <a
href="http://tinsology.net/2009/06/client-side-vs-server-side-code/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <wfw:commentRss>http://tinsology.net/2009/06/client-side-vs-server-side-code/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Bubble Sort is Never the Answer</title><link>http://tinsology.net/2009/06/bubble-sort-is-never-the-answer/</link> <comments>http://tinsology.net/2009/06/bubble-sort-is-never-the-answer/#comments</comments> <pubDate>Fri, 05 Jun 2009 18:59:48 +0000</pubDate> <dc:creator>Tinsley</dc:creator> <category><![CDATA[Programming]]></category> <category><![CDATA[bubble sort]]></category> <category><![CDATA[sort]]></category> <guid
isPermaLink="false">http://tinsology.net/?p=756</guid> <description><![CDATA[It is not too often in the real world that you have to implement your own sort. Generally, whatever language you are using has a library with this functionality built in. If the occasion does arise, however, it is important to understand which algorithms are applicable in which situations. As with most choices, there is no absolute correct answer; there are many trade offs to consider. When choosing an algorithm <a
href="http://tinsology.net/2009/06/bubble-sort-is-never-the-answer/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <wfw:commentRss>http://tinsology.net/2009/06/bubble-sort-is-never-the-answer/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> </channel> </rss>
