<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Aaron Rosenfeld</title>
	
	<link>http://aaron-rosenfeld.com</link>
	<description>Web Development, programming, mathematics, and other ramblings.</description>
	<pubDate>Mon, 26 Oct 2009 01:37:49 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/AaronRosenfeld" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>phpWatch 2.0 Development</title>
		<link>http://feedproxy.google.com/~r/AaronRosenfeld/~3/hYZuu9AxueM/</link>
		<comments>http://aaron-rosenfeld.com/2009/05/11/phpwatch-20-development/#comments</comments>
		<pubDate>Mon, 11 May 2009 16:00:17 +0000</pubDate>
		<dc:creator>Aaron Rosenfeld</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://aaron-rosenfeld.com/?p=149</guid>
		<description><![CDATA[phpWatch has become a much greater success than I anticipated.  Going by the hits to the version-check file, there are about 600 active users on a day to day basis.  I get a few e-mails per week with suggestions and criticism that has been invaluable in the development of phpWatch.  After aggregating a list of [...]]]></description>
			<content:encoded><![CDATA[<p>phpWatch has become a much greater success than I anticipated.  Going by the hits to the version-check file, there are about 600 active users on a day to day basis.  I get a few e-mails per week with suggestions and criticism that has been invaluable in the development of phpWatch.  After aggregating a list of possible features and changes for version 1.0.9, I&#8217;ve decided to re-write the system from the ground up as version 2.0.</p>
<p>The list of a few features you can expect in 2.0:</p>
<ol>
<li><strong>Redesigned Frontend:</strong> The frontend has been completely re-written for W3C validation and visual appeal.  This portion of the project is almost complete and I&#8217;ll have some screenshots up soon.</li>
<li><strong>Smarty: </strong>The <a href="http://smarty.net/" target="_blank">Smarty</a> template engine will be used to separate implementation from presentation rather than mixing HTML and PHP.</li>
<li><strong>JavaScript Rewrite: </strong>The JavaScript used in current versions of phpWatch is scattered throughout multiple pages and does not follow any specific convention.  2.0 will feature re-written, organized JavaScript relying on <a href="http://jquery.com" target="_blank">jQuery</a> for all functionality including Ajax requests.</li>
<li><strong>Statistics: </strong>One of the most requested features from users is the ability to plot and analyze uptime information.  2.0 will feature extensive use of <a href="http://pchart.sourceforge.net" target="_blank">pChart</a> to graph different user-defined uptime metrics.</li>
<li><strong>Backend: </strong>The backend of phpWatch 2.0 will be significantly more organized than current versions.  Additionally, all server-specific PHP syntax (i.e. short tags) have been standardized to the PHP default configuration to decrease the number of errors reported.</li>
<li><strong>SMS Integration: </strong>I have re-worked the SMS system based on my php|architect article to provide additional functionality such as user-specified gateways.  Additionally, the formatting of SMS and E-mail messages will be much easier to edit than they are in current versions.</li>
<li><strong>New DBAL: </strong>I&#8217;m planning on using <a href="http://adodb.sourceforge.net/" target="_blank">ADOdb</a> for 2.0 rather than the existing Database class.  This should make pages load faster as well as make code more readable.</li>
</ol>
<p>At the moment I don&#8217;t have a release date but I&#8217;ll be sure to post any major milestones.</p>
<p>Also, I&#8217;m still looking for more suggestions and feature requests from existing and prospective users.  If you have ideas, please let me know either by commenting here or by sending an e-mail to <em>aaron [at] aaron-rosenfeld.com</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://aaron-rosenfeld.com/2009/05/11/phpwatch-20-development/feed/</wfw:commentRss>
		<feedburner:origLink>http://aaron-rosenfeld.com/2009/05/11/phpwatch-20-development/</feedburner:origLink></item>
		<item>
		<title>phpWatch v1.0.8 Beta Released</title>
		<link>http://feedproxy.google.com/~r/AaronRosenfeld/~3/yc4OaYTOA_Y/</link>
		<comments>http://aaron-rosenfeld.com/2009/04/07/phpwatch-v108-beta-released/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 13:24:49 +0000</pubDate>
		<dc:creator>Aaron Rosenfeld</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://aaron-rosenfeld.com/?p=144</guid>
		<description><![CDATA[Version 1.0.8 of phpWatch has been released.  This is an urgent release for anyone using v1.0.5 to v1.0.7 as these have an error which does not let them dispatch SMS messages.  You can find the download here:
phpWatch v1.0.8 Beta - 56kb
]]></description>
			<content:encoded><![CDATA[<p>Version 1.0.8 of phpWatch has been released.  This is an urgent release for anyone using v1.0.5 to v1.0.7 as these have an error which does not let them dispatch SMS messages.  You can find the download here:</p>
<p><a href="http://aaron-rosenfeld.com/wp-content/plugins/download-monitor/download.php?id=4" title="Version 1.0.8 Beta downloaded 1764 times" >phpWatch v1.0.8 Beta</a> - 56kb</p>
]]></content:encoded>
			<wfw:commentRss>http://aaron-rosenfeld.com/2009/04/07/phpwatch-v108-beta-released/feed/</wfw:commentRss>
		<feedburner:origLink>http://aaron-rosenfeld.com/2009/04/07/phpwatch-v108-beta-released/</feedburner:origLink></item>
		<item>
		<title>php|architect Article Now Available</title>
		<link>http://feedproxy.google.com/~r/AaronRosenfeld/~3/GubGwh1YwcE/</link>
		<comments>http://aaron-rosenfeld.com/2009/03/03/phparticle-article-now-available/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 14:46:18 +0000</pubDate>
		<dc:creator>Aaron Rosenfeld</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://aaron-rosenfeld.com/?p=133</guid>
		<description><![CDATA[The article I wrote and posted about here is now available to be read in full:
PHP Architect Article (PDF) (701.18 KB)
]]></description>
			<content:encoded><![CDATA[<p>The article I wrote and posted about <a href="http://aaron-rosenfeld.com/2008/09/29/php-sms/" target="_blank">here</a> is now available to be read in full:</p>
<p><code><a href="http://aaron-rosenfeld.com/wp-content/plugins/download-monitor/download.php?id=3" title="Downloaded 302 times" >PHP Architect Article (PDF) (701.18 KB)</a></code></p>
]]></content:encoded>
			<wfw:commentRss>http://aaron-rosenfeld.com/2009/03/03/phparticle-article-now-available/feed/</wfw:commentRss>
		<feedburner:origLink>http://aaron-rosenfeld.com/2009/03/03/phparticle-article-now-available/</feedburner:origLink></item>
		<item>
		<title>What Every Computer Scientist Should Know About Floating-Point Arithmetic</title>
		<link>http://feedproxy.google.com/~r/AaronRosenfeld/~3/SkrOguUaYI0/</link>
		<comments>http://aaron-rosenfeld.com/2008/11/19/floating-point-article/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 06:21:08 +0000</pubDate>
		<dc:creator>Aaron Rosenfeld</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://aaron-rosenfeld.com/?p=110</guid>
		<description><![CDATA[Floating point numbers always seem to confuse programmers, including myself, that haven&#8217;t fully looked into the IEEE standard that dictates how they are stored and manipulated in most modern languages.  My System Architecture professor recommended this article to out class to help us understand a portion of the MIPS architecture.
It is somewhat lengthy at 72 [...]]]></description>
			<content:encoded><![CDATA[<p>Floating point numbers always seem to confuse programmers, including myself, that haven&#8217;t fully looked into the IEEE standard that dictates how they are stored and manipulated in most modern languages.  My System Architecture professor recommended <a href="http://docs.sun.com/source/806-3568/ncg_goldberg.html" target="_blank">this article</a> to out class to help us understand a portion of the MIPS architecture.</p>
<p>It is somewhat lengthy at 72 pages, but I can honestly say it is one of the most informative papers I have ever read.  Literally <em>everything</em> you have ever wanted to know about floating point standards is covered.  It covers everything from how the numbers are stored at the binary level all the way through how mathematical operations are performed on them.</p>
<p>Really, it&#8217;s worth reading.  Even if you don&#8217;t read all of the mathematical proofs at the end, at least glance at the IEEE standard way of storing floating-point numbers and the section on accuracy.  I guarantee it will make the whole topic far easier to grasp.</p>
<p>Link to article: <a href="http://docs.sun.com/source/806-3568/ncg_goldberg.html" target="_blank">http://docs.sun.com/source/806-3568/ncg_goldberg.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://aaron-rosenfeld.com/2008/11/19/floating-point-article/feed/</wfw:commentRss>
		<feedburner:origLink>http://aaron-rosenfeld.com/2008/11/19/floating-point-article/</feedburner:origLink></item>
		<item>
		<title>PHP/SMS Article Published In php|architect</title>
		<link>http://feedproxy.google.com/~r/AaronRosenfeld/~3/kZ7xG7AId78/</link>
		<comments>http://aaron-rosenfeld.com/2008/09/29/php-sms/#comments</comments>
		<pubDate>Mon, 29 Sep 2008 18:06:35 +0000</pubDate>
		<dc:creator>Aaron Rosenfeld</dc:creator>
		
		<category><![CDATA[Computer Science]]></category>

		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://aaron-rosenfeld.com/?p=43</guid>
		<description><![CDATA[Update: The php&#124;architect exclusivity period has passed and I can now post the full version of the article:
PHP Architect Article (PDF) (701.18 KB)
Over the past few months I have been developing a free method of sending and receiving SMS messages via PHP.  As I continued to add features and turn the method into a [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Update: The php|architect exclusivity period has passed and I can now post the full version of the article:</strong></p>
<p><code><a href="http://aaron-rosenfeld.com/wp-content/plugins/download-monitor/download.php?id=3" title="Downloaded 302 times" >PHP Architect Article (PDF) (701.18 KB)</a></code></p>
<p>Over the past few months I have been developing a free method of sending and receiving SMS messages via PHP.  As I continued to add features and turn the method into a library, I found more and more uses to connect my site to my phone.  I talked with a number of individuals about the process and they all seemed intrigued by the idea of not having to pay for 3rd party SMS-forwarders.</p>
<p>So, I decided to write an article about it with the hopes that it would benefit others.  php|architect was kind enough to support my writing and published the article in the <a href="http://www.phparch.com/c/magazine/issue/82" target="_blank">September issue</a>.  I&#8217;d like to thank Steph Fox for her ongoing help with both the technical and language aspects of the post.  This article would not have been possible without her excellent guidance.</p>
<p>For those of you looking for the classes referenced and explained in the article, they can both be downloaded below.  Note that the <strong>NotificationHandler</strong> class also includes logging functionality which was not covered in the article.</p>
<p><code><a href="http://aaron-rosenfeld.com/wp-content/plugins/download-monitor/download.php?id=1" title="Version 1.0.0 downloaded 526 times" >SMS Article Classes (1.51 KB)</a></code></p>
]]></content:encoded>
			<wfw:commentRss>http://aaron-rosenfeld.com/2008/09/29/php-sms/feed/</wfw:commentRss>
		<feedburner:origLink>http://aaron-rosenfeld.com/2008/09/29/php-sms/</feedburner:origLink></item>
		<item>
		<title>VPS Hosting Review - ServInt</title>
		<link>http://feedproxy.google.com/~r/AaronRosenfeld/~3/xhT9P623NHU/</link>
		<comments>http://aaron-rosenfeld.com/2008/09/10/vps-hosting-servint/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 00:25:52 +0000</pubDate>
		<dc:creator>Aaron Rosenfeld</dc:creator>
		
		<category><![CDATA[Servers]]></category>

		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://aaron-rosenfeld.com/?p=74</guid>
		<description><![CDATA[You know, over the past 8 years I have been through at least 10 different web hosts.  This is partially my fault - I&#8217;m an extremely picky customer.  I demand that a company has excellent customer support and maintains all of their guarantees, namely uptime.
I can say after all of these years, I have finally [...]]]></description>
			<content:encoded><![CDATA[<p>You know, over the past 8 years I have been through at least 10 different web hosts.  This is partially my fault - I&#8217;m an extremely picky customer.  I demand that a company has excellent customer support and maintains all of their guarantees, namely uptime.</p>
<p>I can say after all of these years, I have finally found the best company I&#8217;ve ever had the pleasure of dealing with.  <a href="http://www.servint.net" target="_blank">ServInt</a> is a small (in number of employees) VPS-only web host who maintains the best business model anyone could ever ask for.  They have been around since 1995 and have a spotless track record.  Their servers are incredibly reliable and I have not had a single outage since I started using them.  Their prices are extremely reasonable starting at only $50/mo which is still an excellent package including 1 GB burstable memory, half a terabyte of transfer, 15 GB of storage, and 4 dedicated IPs.  Both storage and transfer quantities are easily upgradable and are both extremely reasonable in price.  All packages get root access and free backups in case of an outage or user error on the admin&#8217;s part.  Cpanel/WHM or Plesk is also included at no charge.</p>
<p>That being said, there are dozens of companies that can provide more for the same price.  What ended up selling me was their customer support.  I e-mailed their billing department before signing up for hosting and was amazed when a real human, with a name and personal phone-number responded to me.  She was extremely well spoken and went above and beyond what was required of her.</p>
<p>The next day when I signed up, I promptly received a turnup e-mail and went along my way setting up various sites on the new VPS.  I almost had a heart attack when a customer service rep called me and asked if he could assist with migration or any software installation.  I was floored.  A proactive phone call from a hosting company?  Amazing.</p>
<p>Customers are given the standard panel for billing, support tickets, and other miscellaneous services but are also given access to a forum.  Not a dead, useless forum - a lively, active forum.  Other customers regularly discuss their experiences and <strong>collaborate</strong> with ServInt (not just talk one-way) to solve problems and talk about hosting technology.  Not only does customer support and their NOC staff post on these forums, but the CEO himself frequents the forums and regularly contributes to discussions.  Now thats different!</p>
<p>This wasn&#8217;t endorsed in any way by ServInt but they are running a truly excellent business and they deserve to be recognized.  They are by far the most personal hosting company I have delt with and I recommend them to anyone looking for a VPS hosting solution.</p>
<p><a href="http://www.servint.net/index.php?refid=CAB442911874"><img src="http://img.servint.net/120x60a.gif" border="0" alt="" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://aaron-rosenfeld.com/2008/09/10/vps-hosting-servint/feed/</wfw:commentRss>
		<feedburner:origLink>http://aaron-rosenfeld.com/2008/09/10/vps-hosting-servint/</feedburner:origLink></item>
		<item>
		<title>PHP v5.3 Alpha 1</title>
		<link>http://feedproxy.google.com/~r/AaronRosenfeld/~3/jrDZHqYwUY8/</link>
		<comments>http://aaron-rosenfeld.com/2008/08/28/php-v53-alpha1-released/#comments</comments>
		<pubDate>Fri, 29 Aug 2008 02:01:33 +0000</pubDate>
		<dc:creator>Aaron Rosenfeld</dc:creator>
		
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://aaron-rosenfeld.com/?p=65</guid>
		<description><![CDATA[I usually don't update my blog for PHP versions but the announcement made at the beginning of the month really caught my eye.  Changes to the Tick construct, Ternary operator, and the addition of the goto keyword are all included.]]></description>
			<content:encoded><![CDATA[<p>I usually don&#8217;t update my blog for PHP versions but the <a href="http://www.php.net/archive/2008.php#id2008-08-01-1" target="_blank">announcement made at the beginning of the month</a> really caught my eye.</p>
<p><strong>declare(Ticks=N) Depreciated</strong><br />
First off, they finally depreciated the declare(Ticks&#8230;) construct.  I never really found a use for this and actually had it crash a web server due to threading issues.  Thankfully, PHP is no longer formally supporting this function along with register_tick_function.</p>
<p><strong>Ternary Default</strong><br />
In the last few months I have found myself using the ternary operator extensively to save space.  Most of the time it ends up being in the form:</p>
<pre>$var .= $other_var ? 'some string' : '';</pre>
<p>Thankfully this can now be shortened to simply:</p>
<pre>$var .= $other_var ? 'some string' :;</pre>
<p>to omit the false case, and to:</p>
<pre>$var .= $other_var ?: 'some other string';</pre>
<p>to omit the true case.</p>
<p><strong>Namespace</strong><br />
For some reason namespace isn&#8217;t currently a reserved word.  In v5.3 Alpha 1, it is.</p>
<p><strong>goto Keyword</strong><br />
This one I don&#8217;t like.  PHP decided to add the dreaded goto/label: construct.  I have absolutely no clue why they would do this since it is never needed in modern programming.</p>
<p>Nothing is groundbreaking but most of the changes are a breath of fresh air.  My only concern is <code>goto</code> which I hope does not make it to the release branch&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://aaron-rosenfeld.com/2008/08/28/php-v53-alpha1-released/feed/</wfw:commentRss>
		<feedburner:origLink>http://aaron-rosenfeld.com/2008/08/28/php-v53-alpha1-released/</feedburner:origLink></item>
		<item>
		<title>phpWatch Release Announcement</title>
		<link>http://feedproxy.google.com/~r/AaronRosenfeld/~3/vImyUCyH3t8/</link>
		<comments>http://aaron-rosenfeld.com/2008/08/28/phpwatch-release-announcement/#comments</comments>
		<pubDate>Thu, 28 Aug 2008 16:06:55 +0000</pubDate>
		<dc:creator>Aaron Rosenfeld</dc:creator>
		
		<category><![CDATA[Databases]]></category>

		<category><![CDATA[Servers]]></category>

		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://aaron-rosenfeld.com/?p=51</guid>
		<description><![CDATA[I am pleased to announce that I have released phpWatch v1.0.6 Beta and it is now available for download.
phpWatch is a general purpose service monitor that is able to send notifications of outages via e-mail or text-message (SMS).  The purpose of this system is two-fold: it allows administrators to easily check the status of [...]]]></description>
			<content:encoded><![CDATA[<p>I am pleased to announce that I have released phpWatch v1.0.6 Beta and it is now available for download.</p>
<p>phpWatch is a general purpose service monitor that is able to send notifications of outages via e-mail or text-message (SMS).  The purpose of this system is two-fold: it allows administrators to easily check the status of many different services running on any number of servers and also allows developers to interface with the query and notification APIs.</p>
<p>A demonstration of the administrator view is available at <a href="http://aaron-rosenfeld.com/phpWatch/demo" target="_blank">here</a>.  The AJAX based user-interface makes it simple to view, add, edit, and delete service monitors as well as notifications on a single page.  The configuration page allows users to customize and format the notifications that are sent out during a service outage.  Note that when a new version of phpWatch is released, the bottom of the page (where it shows the phpWatch version number) will be updated with a notification.</p>
<p>The developer documentation is available <a href="http://aaron-rosenfeld.com/phpWatch/demo/docs" target="_blank">here</a>.  The API allows other PHP scripts to query the monitored services in real-time, gather statistics about services, and interact with the notification system to send SMS and e-mail alerts.</p>
<p>If you find any bugs or have a suggestion, please feel free to add them to the bug-tracker on Sourceforge or send an e-mail to me at <em>aaron (at) aaron-rosenfeld (dot) com</em>.</p>
<p><strong>Demonstration Page</strong><br />
<a href="http://aaron-rosenfeld.com/phpWatch/demo"> http://aaron-rosenfeld.com/phpWatch/demo</a></p>
<p><strong>Developer Documentation</strong><br />
<a href="http://aaron-rosenfeld.com/phpWatch/demo/docs"> http://aaron-rosenfeld.com/phpWatch/demo/docs</a></p>
<p><strong>Download Link</strong><br />
<a href="http://aaron-rosenfeld.com/wp-content/plugins/download-monitor/download.php?id=4" title="Version 1.0.8 Beta downloaded 1764 times" >phpWatch v1.0.8 Beta</a> - 56kb</p>
<p><a href="http://sourceforge.net/project/showfiles.php?group_id=233530&amp;package_id=283373"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://aaron-rosenfeld.com/2008/08/28/phpwatch-release-announcement/feed/</wfw:commentRss>
		<feedburner:origLink>http://aaron-rosenfeld.com/2008/08/28/phpwatch-release-announcement/</feedburner:origLink></item>
		<item>
		<title>Computer Science vs. IT</title>
		<link>http://feedproxy.google.com/~r/AaronRosenfeld/~3/_2LUl84zeEc/</link>
		<comments>http://aaron-rosenfeld.com/2008/07/18/computer-science-vs-it/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 16:26:54 +0000</pubDate>
		<dc:creator>Aaron Rosenfeld</dc:creator>
		
		<category><![CDATA[Computer Science]]></category>

		<guid isPermaLink="false">http://aaron-rosenfeld.com/?p=19</guid>
		<description><![CDATA[<p>A discussion of the differences between Computer Science and Information Technology (IT).  I tried to be as neutral as possible and covered the strengths and weaknesses of both fields.</p>]]></description>
			<content:encoded><![CDATA[<p>I am always excited when someone asks me what I&#8217;m majoring in at college - I promptly reply, &#8220;Computer Science&#8221; and brace for the reaction.  Nine times out of ten I get the dreaded response along the lines of, &#8220;Oh that&#8217;s a great field!  I know there are a lot of IT jobs now-a-days&#8221;.</p>
<p>What I have realized is the vast majority of individuals who have non-technology jobs consider anyone who &#8220;works with computers&#8221; to be IT and want to make it clear that:</p>
<p style="text-align: center;"><strong>COMPUTER SCIENCE IS NOT INFORMATION TECHNOLOGY</strong></p>
<p><em>Note</em>: Before I even start, I want to make it clear that I did not indent this article to favor IT or Computer Science but I am obviously bias towards my major of Computer Science.  I apologize if any of the information is not accurate for a specific person - we all know what you major in may not be what you end up doing&#8230;</p>
<p>What differentiates the two is Computer Science is just that - a science.  We generally take math through at least differential equations, four to six terms of a lab science, and specialize in fields like artificial intelligence, data structures, bioinformatics, and human-computer interaction.</p>
<p>In my eyes, IT is an applied skill set for computers and networks rather than a science.  Just as a carpenter works with wood or a plumber with pipes, an IT professional works with computers and networks. To quote <a href="http://en.wikipedia.org/wiki/Information_technology" target="_blank">Wikipedia</a>:</p>
<blockquote><p>IT professionals perform a variety of duties that range from installing applications to designing complex computer networks and information databases.</p></blockquote>
<p>IT majors generally concentrate on aspects of computing such as server technology, database design, database administration, networking, and basic software design.  I am by no means trying to make IT sound like a narrow-minded field - in fact, IT students may come out much more prepared for the &#8220;real world&#8221; than many Computer Science students.</p>
<p>Almost every company that utilizes computers, in any way, has IT.  They deal with everything from day-to-day operations of the computer systems and databases to manage major overhauls of company-wide networks.</p>
<p>Computer Science is entirely different.  Again to quote <a href="http://en.wikipedia.org/wiki/Computer_science" target="_blank">Wikipedia</a>:</p>
<blockquote><p>Computer Science [...] is the study and the science of the theoretical foundations of information and computation and their implementation and application in computer systems.</p></blockquote>
<p>Computer Scientists in a (very small) nutshell design algorithms and <em>create</em> software.  That is the key difference, in my opinion: Computer Science deals, in general, with software development and the heavily theoretical side of computing rather than (for lack of better words) the nuts-and-bolts of the computing world.</p>
<p>The operating system you are reading this from was most likely developed by computer scientists.  The browser you are reading this from was most likely developed by computer scientists.  The protocol that takes the 1&#8217;s and 0&#8217;s from half way across the world and converts into something you can read was most likely developed by computer scientists.  The software that NASA uses to get the Space Shuttle into orbit and back was most likely developed by computer scientists.  You get the point&#8230;</p>
<p>Generally speaking, Computer Scientists are employed by companies that need custom software developed or large applications that need constant additions or changes.  They are the heart of companies like Microsoft, Sun Microsystems, Google, and all the other big-name software companies out there.  IT on the other hand is a much more &#8220;professional oriented&#8221; field.  They are employed by a much broader range companies ranging from the software giants to banks to newspapers to&#8230;anything with a computer network.</p>
<p>Computer Science, however, is a much broader field than the general public understands and I could not even begin to go into every facet in this article.  What I want to make clear, however, is there is a distinct difference between IT and Computer Science.  Both are extremely valuable but their paths only cross on certain topics.</p>
]]></content:encoded>
			<wfw:commentRss>http://aaron-rosenfeld.com/2008/07/18/computer-science-vs-it/feed/</wfw:commentRss>
		<feedburner:origLink>http://aaron-rosenfeld.com/2008/07/18/computer-science-vs-it/</feedburner:origLink></item>
		<item>
		<title>10 PHP Tips I Wish I Had Known</title>
		<link>http://feedproxy.google.com/~r/AaronRosenfeld/~3/xylhXjggh5k/</link>
		<comments>http://aaron-rosenfeld.com/2008/07/08/10-php-tips-i-wish-i-had-known/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 04:02:44 +0000</pubDate>
		<dc:creator>Aaron Rosenfeld</dc:creator>
		
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://aaron-rosenfeld.com/?p=17</guid>
		<description><![CDATA[<p>I have been using PHP for about six years now and have never stopped learning.  These are a few things I wish I had known when I began programming in PHP.</p>]]></description>
			<content:encoded><![CDATA[<p>I have been using PHP for about six years now and have never stopped learning.  These are a few things I wish I had known when I began programming in PHP:</p>
<ol>
<li><strong>Quotes:</strong> Understand the difference between double-quotes and single-quotes.  I personally do not like the usage of variables in double quotes:
<pre>$var = "my var's value"</pre>
<p>I much prefer</p>
<pre>$var = 'my var\'s value'</pre>
<p>That is a personal preference but it really is extremely important to know when to use different types of quotes and understand escape sequences.</li>
<li><strong>Don&#8217;t get == confused with ===:</strong> The triple equals checks if the operands are identical &#8212; that is they have the same type with all of the same properties.  Example with string:
<pre>if('1' == 1){...} // evaluates to true
if('1' === 1){...} // evaluates to false</pre>
</li>
<li><strong>Use print_r liberally:</strong> If there is ever confusion when it comes to objects or arrays, print_r will come in extremely handy.  Also remember that print_r($var) will print the output as soon as possible (generally at the top of your page) where print_r($var, true) will return it.</li>
<li><strong>Make a database wrapper class:</strong> When you eventually delve into the mySQL (or any other database) world, there will be a ton of new functions to learn: mysql_connect, mysql_select_db, mysql_query, mysql_num_rows, mysql_fetch_array to name just a few.  Make it easy by making a single database class to wrap all of this together.  It will save you a ton of time and headache in the end.</li>
<li><strong>Avoid the &lt;? shorthand:</strong> Always use the full &lt;?php.  This can cause problems with PHP installations that do not have the shorthand enabled and also confuse some XML parsers.</li>
<li><strong>Never rely on <a href="http://www.php.net/manual/en/ini.core.php#ini.register-globals" target="_new">register_globals</a>:</strong> Always use $_GET, $_POST, and other pre-defined variables.  This guarantees compatibility with other PHP installations.</li>
<li><strong>Choosing a PHP Version:</strong> Use a PHP version you are comfortable with: PHP4 classes are incredibly simple to use.  There is no visibility keywords to worry about and functions can be called after being instantiated or statically.  PHP5 introduces the vast majority of the OOP paradigm, including visibility, the static keyword, class constants, method overloading, and class abstraction.  If you have never been exposed to this, it can be quite difficult to take in while also learning PHP.  That being said, it never hurts to use PHP5+ as it is fully backwards compatible.</li>
<li><strong>Modulize:</strong> After working with PHP for a couple of days or so, consider modulizing your commonly used functions, classes, etc.  This can be as simple as breaking them into files.  I found that I reuse the same code (albeit much cleaned up) that I did 3 years ago.</li>
<li><strong>Get into OOP as soon as possible:</strong> I remember the first year or two I was using PHP, I made maybe six websites for various organizations I was involved with.  The code was so horribly sloppy it still makes me sick to this day.  Do not get in the habit of mixing your PHP and HTML!  I cannot emphasize this enough!  Get in the habit of keeping the vast majority of code in included files and simply call function in the HTML itself.</li>
<li><strong>Utilize the PHP documentation fully:</strong> PHP, in my opinion, has bar-none the best documentation of any scripting language.  <a href="http://php.net/" target="_blank">php.net</a> contains a page dedicated to every function in PHP along with examples and alternatives for each.  At the bottom there is usually a wealth of user-submitted comments which provide even more information.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://aaron-rosenfeld.com/2008/07/08/10-php-tips-i-wish-i-had-known/feed/</wfw:commentRss>
		<feedburner:origLink>http://aaron-rosenfeld.com/2008/07/08/10-php-tips-i-wish-i-had-known/</feedburner:origLink></item>
	</channel>
</rss>
