<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>fortran &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/fortran/</link>
	<description>Feed of posts on WordPress.com tagged "fortran"</description>
	<pubDate>Fri, 27 Nov 2009 18:45:47 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Using TAPENADE]]></title>
<link>http://hakantiftikci.wordpress.com/2009/11/27/using-tapenade/</link>
<pubDate>Fri, 27 Nov 2009 13:56:56 +0000</pubDate>
<dc:creator>hakantiftikci</dc:creator>
<guid>http://hakantiftikci.wordpress.com/2009/11/27/using-tapenade/</guid>
<description><![CDATA[TAPENADE Example TAPENADE is a Automatic Differentiation (AD) tool for FORTRAN. It generates differe]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><h2>TAPENADE Example</h2>
<p><a href="http://www-sop.inria.fr/tropics/tapenade.html"> TAPENADE </a> is a Automatic Differentiation (AD) tool for FORTRAN. It generates differentiation code by source code transformation.</p>
<p>For illustration of TAPENADE usage, following test expression is selected</p>
<p style="text-align:center;"><img src='http://l.wordpress.com/latex.php?latex=%5Cdisplaystyle+z%5Cleft%28x%2Cy%5Cright%29%3D%5Csin+%5Cleft%28+x%2B2y%5Cright%29+%5Ccos+%5Cleft%28+x-%5Csin+%5Cleft%28+y%5Cright%29+%5Cright%29+&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\displaystyle z\left(x,y\right)=\sin \left( x+2y\right) \cos \left( x-\sin \left( y\right) \right) ' title='\displaystyle z\left(x,y\right)=\sin \left( x+2y\right) \cos \left( x-\sin \left( y\right) \right) ' class='latex' /></p>
<p>This expression/function is coded in FORTRAN as a subroutine which takes 3 arguments whose in/out behaviour is stated by <em>intent</em> directives</p>
<li>x,y : input arguments</li>
<li>z : output arguments</li>
<pre class="brush: plain; highlight: [2];">
! FILE : test1.f90
subroutine test1(x,y,z)
	real, intent(in) :: x,y
	real, intent(out) :: z

	z = sin(x+2*y)*cos(x-sin(y));
end subroutine test1
</pre>
<p>TAPENADE executed to differentiate test1 subroutine (in tangent mode) generates following differentiation code</p>
<pre class="brush: plain; highlight: [7];">
!        Generated by TAPENADE     (INRIA, Tropics team)
!  Tapenade 3.3 (r3163) - 09/25/2009 09:03
!
!  Differentiation of test1 in forward (tangent) mode:
!   variations  of output variables: z
!   with respect to input variables: x y
SUBROUTINE TEST1_D(x, xd, y, yd, z, zd)
  IMPLICIT NONE
  REAL, INTENT(IN) :: x, y
  REAL, INTENT(IN) :: xd, yd
  REAL, INTENT(OUT) :: z
  REAL, INTENT(OUT) :: zd
  REAL :: arg1
  REAL :: arg1d
  INTRINSIC COS
  INTRINSIC SIN
  arg1d = xd - yd*COS(y)
  arg1 = x - SIN(y)
  zd = (xd+2*yd)*COS(x+2*y)*COS(arg1) - SIN(x+2*y)*arg1d*SIN(arg1)
  z = SIN(x+2*y)*COS(arg1)
END SUBROUTINE TEST1_D
</pre>
<p>Note that each input and output variable that user specified caused insertion of <em>&#8220;differentials&#8221;</em> of those variables, that is, the input code</p>
<p><strong><code><strong>subroutine test1(x,y,z)</strong></code></strong></p>
<p>results in</p>
<p><strong><code><strong>SUBROUTINE TEST1_D(x, xd, y, yd, z, zd)</strong></code></strong></p>
<p>In this example,</p>
<li>differentials <code>dx,dy</code> for input arguments <code>x,y</code></li>
<li>differential <code>dz</code> for output argument <code>z</code></li>
<p>are inserted just after the original argument.</p>
<p>Actual differential of test1 function is (total differential)</p>
<p style="text-align:center;"><img src='http://l.wordpress.com/latex.php?latex=%5Cdisplaystyle+dz%3D%5Cfrac%7B%5Cpartial+z%7D%7B%5Cpartial+x%7Ddx%2B%5Cfrac%7B%5Cpartial+z%7D%7B%5Cpartial+y%7Ddy&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\displaystyle dz=\frac{\partial z}{\partial x}dx+\frac{\partial z}{\partial y}dy' title='\displaystyle dz=\frac{\partial z}{\partial x}dx+\frac{\partial z}{\partial y}dy' class='latex' /></p>
<p>with</p>
<p><img src='http://l.wordpress.com/latex.php?latex=%5Cfrac%7B%5Cpartial+z%7D%7B%5Cpartial+x%7D%3D%5Ccos+%5Cleft%28+x%2B2y%5Cright%29+%5Ccos+%5Cleft%28+x-%5Csin+%5Cleft%28+y%5Cright%29+%5Cright%29+-%5Csin+%5Cleft%28+x%2B2y%5Cright%29+%5Csin+%5Cleft%28+x-%5Csin+%5Cleft%28+y%5Cright%29+%5Cright%29+&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\frac{\partial z}{\partial x}=\cos \left( x+2y\right) \cos \left( x-\sin \left( y\right) \right) -\sin \left( x+2y\right) \sin \left( x-\sin \left( y\right) \right) ' title='\frac{\partial z}{\partial x}=\cos \left( x+2y\right) \cos \left( x-\sin \left( y\right) \right) -\sin \left( x+2y\right) \sin \left( x-\sin \left( y\right) \right) ' class='latex' /><br />
<img src='http://l.wordpress.com/latex.php?latex=%5Cfrac%7B%5Cpartial+z%7D%7B%5Cpartial+y%7D%3D2%5Ccos+%5Cleft%28+x%2B2y%5Cright%29+%5Ccos+%5Cleft%28+x-%5Csin+%5Cleft%28+y%5Cright%29+%5Cright%29+%2B%5Csin+%5Cleft%28+x%2B2y%5Cright%29+%5Csin+%5Cleft%28+x-%5Csin+%5Cleft%28+y%5Cright%29+%5Cright%29+%5Ccos+%5Cleft%28+y%5Cright%29+&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\frac{\partial z}{\partial y}=2\cos \left( x+2y\right) \cos \left( x-\sin \left( y\right) \right) +\sin \left( x+2y\right) \sin \left( x-\sin \left( y\right) \right) \cos \left( y\right) ' title='\frac{\partial z}{\partial y}=2\cos \left( x+2y\right) \cos \left( x-\sin \left( y\right) \right) +\sin \left( x+2y\right) \sin \left( x-\sin \left( y\right) \right) \cos \left( y\right) ' class='latex' /></p>
<p>Note that in order to compute partial derivatives <img src='http://l.wordpress.com/latex.php?latex=%5Cfrac%7B%5Cpartial+z%7D%7B%5Cpartial+x%7D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\frac{\partial z}{\partial x}' title='\frac{\partial z}{\partial x}' class='latex' /> and <img src='http://l.wordpress.com/latex.php?latex=%5Cfrac%7B%5Cpartial+z%7D%7B%5Cpartial+y%7D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\frac{\partial z}{\partial y}' title='\frac{\partial z}{\partial y}' class='latex' />, the generated derivative routine test1_d must be called twice</p>
<pre class="brush: plain;">
! derivative computation point
x = ...
y = ...
xd = 1.0
yd = 0.0
CALL TEST1_D(x, xd, y, yd, z, zd) ! z and zd ~ dz/dx is obtained
xd = 0.0
yd = 1.0
CALL TEST1_D(x, xd, y, yd, z, zd) ! z and zd ~ dz/dy is obtained
</pre>
<p>In order to avoid such multiple calls, TAPENADE has an alternate differentiation mode called <em>&#8220;Tangent Vectorial Mode&#8221;</em></p>
<p>If TAPENADE code is generated with this option then following differentiation code is obtained</p>
<pre class="brush: plain;">
!        Generated by TAPENADE     (INRIA, Tropics team)
!  Tapenade 3.3 (r3163) - 09/25/2009 09:03
!
!  Differentiation of test1 in forward (tangent) mode: (multi-directional mode)
!   variations  of output variables: z
!   with respect to input variables: x y
SUBROUTINE TEST1_DV(x, xd, y, yd, z, zd, nbdirs)
  USE DIFFSIZES
!  Hint: nbdirsmax should be the maximum number of differentiation directions
  IMPLICIT NONE
  REAL, INTENT(IN) :: x, y
  REAL, INTENT(IN) :: xd(nbdirsmax), yd(nbdirsmax)
  REAL, INTENT(OUT) :: z
  REAL, INTENT(OUT) :: zd(nbdirsmax)
  REAL :: arg1
  REAL :: arg1d(nbdirsmax)
  REAL :: arg2
  REAL :: arg2d(nbdirsmax)
  INTEGER :: nd
  INTEGER :: nbdirs
  INTRINSIC COS
  INTRINSIC SIN
  arg1 = x + 2*y
  arg2 = x - SIN(y)
  DO nd=1,nbdirs
    arg1d(nd) = xd(nd) + 2*yd(nd)
    arg2d(nd) = xd(nd) - yd(nd)*COS(y)
    zd(nd) = arg1d(nd)*COS(arg1)*COS(arg2) - SIN(arg1)*arg2d(nd)*SIN(&#38;
&#38;      arg2)
  END DO
  z = SIN(arg1)*COS(arg2)
END SUBROUTINE TEST1_DV
</pre>
<p>Note that generated code executes differentiation code for all given differentiation directions inside a loop. This, in effect, corresponds to calling &#8220;single-direction&#8221; mode successively, but with the direction loop inside the differentiation code, subroutine arguments are not passed to calls again and again, increasing the efficiency of code. Another benefit of this mode is hiding details of successive calls.</p>
<p>Following (incomplete) program illustrates use of &#8220;multi-directional&#8221; mode.</p>
<pre class="brush: plain;">
integer, parameter :: nbdirs = 8
real*8 xd(nbdirs),yd(nbdirs)
xd = (/1.0, 0.0/)
yd = (/0.0, 1.0/)
call TEST1_DV(x, xd, y, yd, z, zd, nbdirs) ! zd contains all partial derivatives
</pre>
<h2>TAPENADE GUI Usage</h2>
<p>First click add button</p>
<p><a href="http://hakantiftikci.wordpress.com/files/2009/11/tapenade_step1.png"><img class="aligncenter size-full wp-image-254" title="tapenade_step1" src="http://hakantiftikci.wordpress.com/files/2009/11/tapenade_step1.png" alt="" width="450" height="486" /></a></p>
<p>Select the source file(s) test.f90</p>
<p><a href="http://hakantiftikci.wordpress.com/files/2009/11/tapenade_step2.png"><img class="aligncenter size-full wp-image-256" title="tapenade_step2" src="http://hakantiftikci.wordpress.com/files/2009/11/tapenade_step2.png" alt="" width="450" height="322" /></a></p>
<p>In listbox component all source code added is shown</p>
<p><a href="http://hakantiftikci.wordpress.com/files/2009/11/tapenade_step3.png"><img class="aligncenter size-full wp-image-257" title="tapenade_step3" src="http://hakantiftikci.wordpress.com/files/2009/11/tapenade_step3.png" alt="" width="450" height="486" /></a></p>
<p>Click Parse Button. On the left drop-down list box, subroutines/functions available in parsed source codes will appear</p>
<p><a href="http://hakantiftikci.wordpress.com/files/2009/11/tapenade_step4.png"><img class="aligncenter size-full wp-image-258" title="tapenade_step4" src="http://hakantiftikci.wordpress.com/files/2009/11/tapenade_step4.png" alt="" width="450" height="461" /></a></p>
<p>In input variables, click Add and select x,y</p>
<p><a href="http://hakantiftikci.wordpress.com/files/2009/11/tapenade_step5.png"><img class="aligncenter size-full wp-image-259" title="tapenade_step5" src="http://hakantiftikci.wordpress.com/files/2009/11/tapenade_step5.png" alt="" width="277" height="300" /></a></p>
<p>Pressing OK will add selected variable(s) to input variables listbox component</p>
<p><a href="http://hakantiftikci.wordpress.com/files/2009/11/tapenade_step6.png"><img class="aligncenter size-full wp-image-260" title="tapenade_step6" src="http://hakantiftikci.wordpress.com/files/2009/11/tapenade_step6.png" alt="" width="450" height="461" /></a></p>
<p>In output variable, click Add and select z</p>
<p><a href="http://hakantiftikci.wordpress.com/files/2009/11/tapenade_step7.png"><img class="aligncenter size-full wp-image-261" title="tapenade_step7" src="http://hakantiftikci.wordpress.com/files/2009/11/tapenade_step7.png" alt="" width="277" height="300" /></a></p>
<p>Pressing OK will add selected variable(s) to output variables listbox component</p>
<p><a href="http://hakantiftikci.wordpress.com/files/2009/11/tapenade_step7.png"></a><a href="http://hakantiftikci.wordpress.com/files/2009/11/tapenade_step8.png"><img class="aligncenter size-full wp-image-262" title="tapenade_step8" src="http://hakantiftikci.wordpress.com/files/2009/11/tapenade_step8.png" alt="" width="450" height="461" /></a></p>
<p>Finally select dierentiation mode and click dierentiate. This will generate code and automatically open html report page (if browser is properly dened in environment)</p>
<p><a href="http://hakantiftikci.wordpress.com/files/2009/11/tapenade_step9_closer.png"><img class="aligncenter size-full wp-image-255" title="tapenade_step9_closer" src="http://hakantiftikci.wordpress.com/files/2009/11/tapenade_step9_closer.png" alt="" width="450" height="201" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Levenshtein Distance function in Fortran]]></title>
<link>http://itsjared.wordpress.com/2009/11/25/levenshtein-distance-function-in-fortran/</link>
<pubDate>Thu, 26 Nov 2009 03:58:01 +0000</pubDate>
<dc:creator>Jared</dc:creator>
<guid>http://itsjared.wordpress.com/2009/11/25/levenshtein-distance-function-in-fortran/</guid>
<description><![CDATA[The Levenshtein distance function returns how many edits (deletions, insertions, transposition) are ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>The <a title="Levenshtein Distance Wikipedia" href="http://en.wikipedia.org/wiki/Levenshtein_distance" target="_blank">Levenshtein distance</a> function returns how many edits (deletions, insertions, transposition) are required to turn one string into another.  Here&#8217;s my attempt to write that function in Fortran.  It seems to work.  Please chime in with improvements.</p>
<pre>integer function distance (a,b)

implicit none

! define variables

integer :: d, len_a, len_b, i, j, cost
character(len=*), intent(in) :: a, b

! matrix for calculating levenshtein distance
integer, dimension(0:len_trim(a), 0:len_trim(b)) :: leven_mat

integer, dimension(3) :: three_vals

len_a = len_trim(a)
len_b = len_trim(b)

do i = 0,len_a
leven_mat(i,0) = i
end do

do j = 0, len_b
leven_mat(0,j) = j
end do

do i = 1, len_a
do j = 1, len_b
if (a(i:i) == b(j:j)) then
cost = 0
else
cost = 1
end if
three_vals(1) = leven_mat(i-1,j) + 1
three_vals(2) = leven_mat(i, j-1) + 1
three_vals(3) = leven_mat(i-1,j-1) + cost
leven_mat(i,j) = minval(three_vals)
end do
end do

distance = int(leven_mat(len_a,len_b))

end function distance</pre>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[CRUt - fromexcel.f90 program listing]]></title>
<link>http://chiefio.wordpress.com/2009/11/25/crut-fromexcel-f90-program-listing/</link>
<pubDate>Wed, 25 Nov 2009 08:00:42 +0000</pubDate>
<dc:creator>E.M.Smith</dc:creator>
<guid>http://chiefio.wordpress.com/2009/11/25/crut-fromexcel-f90-program-listing/</guid>
<description><![CDATA[The Program: fromexcel.f90 There was a request that some of the actual code be put up where folks co]]></description>
<content:encoded><![CDATA[The Program: fromexcel.f90 There was a request that some of the actual code be put up where folks co]]></content:encoded>
</item>
<item>
<title><![CDATA[Install the g77 Fortran compiler in Ubuntu 9.10 (Karmic Koala)]]></title>
<link>http://ceswptech.wordpress.com/2009/11/24/install-the-g77-fortran-compiler-in-ubuntu-9-10-karmic-koala/</link>
<pubDate>Tue, 24 Nov 2009 16:00:51 +0000</pubDate>
<dc:creator>ceswp</dc:creator>
<guid>http://ceswptech.wordpress.com/2009/11/24/install-the-g77-fortran-compiler-in-ubuntu-9-10-karmic-koala/</guid>
<description><![CDATA[To install the g77 Fortran compiler in Ubuntu 9.10 (Karmic Koala) just follow these simple steps. Op]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>To install the g77 Fortran compiler in Ubuntu 9.10 (Karmic Koala) just follow these simple steps.</p>
<p>Open /etc/apt/sources.list and add the following Ubuntu 8.04 Hardy repositories:</p>
<pre style="padding-left:30px;">deb http://hu.archive.ubuntu.com/ubuntu/ hardy universe
deb-src http://hu.archive.ubuntu.com/ubuntu/ hardy universe
deb http://hu.archive.ubuntu.com/ubuntu/ hardy-updates universe
deb-src http://hu.archive.ubuntu.com/ubuntu/ hardy-updates universe</pre>
<p>&#160;</p>
<p>Once you&#8217;ve saved the file open a terminal and run the commands:</p>
<pre style="padding-left:30px;">sudo aptitude update
sudo aptitude install g77</pre>
<p>&#160;</p>
<p>After g77 is installed, comment out or remove the lines above from /etc/apt/sources.list and rerun:</p>
<pre style="padding-left:30px;">sudo aptitude update
</pre>
<p>&#160;</p>
<p>The instructions in this post were largely taken from <a href="http://0x5f.blogspot.com/2009/10/install-g77-in-ubuntu-904-jaunty.html">install g77 in Ubuntu 9.04 (Jaunty Jackalope)</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Mencari Determinan dan Matriks Invers]]></title>
<link>http://ak67.wordpress.com/2009/11/19/mencari-determinan-dan-matriks-invers/</link>
<pubDate>Thu, 19 Nov 2009 09:39:39 +0000</pubDate>
<dc:creator>ak67</dc:creator>
<guid>http://ak67.wordpress.com/2009/11/19/mencari-determinan-dan-matriks-invers/</guid>
<description><![CDATA[Yup,, ini cuma sebagai catetan aja biar ga lupa&#8230; Kemaren tgl 121109 gw abis ujian analisis num]]></description>
<content:encoded><![CDATA[Yup,, ini cuma sebagai catetan aja biar ga lupa&#8230; Kemaren tgl 121109 gw abis ujian analisis num]]></content:encoded>
</item>
<item>
<title><![CDATA[การเขียนโปรแกรมภาษาฟอร์แทรน]]></title>
<link>http://sclaimon.wordpress.com/2009/11/12/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%80%e0%b8%82%e0%b8%b5%e0%b8%a2%e0%b8%99%e0%b9%82%e0%b8%9b%e0%b8%a3%e0%b9%81%e0%b8%81%e0%b8%a3%e0%b8%a1%e0%b8%a0%e0%b8%b2%e0%b8%a9%e0%b8%b2%e0%b8%9f%e0%b8%ad%e0%b8%a3/</link>
<pubDate>Thu, 12 Nov 2009 01:59:51 +0000</pubDate>
<dc:creator>SoClaimon</dc:creator>
<guid>http://sclaimon.wordpress.com/2009/11/12/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%80%e0%b8%82%e0%b8%b5%e0%b8%a2%e0%b8%99%e0%b9%82%e0%b8%9b%e0%b8%a3%e0%b9%81%e0%b8%81%e0%b8%a3%e0%b8%a1%e0%b8%a0%e0%b8%b2%e0%b8%a9%e0%b8%b2%e0%b8%9f%e0%b8%ad%e0%b8%a3/</guid>
<description><![CDATA[418214     การเขียนโปรแกรมภาษาฟอร์แทรน     FORTRAN Programming โครงสร้างและองค์ประกอบของภาษาฟอร์แทรน]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>418214     การเขียนโปรแกรมภาษาฟอร์แทรน     FORTRAN Programming</p>
<p>โครงสร้างและองค์ประกอบของภาษาฟอร์แทรน หลักการเขียนโปรแกรมภาษาฟอร์แทรนและการประยุกต์สำหรับงานด้านต่างๆ</p>
<p>(Structure and elements of FORTRAN. Principles of programming in FORTRAN and its applications.)</p>
<p>(418214 มหาวิทยาลัยเกษตรศาสตร์)</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[GIStemp GHCN Selection Bias Measured 0.6 C]]></title>
<link>http://chiefio.wordpress.com/2009/11/07/gistemp-ghcn-selection-bias-measured-0-6-c/</link>
<pubDate>Sat, 07 Nov 2009 22:13:27 +0000</pubDate>
<dc:creator>E.M.Smith</dc:creator>
<guid>http://chiefio.wordpress.com/2009/11/07/gistemp-ghcn-selection-bias-measured-0-6-c/</guid>
<description><![CDATA[Don't worry, it's only a temperature sausage from GIStemp Orginal image. The Un-Discovered Country I]]></description>
<content:encoded><![CDATA[Don't worry, it's only a temperature sausage from GIStemp Orginal image. The Un-Discovered Country I]]></content:encoded>
</item>
<item>
<title><![CDATA[Obtaining clock time using Fortran]]></title>
<link>http://techlogbook.wordpress.com/2009/11/05/obtaining-clock-time-using-fortran/</link>
<pubDate>Thu, 05 Nov 2009 06:00:20 +0000</pubDate>
<dc:creator>kurniawano</dc:creator>
<guid>http://techlogbook.wordpress.com/2009/11/05/obtaining-clock-time-using-fortran/</guid>
<description><![CDATA[to get the current time in Fortran, we can use &#8220;system_clock&#8221; built-in function. To do t]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>to get the current time in Fortran, we can use &#8220;system_clock&#8221; built-in function. To do this, take a look at the code below.<br />
<code><br />
integer::count_0,count_rate,count_max, walltime, tstart,tend<br />
call system_clock(count_0,count_rate,count_max)<br />
tstart=count_0/count_rate<br />
write(*,*) 'begin (system_clock)',tstart<br />
</code></p>
<p>To find out how long your program has run, add a similar line and save the time to, for example &#8220;t_end&#8221; variable, and get the difference. It will give the duration time in seconds.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Deeming periodogram codes on github]]></title>
<link>http://crashtestastronomer.wordpress.com/2009/11/05/deeming-periodogram-codes-on-github/</link>
<pubDate>Wed, 04 Nov 2009 23:33:33 +0000</pubDate>
<dc:creator>crashtestastronomer</dc:creator>
<guid>http://crashtestastronomer.wordpress.com/2009/11/05/deeming-periodogram-codes-on-github/</guid>
<description><![CDATA[I&#8217;ve uploaded the previous post&#8217;s source code to github. Get it at  http://gist.github.c]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I&#8217;ve uploaded the previous post&#8217;s source code to github.<br />
Get it at  <a title="http://gist.github.com/226473" href="http://gist.github.com/226473" target="_blank">http://gist.github.com/226473</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Mengapa [Harus] Belajar FORTRAN ?]]></title>
<link>http://sipilugm.wordpress.com/2009/11/04/mengapa-harus-belajar-fortran/</link>
<pubDate>Wed, 04 Nov 2009 04:18:04 +0000</pubDate>
<dc:creator>yhougam</dc:creator>
<guid>http://sipilugm.wordpress.com/2009/11/04/mengapa-harus-belajar-fortran/</guid>
<description><![CDATA[Genap dua kali sudah, saya sedikit berkecimpung dalam membantu mata kuliah Bahasa Pemrograman di Tek]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Genap dua kali sudah, saya sedikit berkecimpung dalam membantu mata kuliah Bahasa Pemrograman di Teknik Sipil UGM. Dua periode itu, membuat saya sedikit banyak mengetahui permasalahan yang kerap dihadapi mahasiswa baru di semester I, yang begitu beberapa bulan masuk kuliah langsung dijejali dengan logika-logika pemrograman. Bagi mahasiswa yang telah mendapatkan pelajaran TIK (Teknologi Informasi dan Komunikasi) semasa SMA, hampir dipastikan akan segera menyerap logika-logika tersebut dengan lancar.</p>
<p>Sementara bagi mereka yang kurang beruntung, dan tidak mendapatkan dasar-dasar materi Pemrograman semasa SMA, harus berjuang sedikit lebih keras untuk bisa memahami logika-logika percabangan, perulangan (looping), algoritma, flowchart, dan tetek bengek pemrograman lainnya.</p>
<p>Bagi mereka yang kritis, biasanya ada dua pertanyaan seputar mata kuliah Bahasa Pemrograman yang kerap ditanyakan :<!--more--></p>
<ol>
<li> Mengapa di jurusan seperti Teknik Sipil harus belajar Bahasa Pemrograman ?</li>
<li>Mengapa harus mempelajari bahasa FORTRAN ?</li>
</ol>
<p>Untuk pertanyaan yang pertama, biasanya akan segera terjawab dengan sendirinya jika telah memasuki perkuliahan di semester-semester 4 dan 5. Terutama ketika berhadapan dengan kasus-kasus Hidrolika, peninggian muka air yang harus diselesaikan dengan selembar penuh hitungan iterasi, penyelesaian debit perpipaan dengan sistem looping, perancangan dimensi saluran drainase perkotaan dengan software DUFLOW, dan juga yang paling legendaris dalam hal struktur, penyelesaian dengan Finite Element Method dan juga penyelesaian dengan Metode Matriks. Ruwetnya hitungan-hitungan tersebut akan dapat diselesaikan dengan program sederhana, yang dapat dibuat di kalkulator programmable sekalipun. Belum jika kita menemukan kasus-kasus lokal dalam proyek, yang memaksa kita untuk membuang software yang telah ada, dan membuat sendiri software yang sesuai dengan kasus tersebut.</p>
<p>Sementara untuk pertanyaan yang kedua, mengapa harus FORTRAN ? Perlu diketahui, biasanya dalam tengah semester awal, mata kuliah Bahasa Pemrograman murni mengajarkan program FORTRAN. Sebuah bahasa yang boleh dibilang kuno, yang dibuat di periode 1960-an saat awal munculnya komputer IBM. Jenis FORTRAN yang digunakan adalah WATFOR77, versi FORTRAN yang sesuai dengan namanya, dirilis pada tahun 1977. Lebih dari 30 tahun lalu.</p>
<p>Bahasa FORTRAN, ketika pertama kali mempelajarinya, terlihat sebagai bahasa yang lebih dulu diciptakan daripada C++, Pascal, dan bahasa pemrograman lainnya. Hal ini terasa dari beberapa poin :</p>
<ol>
<li>Tidak adanya operator “&#62;” (lebih dari), “&#60;” (kurang dari) dan “=” (sama dengan) pada perintah IF. Sebagai gantinya, digunakan LT (Less Than “&#60;”), GT (Bigger Than “&#62;”), dan EQ (Equal “=”)</li>
<li>Sangat Case Sensitive, terutama ketika kita menyimpan file, harus dengan huruf kapital, jika tidak, jangan harap bisa dibaca oleh Compiler.</li>
<li>Aturan penggunaan column yang ketat. Semua penulisan isi program harus diawali pada kolom ke 7.  Setahu saya, ini berguna bagi penyimpanan data untuk Punch Card (“Kartu Plong”) yang menjadi cikal bakal disket pipih nan lebar, sebagai media penyimpanan pada jaman doeloe.</li>
<li>Pangkat ditulis dalam ** dan bukan ^</li>
<li>dan kekunoan-kekunoan lainnya</li>
</ol>
<p>Semua kekunoan di atas membuat banyak mahasiswa berpikir : Mengapa harus FORTRAN ? Iseng-iseng, hal ini saya tanyakan kepada Pak Wir, sebutan akrab Dr. Ir. Wiryanto Dewobroto, dosen teknik sipil Universitas Pelita Harapan, dan juga alumni Teknik Sipil UGM. Beliau mengasuh sebuah blog yang amat ramai di <a href="http://wiryanto.wordpress.com">sini</a>. Saya mengajukan pertanyaan sebagai berikut :</p>
<p><em>Pak Wir, iseng saya ingin bertanya, mengapa di kurikulum teknik sipil kami (UGM), diharuskan mempelajari bahasa FORTRAN? Bukankah beralih ke C++ atau Java akan lebih baik mengingat sebagian besar program dasarnya adalah dua bahasa itu? Sampai sekarang saya masih belum bisa menemukankelebihan FORTRAN dibanding C++</em></p>
<p><em>Terima kasih ^^</em></p>
<p>Keesokan harinya, ternyata pertanyaan saya langsung dijawab :</p>
<p><em>@yhouga<br />
Lihat penjelasan atau pernyataan dari sdr Jedliem di atas. Saya kira saya sependapat dengannya. Karena bagi mahasiswa teknik sipil, penguasaan bahasa pemrograman hanya untuk melatih logika. Jadi gunakan saja bahasa pemrograman yang paling dikuasai dosennya. Kami di UPH tidak memakai Fortran tetapi memakai Visual Basic, alasan utamanya karena saya sebagai dosennya menikmati memakai bahasa program tersebut. Nggak usah mikir lagi.</em></p>
<p><em>Kalau ternyata nanti saya juga menguasai bahasa lain, misalnya C++ atau Java, maka ada kemungkinan saya pakai juga untuk mengajar. Pokoknya nggak ada yang kaku dengan bahasa program tersebut.</em></p>
<p><em>O ya, selain pemikiran tersebut ada baiknya suatu saat nanti dikaitkan dengan lisensi. Apakah kita sudah memakai program berlisensi. Jadi ada kemungkinan pakai yang versi “open”.<br />
</em><br />
Sebuah pemikiran yang bagus. Jadi, alih-alih harus belajar dua kali jika ingin mempelajari Visual Basic (dengan graphical user interface yang sangat friendly), mengapa tidak langsung saja diajarkan Visual Basic agar mahasiswa dapat membuat program yang lebih kreatif, dengan tampilan yang menarik pula? Namun, jika memang ingin melatih logika semata, boleh lah dengan FORTRAN. Hanya, meminjam bahasa ibu, itu hal yang mindhogaweni menurut saya, membuat pekerjaan menjadi dobel. Namun, pemikiran untuk menggunakan bahasa yang “open” juga perlu dipertimbangkan. Bukankah saat ini dicanangkan program UGOS (UGM Goes Open Source) ?</p>
<p>Semoga bermanfaat!</p>
<p><a href="http://yhougam.wordpress.com">-yhougam-</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Mengapa [Harus] Belajar FORTRAN ?]]></title>
<link>http://yhougam.wordpress.com/2009/11/03/mengapa-harus-belajar-fortran/</link>
<pubDate>Tue, 03 Nov 2009 09:04:23 +0000</pubDate>
<dc:creator>yhougam</dc:creator>
<guid>http://yhougam.wordpress.com/2009/11/03/mengapa-harus-belajar-fortran/</guid>
<description><![CDATA[Genap dua kali sudah, saya sedikit berkecimpung dalam membantu mata kuliah Bahasa Pemrograman di Tek]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img class="alignright size-thumbnail wp-image-77" title="images-computerscience-main1" src="http://yhougam.wordpress.com/files/2009/11/images-computerscience-main1.jpg?w=150" alt="images-computerscience-main1" width="150" height="106" />Genap dua kali sudah, saya sedikit berkecimpung dalam membantu mata kuliah Bahasa Pemrograman di Teknik Sipil UGM. Dua periode itu, membuat saya sedikit banyak mengetahui permasalahan yang kerap dihadapi mahasiswa baru di semester I, yang begitu beberapa bulan masuk kuliah langsung dijejali dengan logika-logika pemrograman. Bagi mahasiswa yang telah mendapatkan pelajaran TIK (Teknologi Informasi dan Komunikasi) semasa SMA, hampir dipastikan akan segera menyerap logika-logika tersebut dengan lancar. Termasuk saya yang ketika SMA, sekolah kami mempekerjakan mahasiswa-mahasiswa Teknik Elektro Universitas <!--more-->Brawijaya sebagai pengajar di pelajaran TIK.</p>
<p>Sedikit nostalgia, waktu itu ada 5 sekawan : Pak Ryan, Pak Bison, Pak Galih, Pak Fariz, dan juga Pak Aswin. Sengaja saya panggil Pak, karena saya menghormati mereka, walau keseharian kami biasa memanggil beliau-beliau dengan sebutan Mas saja. Karena yang mengajar mahasiswa, kami langsung saja diberi berbagai materi seputar jaringan, hardware (ketika SMP bahkan ada ujian merakit PC), dan tentu saja pemrograman berbasis C++. Bahkan, waktu itu kurikulum TIK kami disebut-sebut adalah yang paling maju di kota Malang. Dengan dasar seperti itulah, tidak sulit bagi saya untuk memahami 2 SKS mata kuliah Bahasa Pemrograman di Teknik Sipil UGM.</p>
<p>Sementara bagi mereka yang kurang beruntung, dan tidak mendapatkan dasar-dasar materi Pemrograman semasa SMA (termasuk yang mengherankan adalah terkadang dari SMA-SMA favorit di Jogja), harus berjuang sedikit lebih keras untuk bisa memahami logika-logika percabangan, perulangan (looping), algoritma, flowchart, dan tetek bengek pemrograman lainnya.</p>
<p>Bagi mereka yang kritis, biasanya ada dua pertanyaan seputar mata kuliah Bahasa Pemrograman yang kerap ditanyakan :</p>
<ol>
<li>Mengapa di jurusan seperti Teknik Sipil harus belajar Bahasa Pemrograman ?</li>
<li>Mengapa harus mempelajari bahasa FORTRAN ?</li>
</ol>
<p>Untuk pertanyaan yang pertama, biasanya akan segera terjawab dengan sendirinya jika telah memasuki perkuliahan di semester-semester 4 dan 5. Terutama ketika berhadapan dengan kasus-kasus Hidrolika, peninggian muka air yang harus diselesaikan dengan selembar penuh hitungan iterasi, penyelesaian debit perpipaan dengan sistem looping, perancangan dimensi saluran drainase perkotaan dengan software DUFLOW, dan juga yang paling legendaris dalam hal struktur, penyelesaian dengan Finite Element Method dan juga penyelesaian dengan Metode Matriks. Ruwetnya hitungan-hitungan tersebut akan dapat diselesaikan dengan program sederhana, yang dapat dibuat di kalkulator programmable sekalipun. Belum jika kita menemukan kasus-kasus lokal dalam proyek, yang memaksa kita untuk membuang software yang telah ada, dan membuat sendiri software yang sesuai dengan kasus tersebut.</p>
<p>Sementara untuk pertanyaan yang kedua, mengapa harus FORTRAN ? Perlu diketahui, biasanya dalam tengah semester awal, mata kuliah Bahasa Pemrograman murni mengajarkan program FORTRAN. Sebuah bahasa yang boleh dibilang kuno, yang dibuat di periode 1960-an saat awal munculnya komputer IBM. Jenis FORTRAN yang digunakan adalah WATFOR77, versi FORTRAN yang sesuai dengan namanya, dirilis pada tahun 1977. Lebih dari 30 tahun lalu.</p>
<p>Bahasa FORTRAN, ketika pertama kali mempelajarinya, terlihat sebagai bahasa yang lebih dulu diciptakan daripada C++, Pascal, dan bahasa pemrograman lainnya. Hal ini terasa dari beberapa poin :</p>
<ol>
<li>Tidak adanya operator &#8220;&#62;&#8221; (lebih dari), &#8220;&#60;&#8221; (kurang dari) dan &#8220;=&#8221; (sama dengan) pada perintah IF. Sebagai gantinya, digunakan LT (Less Than &#8220;&#60;&#8221;), GT (Bigger Than &#8220;&#62;&#8221;), dan EQ (Equal &#8220;=&#8221;)</li>
<li>Sangat Case Sensitive, terutama ketika kita menyimpan file, harus dengan huruf kapital, jika tidak, jangan harap bisa dibaca oleh Compiler.</li>
<li>Aturan penggunaan column yang ketat. Semua penulisan isi program harus diawali pada kolom ke 7.  Setahu saya, ini berguna bagi penyimpanan data untuk Punch Card (&#8220;Kartu Plong&#8221;) yang menjadi cikal bakal disket pipih nan lebar, sebagai media penyimpanan pada jaman doeloe.</li>
<li>Pangkat ditulis dalam ** dan bukan ^</li>
<li>dan kekunoan-kekunoan lainnya</li>
</ol>
<p>Semua kekunoan di atas membuat banyak mahasiswa berpikir : Mengapa harus FORTRAN ? Iseng-iseng, hal ini saya tanyakan kepada Pak Wir, sebutan akrab Dr. Ir. Wiryanto Dewobroto, dosen teknik sipil Universitas Pelita Harapan, dan juga alumni Teknik Sipil UGM. Beliau mengasuh sebuah blog yang amat ramai di http://wiryanto.wordpress.com Saya mengajukan pertanyaan sebagai berikut :</p>
<p><em>Pak Wir, iseng saya ingin bertanya, mengapa di kurikulum teknik sipil kami (UGM), diharuskan mempelajari bahasa FORTRAN? Bukankah beralih ke C++ atau Java akan lebih baik mengingat sebagian besar program dasarnya adalah dua bahasa itu? Sampai sekarang saya masih belum bisa menemukankelebihan FORTRAN dibanding C++</em></p>
<p><em>Terima kasih ^^</em></p>
<p>Keesokan harinya, ternyata pertanyaan saya langsung dijawab :</p>
<p><em>@yhouga<br />
Lihat penjelasan atau pernyataan dari sdr Jedliem di atas. Saya kira saya sependapat dengannya. Karena bagi mahasiswa teknik sipil, penguasaan bahasa pemrograman hanya untuk melatih logika. Jadi gunakan saja bahasa pemrograman yang paling dikuasai dosennya. Kami di UPH tidak memakai Fortran tetapi memakai Visual Basic, alasan utamanya karena saya sebagai dosennya menikmati memakai bahasa program tersebut. Nggak usah mikir lagi.</em></p>
<p><em>Kalau ternyata nanti saya juga menguasai bahasa lain, misalnya C++ atau Java, maka ada kemungkinan saya pakai juga untuk mengajar. Pokoknya nggak ada yang kaku dengan bahasa program tersebut.</em></p>
<p><em>O ya, selain pemikiran tersebut ada baiknya suatu saat nanti dikaitkan dengan lisensi. Apakah kita sudah memakai program berlisensi. Jadi ada kemungkinan pakai yang versi “open”.</em></p>
<p>Sebuah pemikiran yang bagus. Jadi, alih-alih harus belajar dua kali jika ingin mempelajari Visual Basic (dengan graphical user interface yang sangat friendly), mengapa tidak langsung saja diajarkan Visual Basic agar mahasiswa dapat membuat program yang lebih kreatif, dengan tampilan yang menarik pula? Namun, jika memang ingin melatih logika semata, boleh lah dengan FORTRAN. Hanya, meminjam bahasa ibu, itu hal yang mindhogaweni menurut saya, membuat pekerjaan menjadi dobel. Namun, pemikiran untuk menggunakan bahasa yang &#8220;open&#8221; juga perlu dipertimbangkan. Bukankah saat ini dicanangkan program UGOS (UGM Goes Open Source) ?</p>
<p>Semoga bermanfaat!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Debugging OpenMP fortran code ]]></title>
<link>http://techlogbook.wordpress.com/2009/10/28/debugging-openmp-fortran-code/</link>
<pubDate>Wed, 28 Oct 2009 06:25:21 +0000</pubDate>
<dc:creator>kurniawano</dc:creator>
<guid>http://techlogbook.wordpress.com/2009/10/28/debugging-openmp-fortran-code/</guid>
<description><![CDATA[As the code becomes parallel, the complexity increases. One of the common problem in parallel code i]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>As the code becomes parallel, the complexity increases. One of the common problem in parallel code is data race. To debug this problem, I encounter that Intel&#8217;s Thread Checker to be a good software. You can download from the Intel&#8217;s website for evaluation.  I found about this when I read <a href="http://www.viva64.com/content/articles/parallel-programming/?f=OpenMP_debug_and_optimization.html&#38;lang=en&#38;content=parallel-programming">this article</a></p>
<p>When I run tcheck_cl, I realized that some parts has a data race. So I need to eliminate this. I couldn&#8217;t make it private since it will give segmentation fault (<a href="http://www.mail-archive.com/gcc-bugs@gcc.gnu.org/msg260891.html">refer to this bug</a>). So I simply add the !$omp critical to the section that has the data race. And it solves the problem.</p>
<p>Anyway, Intel&#8217;s Thread Checker really helped to identify which section of the code has the problem.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Como um programador mata um Dragão...]]></title>
<link>http://borgesbruno.wordpress.com/2009/10/23/como-um-programador-mata-um-dragao/</link>
<pubDate>Fri, 23 Oct 2009 10:24:50 +0000</pubDate>
<dc:creator>borgesbruno</dc:creator>
<guid>http://borgesbruno.wordpress.com/2009/10/23/como-um-programador-mata-um-dragao/</guid>
<description><![CDATA[Toda Sexta postarei um artigo mais descontraído. Como os programadores matam os dragões… Java Chega,]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Toda Sexta postarei um artigo mais descontraído.</p>
<p><em><strong>Como os programadores matam os dragões…</strong></em></p>
<p><strong>Java</strong><br />
Chega, encontra o dragão. Desenvolve um framework para aniquilamento de dragões em múltiplas camadas.<br />
Escreve vários artigos sobre o framework, mas não mata o dragão.</p>
<p><strong>.NET</strong><br />
Chega, olha a idéia do Javanês e a copia, tenta matar o dragão, mas é comido pelo réptil.</p>
<p><strong>ASP</strong><br />
Os componentes necessários para levantar a espada são proprietários e caros. Outros tantos componentes proprietários para achar a localização do dragão, e mais outros tantos a localização da princesa. Chama então seu amigo programador de PHP.</p>
<p><strong>C</strong><br />
Chega, olha para o dragão com olhar de desprezo, puxa seu canivete, degola o dragão. Encontra a princesa, mas a ignora para ver os últimos checkins no cvs do<br />
kernel do linux.</p>
<p><!--more--></p>
<p><strong>C++</strong><br />
Cria um canivete básico e vai juntando funcionalidades até ter uma espada complexa que apenas ele consegue entender … Mata o dragão, mas trava no meio da ponte por causa dos memory leaks.</p>
<p><strong>COBOL</strong><br />
Chega, olha o dragão, pensa que tá velho demais para conseguir matar um bicho daquele tamanho e pegar a princesa e, então, vai embora de volta ao seu<br />
mundinho.<!--more--></p>
<p><strong>Pascal</strong><br />
Se prepara durante 10 anos para criar um sistema de aniquilamento de dragão… Chegando lá descobre que o programa só aceita lagartixas como entrada.</p>
<p><strong>VB</strong><br />
Monta uma arma de destruição de dragões a partir de vários componentes, parte pro pau pra cima do dragão e, na hora H, descobre que a espada só funciona<br />
durante noites chuvosas…</p>
<p><strong>PL/SQL</strong><br />
Coleta dados de outros matadores de dragão, cria tabelas com N relacionamentos de complexidade ternária, dados em 3 dimensões, OLAP, demora 15 anos para processar a informação. Enquanto isso a princesa virou lésbica.</p>
<p><strong>PHP</strong><br />
Pesquisa bancos de scripts e acha as classes de construção de espada, manuseio da espada, localização da princesa e dragão. Remenda tudo e coloca umas firúlas próprias.<br />
Mata o dragão e casa com a princesa. Como tudo foi feito com gambiarras, o dragão um dia vai ressuscitar e comer os dois.</p>
<p><strong>Ruby</strong><br />
Chega com uma baita fama, falando que é o melhor faz tudo, quando vai enfrentar o dragão mostra um videozinho dele matando um dragão … O dragão come ele de tédio.</p>
<p><strong>Smalltalk</strong><br />
Chega, analisa o dragão e a princesa, vira as costas e vai embora, pois eles são muito inferiores.</p>
<p><!--adsense#esq_lateral--><strong>ASSEMBLY</strong><br />
Acha que está fazendo o mais certo e enxuto, porém troca um A por D, mata a princesa e transa com o dragão.</p>
<p><strong>Shell</strong><br />
Cria uma arma poderosa para matar os dragões, mas na hora H, não se lembra como usá-la.</p>
<p><strong>Shell (2)</strong><br />
O cara chega no dragão com um script de 2 linhas que mata, corta, stripa, pica em pedacinhos e empalha o bicho, mas na hora que ele roda, o script aumenta,<br />
engorda, enfurece e coloca álcool no fogo do dragão.</p>
<p><strong>Fortran</strong><br />
Chega desenvolve uma solução com 45000 linhas de código, mata o dragão vai ao encontro da princesa …<br />
mas esta o chama de tiuzinho e sai correndo atrás do programador java que era elegante e ficou rico.</p>
<p><strong>FOX PRO</strong><br />
Desenvolve um sistema para matar o dragão, por fora é bonitinho e funciona, mas por dentro está tudo remendado. Quando ele vai executar o aniquilador de<br />
dragões lembra que esqueceu de indexar os DBF’s.</p>
<p><strong>CLIPPER</strong><br />
Monta uma rotina que carrega um array de codeblocks para insultar o dragão, cantar a princesa, carregar a espada para memória, moer o dragão, limpar a sujeira, lascar leite condensado com morangos na princesa gostosa, transar com a princesa, tomar banho, ligar o carro, colocar gasolina e voltar pra casa. Na hora de<br />
rodar recebe um “Bound Error: Array Access” e o dragão come ele com farinha.</p>
<p><strong>ANALISTA DE PROCESSOS</strong><br />
Chega ao dragão com duas toneladas de documentação desenvolvida sobre o processo de se matar um dragão genérico, desenvolve um fluxograma super complexo para libertar a princesa e se casar com ela, convence o dragão que aquilo vai ser bom pra ele e que não será doloroso. Ao executar o processo ele estima o esforço e o tamanho do estrago que isso vai causar, consegue o aval do papa, do Buda e do Raul Seixas para o plano, e então compra 2 bombas nucleares, 45 canhões, 1 porta aviões, contrata 300 homens armados até os dentes, quando<br />
na verdade necessitaria apenas da espada que estava na sua mão o tempo todo.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[GIStemp - Send In The Zones]]></title>
<link>http://chiefio.wordpress.com/2009/10/22/gistemp-send-in-the-zones/</link>
<pubDate>Fri, 23 Oct 2009 03:15:42 +0000</pubDate>
<dc:creator>E.M.Smith</dc:creator>
<guid>http://chiefio.wordpress.com/2009/10/22/gistemp-send-in-the-zones/</guid>
<description><![CDATA[Send in the Clowns, There Must Be Clowns Orginal Image Send in The Zones, There Must be Zones Someti]]></description>
<content:encoded><![CDATA[Send in the Clowns, There Must Be Clowns Orginal Image Send in The Zones, There Must be Zones Someti]]></content:encoded>
</item>
<item>
<title><![CDATA[VTK error reading ascii data! when writing using Fortran]]></title>
<link>http://techlogbook.wordpress.com/2009/10/23/vtk-error-reading-ascii-data-when-writing-using-fortran/</link>
<pubDate>Fri, 23 Oct 2009 02:28:02 +0000</pubDate>
<dc:creator>kurniawano</dc:creator>
<guid>http://techlogbook.wordpress.com/2009/10/23/vtk-error-reading-ascii-data-when-writing-using-fortran/</guid>
<description><![CDATA[I write a fortran code and save the data in VTK legacy format with structured points. However, for c]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I write a fortran code and save the data in VTK legacy format with structured points. However, for certain data somehow Paraview and Mayavi are unable to read the VTK file. It gives a &#8220;Generic Warning&#8221;, and says that<br />
<code>Error reading ascii data!</code></p>
<p>After days of debugging, it turns out that the cause is my precision, I used double precision for my data, and there are some data with 3 digit for the exponents, and I write to the file using ES format. This turns out cannot be read by Paraview and Mayavi. So when I changed the format to F which is just a floating point with decimal points (no exponents), then paraview and mayavi2 can read my data. But this is of course is not a good format to store. And after looking for more detail in Fortran languange, I can set my digit in the exponent to only 2. This is the format in fortran</p>
<p>ESw.dEe</p>
<p>where &#8220;e&#8221; is the digit for the exponent.</p>
<p>The other thing is that In VTK, I set the data type as &#8220;float&#8221;, I need to change this to &#8220;double&#8221;.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Thermometer Langoliers Lunch, 2005 vs 2008]]></title>
<link>http://chiefio.wordpress.com/2009/10/22/thermometer-langoliers-lunch-2005-vs-2008/</link>
<pubDate>Thu, 22 Oct 2009 17:45:06 +0000</pubDate>
<dc:creator>E.M.Smith</dc:creator>
<guid>http://chiefio.wordpress.com/2009/10/22/thermometer-langoliers-lunch-2005-vs-2008/</guid>
<description><![CDATA[The Great Dying of Thermometers In this posting, we are looking in depth at the last half of the ]]></description>
<content:encoded><![CDATA[The Great Dying of Thermometers In this posting, we are looking in depth at the last half of the ]]></content:encoded>
</item>
<item>
<title><![CDATA[Smalltalk]]></title>
<link>http://strichundstrich.wordpress.com/2009/10/15/smalltalk/</link>
<pubDate>Thu, 15 Oct 2009 13:48:19 +0000</pubDate>
<dc:creator>strichundstrich</dc:creator>
<guid>http://strichundstrich.wordpress.com/2009/10/15/smalltalk/</guid>
<description><![CDATA[]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img class="aligncenter size-full wp-image-452" title="smalltalk" src="http://strichundstrich.wordpress.com/files/2009/10/smalltalk.jpg" alt="smalltalk" width="500" height="710" /></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Notepad++ 5.5.1]]></title>
<link>http://netvietnam.org/2009/10/09/notepad-5-5-1/</link>
<pubDate>Fri, 09 Oct 2009 12:15:09 +0000</pubDate>
<dc:creator>Nhân Mã</dc:creator>
<guid>http://netvietnam.org/2009/10/09/notepad-5-5-1/</guid>
<description><![CDATA[Notepad++ là trình biên tập mã nguồn miễn phí (và là công cụ thay thế cho Notepad), hỗ trợ nhiều ngô]]></description>
<content:encoded><![CDATA[Notepad++ là trình biên tập mã nguồn miễn phí (và là công cụ thay thế cho Notepad), hỗ trợ nhiều ngô]]></content:encoded>
</item>
<item>
<title><![CDATA[Phần 6: Fortran + CUDA  (2) variables]]></title>
<link>http://vietnamen.wordpress.com/2009/10/08/ph%e1%ba%a7n-5-fortran-cuda-2-variables/</link>
<pubDate>Thu, 08 Oct 2009 16:21:12 +0000</pubDate>
<dc:creator>vietnamen</dc:creator>
<guid>http://vietnamen.wordpress.com/2009/10/08/ph%e1%ba%a7n-5-fortran-cuda-2-variables/</guid>
<description><![CDATA[Variables Như ta đã đề cập, CUDA có nhiều cấp độ bộ nhớ, vì thế, việc chọn lựa nơi lưu trữ cũng rất ]]></description>
<content:encoded><![CDATA[Variables Như ta đã đề cập, CUDA có nhiều cấp độ bộ nhớ, vì thế, việc chọn lựa nơi lưu trữ cũng rất ]]></content:encoded>
</item>
<item>
<title><![CDATA[Phần 5: Fortran + CUDA (1) subprogram]]></title>
<link>http://vietnamen.wordpress.com/2009/10/07/ph%e1%ba%a7n-5-fortran-cuda-1-subprogram/</link>
<pubDate>Wed, 07 Oct 2009 16:37:49 +0000</pubDate>
<dc:creator>vietnamen</dc:creator>
<guid>http://vietnamen.wordpress.com/2009/10/07/ph%e1%ba%a7n-5-fortran-cuda-1-subprogram/</guid>
<description><![CDATA[subprogram (Subroutine/Function) Define Chương trình chính sẽ luôn chạy trên host, còn các subprogra]]></description>
<content:encoded><![CDATA[subprogram (Subroutine/Function) Define Chương trình chính sẽ luôn chạy trên host, còn các subprogra]]></content:encoded>
</item>
<item>
<title><![CDATA[The current state and future of C++]]></title>
<link>http://imranhunzai.wordpress.com/2009/10/06/the-current-state-and-future-of-c/</link>
<pubDate>Tue, 06 Oct 2009 17:25:03 +0000</pubDate>
<dc:creator>Imran Hunzai</dc:creator>
<guid>http://imranhunzai.wordpress.com/2009/10/06/the-current-state-and-future-of-c/</guid>
<description><![CDATA[The days of C++ as a general purpose programming language are quickly ending for most developers. Th]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="line-height:1.3em;margin:12px 10px;padding:0;">The days of C++ as a general purpose programming language are quickly ending for most developers. There are still lots of great uses for C++, particularly for OS-level work, low-level work (embedded devices, device drivers, etc.), certain high-performance applications, and applications where the overhead of a system like .NET or Java would be too heavy (like an office suite). Some developers will continue to use C++ for applications that other, less complex languages can handle as well. But for the typical developer, C++ is a big headache for minimal gain.</p>
<p style="line-height:1.3em;margin:12px 10px;padding:0;">The performance issues that most developers face are not the kinds of issues that moving to native code will resolve; once you take performance out of the equation, C++ is a fairly unattractive option for application development in most cases.</p>
<p style="line-height:1.3em;margin:12px 10px;padding:0;">The handful of C++ developers that I’ve talked to say using C++ in the .NET managed environment is not particularly attractive to them; this takes away much of the opportunity to use it in a Web development capacity, unless you want to use it in the CGI model. There are good things about CGI (less overhead, simple conceptual model) and bad things about CGI (your application has to be “aware” of many more low-level tasks). From what I’ve heard, under the .NET CLR, C++ loses its speed, as well as many of the things that make C++ useful.</p>
<p style="line-height:1.3em;margin:12px 10px;padding:0;">This is not to say that C++ is going away any time soon. I see C++ joining the ranks of COBOL and FORTRAN as a legacy language with a massive installation base and a need for people to maintain/extend existing applications for more than 50 years. In addition, a number of new development projects will be started in it for a variety of reasons (familiarity, library support, tradition/habit, cultural, etc.). I also suspect that it will pick up a reputation as a “dead” language (again, like COBOL), due more to a lack of buzz and hype than actual non-usage (also like COBOL).</p>
<p style="line-height:1.3em;margin:12px 10px;padding:0;">I don’t want to make the future for C++ sound dismal; if anything, I think there is great potential for C++ developers to do quite nicely for themselves. If you’re a C++ developer, I suggest that you stick with the language. Are the things you’re working on flashy or get the same attention as Web applications in the mainstream publications? No. But with the current salary structures, I feel that experienced C++ developers will see very nice paychecks for some time. In addition, as the remaining C++ work is of higher difficulty and fewer people learn C++ (it isn’t taught as frequently in colleges these days), I expect C++ developers to have more job security and better compensation than .NET or Java developers over the long run.</p>
<p style="line-height:1.3em;margin:12px 10px;padding:0;">While C++ in Web development is not likely to become mainstream any time soon and desktop application development in C++ becomes less common, I think there is a lot of upside opportunity for C++ in certain aspects of cloud computing. For some projects (think of ones that are well suited to supercomputers), the cloud offers C++ developers a way to get the same benefits of grid computing but with much more flexibility. There is a lot of overlap between those projects and the kinds of projects for which developers regularly use C++. As a result, I think cloud computing will replace or supplement grids and supercomputers in many projects and will provide an excellent opportunity to see C++ used in new and innovative ways.</p>
<p style="line-height:1.3em;margin:12px 10px;padding:0;">Keep in mind that much of this analysis is focused on the Windows world. From what I see, the *Nix development community is still very C/C++ oriented. C++ developers who are concerned about dwindling opportunities in Windows should definitely take a look at *Nix development.</p>
<p style="line-height:1.3em;margin:12px 10px;padding:0;">I believe that C++ will slowly fade into the background, but it will neither die nor will it ever become unimportant. While most developers I know have never touched C++ in a real-world environment, many developers would benefit from learning it, if only to gain some appreciation of various languages, including Java, .NET, and Ruby.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Phần 4: Fortran + CUDA + Accelerator (0) install + compile]]></title>
<link>http://vietnamen.wordpress.com/2009/10/04/ph%e1%ba%a7n-4-fortran-cuda/</link>
<pubDate>Mon, 05 Oct 2009 03:11:07 +0000</pubDate>
<dc:creator>vietnamen</dc:creator>
<guid>http://vietnamen.wordpress.com/2009/10/04/ph%e1%ba%a7n-4-fortran-cuda/</guid>
<description><![CDATA[NVIDIA phối hợp cùng PGI (Portland Group) cuối cùng đã cho ra Fortran compiler với CUDA support. Trư]]></description>
<content:encoded><![CDATA[NVIDIA phối hợp cùng PGI (Portland Group) cuối cùng đã cho ra Fortran compiler với CUDA support. Trư]]></content:encoded>
</item>
<item>
<title><![CDATA[Intel Fortran Derleyicisi]]></title>
<link>http://hasbilgi.wordpress.com/2009/09/23/intel-fortran-derleyicisi/</link>
<pubDate>Wed, 23 Sep 2009 19:23:23 +0000</pubDate>
<dc:creator>bilgealp</dc:creator>
<guid>http://hasbilgi.wordpress.com/2009/09/23/intel-fortran-derleyicisi/</guid>
<description><![CDATA[Intel firması derleyici konusunda yaptığı ataklarda Fortran&#8217;ı da unutmadı. Bunun sebebi ise dü]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Intel firması derleyici konusunda yaptığı ataklarda Fortran&#8217;ı da unutmadı. Bunun sebebi ise dünyada vazgeçilemeyecek kadar büyük maliyette Fortran kodunun bulunması. Zaten son dönemde eklenen özellikler ile dilin yapabileceklerinin de sınırı epeyi genişletildiğinden Fortran tahmin edildiği gibi ölmedi. Pek çok Fortran kullanıcısı gibi ben de onlarca programlama dili öğrenip çeşitli yazılımlar geliştirmiş olsam da iş mühendislik hesabına gelince Fortran&#8217;ı -alışkanlıklar nedeniyle C&#8217;yi göz ardı edersem- bu ayakta tek geçiyorum.</p>
<p>Yıllarca kendimi Windows&#8217;a hapsettikten sonra Vista macerasıyla zevki kırılan birisi olarak Linux bu konuda da bir yenilikler zinciri başlattı. Çünkü Intel ticari olmayan amaçlar için Fortran derleyicisinin son sürümünü ücretsiz dağıtıyor. Hatta Akademik programı var. Eğer akademisyenseniz 370 dolara öğrenciyseniz 130 dolara bu derleyicinin son sürümüne ekleriyle birlikte sahip oluyorsunuz. Koduna güvenen herkes için değecek bir fiyat. Bu ülke araştırma projelerinin bütçelerinde onbinlerce dolarlık yabancı yazılımların satın aldığını da görüyor olmasına rağmen 3-4 yüz dolara derleyici alıp kod geliştiren araştırmacıları da görüyor.</p>
<p>Sonra henüz bütün seti satın almadıysanız ücretsiz takılıyorsanız ve Linux&#8217;un engin denizinde yol almaya başlamışsanız sizi dünyanın gelmiş geçmiş en iyi kod geliştirme ortamı olan Eclipse ve ona Fortran için entegre olmuş Photran sizi ücretsiz olarak beklemekte.</p>
<p>Bütün bunlar size çok ciddi bir özgürlük kazandırıyor. Kendinizi sonuna kadar rahat hissediyorsunuz. Bir gün geliştirdiğiniz kod paraya döner hale gelirse de Intel&#8217;e vereceğiniz para hazır kodların ülkeye maliyeti yanında solda sıfır kalır.</p>
<p>Bu sebeple herkese Linx altında Fortran derleyicisini Photran ile entegre ederek kullanmaları şiddetle tavsiye olunur.</p>
<p>Selam, sevgi, saygı ve dostluk&#8230;</p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
