<?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>What Dave writes &#187; computing</title>
	<atom:link href="http://davetang.org/wordpress/tag/computing/feed/" rel="self" type="application/rss+xml" />
	<link>http://davetang.org/wordpress</link>
	<description>Movies, books, computers, etc.</description>
	<lastBuildDate>Thu, 01 Jul 2010 13:46:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>OOP</title>
		<link>http://davetang.org/wordpress/2009/12/05/oop/</link>
		<comments>http://davetang.org/wordpress/2009/12/05/oop/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 23:45:12 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Perl]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[exercise]]></category>

		<guid isPermaLink="false">http://davetang.org/wordpress/?p=59</guid>
		<description><![CDATA[Object orientated Perl! Boy, if there is one thing that I want to fully grasp, this would be it. So I spent time (yet again) reading perldoc perlboot. This would be the second time I&#8217;ve been through the beginner&#8217;s guide to OO Perl. Here&#8217;s are the key points (from memory which may be inaccurate): Packages [...]]]></description>
			<content:encoded><![CDATA[<p>Object orientated Perl! Boy, if there is one thing that I want to fully grasp, this would be it. So I spent time (yet again) reading perldoc perlboot. This would be the second time I&#8217;ve been through the beginner&#8217;s guide to OO Perl. Here&#8217;s are the key points (from memory which may be inaccurate):</p>
<ol>
<li>Packages are used to create &#8220;Classes&#8221;</li>
<li>In each class, you have methods which operate on an object</li>
<li>Methods are created by using Perl&#8217;s subroutines</li>
<li>Methods from can be &#8220;inherited&#8221; from another class using the @ISA array</li>
<li>The @ISA variable needs to be explicitly (if that&#8217;s the right word) declared, either using the full namespace or defined globally using &#8220;our&#8221;</li>
<li>A constructor is a method used to create a specific instance</li>
<li>An instance is a blessed Perl reference (be it a scalar, hash or array)</li>
<li>The arrow invocation arrow &#8220;->&#8221; is used to specify a method for an object (i.e. $object->$method)</li>
<li>When using &#8220;->&#8221; with an instance, the first argument passed to the method is the object</li>
<li>When using &#8220;->&#8221; in the manner of Class->method, the first argument passed will be the class</li>
<li>Interestingly (to me), when you use &#8220;->&#8221; with an instance, the method can still pick up the class from the instance</li>
</ol>
<p>So by using these ideas, you can create classes with packages; within these classes you can create methods, i.e. the new method as the constructor which creates an instance of the object.</p>
<p>I think the best way to really learn OO Perl, is to start writing some. I will post my OO Perl exploits as they come along.</p>
]]></content:encoded>
			<wfw:commentRss>http://davetang.org/wordpress/2009/12/05/oop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Movie interpretations</title>
		<link>http://davetang.org/wordpress/2009/09/20/movie-interpretations/</link>
		<comments>http://davetang.org/wordpress/2009/09/20/movie-interpretations/#comments</comments>
		<pubDate>Sun, 20 Sep 2009 04:47:53 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[beginning]]></category>
		<category><![CDATA[brain]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[epic]]></category>
		<category><![CDATA[legacy]]></category>

		<guid isPermaLink="false">http://davetang.org/wordpress/?p=145</guid>
		<description><![CDATA[&#8220;You&#8217;re free to speculate as you wish about the philosophical and allegorical meaning of the film — and such speculation is one indication that it has succeeded in gripping the audience at a deep level — but I don&#8217;t want to spell out a verbal road map for 2001 that every viewer will feel obligated [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;You&#8217;re free to speculate as you wish about the philosophical and allegorical meaning of the film — and such speculation is one indication that it has succeeded in gripping the audience at a deep level — but I don&#8217;t want to spell out a verbal road map for 2001 that every viewer will feel obligated to pursue or else fear he&#8217;s missed the point.&#8221; &#8211; Stanley Kubrick</p>
<p>I just finished watching 2001 A Space Odyssey, and as always the first thing I do after seeing a movie is to visit its wikipedia page to read the plot and interpretations of the movie. Even for movies that weren&#8217;t meant to be particularly deep, I always read up. The quote by Kubrick was given when asked for an interpretation of 2001. By and large, I totally agree. Since we are all different, we all pursue our own intellectual thoughts.</p>
<p>So the question on my mind is what was this monolithic block? One of the reasons I always read up on a movie is because I&#8217;m afraid I missed the point, which Kubrick pointed out. I&#8217;m afraid to make connections, which differ from the director/author&#8217;s intentions. But just like how Tarantino has his interpretations on the song &#8220;Like a virgin&#8221; (which perhaps wasn&#8217;t the song writer&#8217;s original intentions), shouldn&#8217;t we all have our interpretations on things? Maybe this is why 2001 is highly acclaimed.</p>
<p>As for what I got out of the movie, I guess it was the special effects. For a film made in 1968, it is pretty spectacular. The &#8220;Dawn of man&#8221; was particularly boring for me (and I kept thinking back at The Simpsons awesome parody of it) and the lack of dialogue and prolonged cinematic effects didn&#8217;t do it for me. I loved the HAL 9000 portion of the movie, and finally understood all The Simpsons references made to it. The only thing gripping about the movie was the monolithic block, and trying to figure out what it is. I&#8217;m truly a mystery fan boy, with favourites such as The Maltese Falcon and Chinatown.</p>
<p>The block will remain an enigma, just like the intentions of the movie. My overall interpretation of the movie? Computers will eventually get smart enough and take over us (which it has probably achieved already on my part, since I spend a crazy amount of time in front of a computer).</p>
]]></content:encoded>
			<wfw:commentRss>http://davetang.org/wordpress/2009/09/20/movie-interpretations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perl and bioinformatics</title>
		<link>http://davetang.org/wordpress/2009/09/07/perl-and-bioinformatics/</link>
		<comments>http://davetang.org/wordpress/2009/09/07/perl-and-bioinformatics/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 13:42:50 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Perl]]></category>
		<category><![CDATA[computing]]></category>

		<guid isPermaLink="false">http://davetang.org/wordpress/?p=138</guid>
		<description><![CDATA[Recently I posted a question to the Perl beginner mailing list about Perl and bioinformatics. My question was asking why Perl is better than other scripting languages when it comes to working with text. And as a final note in my email, I made a remark towards to how parsing text is useful to biology [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I posted a question to the Perl beginner mailing list about Perl and bioinformatics. My question was asking why Perl is better than other scripting languages when it comes to working with text. And as a final note in my email, I made a remark towards to how parsing text is useful to biology since a lot of biological data is stored in text files.</p>
<p>I had an abundance of answers (some that I am still slowly digesting), and there were several reasons towards Perl&#8217;s superiority in text processing. In no particular order, here were some answers to why Perl is good/great at text parsing:</p>
<p>1. Regexes are first class citizens in Perl, in other languages you must use a library that feels out of place<br />
2. Perl tends to innovate in regexes, adding features (the most popular non-Perl regex library is PCRE, PCRE stands for Perl Compatible Regular Expressions)<br />
3. Perl is weakly typed, which reduces the amount of code you must write. In strongly typed languages you spend a lot of time casting variables into the desired type.<br />
4. Many of the operators like the readline operator (<>) are setup to do what you want with a minimum level of effort, such as a bare readline operator creating the default UNIX filter style (read from stdin if no files are specified on the commandline, otherwise open each file passed on the commandline and read from each of them in turn).<br />
5. The, much maligned, set of special variables also makes this easy (for instance, $ARGV is set to the file currently being read by the construct in the last point).<br />
6. Perl&#8217;s regexes are still better and faster than the compatible libraries. There are many things Perl can do that they can&#8217;t even come close to (my favourite is the /e modifier on s///!).<br />
7. CPAN is another major reason for Perl&#8217;s strength in text processing. There are hundreds if not thousands of modules that parse, mung, generate text in all sorts of forms. just consider how many templaters there are alone.<br />
8. Perl&#8217;s scalar values are designed from the start to be powerful text storage items. they have no fixed limit on size, you can add, cut, shrink, extract, etc directly with operators instead of long winded function calls. the Perl ops and functions are designed to work well together generating concise (a better word and more accurate than terse) code. Perl&#8217;s guts have been optimized over many years and are very fast when doing text munging.</p>
<p>So from what I have gathered Perl&#8217;s regexes give the user power to create complex text parsing abilities and since Perl&#8217;s scalar values can be limitless in size, large chucks of text can be stored and operated upon. It also seems that the special variables and operators available to Perl make it easier to work with text and pattern matching.</p>
<p>And after some further discussion with a Perl guru, I understood the concept of type casting and how Perl&#8217;s many operators assist with writing less code for casting variables. They also mentioned about strongly typed languages like C++ where 10.0 + 5 would result in an error due to addition between a floating point type vs integer type. This was also touched on briefly in the &#8220;How Perl Saved The Human Genome Project&#8221; and how weak casting can be a problem if a variable changes from a number to a character. This often happens as a lot of data is manually handled and human errors do occur.</p>
<p>And just today I corresponded with a fellow bioinformatician who has used Perl for almost 10 years. They wanted to point out that biological data isn&#8217;t just huge genomic files (which makes Perl extremely useful) and as such other scripting languages are just as competent as Perl, which was also a note made by another Perl guru. Apparently Ruby is extremely popular in Japan, and was developed by the Japanese. There is even a BioRuby! But the point is really that for many bioinformatic tasks such as parsing XML files, Perl holds no advantage over other scripting languages. Perl is just popular in bioinformatics because it was there first.</p>
<p>It has been a very insightful thread and I did get a lot out of it. It helped me understand the history of Perl and biology and bioinformatics, and explain why Perl is very suitable in parsing large text files. However I have heard that Perl&#8217;s syntax is hard to read and ugly. I guess when you&#8217;re developing software, readability plays a large part. Besides Perl is known to be quick and dirty and considered to be the Swiss army chainsaw. But hopefully when I get my python bioinformatics book, I can get a better perspective.</p>
]]></content:encoded>
			<wfw:commentRss>http://davetang.org/wordpress/2009/09/07/perl-and-bioinformatics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web 2.0</title>
		<link>http://davetang.org/wordpress/2009/08/15/web-2-0/</link>
		<comments>http://davetang.org/wordpress/2009/08/15/web-2-0/#comments</comments>
		<pubDate>Sat, 15 Aug 2009 09:59:54 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[documentary]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://davetang.org/wordpress/?p=125</guid>
		<description><![CDATA[Viewing some of my monthly subscription videos for National Geographic on YouTube, I came across a special edition National Geographic video of Dr. Michael Wesch of Kansas State University, titled &#8220;The Future of Communication&#8221;. It captured my attention from the start as he was describing his experience in Papua New Guinea. The region in PNG [...]]]></description>
			<content:encoded><![CDATA[<p>Viewing some of my monthly subscription videos for National Geographic on YouTube, I came across a special edition National Geographic video of Dr. Michael Wesch of Kansas State University, titled &#8220;The Future of Communication&#8221;. It captured my attention from the start as he was describing his experience in Papua New Guinea. The region in PNG that he studied was extremely isolated even more so than Bougainville, the place where I grew up. It was up in the highlands and he stayed in huts without electricity. But during a 10 year period he was able to witness a transformation in PNG. This transformation occurred with the introduction of writing, leading him to understand the relationship between media and relationships; media mediate relationships and when media changes so does relationships.</p>
<p>Dr. Wesch studies anthropology, which is the social science that studies the origins and social relationships of human beings. With his observation of how media can alter society and social relationships, he started to study the new media landscape called Web 2.0. In short Web 2.0 is web development that focuses on two things; users and information sharing. YouTube, wikipedia, blogs, flickr, digg are just some examples of Web 2.0 applications that allow you to share videos, knowledge, information, photos and articles respectively. As more people become connected to the internet and networks become faster and more ubiquitous, Web 2.0 applications will only get more popular.</p>
<p><object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/VKalGBMB4us&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/VKalGBMB4us&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></p>
<p>Understanding how this new media landscape will impact society will help us rethink our outdated ideas, for example current teaching methods, which is Dr. Wesch&#8217;s interest. It was while lecturing that he noticed how current teaching methods were not suitable for today&#8217;s generation. I have not seen the other videos on his class projects but basically the projects have focused on combining the knowledge of every single student in his class. This new interactivity has let in a breath of fresh air in his classes and achieved impressing results. For his innovation teaching techniques he was awarded U.S. professor of the year in 2008.</p>
<p>The video has made me think about the future of communication and how it will shape everyone&#8217;s lives. And to help myself understand I have made delicious, digg and twitter accounts. I can see the definite trends in today&#8217;s society; open source software, free knowledge, applications that allow human interactivity, increased connectivity and faster network connections. If a collection of 200 undergraduates can develop ground breaking research, imagine the power of combining the minds of the world. The most popular sites on the web are the ones promoting interactivity; facebook, myspace, wikipedia, file sharing sites, etc. The most popular games are MMORPGs such as WoW. I think Dr. Wesch was right on the future, we will only see an increase in interactivity and faster connections to the internet, which will allow everyone to be connected to everyone instantly. Good or bad? No idea but it will definitely be very interesting.</p>
]]></content:encoded>
			<wfw:commentRss>http://davetang.org/wordpress/2009/08/15/web-2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cloud computing</title>
		<link>http://davetang.org/wordpress/2009/07/12/cloud-computing/</link>
		<comments>http://davetang.org/wordpress/2009/07/12/cloud-computing/#comments</comments>
		<pubDate>Sat, 11 Jul 2009 15:57:23 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[bookmarks]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[web hosting]]></category>

		<guid isPermaLink="false">http://davetang.org/wordpress/?p=73</guid>
		<description><![CDATA[So for the uninitiated, here&#8217;s my very simple example explaining some concepts of cloud computing. Few years ago I was trying to import my bookmarks from one web browser to another. After some fiddling around I found the folder that held my bookmarks and to my surprise and delight, it was a HTML file. That [...]]]></description>
			<content:encoded><![CDATA[<p>So for the uninitiated, here&#8217;s my very simple example explaining some concepts of cloud computing. Few years ago I was trying to import my bookmarks from one web browser to another. After some fiddling around I found the folder that held my bookmarks and to my surprise and delight, it was a HTML file. That then gave me the idea of getting some free web space and simply hosting this HTML file online. Since I only knew of one company that had free web hosting, geocities, I signed up for a geocities account and uploaded this HTML file which I creatively called bookmarks.html. Now instead of having to import my bookmarks from one computer to another, or not having access to my bookmarks if I wasn&#8217;t using my own computer, I can access my bookmarks from any computer that has Internet access. I can now also add new bookmarks from any computer (that has Internet access) I want if I found an interesting site while surfing on another computer.</p>
<p>What does this have to do with cloud computing? Basically the cloud is a metaphor for the Internet. Cloud computing basically means having computing services provided on the Internet. Using my example you can see the benefits of the cloud (in my case the cloud computing service was provided for free), i.e. I had access to a list of my favourite sites from any computer with an internet connection, I have one centralised bookmarks file and I can now share my favourite sites with everyone with an internet connection. Since more and more people are getting connected to the Internet and we are getting faster Internet connections, this really seems like the future of computing. Businesses will no longer need to buy computing equipment, hire administrators or even web designers; they just need to pay for cloud computing services. Individuals will also prefer the cloud, as it can mean many things such as they don&#8217;t have to worry about backing up their data or can have access to their files from anywhere.</p>
<p>Google at the moment is really positioning itself as THE service provider for cloud computing. They provide services (mostly free) for you to store your conversations, your documents, your internet history, your journal, your photos and countless other things. I don&#8217;t like the idea of having everything owned by one company which is pretty much the only disadvantage I see in cloud computing, since it will only make Google stronger. But oh well, we&#8217;ve been living under Microsoft for so many years now, time for a change I guess.</p>
]]></content:encoded>
			<wfw:commentRss>http://davetang.org/wordpress/2009/07/12/cloud-computing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
