<?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>jit &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://wordpress.com/tag/jit/</link>
	<description>Feed of posts on WordPress.com tagged "jit"</description>
	<pubDate>Sat, 19 Jul 2008 18:50:02 +0000</pubDate>

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

<item>
<title><![CDATA[Performance di alcuni linguaggi di programmazione ]]></title>
<link>http://fripp.wordpress.com/?p=178</link>
<pubDate>Mon, 14 Jul 2008 13:42:30 +0000</pubDate>
<dc:creator>fripp</dc:creator>
<guid>http://fripp.wordpress.com/?p=178</guid>
<description><![CDATA[Non avendo nulla di meglio da fare, mi son messo a valutare le performance di esecuzione dei linguag]]></description>
<content:encoded><![CDATA[<p>Non avendo nulla di meglio da fare, mi son messo a valutare le performance di esecuzione dei linguaggi che conosco nella risoluzione del <a href="http://mathworld.wolfram.com/JosephusProblem.html" target="_blank">"Problema di Flavio Giuseppe"</a>, la cui soluzione vi permetterà di salvarvi nel caso abbiate deciso all'ultimo minuto di salvarvi da un suicidio di massa (leggete prima in cosa consiste il problema per capire la battutaccia :) ).</p>
<p>Ho testato le prestazioni di C, Java, Python, Ruby, C# usando per tutti le stesse condizioni:</p>
<ul>
<li>100000 iterazioni</li>
<li>risoluzione, ad ogni iterazione, del problema che dovette affrontare Flavio Giuseppe in persona: 40 partecipanti al suicidio e determinazione del prossimo suicida contando a 3 a 3 a giro</li>
</ul>
<p>I test sono stati fatti con questa configurazione:</p>
<p>OS: Mac OS 10.5.4</p>
<p>CPU: Intel(R) Core(TM)2 CPU T7600 @ 2.33GHz</p>
<p>RAM :2 GB</p>
<p>Il risultato del test è dato dal tempo medio (su 10 test )per ogni iterazione espresso in microsecondi.</p>
<p>Ecco la tabella dei risultati.</p>
<table border="0">
<tbody>
<tr>
<td>Linguaggio</td>
<td>Versione</td>
<td>Note</td>
<td>Tempo medio per iterazione (microsecondi)</td>
</tr>
<tr>
<td>Ansi C</td>
<td>Compilatore: i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5465)</td>
<td>Compilazione con flag -O3</td>
<td>0.235951</td>
</tr>
<tr>
<td>Ansi C++</td>
<td>Compilatore: i686-apple-darwin9-g++-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5465)</td>
<td>Compilazione con flag -O3<br />
Uso di funzioni inline</td>
<td>0.205846</td>
</tr>
<tr>
<td>C#</td>
<td>Mono Framework - 1.9.1_3</td>
<td></td>
<td>0.846871</td>
</tr>
<tr>
<td rowspan="2">Java</td>
<td>java version "1.5.0_13"</td>
<td></td>
<td>1.898368</td>
</tr>
<tr>
<td>java version "1.6.0_5"</td>
<td></td>
<td>0.665434</td>
</tr>
<tr>
<td rowspan="2">Python</td>
<td rowspan="2">Python 2.5.1 (r251:54863, Jan 17 2008, 19:35:17)</td>
<td></td>
<td>24.0439097881</td>
</tr>
<tr>
<td>Uso del compilatore JIT Psyco 1.6</td>
<td>5.55800628662</td>
</tr>
<tr>
<td>Ruby</td>
<td>ruby 1.8.6 (2008-03-03 patchlevel 114)</td>
<td></td>
<td>55.700048</td>
</tr>
</tbody>
</table>
<p>Per analizzare i risultati occorre precisare che mi sono rifatto allo standard C89 per il C (che non prevede le funzioni inline); ecco perchè il C++ con le funzioni inline risulta più performante.</p>
<p>Se provate a compilare i sorgenti C che seguono mettendo la parola chiave <em>inline </em>nell'implementazione della funzione e compilando usando il flag -std=c99 vedrete che le prestazioni di C e C++ saranno uguali. Nel C++ ciò che fa perder prestazioni è il <em>binding tardivo</em>: polimorfismo, template ecc.</p>
<p>Con notevole sorpresa, ho constatato come la JVM non sfigura affato; addirittura con Java 6 i tempi medi sono più che dimezzati.</p>
<p>I fanalini di coda (c'era da aspettarselo) sono Python e Ruby, col primo in vantaggio sul secondo; per l'occasione ho sperimentato in Python l'uso di <a href="http://psyco.sourceforge.net/index.html" target="_blank">Psyco</a>, un compilatore JIT, e devo dire che i risultati si vedono: l'esecuzione del codice col modulo Psyco attivo è più veloce di circa l'80% rispetto a quella senza Psyco.</p>
<p>L'algoritmo che ho usato per risolvere il problema è trattato in <a href="http://citeseer.ist.psu.edu/rd/48300427%2C676014%2C1%2C0.25%2CDownload/http://citeseer.ist.psu.edu/cache/papers/cs/31150/http:zSzzSzwww.cclub.metu.edu.trzSz%7EfagelgizSzstudieszSztheoryzSzjosephuszSzpaperzSzjosephus.pdf/gelgi02time.pdf" target="_blank">questa</a> pubblicazione; tale algoritmo ha una complessità pari a $latex O(m + \log_{\frac{m}{m-1}} \left ( \frac{n}{m} \right ) )$, dove $latex n$ è il numero di persone nel gruppo e $latex m$ è il numero usato per la conta.</p>
<p>Di seguito troverete il codice usato per fare il test nei vari linguaggi.</p>
<p>Codice C:<br />
<!--more--><br />
[sourcecode language="C"]</p>
<p>#include <stdio .h><br />
#include <stdlib .h><br />
#include <sys /time.h><br />
#include<br />
<math .h>
<p>int solve(int,int);<br />
int josephus(int,int);</p>
<p>int main(int argc, char **argv){<br />
    int ITER;<br />
    double DITER;<br />
    int sec, msec, time;<br />
    double mtime,tottime;<br />
    struct timeval start, end;<br />
    register int i,j; </p>
<p>    ITER = 100000;<br />
    DITER = 100000.0;</p>
<p>    tottime = 0.0;</p>
<p>    for(j=0;j&#60;10;j++){<br />
        gettimeofday(&start,NULL);<br />
        for(i = 0 ; i < ITER ; i++)<br />
            josephus(40,3);</p>
<p>        gettimeofday(&end,NULL);</p>
<p>        msec = end.tv_usec - start.tv_usec;<br />
        sec = end.tv_sec - start.tv_sec;<br />
        time = sec * 1000000 + msec;</p>
<p>        mtime = time/DITER;<br />
        tottime += mtime;</p>
<p>    }</p>
<p>    fprintf(stdout,"Mean time per iteration= %f microseconds\n\r", tottime/10);<br />
    return 0;<br />
}</p>
<p>int solve(int n, int q){<br />
    int jn = 0;</p>
<p>    register int i;</p>
<p>    for(i=1; i<=n; i++)<br />
        jn = (jn + q - 1) % i + 1;</p>
<p>    return jn;<br />
}</p>
<p>int josephus(int n, int q){<br />
    int t;<br />
    if(n <= q) return solve(q,q);<br />
    else{<br />
        int jn = josephus(((int) (n - floor(n/q))),q);</p>
<p>        if(jn <= (n%q))<br />
            return jn + ((int) (floor(n/q)) * q);<br />
        else{<br />
            jn -= n % q;</p>
<p>            t = ((int) (floor(jn/(q-1))) * q);</p>
<p>            return !(jn%(q-1)) ? t-1 : t+jn%(q-1);<br />
        }<br />
    }<br />
}<br />
[/sourcecode]</p>
<p>Codice C++:</p>
<p>[sourcecode language="c++"]</p>
<p>#include <iostream><br />
#include <cmath><br />
#include <sys /time.h></p>
<p>using std::cout;<br />
using std::endl;</p>
<p>int solve(int,int);<br />
int josephus(int,int);</p>
<p>int main(int argc, char **argv){<br />
    int ITER;<br />
    double DITER;<br />
    int sec, msec, time;<br />
    double mtime,tottime;<br />
    struct timeval start, end;</p>
<p>    ITER = 100000;<br />
    DITER = 100000.0;</p>
<p>    tottime = 0.0;</p>
<p>    for(int j=0;j&#60;10;j++){<br />
        gettimeofday(&start,NULL);<br />
        for(int i = 0 ; i < ITER ; i++)<br />
            josephus(40,3);</p>
<p>        gettimeofday(&end,NULL);</p>
<p>        msec = end.tv_usec - start.tv_usec;<br />
        sec = end.tv_sec - start.tv_sec;<br />
        time = sec * 1000000 + msec;</p>
<p>        mtime = time/DITER;<br />
        tottime += mtime;</p>
<p>    }</p>
<p>    cout << "Mean time per iteration = " << tottime/10 <<" microseconds" << endl;<br />
    return 0;<br />
}</p>
<p>inline int solve(int n, int q){<br />
    int jn = 0;</p>
<p>    register int i;</p>
<p>    for(i=1; i<=n; i++)<br />
        jn = (jn + q - 1) % i + 1;</p>
<p>    return jn;<br />
}</p>
<p>inline int josephus(int n, int q){<br />
    int t;<br />
    if(n <= q) return solve(q,q);<br />
    else{<br />
        int jn = josephus(((int) (n - floor(n/q))),q);</p>
<p>        if(jn <= (n%q))<br />
            return jn + ((int) (floor(n/q)) * q);<br />
        else{<br />
            jn -= n % q;</p>
<p>            t = ((int) (floor(jn/(q-1))) * q);</p>
<p>            return !(jn%(q-1)) ? t-1 : t+jn%(q-1);<br />
        }<br />
    }<br />
}</p>
<p>[/sourcecode]</p>
<p>Codice  C#:</p>
<p>[sourcecode language="java"]</p>
<p>using System;</p>
<p>class MainClass{<br />
    public static void Main(string[] args){<br />
        double tottime=0.0;</p>
<p>        for(int j=0;j&#60;10;j++){<br />
            DateTime start = DateTime.Now;<br />
            for(int i=0;i&#60;100000;i++)<br />
                josephus(40,3);</p>
<p>            TimeSpan elapsed = DateTime.Now - start;</p>
<p>            double time = (elapsed.TotalMilliseconds * 1000.0)/100000.0;<br />
            tottime+=time;<br />
        }</p>
<p>        Console.WriteLine("Time per iteration: {0} microseconds" ,tottime/10.0);</p>
<p>    }</p>
<p>    public static int solve(int n, int q){<br />
        int jn = 0;</p>
<p>        for(int i=1;i<=n;i++)<br />
            jn = (jn + q -1) % i +1;</p>
<p>        return jn;<br />
    }</p>
<p>    public static int josephus(int n, int q){<br />
        if(n<=q)<br />
            return solve(q,q);<br />
        else{<br />
            int jn = josephus(n - ((int) Math.Floor(((double) n)/q)) ,q);</p>
<p>            if(jn <= (n%q))<br />
                return jn + (int) (Math.Floor(((double) n)/q) * q);<br />
            else{<br />
                jn -= n%q;</p>
<p>                int t = (int) (Math.Floor(((double) jn)/(q-1)) * q);</p>
<p>                if(jn % (q-1) == 0)<br />
                    return t-1;<br />
                else<br />
                    return t + jn % (q-1);<br />
            }</p>
<p>        }<br />
    }<br />
}<br />
[/sourcecode]</p>
<p>Codice Java:</p>
<p>[sourcecode language="java"]</p>
<p>public class jjos {<br />
    public static void main(String[] args) throws Exception {<br />
        int iter = 100000;<br />
        double tottime=0.0;</p>
<p>        for(int j=0;j&#60;10;j++){<br />
            long start = System.nanoTime();<br />
            for (int i = 0; i < iter; i++)<br />
                josephus(40, 3);</p>
<p>            long end = System.nanoTime();</p>
<p>            double time = (end - start)/1000.0;<br />
            double mtime = time/100000.0;</p>
<p>            tottime+=mtime;<br />
        }</p>
<p>        System.out.println("Mean time per iteration = " + tottime/10.0<br />
                + " microseconds.");<br />
    }</p>
<p>    public static int josephus(int n, int q) {<br />
        int jn;<br />
        if (n <= q)<br />
            return solve(q, q);<br />
        else {<br />
            jn = josephus(n - (int) Math.round(Math.floor(n / q)), q);</p>
<p>            if (jn <= (n % q)) {</p>
<p>                return jn + (int) (Math.round(Math.floor(n / q)) * q);<br />
            } else {</p>
<p>                jn = jn - (n % q);</p>
<p>                int t = (int) (Math.round(Math.floor(jn / (q - 1))) * q);</p>
<p>                if (jn % (q - 1) == 0)<br />
                    return t - 1;<br />
                else<br />
                    return t + jn % (q - 1);<br />
            }<br />
        }</p>
<p>    }</p>
<p>    public static int solve(int n, int q) {<br />
        int jn = 0;</p>
<p>        for (int i = 1; i <= n; i++)<br />
            jn = (jn + q - 1) % i + 1;</p>
<p>        return jn;<br />
    }<br />
}<br />
[/sourcecode]</p>
<p>Codice Python (con Psyco):</p>
<p>[sourcecode language="python"]</p>
<p>#!/usr/bin/python</p>
<p>import time<br />
import sys<br />
import math<br />
import psyco</p>
<p>def solve(n,q):<br />
    jn = 0<br />
    for i in xrange(1,n+1):<br />
        jn = (jn +q -1) % i +1</p>
<p>    return jn</p>
<p>def josephus(n,q):<br />
    if n <= q: return solve(q,q)<br />
    else:<br />
        jn = josephus(n-int(math.floor(n/q)),q)</p>
<p>        if jn <= (n % q):<br />
            return jn + int(math.floor(n/q) * q)<br />
        else:<br />
            jn -= n % q</p>
<p>            t = int(math.floor(jn/(q - 1)) * q)</p>
<p>            if not jn % (q - 1):<br />
                return t-1<br />
            else:<br />
                return t + jn % (q - 1)</p>
<p>if __name__ == "__main__":</p>
<p>    psyco.full()</p>
<p>    k = 100000</p>
<p>    tottime = 0.0</p>
<p>    for i in xrange(10):<br />
        start = time.time()</p>
<p>        for i in xrange(k):<br />
            josephus(40,3)</p>
<p>        end = time.time()</p>
<p>        tottime += ((end - start) * 1000000 )/ k</p>
<p>    print 'Mean time per iteration = %s microseconds ' % (tottime / 10.0)<br />
[/sourcecode]</p>
<p>Codice Ruby:</p>
<p>[sourcecode language="ruby"]</p>
<p>#!/usr/bin/ruby -w</p>
<p>def solve(n,q)<br />
    jn = 0</p>
<p>    for i in 1..n<br />
        jn = (jn + q - 1) % i + 1<br />
    end</p>
<p>    jn</p>
<p>end</p>
<p>def josephus(n,q)<br />
    if n <= q<br />
        solve(q,q)<br />
    else<br />
        jn = josephus(n-(n/q).floor,q)</p>
<p>        if jn <= (n % q)<br />
            jn + (n/q).floor * q<br />
        else<br />
            jn -= n % q</p>
<p>            t = (jn/(q-1)).floor * q</p>
<p>            if jn % (q-1) == 0<br />
                t-1<br />
            else<br />
                t + jn % (q-1)<br />
            end<br />
        end</p>
<p>    end</p>
<p>end</p>
<p>ITER = 100000</p>
<p>tottime = 0.0</p>
<p>10.times{<br />
    start = Time.now<br />
    ITER.times{<br />
        josephus(40,3)<br />
    }<br />
    ends=Time.now</p>
<p>    tottime += ((ends - start) * 1000000) / ITER<br />
}</p>
<p>puts 'Mean time per iteration = ' + (tottime / 10).to_s() + ' microseconds'</p>
<p>[/sourcecode]</sys></cmath></math>
<p></sys></stdlib></stdio></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Hệ Thống Sản Xuất Tức Thời - Just In Time (JIT)]]></title>
<link>http://vietnamwcm.wordpress.com/?p=156</link>
<pubDate>Sun, 29 Jun 2008 17:18:55 +0000</pubDate>
<dc:creator>vietnamwcm</dc:creator>
<guid>http://vietnamwcm.wordpress.com/?p=156</guid>
<description><![CDATA[ HỆ THỐNG SẢN XUẤT TỨC THỜI

Just-In-Time = JIT 
Chiến lược Just-In-Time (JIT) đ]]></description>
<content:encoded><![CDATA[<p class="MsoNormal" style="text-align:center;" align="center"> <span style="font-size:18pt;font-family:Arial;">HỆ THỐNG SẢN XUẤT TỨC THỜI</span></p>
<p class="MsoNormal" style="line-height:150%;">
<p class="MsoNormal" style="text-align:center;"><span style="font-family:Arial;">Just-In-Time = JIT </span></p>
<p class="MsoNormal" style="line-height:150%;"><span style="font-weight:normal;font-family:Arial;">Chiến lược Just-In-Time (JIT) được gói gọn trong một câu: "đúng sản phẩm với đúng số lượng tại đúng nơi vào đúng thời điểm". Trong sản xuất hay dịch vụ, mỗi công đoạn của quy trình sản xuất ra một số lượng đúng bằng số lượng mà công đoạn sản xuất tiếp theo cần tới. Các quy trình không tạo ra giá trị gia tăng phải bỏ. Điều này cũng đúng với giai đoạn cuối cùng của quy trình sản xuất, tức là hệ thống chỉ sản xuất ra cái mà khách hàng muốn.</span></p>
<p class="MsoNormal" style="line-height:150%;"><span style="font-weight:normal;font-family:Arial;">Nói cách khác, JIT là hệ thống sản xuất trong đó các luồng nguyên vật liệu, hàng hoá và sản phẩm truyền vận trong quá trình sản xuất và phân phối được lập kế hoạch chi tiết từng bước sao cho quy trình tiếp theo có thể thực hiện ngay khi quy trình hiện thời chấm dứt. Qua đó, không có hạng mục nào rơi vào tình trạng để không, chờ xử lý, không có nhân công hay thiết bị nào phải đợi để có đầu vào vận hành.</span></p>
<p class="MsoNormal" style="line-height:150%;"><span style="font-weight:normal;font-family:Arial;">Các dây truyền lắp ráp của hãng Ford đã áp dụng JIT từ những năm 30. Cần nói thêm rằng Ford là người đi đầu trong việc áp dựng các dây truyền sản xuất. Tuy nhiên, phải đến những năm 1970, quy trình sản xuất theo mô hình JIT mới được hoàn thiện và được Toyota Motors áp dụng. Trong công cuộc công nghiệp hoá sau Đại chiến thế giới thứ 2, nước Nhật thực hiện chiến lược nhập khẩu công nghệ nhằm tránh gánh nặng chi phí cho nghiên cứu và phát triển (R&#38;D) và tập trung vào việc cải thiện quy trình sản xuất (kaizen). Mục tiêu của chiến lược này là nâng cao chất lượng và độ tin cậy của sản phẩm. Eiji Toyoda và Taiichi Ohno của Toyota Motor đã phát triển một khái niệm hệ thống sản xuất mới, mà ngày nay được gọi là Hệ thống SX Toyota. Nhiều nhà nghiên cứu cho rằng nước Nhật có được ngày hôm nay xuất phát từ nền tảng sản xuất dựa trên hệ thống tuyệt với đó.</span></p>
<p class="MsoNormal" style="line-height:150%;"><span style="font-weight:normal;font-family:Arial;">Để thử cùng tìm hiểu JIT trong hệ thống sản xuất Toyota, trước hết cần phân biệt được hai khái niệm sản xuất truyền thống là tinh xảo (craft) và đại trà (mass). Sản xuất tinh xảo thường sử dụng các công nhân cực kỳ lành nghề cùng với những công cụ đơn giản nhưng linh hoạt (đặc biệt trong các ngành nghề thủ công) để tạo ra từng sản phẩm theo ý khách hàng. Chất lượng của hình thức sản xuất này có lẽ khỏi cần phải bàn, tuy nhiên giá thành dẫn tới giá bán rất cao là yếu tố làm thu hẹp thị trường. Cũng vì thế mà sản xuất đại trà đã ra đời, đánh dấu một bước phát triển trong sản xuất đầu thế kỷ 20.</span></p>
<p class="MsoNormal" style="line-height:150%;"><span style="font-weight:normal;font-family:Arial;">Sản xuất đại trà sử dụng công nhân có tay nghề bậc trung vận hành các máy công nghiệp đơn năng, tạo ra các sản phẩm được tiêu chuẩn hoá với số lượng rất lớn. Vì giá trị máy móc cũng như chi phí tái thiết kế rất đắt tiền nên nhà sản xuất đại trà luôn cố gắng giữ các tiêu chuẩn thiết kế sản phẩm càng lâu càng tốt. Kết quả là giá thành kéo theo giá bán giảm. Tuy nhiên tác phong công nghiệp làm cho công nhân nhàm chán và mất động lực làm việc.</span></p>
<p class="MsoNormal" style="line-height:150%;"><span style="font-weight:normal;font-family:Arial;">Toyota Motor đã kết hợp 2 phương thức sản xuất tinh xảo và đại trà, loại bỏ các yếu điểm về giá thành và sự chặt chẽ công nghiệp, cho ra đời một phương thức sản xuất mới với đội ngũ công nhân có tay nghề cao được trang bị hệ thống máy móc linh hoạt, đa năng, có khả năng sản xuất với nhiều mức công suất. Phương thức này được đánh giá là sử dụng ít nhân lực hơn, ít diện tích hơn, tạo ra ít phế phẩm hơn, và sản xuất được nhiều loại sản phẩm hơn hình thức sản xuất đại trà.</span></p>
<p class="MsoNormal" style="line-height:150%;"><span style="font-weight:normal;font-family:Arial;">Nền tảng của hệ thống sản xuất Toyota dựa trên khả năng duy trì liên tục dòng sản phẩm trong các nhà máy nhằm thích ứng linh hoạt với các thay đổi của thị trường, chính là khái niệm JIT sau này. Dư thừa tồn kho và lao động được hạn chế tối đa, qua đó tăng năng suất và giảm chi phí. Bên cạnh đó, mặc dù khả năng giảm thiểu chi phí là yêu cầu hàng đầu của hệ thống, Toyota đã đưa ra 3 mục tiêu phụ nhằm đạt được mục tiêu chính yếu đó:</span></p>
<p class="MsoNormal" style="line-height:150%;"><span style="font-weight:normal;font-family:Arial;">- Kiểm soát chất lượng: giúp cho hệ thống thích ứng hàng tháng hay thậm chí hàng ngày với sự thay đổi của thị trường về số lượng và độ đa dạng.</span></p>
<p class="MsoNormal" style="line-height:150%;"><span style="font-weight:normal;font-family:Arial;">- Bảo đảm chất lượng: đảm bảo mỗi quy trình chỉ tạo ra các đơn vị sản phẩm tốt cho các quy trình tiếp theo.</span></p>
<p class="MsoNormal" style="line-height:150%;"><span style="font-weight:normal;font-family:Arial;">- Tôn trọng con người: vì nguồn nhân lực phải chịu nhiều sức ép dưới nỗ lực giảm thiểu chi phí.</span></p>
<p class="MsoNormal" style="line-height:150%;"><span style="font-weight:normal;font-family:Arial;">Trong quy trình lắp ráp ô tô, các linh kiện phải được các quy trình khác cung cấp đúng lúc với đúng số lượng cần thiết. Từ đó, tồn kho sẽ giảm đáng kể kéo theo việc giảm diện tích kho hàng. Kết quả là chi phí cho kho bãi được triệt tiêu, tăng tỷ suất hoàn vốn. Tuy nhiên, trong một ngành công nghiệp phức tạp như ngành ô tô, việc áp dụng JIT vào tất cả các quy trình là điều rất kho khăn. Toyota Motor đã thực hiện theo hướng ngược lại, tức là công nhân của quy trình sau sẽ tự động lấy các linh<span> </span>kiện cần thiết với số lượng cần thiết tại từng quy trình trước đó. Va như vậy, những gì mà công nhân quy trình trước phải làm là sản xuất cho đủ số linh kiện đã được lấy đi.</span></p>
<p class="MsoNormal" style="line-height:150%;"><span style="font-weight:normal;font-family:Arial;">Kanban là một hệ thống thông tin nhằm kiểm soát số lượng linh kiện hay sản phẩm trong từng quy trình sản xuất. Mang nghĩa một nhãn hay một bảng hiệu, mỗi kanban được gắn với mỗi hộp linh kiện qua từng công đoạn lắp ráp. Mỗi công nhân của công đoạn này nhận linh kiện từ công đoạn trước đó phải để lại 1 kamban đánh dấu việc chuyển giao số lượng linh kiện cụ thể. Sau khi được điền đầy đủ từ tất cả các công đoạn trong dây truyền sản xuất, một kamban tương tự sẽ được gửi ngược lại vừa để lưu bản ghi công việc hoàn tất, vừa để yêu cầu linh kiện mới. Kanban qua đó đã kết hợp luồng đi của linh kiện với cấu thành của dây truyền lắp ráp, giảm thiểu độ dài quy trình.</span></p>
<p class="MsoNormal" style="line-height:150%;"><span style="font-weight:normal;font-family:Arial;">Kanban được áp dụng với 2 hình thức:</span></p>
<p class="MsoNormal" style="line-height:150%;"><span style="font-weight:normal;font-family:Arial;">- Thẻ rút (withdrawal kanban): chi tiết về chủng loại và số lượng sản phẩm mà quy trình sau sẽ rút từ quy trình trước.</span></p>
<p class="MsoNormal" style="line-height:150%;"><span style="font-weight:normal;font-family:Arial;">- Thẻ đặt (production-ordering):<span> </span>chi tiết về chủng loại và số lượng sản phẩm mà quy trình sau phải sản xuất.</span></p>
<p class="MsoNormal" style="line-height:150%;"><span style="font-weight:normal;font-family:Arial;">Sau Nhật, JIT được 2 chuyên gia TQM (Total Quality Manufacturing) la Deming và Juran phát triển ở Bắc Mỹ. Từ đó mô hình JIT lan rộng trên khắp thế giới. JIT là một triết lý sản xuất với mục tiêu triệt tiêu tất cả các nguồn gây hao phí, bao gồm cả tồn kho không cần thiết và phế liệu sản xuất. Tóm lại, JIT tạo ra các lợi điểm sau:</span></p>
<p class="MsoNormal" style="line-height:150%;"><span style="font-weight:normal;font-family:Arial;">- Giảm các cấp độ tồn kho bán thành phẩm, thành phẩm và hàng hoá.</span></p>
<p class="MsoNormal" style="line-height:150%;"><span style="font-weight:normal;font-family:Arial;">- Giảm không gian sử dụng.</span></p>
<p class="MsoNormal" style="line-height:150%;"><span style="font-weight:normal;font-family:Arial;">- Tăng chất lượng sản phẩm, giảm phế liệu và sản phẩm lỗi.</span></p>
<p class="MsoNormal" style="line-height:150%;"><span style="font-weight:normal;font-family:Arial;">- Giảm tổng thời gian sản xuất.</span></p>
<p class="MsoNormal" style="line-height:150%;"><span style="font-weight:normal;font-family:Arial;">- Linh hoạt hơn trong việc thay đổi phức hệ sản xuất.</span></p>
<p class="MsoNormal" style="line-height:150%;"><span style="font-weight:normal;font-family:Arial;">- Tận dụng sự tham gia của nhân công trong giải quyết vấn đề.</span></p>
<p class="MsoNormal" style="line-height:150%;"><span style="font-weight:normal;font-family:Arial;">- Áp lực về quan hệ với khách hàng.</span></p>
<p class="MsoNormal" style="line-height:150%;"><span style="font-weight:normal;font-family:Arial;">- Tăng năng suất và sử dụng thiết bị.</span></p>
<p class="MsoNormal" style="line-height:150%;"><span style="font-weight:normal;font-family:Arial;">- Giảm nhu cầu về lao động gián tiếp.</span></p>
<p class="MsoNormal" style="line-height:150%;"><span style="font-weight:normal;font-family:Arial;">Cùng với sự phát triển như vũ bão của công nghệ truyền thông thông tin, JIT đã trở thành khả năng cạnh tranh phải có đối với bất cứ doanh nghiệp nào.</span></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Let your customers pay for and run I.T]]></title>
<link>http://folknology.wordpress.com/?p=18</link>
<pubDate>Fri, 13 Jun 2008 12:46:57 +0000</pubDate>
<dc:creator>folknology</dc:creator>
<guid>http://folknology.wordpress.com/?p=18</guid>
<description><![CDATA[They do it already indirectly via your revenue from them, so why not go the whole hog and let them p]]></description>
<content:encoded><![CDATA[<p>They do it already indirectly via your revenue from them, so why not go the whole hog and let them pay for it outright. At least if they are paying for it they will make sure it is focused on delivering value for them and hence is likely to result in much greater ROI than the I.T department could ever muster. So what happens to the I.T department? Well your customers become the I.T department, all of them! just imagine that, all of those folks providing you with support.</p>
<p>Here is a scenario, someone inside your organisation (Alice) has a great new idea for a widget, but doesn't know how to implement the processes or systems to produce, package and deliver the widget. At the moment the widget is just an idea, not an actual product, so first  Alice needs to talk to the early adopters support department (ASD) to refine the product idea. So who are the ASD folks? they are of course the elite task force members of the same department as I.T Alice's customers. So Alice collaborates with ASD, establishes that it's a go product and refines the widget requirements. She then hands over the widget reqs to the buying department (BD).</p>
<p>The members of BD actually have two roles, the first is to coordinate the just-in-time (JIT) manufacture and supply of widgets. Their second role is of course as the I.T department for a number of Widget manufacturers. Because Alice's widget has never been made before a few of the BD folk are acting as the JIT supplier's ASD task force. After collaborating with the JIT suppliers via your I.T systems a widget solution emerges to meet the costs and quality  targets established by Alice's ASD task force.</p>
<p>Alice is now happy to move forward with widget production and delivery, so she engages with the marketing and communications department (MCD). Who are the MCD? well the MCD are the same department as the I.T. department, her customers of course. What Alice needs to do is collaborate and engage with her customers in order to help them understand the new widget. She is hoping that they will like the new widget as much as the ASD folks. Of course the ASD folks are also members of the MCD themselves and collaborate with other members of the MCD by engaging in conversations around the new widget, assisted by Alice and here colleagues. But Alice has been here before and knows this is no time for sitting on your laurels, there is still much to do. So she listens to the MCD and tweeks the widgets to help them slip through the MCDs more quickly and in growing numbers, the widget becomes more and more refined and more and more <a title="Slippy" href="http://herd.typepad.com/herd_the_hidden_truth_abo/2008/02/born-sticky-or.html">slippy</a> until one day Alice realises she has a hit. But she doesn't go all Britney Spears about it, because she knows it wasn't her achievement, she recognises she was just helping to Teflon coat the <a title="Internet as tubes" href="http://www.boingboing.net/2006/07/02/sen-stevens-hilariou.html">tubes</a>, so she makes sure that all of the departments know how insanely great they were with this widget. Just as she is doing this one of her colleagues engaged with an MCD, notices they are doing something different with the widget and suddenly has this brilliant new idea....</p>
<p>Examples of customer I.T : <a title="Wordpress" href="http://www.wordpress.com">Blogs</a>, <a title="get satisfaction" href="http://www.getsatisfaction.com">getsatisifaction</a>, <a title="Twitter" href="http://www.twitter.com">twitter</a>, <a title="WetPaint" href="http://www.wetpaint.com">wiki's</a>, <a href="http://www.ning.com">social networks</a>,  <a title="Vendor Relationship Management" href="http://en.wikipedia.org/wiki/Vendor_Relationship_Management">VRM</a> and <a href="http://blogs.law.harvard.edu/doc/2008/05/28/clues-vs-trains/">lots</a> more coming.....</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Just In Time (JIT)]]></title>
<link>http://vietnamwcm.wordpress.com/?p=42</link>
<pubDate>Wed, 11 Jun 2008 01:42:11 +0000</pubDate>
<dc:creator>vietnamwcm</dc:creator>
<guid>http://vietnamwcm.wordpress.com/?p=42</guid>
<description><![CDATA[ 
Sản xuất Just-In-Time, hay JIT, là một triết học quản lý tập trung vào loại tr]]></description>
<content:encoded><![CDATA[<p class="MsoNormal" style="margin:0;"> </p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;">Sản xuất Just-In-Time, hay JIT, là một triết học quản lý tập trung vào loại trừ những hao phí trong sản xuất bằng việc chỉ sản xuất đúng số lượng và kết hợp các thành phần tại đúng chỗ vào đúng thời điểm. Điều này dựa vào một thực tế hao hụt là kết quả từ bất kỳ hoạt động nào làm gia tăng chi phí mà không gia tăng thêm giá trị cho sản phẩm, như là sự chuyển dịch hàng tồn kho từ chỗ này sang chỗ khác hay thậm chí chỉ là hành động của việc cất giữ hàng tồn.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;">Mục đích (của) JIT, vì vậy, là nhằm giảm thiểu các những hoạt động không gia tăng giá trị và không di chuyển hàng tồn trong khu vực dây chuyền sản xuất. Điều này sẽ dẫn đến thời gian sản xuất nhanh hơn, thời gian giao hàng ngắn hơn, sử dụng thiết bị hiệu quả hơn, yêu cầu không gian nhỏ hơn, tỷ lệ lỗi sản phẩm thấp hơn, chi phí thấp hơn, và lợi nhuận cao hơn.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;">JIT bắt nguồn từ Nhật bản, nơi nó đã được thực hành từ đầu những năm 1970. Nó được phát triển và hoàn thiện bởi Ohno Taiichi của Toyota, người mà bây giờ được xem như cha đẻ của JIT. Taiichi Ohno phát triển những triết học này như một phương tiện nhằm thỏa mãn các yêu cầu của khách hàng với thời gian nhanh nhất. Như vậy, trước đây, JIT được sử dụng không chỉ để giảm bớt hao phí trong sản xuất mà còn chủ yếu để sản xuất hàng hóa sao cho hàng hóa đến tay khách hàng chính xác khi họ cần đến.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Arial;"><span> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;">JIT cũng được biết như một phương pháp sản xuất tin gọn (Lean) hay sản xuất không tồn kho, bởi vì yếu tố then chốt psau của việc áp dụng thành công JIT là giảm tồn kho tại nhiều công đoạn khác nhau dây chuyền sản xuất tới mức tối thiểu. Điều này cần phải có sự phối hợp tốt giữa những công đoạn sao cho mỗi công đoạn chỉ sản xuất chính xác số lượng cần thiết cho công đoạn sau. Nói một cách khác, một công đoạn chỉ nhận vào chính xác số lượng cần thiết từ công đoạn trước.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Arial;"><span> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;">Hệ thống JIT bao gồm định nghĩa luồng sản xuất và thiết lập khu vực sản xuất sao cho luồng nguyên liệu khi được đưa vào sản xuất được thông suốt và không bị cản trở, do đó giảm bớt thời gian đợi nguyên liệu. Điều này yêu cầu khả năng của các những trạm làm việc khác nhau mà nguyên liệu đi qua tương ứng và cân bằng một cách chính xác, và như vậy những điểm “thắc cổ chai” trong dây chuyền sản xuất sẽ được loại trừ. Cơ cấu này bảo đảm rằng nguyên liệu sẽ được gia công mà không có việc xếp hàng hay ngừng lại chờ.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Arial;"><span style="font-size:small;">Khía cạnh quan trọng khác của JIT là việc sử dụng một hệ thống “kéo” (pull) để di chuyển những tồn kho xuyên qua dây chuyền sản xuất. Với <span> </span>một hệ thống như vậy, những yêu cầu của công đoạn tiếp theo sẽ điều chỉnh sản lượng của công đoạn trước đó. Vì vậy đối với JIT thật cần thiết để định nghĩa một quá trình nhằm tạo điều kiện thuận lợi cho việc “kéo” các lô từ một công đoạn sang công đoạn kế tiếp. </span></span></p>
<p class="MsoNormal" style="margin:0;"> </p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[JIT - JUST IN TIME, ALWAYS!!! - PUT IT IN THE AIR]]></title>
<link>http://invazion.wordpress.com/?p=8</link>
<pubDate>Sat, 03 May 2008 22:12:56 +0000</pubDate>
<dc:creator>invazion</dc:creator>
<guid>http://invazion.wordpress.com/?p=8</guid>
<description><![CDATA[PUT IT IN THE AIR 
Just say it, but becareful because it will show up, JIT, be ready!!!
]]></description>
<content:encoded><![CDATA[<p>PUT IT IN THE AIR <a href="http://file2hd.com/m.aspx/FEEL%20IT.mp3?bandid=26256920&#38;songid=106552491"></a></p>
<p>Just say it, but becareful because it will show up, JIT, be ready!!!</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Why Looking Into Principles Is Important e A Reflection on Just-In-Time (JIT)]]></title>
<link>http://queroseragil.wordpress.com/?p=120</link>
<pubDate>Fri, 18 Apr 2008 13:26:23 +0000</pubDate>
<dc:creator>Rafael Mueller</dc:creator>
<guid>http://queroseragil.wordpress.com/?p=120</guid>
<description><![CDATA[2 posts do blog do pessoal da NetObjectives:

Why Looking Into Principles Is Important
 A Reflection]]></description>
<content:encoded><![CDATA[<p>2 posts do blog do pessoal da <a href="http://www.netobjectives.com/" target="_blank">NetObjectives</a>:</p>
<ul>
<li><a href="http://www.netobjectives.com/blogs/Why-Looking-Into-Principles-Is-Important" target="_blank">Why Looking Into Principles Is Important</a></li>
<li> <a href="http://www.netobjectives.com/blogs/reflections-on-JIT" target="_blank">A Reflection on Just-In-Time (JIT)</a></li>
</ul>
]]></content:encoded>
</item>
<item>
<title><![CDATA[How do I Enable Just-In-Time Debugging]]></title>
<link>http://pbbraindump.wordpress.com/?p=14</link>
<pubDate>Tue, 15 Apr 2008 12:14:55 +0000</pubDate>
<dc:creator>rick130</dc:creator>
<guid>http://pbbraindump.wordpress.com/?p=14</guid>
<description><![CDATA[In the PowerBuilder System Options dialog window, check the Just-in-Time Debugging option.  This fea]]></description>
<content:encoded><![CDATA[<p>In the PowerBuilder System Options dialog window, check the Just-in-Time Debugging option.  This feature was new in PB 6.0.<br />
In PowerBuilder 7.0, Systems Options is under the Window menu column (Window&#62;System Options…)</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[La esperada transformación de Jit]]></title>
<link>http://200a.wordpress.com/?p=195</link>
<pubDate>Sun, 06 Apr 2008 18:37:50 +0000</pubDate>
<dc:creator>-AL-</dc:creator>
<guid>http://200a.wordpress.com/?p=195</guid>
<description><![CDATA[Bueno, este es un vídeo cortito que acabo de hacer en un momentillo. Algo muy simple.
No creas que ]]></description>
<content:encoded><![CDATA[<p>Bueno, este es un vídeo cortito que acabo de hacer en un momentillo. Algo muy simple.</p>
<p>No creas que esto es la transformación definitiva de Jit y su ataque mortal. Bueno... aunque si no encuentro más tiempo para diseñar algo mejor es probable que se pudiera quedar tal como está. Y por cierto: lo de verde no es por lo que tú y yo conocemos, sino por eliminación de los otros colores ;-)</p>
<p><span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/l-r1iiGvxEc'></param><param name='wmode' value='transparent'></param><embed src='http://www.youtube.com/v/l-r1iiGvxEc&rel=0' type='application/x-shockwave-flash' wmode='transparent' width='425' height='350'></embed></object></span></p>
<p>Y de regalo, una cosa que he visto esta mañana: <a href="http://ubunturoot.wordpress.com/2008/04/03/lapidas-para-informaticos/" target="_blank">lápidas para informáticos</a>.</p>
<p>Ahora creo que no voy a ser tan constante escribiendo como los últimos días. Porque tengo que estudiar y esta vez tengo que ponerme en serio. Pero, si puedo, próximamente os esperan: la tercera entrega de "Mujeres que -AL- admira y adora" con Keira Knightley, y otro vídeo que ya tengo colgado en Youtube.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Debugger]]></title>
<link>http://pbbraindump.wordpress.com/?p=6</link>
<pubDate>Sat, 05 Apr 2008 14:03:53 +0000</pubDate>
<dc:creator>rick130</dc:creator>
<guid>http://pbbraindump.wordpress.com/?p=6</guid>
<description><![CDATA[How do I enable Just-In-Time Debugging?
In the PowerBuilder System Options dialog window, check the ]]></description>
<content:encoded><![CDATA[<h3><a name="_Toc72899377">How do I enable Just-In-Time Debugging?</a></h3>
<p class="MsoBodyTextIndent">In the PowerBuilder System Options dialog window, check the Just-in-Time Debugging option.<span> </span>This feature was new in PB 6.0.</p>
<p class="MsoBodyTextIndent">In PowerBuilder 7.0, Systems Options is under the Window menu column (Window&#62;System Options…).</p>
<h3><a name="_Toc72899378">How do I create a debug log during runtime?</a></h3>
<p class="MsoNormal">Run the application with /PBDEBUG.<span> </span>Example:</p>
<p class="script" style="margin-left:0.95in;text-indent:-0.2in;">C:\Dnrapps\SCIS\scis98.exe /pbdebug</p>
<p class="MsoNormal" style="margin-top:6pt;">This will create a .dbg file in the same directory.</p>
<h3><a name="_Toc72899379">How do I create a debug log when running from development mode?</a></h3>
<p class="MsoNormal">Change the PB.INI file’s PB section</p>
<p class="script" style="margin-left:0.95in;text-indent:-0.2in;">[PB]</p>
<p class="script" style="margin-left:0.95in;text-indent:-0.2in;">PBDebug=ON</p>
<p class="script" style="margin-left:0.95in;text-indent:-0.2in;">DebugOutFile = c:\path\filename.dbg</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Προγραμματισμός παραγωγής (JIT)]]></title>
<link>http://helleanic.wordpress.com/2008/03/26/%ce%a0%cf%81%ce%bf%ce%b3%cf%81%ce%b1%ce%bc%ce%bc%ce%b1%cf%84%ce%b9%cf%83%ce%bc%cf%8c%cf%82-%cf%80%ce%b1%cf%81%ce%b1%ce%b3%cf%89%ce%b3%ce%ae%cf%82-jit/</link>
<pubDate>Wed, 26 Mar 2008 12:21:26 +0000</pubDate>
<dc:creator>acgeor</dc:creator>
<guid>http://helleanic.wordpress.com/2008/03/26/%ce%a0%cf%81%ce%bf%ce%b3%cf%81%ce%b1%ce%bc%ce%bc%ce%b1%cf%84%ce%b9%cf%83%ce%bc%cf%8c%cf%82-%cf%80%ce%b1%cf%81%ce%b1%ce%b3%cf%89%ce%b3%ce%ae%cf%82-jit/</guid>
<description><![CDATA[Στην λιτή παραγωγή ο προγραμματισμός παραγωγής περιλα]]></description>
<content:encoded><![CDATA[<p><span>Στην λιτή παραγωγή ο προγραμματισμός παραγωγής περιλαμβάνεται ως λειτουργία σε μια ολοκληρωμένη προσέγγιση του τρόπου λειτουργίας μιας επιχείρησης, το </span><span>JIT</span><span>. Το </span><span>JIT</span> <span>είναι μια φιλοσοφία η οποία είναι δομημένη στην εξής λογική. Προσαρμόζει τις λειτουργίες ενός συστήματος στις απαιτήσεις του πελάτη. Οι λειτουργίες που θα προκύψουν θα πρέπει να μας δίνουν το επιθυμητό προϊόν, στην επιθυμητή ποσότητα, στον επιθυμητό χρόνο και σε ανταγωνιστική τιμή.</span></p>
<p class="MsoNormal" style="text-align:justify;line-height:130%;"><span>Στο </span><span>JIT</span> <span>αντίθετα με τον συμβατικό τρόπο προγραμματισμού παραγωγή<u> </u>στόχος είναι η παραγωγή σε παρτίδες μεγέθους ένα. Κάθε θέση εργασίας(</span><span>n</span><span>) έχει διπλό ρόλο, είναι την ίδια στιγμή και πελάτης και προμηθευτής. Πελάτης της θέσης εργασίας (</span><span>n</span><span>-1) και προμηθευτής της θέσης εργασίας (</span><span>n</span><span>+1). Ως πελάτης ζητάει μόνο όταν πρέπει να προμηθεύσει. Η παραγωγή είναι βασισμένη στην ημερήσια ζήτηση, όταν αυτή ικανοποιηθεί η παραγωγή σταματάει και οι εργαζόμενοι απασχολούνται με την συντήρηση την καθαριότητα κ.τ.λ. στην αντίθετη περίπτωση η ζήτηση καλύπτεται με υπερωριακή απασχόληση. Στο </span><span>JIT</span><span> δεν μας απασχολεί η μέγιστη δυνατή εκμετάλλευση του εξοπλισμού.</span></p>
<p class="MsoNormal" style="text-align:justify;line-height:130%;"><span>Στόχος είναι η εξομάλυνση του ρυθμού παραγωγής η οποία επιτυγχάνεται με την ταύτιση του ρυθμού ζήτησης και του ρυθμού πώλησης.<span>  </span>Δεν παράγουμε αυτό που πουλάμε αλλά πουλάμε αυτό που παράγουμε. </span></p>
<p class="MsoNormal" style="text-align:justify;line-height:130%;"><span><span> </span></span><span>Οι επιμέρους λύσεις που προκύπτουν </span><span>από το </span><span>JIT</span> <span>είναι οι εξής:</span></p>
<ol style="margin-top:0;" start="1" type="i">
<li class="MsoNormal"><span>Η εξομάλυνση του ρυθμού παραγωγής.</span></li>
<li class="MsoNormal"><span>Ο περιορισμός των εξόδων που έχουν να κάνουν με αγορά για      λογισμικά βιομηχανικής πληροφορικής όπως </span><span>ERP</span><span>,Μ</span><span>RP</span><span> καθώς και για μισθοδοσία και εκπαίδευση      στελεχών.</span></li>
<li class="MsoNormal"><span>Η δραστική μείωση του αποθέματος σε όλα τα στάδια. Τόσο σε πρώτες      ύλες και εξαρτήματα όσο σε και σε τελικά προϊόντα ημιέτοιμα και αποθέματα      στην παραγωγή (</span><span>WIP</span><span>).</span></li>
<li class="MsoNormal"><span>Παραγωγή υψηλής ποιότητας προϊόντων.</span></li>
<li class="MsoNormal"><span>Μείωση του χρόνου προσπέλασης της παραγωγής και εν συνεχεία του      συνολικού χρόνου που απαιτείται από την στιγμή που ληφθεί η παραγγελία ως      την παράδοση της. </span></li>
<li class="MsoNormal"><span>Απλή διαδικασία προμήθειας μειώνει την πολυπλοκότητα.</span></li>
</ol>
<p><a href="http://www.bobit.gr/articles/new?bob_this=[το url σας εδω]" title="Πρόσθεσ το στο Bobit!" target="_blank"><img src="http://www.bobit.gr/images/bobit.gif" border="0"/></a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Commonly used terminology in TPS]]></title>
<link>http://thepmbase.wordpress.com/2008/03/02/commonly-used-terminology-in-tps/</link>
<pubDate>Sun, 02 Mar 2008 14:32:06 +0000</pubDate>
<dc:creator>ckvkarma</dc:creator>
<guid>http://thepmbase.wordpress.com/2008/03/02/commonly-used-terminology-in-tps/</guid>
<description><![CDATA[
Just In Time (ジャストインタイム) (JIT)
Jidoka (自働化) (English: Autonomation - automa]]></description>
<content:encoded><![CDATA[<ul>
<li><a href="http://en.wikipedia.org/wiki/Just_In_Time_%28business%29" title="Just In Time (business)">Just In Time</a> (ジャストインタイム) (JIT)</li>
<li><a href="http://en.wikipedia.org/wiki/Jidoka" class="mw-redirect" title="Jidoka">Jidoka</a> (自働化) (English: Autonomation - automation with human intelligence)</li>
<li><a href="http://en.wikipedia.org/wiki/Heijunka" title="Heijunka">Heijunka</a> (平準化) (English: Production Smoothing)</li>
<li><a href="http://en.wikipedia.org/wiki/Kaizen" title="Kaizen">Kaizen</a> (改善) (English: Continuous Improvement)</li>
<li><a href="http://en.wikipedia.org/wiki/Poka-yoke" title="Poka-yoke">Poka-yoke</a> (ポカヨケ) (English: fail-safing - to avoid (<i>yokeru</i>) inadvertent errors (<i>poka</i>))</li>
<li><a href="http://en.wikipedia.org/wiki/Kanban" title="Kanban">Kanban</a> (看板, also かんばん) (English: Sign, Index Card)</li>
<li><a href="http://en.wikipedia.org/wiki/Andon" title="Andon">Andon</a> (アンドン) (English: Signboard)</li>
<li><a href="http://en.wikipedia.org/wiki/Muri_%28Japanese_term%29" title="Muri (Japanese term)">Muri</a> (無理) (English: Overburden)</li>
<li><a href="http://en.wikipedia.org/wiki/Mura_%28Japanese_term%29" title="Mura (Japanese term)">Mura</a> (斑 or ムラ) (English: Unevenness)</li>
<li><a href="http://en.wikipedia.org/wiki/Muda" title="Muda">Muda</a> (無駄, also ムダ) (English: Waste)</li>
<li><a href="http://en.wikipedia.org/wiki/Genchi_Genbutsu" title="Genchi Genbutsu">Genchi Genbutsu</a> (現地現物) (English: Go and see for yourself)</li>
<li><a href="http://en.wikipedia.org/wiki/Manufacturing_supermarket" title="Manufacturing supermarket">Manufacturing supermarket</a> where all components are available to be withdrawn by a process</li>
</ul>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Problemas en la Fábrica: Cuellos de Botella]]></title>
<link>http://sambahpress.wordpress.com/?p=81</link>
<pubDate>Tue, 12 Feb 2008 15:38:54 +0000</pubDate>
<dc:creator>sambahpress</dc:creator>
<guid>http://sambahpress.wordpress.com/?p=81</guid>
<description><![CDATA[Optimización en la Cadena de Valores
Autor: Eng. Bill Leeman T.
para Sambah.com desde Texas, EEUU

]]></description>
<content:encoded><![CDATA[<h3><span style="color:#0000ff;">Optimización en la Cadena de Valores</span></h3>
<p class="articleText" style="text-align:justify;">Autor: Eng. Bill Leeman T.<br />
para Sambah.com desde Texas, EEUU
</p>
<p class="articleText" style="text-align:justify;">El rendimiento máximo que pueden tener muchas las operaciones de fabricación depende principalmente del mercado al que pertenecen, porque las empresas sólo pueden vender un porcentaje de los productos que pueden fabricar. Pero algunas operaciones de fabricación tienen límites internos, o restricciones, que afectan a la producción y que son mucho más restrictivos que las fuerzas del mercado y que la capacidad máxima del resto de la planta. Este es un fenómeno que es más común en las industrias que tratan con una demanda irregular, por ejemplo, que varía según la temporada y que llega a su punto máximo durante cierta época del año o en un momento específico del ciclo empresarial.</p>
<p class="articleText" style="text-align:justify;">Estas situaciones dieron origen a la disciplina de programación basada en restricciones (<em>constraint-based scheduling</em> o CBS), en la que es necesario definir de manera factible la restricción o el problema que limita la producción, y desarrollar algoritmos y metodologías que tomen en cuenta dicha restricción y por consiguiente maximicen la producción.</p>
<p class="articleText" style="text-align:justify;">Desde hace algún tiempo, quienes programan la producción usan lo hacen mediante aplicaciones informáticas. En ese sentido, la naturaleza compleja y matemática de la CBS hace que la funcionalidad del software sea una herramienta casi esencial para aprovechar al máximo este tipo de programación en una empresa o una planta de fabricación. De manera particular, la CBS es una herramienta extremadamente útil para los fabricantes discretos, quienes tienen que manejar cuellos de botella en su capacidad para poder maximizar su flujo de producción. Muchas veces, esta restricción tiene se origina en una máquina o una herramienta cuya capacidad de flujo de producción es más limitada que el resto de la planta. Otras veces, la escasez de cierto tipo de mano de obra forma un cuello de botella en un proceso de fabricación, ingeniería o ensamblaje, aunque existen también otras restricciones, tales como los centros de trabajo o la disponibilidad de los materiales.</p>
<p class="articleText" style="text-align:justify;">La CBS puede ser útil tanto para los profesionales de la fabricación, como para los ejecutivos de ventas y atención a clientes. Al tomar el pedido de un cliente, la CBS les permite tomar en cuenta todas las restricciones antes de darle a ese cliente una fecha de entrega precisa. Todos sabemos que para mantener satisfechos a los clientes, hay que ser honesto y cumplir lo que se promete.</p>
<p><!--Begin Headline--> <!--Subtitle--></p>
<p class="articleHeader">¿Quién necesita la CBS?</p>
<p><!--End Headline--></p>
<p class="articleText" style="text-align:justify;">Muchos fabricantes tienen operaciones cuya capacidad inmediata es menor que la capacidad del resto de la planta, y que por lo tanto, podrían recurrir a CBS. Si bien lo más natural sería preguntarnos por qué dichos fabricantes no aumentan su capacidad en esa área, en la mayoría de los casos, tiene más sentido –a nivel fiscal- maximizar el retorno de la inversión que se ha hecho en activos intangibles (por ejemplo, herramientas para la maquinaria) o en activos intangibles (por ejemplo, personal), que hacer más inversiones. Una herramienta para la maquinaria no sólo puede costar millones de dólares, sino que el fabricante puede tardar meses o años en ponerla en funcionamiento. Por otro lado, la adquisición de activos intangibles, como ingenieros de diseño, operadores para la maquinaria o soldadores, puede resultar costosa y tardada. Después de todo, en toda organización hay unas cuantas personas altamente capacitadas y experimentadas que no se pueden reemplazar o igualar fácilmente, como ocurre con las empresas textiles o de manufactura.</p>
<p class="articleText" style="text-align:justify;">Es evidente que es más difícil contratar gente capacitada especializada y con experiencia que adquirir maquinaria, de manera que contratar a alguien que pueda ejecutar ciertas tareas con la misma rapidez y la misma precisión que algunos empleados actuales, puede convertirse en una misión imposible. Los ejecutivos de una organización deben tomar las decisiones sobre los gastos de capital y las contrataciones tomando como base las proyecciones de crecimiento de la empresa, en lugar de darle prioridad a las necesidades de capacidad transitoria. Por ello, en muchos casos, cuando los recursos de una planta se convierten en restricciones, lo más conveniente es adoptar un enfoque agresivo para manejar el flujo de producción en lugar de aumentar la capacidad.</p>
<p class="articleText">Esto significa que los planificadores de la producción tienen que poner el trabajo en la cola (en espera) para asegurarse de que no le asignan poca carga a un recurso vital restringido y tienen que cuantificar el trabajo de forma que no inunden los recursos que vienen después de los recursos restringidos en la cadena de valor. CBS permite, por un lado, maximizar un recurso restringido y, por el otro, aumentar al máximo la capacidad de la planta con el fin de reducir la cantidad de trabajo en progreso en la misma.</p>
<p class="articleText">De hecho, con CBS, los fabricantes logran aprovechar al máximo las inversiones que hacen en recursos restringidos. Si, después de implantar CBS, un fabricante llega a sobrecargar de nuevo el recurso restringido, lo recomendable es que aumente la capacidad. Pero esa nunca es la primera opción, por lo tanto, una empresa que tiene un recurso restringido debe de pensar seriamente en usar CBS. Este tipo de programación puede ser de gran utilidad para las empresas de la industria alimenticia, simple y sencillamente porque puede ayudarles a definir una secuencia para sus piezas o sus lotes, y esto les permitirá producir artículos que no han estado en contacto con alérgenos, como por ejemplo, nueces.</p>
<p class="articleText">Algunas empresas tienen recursos restringidos, pero tienen que resistirse a la tentación de implantar CBS. El funcionamiento de una aplicación empresarial depende de la calidad de los datos que contiene y de los procesos que automatiza. Si los procesos y las rutas de una empresa no se ven reflejados con precisión en su ambiente automatizado, y si la información sobre las herramientas, los centros de trabajo o los trabajadores no está actualizada o no es precisa, entonces tratar de utilizar la funcionalidad de CBS podría frenar a la empresa en seco. Para que CBS funcione correctamente, necesita tener, por un lado, rutas correctas que ordenen los pasos correctamente, y por el otro, datos de calidad que indiquen si estos pasos pueden ser paralelos o si tienen que ser secuenciales. Si no ha planeado bien sus procesos o si sus datos no son correctos, únicamente logrará automatizar la creación de un programa malo.</p>
<p class="articleText">Hay que subrayar la importancia de hacer una planeación adecuada y detallada antes de implantar CBS. Una de las mayores desventajas de las herramientas del tipo de CBS es que alimentarlas con los datos correctos es un proceso complicado. Un equipo de gestión que no ha definido y asegurado bien las rutas precisas –en cuanto a secuencia y traslape de las operaciones- y que no ha identificado correctamente las restricciones de los recursos, es decir, que no ha tomado en cuenta periodos precisos de preparación y operación con una matriz de preparación adecuada, obtendrá como resultado un programa finito malísimo que no se puede producir. Hay que tener cuidado de no ver las herramientas CBS como una solución tipo “caja negra”, sino en una herramienta a la que hay que alimentar con información precisa para que pueda producir un programa viable que los usuarios puedan entender. Si los empleados de su departamento de producción tienen una mala experiencia con una herramienta CBS, seguramente pensarán que no la entienden terminarán por no usarla, porque la gente no usa las cosas que no entiende.</p>
<p class="articleText">Aquellos gerentes que aceptan que no entienden CBS han llegado al punto de la incompetencia consciente. Pero también hay gerentes que creen que entienden CBS y que hacen preguntas como por ejemplo, cómo sobrecargar una restricción. Desafortunadamente, aún con CBS, una bolsa con capacidad para dos kilos sigue siendo una bolsa con capacidad para dos kilos. Hay que manejar las restricciones, no sobrecargarlas. De lo contrario, en poco tiempo tendrá otra vez un programa malo.</p>
<p><!--Begin Headline--> <!--Subtitle--></p>
<p class="articleHeader"><a name="3"></a>CBS y ERP</p>
<p><!--End Headline--></p>
<p class="articleText">Cuando hablamos de la funcionalidad CBS dentro de un paquete de <em>planificación de los recursos empresariales</em> (ERP), en realidad estamos hablando de un motor de programación en la memoria, integrado y en línea, que funcionará junto con la funcionalidad del taller que reside en una aplicación de software y manejará la programación finita. Programación finita se refiere a que CBS hará la planeación en vivo y tomará en cuenta la carga y la capacidad actuales. Para hacerlo, uno de sus módulos utilizará distintos métodos de optimización, como menor holgura (least slack) y planificación ALAP (As Late As Posible) La programación finita no es lo mismo que la carga infinita, que de hecho le permite exceder la capacidad disponible; la programación finita respeta las restricciones de la capacidad disponible al hacer la planeación.</p>
<p class="articleText">Para crear una orden de fabricación dentro del sistema ERP, se usa una ruta para elaborar y planear la lista de operaciones. Al usar planeación infinita, se toma en cuenta únicamente la capacidad bruta disponible –no las órdenes que hay en ese momento- para planear y crear las operaciones. Un sistema ERP que se configura para trabajar con CBS se encamina a un servidor CBS que calcula las horas inicial y final de las operaciones, para lo cual toma en cuenta las órdenes que hay en ese momento y la capacidad. Cuando se ejecutan las operaciones necesarias para satisfacer la orden de fabricación, CBS actualiza la información relativa a las operaciones y envía los resultados de vuelta al servidor (ver Figura-1).</p>
[caption id="attachment_85" align="aligncenter" width="500" caption="Figura-1 :: Programación Infinita vs. Finita "]<a href="http://sambahpress.wordpress.com/files/2008/07/ifs.jpg"><img class="size-full wp-image-85" src="http://sambahpress.wordpress.com/files/2008/07/ifs.jpg" alt="Programación Finita / Infinita" width="500" height="141" /></a>[/caption]
<p class="articleText">Las aplicaciones que están habilitadas para CBS pueden funcionar en varios modos distintos. Por ejemplo, con programación predictiva, el sistema puede crear un programa óptimo para un conjunto específico de órdenes, mientras que con programación reactiva se puede hacer de manera que se ajuste al programa a medida que van surgiendo los cambios, sin sacrificar la flexibilidad del programa. Con la programación interactiva, un módulo CBS puede permitirle planear sus operaciones de forma manual en una gráfica de Gantt.</p>
<p class="articleText">La funcionalidad CBS de una solución ERP también debe de trabajar en un ambiente donde se manejan varios sitios. Digamos que tiene que calcular una fecha de entrega con base en un análisis del material de varios niveles y de varios sitios y en la capacidad de toda su cadena de suministro. Con CBS, puede hacer la planeación tomando en cuenta todos los sitios que conforman su cadena de suministro y el trabajo real programado para cada uno de los centros de trabajo. Puede programar el trabajo, ya sea manual o automáticamente, e inmediatamente después darle a su cliente una idea realista de cuándo se finalizará la orden.</p>
<p class="articleText">Cuando busque una solución que le dé la funcionalidad de CBS, debe poner atención en varios prerrequisitos del sistema. En primer lugar, tiene que recordar que un sistema independiente, como un <em>sistema de ejecución de la fabricación</em> (manufacturing execution system o MES) que es el mejor de su clase, difícilmente le dará toda la funcionalidad de CBS. De hecho, cuanto mayor sea el número de disciplinas distintas que integra una aplicación empresarial, más poderosa será en cuanto a las funciones de CBS que puede desempeñar. Esto quiere decir que le será más difícil lograr que una serie de aplicaciones que le ofrece funciones que ha reunido rápidamente de los distintos productos que ha comprado el fabricante, le dé la función CBS adecuada. Esto se debe a que las variables que se encuentran en las funciones de un sistema que no son del área de fabricación pueden afectar la capacidad.</p>
<p class="articleText">Por ejemplo, puede haber una aplicación que integre la funcionalidad CBS y la funcionalidad de mantenimiento y<em> gestión de los activos empresariales </em>(enterprise asset management o EAM). El mantenimiento programado u otras actividades que afectan la capacidad se ven reflejadas en las capacidades de programación de CBS. Una aplicación que le ofrece una funcionalidad CBS sólida también le dará una menor capacidad debido al tiempo de vacaciones y enfermedad que registran los empleados. Entonces es difícil, por razones obvias, que CBS sea completamente independiente de otras funciones empresariales que también afectan la capacidad.</p>
<p class="articleText">Además, para muchas empresas, CBS puede ser útil en los momentos en que la demanda alcanza su nivel más alto, pero innecesaria en otros. Lo ideal sería poder encender y apagar CBS fácilmente.</p>
<p><!--Begin Headline--> <!--Subtitle--></p>
<p class="articleHeader"><a name="4"></a><span style="color:#993300;">Tan sólo el principio</span></p>
<p><!--End Headline--></p>
<p class="articleText">Estamos de acuerdo en que CBS tiene ventajas inmediatas de gestión de la capacidad, pero también tiene otras capacidades analíticas menos obvias. Normalmente, la funcionalidad CBS le permite hacer análisis predictivos de lo que sucedería si efectúa ciertos cambios a un programa optimizado. Así, por ejemplo, si un ejecutivo de cuenta en particular presiona a un gerente de planta para que le dé prioridad a una orden específica, el gerente de la planta puede obtener información precisa sobre cuántas órdenes se retrasarían si hiciera lo que se le pide. Es más, la funcionalidad CBS permite hacer análisis predictivos sobre el efecto que tiene el hecho de agregar capacidad a la planta. Entonces, antes de salir a comprar esa herramienta adicional para la maquinaria, puede ver si realmente le ayudará a aumentar la capacidad, o si simplemente generará un cuello de botella en otro punto de sus procesos de fabricación.</p>
<p class="articleText">La CBS es un tema que implica todo un aprendizaje, como toda funcionalidad de una aplicación empresarial. No necesita tener un doctorado para usar CBS en su empresa, pero sí tiene que estudiar la funcionalidad de programación de su herramienta ERP. Si ha llegado hasta esta parte del artículo, entonces ya comprende más o menos bien de qué se trata CBS. A medida que aprenda más sobre el tema, seguramente irá encontrando otros términos, tales como tiempo de inicio más próximo, tiempo de inicio más lejano, programación ASAP (As Soon As Possible), programación ALAP, <em>just in time</em> (JIT), fecha límite más cercana,<em> trabajo en progreso</em> (WIP), etc.</p>
<p class="articleText">Si desea aprender más sobre CBS, puede asistir a los cursos de capacitación que ofrecen ciertas agrupaciones de profesionales, como <strong>The Association for Operations Management</strong> (<strong>APICS</strong>), y puede leer más sobre el tema. La mayoría de los ejecutivos del área de fabricación aprenden más cuando estudian la funcionalidad de CBS específica de la aplicación empresarial que usan en su empresa.</p>
<p><!--Begin Headline--> <!--Subtitle--></p>
<p class="articleHeader">Acerca del autor</p>
<p><!--End Headline--></p>
<p class="articleText">Bill Leeman trabaja como encargado del área de transmisión de conocimientos sobre la serie de productos para fabricación de IFS Applications en América del Norte. Cuenta con más de 20 años de experiencia en el área de fabricación, donde ha estado a cargo de proyectos de implantación a gran escala y ha manejado la reingeniería de los procesos empresariales de empresas globales. También ha desarrollado planes con una visión nueva de TI para grandes empresas de fabricación; para ello, ha recurrido a la teoría de técnicas de restricción para sincronizar el flujo de la producción. Tiene el título de negocios y economía de la Universidad Wittenberg de Springfield, Ohio, y un MBA de la Universidad Estatal de Ohio de Columbus, Ohio. Es miembro activo de APICS y tiene las certificaciones CFPIM (Certified Fellow in Production and Inventory Management) y CIRM (Certified in Integrated Resource Management).</p>
<p class="articleText">
]]></content:encoded>
</item>
<item>
<title><![CDATA[O primeiro artigo a gente nunca esquece...]]></title>
<link>http://hugolt.wordpress.com/?p=4</link>
<pubDate>Sun, 10 Feb 2008 01:47:46 +0000</pubDate>
<dc:creator>hugolt</dc:creator>
<guid>http://hugolt.wordpress.com/?p=4</guid>
<description><![CDATA[Compiladores e Interpretadores
O que é um compilador?
Um compilador é um programa ou um conjunto d]]></description>
<content:encoded><![CDATA[<h3 align="center">Compiladores e Interpretadores</h3>
<h3><a id="compilador">O que é um compilador?</a></h3>
<p>Um compilador é um programa ou um conjunto de programas que "traduz" o código escrito em certa linguagem (código fonte) para outra determinada linguagem, não necessariamente linguagem de máquina. O arquivo gerado é chamado de código de saída.<br />
O código fonte pode estar em um ou mais arquivos de texto e "guarda" o programa propriamente dito; o código de saída pode estar em um arquivo de texto ou em um arquivo binário com instruções. Ele é a junção, o resultado, da tradução do código fonte para uma linguagem alvo, geralmente a linguagem de máquina.<br />
Generalizando bem, o compilador realiza dois processos sempre, o de <i>assembling</i> e <i>linkage</i>.<br />
Vamos pegar como exemplo o famoso GCC e traduzir um código C para linguagem nativa da máquina.<br />
<code><a id="codigoC"><br />
#include &#60;stdio.h&#62;<br />
int main(void)<br />
{<br />
printf("Hello World\n");<br />
return 0;<br />
} </a></code><br />
chamando o gcc para gerar direto o executável, sem pular o passo de linkage:<br />
<i><code><a id="hello">% gcc -o hello hello.c</a></code></i><br />
esse código gera a saída de hello.c direto para o executável chamado 'hello', escondendo de nós o processo do linker.<br />
Mas se quisermos gerar simplesmente saída sem ser executável, um código objeto esperando pra ser ligado a outros (como bibliotecas/APIs), pode-se fazer com o gcc também, basta pular o processo de linkage usando a opção <code><big>-c</big></code>.<br />
<code><i>% gcc -c hello.c</i></code><br />
Nesse caso temos agora um único arquivo gerado, o hello.o, que é o nosso código objeto. Como não temos mais arquivos no nosso simples programas, podemos gerar a saída logo, usando a opção <code><big>-o</big></code>.<br />
<code><i>% gcc -o hello.out hello.o</i></code><br />
Agora temos o nosso `hello.out' que é idêntico ao `hello' gerado pelo <a href="#hello">comando acima</a> e podemos executá-lo de forma análoga.</p>
<p>Uma das tarefas do compilador é analisar de todas as formas o programa antes de gerar a saída, analisando os pré-processamentos, procurando por erros léxicos, sintáticos, semânticos; pode também otimizar o código.</p>
<h3><a id="interpretador">O que é um interpretador?</a></h3>
<p>Um interpretador é um programa ou um conjunto de programas, que, como o próprio nome diz, "interpreta" o código fonte.<br />
(Vago, não?)<br />
Essa interpretação é feita de forma a pegar o código fonte e o executar em uma linguagem intermediária assim que acabar de analisar os comandos, atribuições e o que quer que esteja escrito no fonte. Diferente de um compilador o interpretador não gera nenhum outro arquivo, ele procura por erros (de forma parecida do compilador) sintáticos, semânticos, léxicos e caso não ache nada tenta executar as instruções em nesta linguagem intermediária. O CPU (Central Processing Unit) é um interpretador e apenas executa imediatamente as instruções que são passadas a ele.<br />
Um exemplo de interpretador é o famosíssimo BASIC que foi tão usado décadas atrás.(Ressalto que Bill Gates ficou famoso por ter "criado" uma linguagem chamada BASIC pro Altair e na verdade a <b>linguagem BASIC</b> já existia, desde dos anos 60. O que ele fez foi criar um interpretador BASIC; coisa que não existia pro Altair até então).<br />
Mas também existem linguagens interpretadas, tais como Python (pode ser compilada também), que estão se tornando cada vez mais usadas.</p>
<p>Veja que para executar um código python não precisamos compilar nada, apenas o interpretador é necessário. O código em python pode ser armazenado em um arquivo de texto, ou ser diretamente escrito e executado no interpretador, da mesma maneira que shell script.</p>
<p><i>hello.py:</i><br />
<code><a id="codigoPY"><br />
+-----------------<code><br />
#!/bin/env python<br />
print 'Hello World'</code></a><br />
-----------------+<br />
% chmod a+x hello.py<br />
% ./hello.py<br />
Hello World</code><br />
ou direto no interpretador:<br />
<code>% python<br />
&#62;&#62;&#62; print 'Hello World'<br />
Hello World<br />
&#62;&#62;&#62;<br />
</code></p>
<h3>Algumas vantagens e desvantagens</h3>
<p>Como já deve ter percebido, a maior vantagem em compilação sobre interpretação é o tempo de execução do programa.<br />
Peguemos o <a href="#codigoC">código C</a> e o <a href="#codigoPY">código Python</a> que foram citados acima para comparar seus tempos de execução.</p>
<p><code>% time ./hello<br />
Hello World</code><br />
<code><br />
real    0m0.006s<br />
user    0m0.000s<br />
sys     0m0.010s</p>
<p>% time ./hello.py<br />
Hello World<br />
real    0m0.050s<br />
user    0m0.040s<br />
sys     0m0.010s<br />
</code><br />
Fica bem visível a diferença entre os tempos, mesmo o código em python possuindo apenas uma única linha.<br />
Agora vamos ousar um pouco e fazer um programa que mostre-nos números primos de 1 a 100 (incluindo) usando o mesmo <a href="http://pastebin.com/f4c3a1588">algoritmo:</a><br />
<a href="http://pastebin.com/f56e438c4">Programa em C</a><br />
<a href="http://pastebin.com/f3bfa562a">Programa em Python</a><br />
<a href="http://pastebin.com/f639bb39d">Resultado de dois comandos ``time''</a><br />
Se diferença de tempo é notável em programas simples, imagine em um programa complexo.</p>
<p>A interpretação tem grande vantagem sobre compilação quando você está fazendo testes, aprendendo certa linguagem ou mesmo quando quer algum programa que rode sem alterar nenhuma linha sequer em qualquer máquina (o único requisito é o interpretador instalado).<br />
Um código escrito em Python ou em Java roda em qualquer arquitetura de processador e sistema operacional (que possua uma versão do interpretador disponível) sem qualquer alteração. Porém esses mesmos códigos pecam no uso de memória. Em Python, por exemplo, não há declaração explícita de variáveis, assim tendo que haver uma porção de memória reservada para variáveis. Num código em C, toda e qualquer variável a ser utilizada tem que ser devidamente declarada, tirando vantagem sobre um código interpretado.<br />
Uma outra desvantagem em compilação é o ciclo de <i>debugging</i>. Tratando-se de um código compilado, toda vez que for necessário executar o programa com variações de código precisa-se compilar tudo, formando assim um ciclo: editar-compilar-rodar-reparar erros (edit-compile-run-debug), e o tempo de compilação de um programa varia, podendo levar mais de minutos dependendo da complexidade do programa.<br />
O código interpretado por sua vez tem certa vantagem sobre isso, pois não há compilação, então o ciclo fica: editar-interpretar-reparar erros (edit-run-debug), o que pode ser mais rápido que o ciclo de debugging em compilação, pois como não há compilação, o tempo do ciclo diminui.</p>
<hr />
<h3>Um pouco sobre JIT em Java</h3>
<p>Não sou nenhum programador Java e nem sei tanto sobre a linguagem, mas posso falar um pouco. Java é uma linguagem orientada a objetos que tem ganho muito espaço, tanto é que até em celulares vemos Java. Porém, difere um pouco da <a href="#interpretador">interpretação citada acima</a>.<br />
Um compilador Java gera um tipo de código objeto conhecido por <i>bytecode</i> que é interpretado por uma máquina virtual (Java Virtual Machine, ou simplesmente JVM). Depois de gerado o bytecode a JVM pode fazer a interpretação dele da <a href="#interpretador">forma citada primeiramente</a>, transformando para uma linguagem intermediária e depois executando o código.</p>
<p>Existe uma técnica conhecida como compilador JIT, <i>Just In Time compiler</i>, que tem sido muito utilizado em conjunto com a JVM. O compilador JIT é uma mescla do uso da velocidade de um programa compilado com a portabilidade de um programa interpretado. A cada vez que o código é executado numa JVM que utiliza JIT a porção inicial de código é traduzida para código de máquina, tendo um custo maior de memória e processamento no início da execução do programa e assim que for sendo requisitado algum trecho de código é compilado ao invés de ser interpretado. Nada é compilado mais de uma vez, pois tudo que foi compilado fica armazenado na memória esperando o uso, sem necessidade de compilar tudo outra vez. É uma forma de ganhar velocidade.<br />
(Já é possível entender a razão de um programa Java ser lento comparado a um programa devidamente compilado).</p>
<hr />
<h3>Self-Hosting Compiler</h3>
<p>Self-hosting é a técnica de produzir um programa a partir de uma versão diferente deste mesmo programa. Quando se fala em <i>self-hosting compiler</i> estamos falando de criar um compilador a partir do mesmo compilador. Vamos usar como exemplo o primeiro uso da técnica (exceto o uso com assemblers).<br />
A linguagem LISP existia na década de 60, porém era interpretada. Com o interpretador foi criado um compilador, interpretado, claro. Porém, esse compilador podia compilar ele mesmo, e gerar então um compilador que não era interpretado.<br />
O compilador rodava num interpretador LISP comum, ele compilaria o que fosse passado a ele da <a href="#compilador">forma supracitada</a>, e então foi passado o seu próprio código fonte e foi gerado um executável, dependente apenas da máquina. Porém com esse compilador foi possível abrir vários caminhos para portar para outras máquinas e essa técnica é usada em aulas de cursos na área de computação.<br />
Atualmente pode-se juntar código interpretado com código compilado em LISP, parece ser uma idéia muito boa e um bom paradigma de programação pra se aprender. Você escreve o código, testa, se estiver tudo okay você compila e usa essa parte compilada em conjunto com as próximas interpretações do mesmo código ao invés de interpretar tudo, ganha-se tempo.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Just In Time .... نظام تقليل الفاقد]]></title>
<link>http://samehar.wordpress.com/2008/01/03/a251207/</link>
<pubDate>Thu, 03 Jan 2008 16:24:23 +0000</pubDate>
<dc:creator>سامح</dc:creator>
<guid>http://samehar.wordpress.com/2008/01/03/a251207/</guid>
<description><![CDATA[
مقدمة
سياسة تقليل الفاقد هي من أكثر (أو أكثر) أنظمة إدا]]></description>
<content:encoded><![CDATA[<p><font size="3"></font><font size="3"></p>
<p align="right" dir="rtl"><font color="#ff0000"><strong><a href="http://samehar.wordpress.com/files/2008/01/jit.jpg" title="jit.jpg"></a><a href="http://samehar.wordpress.com/files/2008/01/jit-1.jpg" title="jit-1.jpg"></a><a href="http://samehar.wordpress.com/files/2008/01/jit-2.jpg" title="jit-2.jpg"></a><a href="http://samehar.wordpress.com/files/2008/01/jit-3.jpg" title="jit-3.jpg"></a>مقدمة</strong></font></p>
<p align="right" dir="rtl">سياسة تقليل الفاقد هي من أكثر (أو أكثر) أنظمة إدارة التصنيع شهرة ونجاحا في العالم. بدأ تطبيق هذا النظام عن طريق شركة<a href="http://www.toyota.co.jp/en/index.html"> تويوتا اليابانية </a>(شركة السيارات المعروفة) في السبعينيات (أي منذ حوالي 40 عاما)  وأظهر نتائج باهرة. في الثمانينيات بدأت الشركات الأمريكية والأوروبية تفاجأ بتفوق الشركات اليابانية عليهم نتيجة لتطبيق هذا النظام ولذلك بدؤو في محاولة فهم هذه السياسة ومحاولة تطبيقها. وإلى الآن مازالت هذه السياسة تتفوق على أي سياسة أخرى لإدارة التصنيع بل وإدارة الخدمات كذلك. ومازالت شركة تويوتا هي النموذج المثالي لإدارة العمليات الإنتاجية في العالم ومازال نجاحها يتوالى. أحاول في هذه المقالة تقديم سياسة تقليل الفاقد لكي نتمكن من فهمها وتطبيقها.</p>
<p align="right" dir="rtl"><font color="#ff0000"><strong> ما هي؟</strong></font></p>
<p align="right" dir="rtl">سياسة تقليل الفاقد تهدف إلى تقليل الفواقد في جميع العمليات الإنتاجية هذه السياسة تتميز بأنها تساعدنا على التخلص من كثير من الفواقد التي عادة ما نعتبرها أمر حتمي فالكثير ينظرون إلى وقت تضبيط المعدة على أنه أمر طبيعي وعلينا التعايش معه وكذلك الحال بالنسبة للمخزون وأعطال المعدات وأوقات الانتظار وأوقات النقل. سياسة تقليل الفاقد تمكننا من تقليل هذه الفواقد تقليلا هائلا وتجعل عملية الإنتاج تتم بكفاءة عالية جدا. تسمى هذه السياسة (النظام) بعدة أسماء باللغة الإنجليزية</p>
<p align="right" dir="rtl">Just In time أي الإنتاج في الوقت المناسب وتعويض المخزون في الوقت المناسب وهي من أشهر التسميات وتختصر إلى JIT</p>
<p align="right" dir="rtl">Lean Production أي الإنتاج الرشيق أي غير المُحَمَّل بمخزون زائد أو عمالة زائدة أو فواقد أخرى</p>
<p align="right" dir="rtl">Lean Manufacturing أي التصنيع الرشيق</p>
<p align="right" dir="rtl">Toyota System أو Toyota Production System أي نظام تويوتا أو نظام الإنتاج في تويوتا نسبة إلى منشأ هذه السياسة في شركة تويوتا. وتختصر إلى TPS.</p>
<p align="right" dir="rtl">ولكن كل هذه المُسميات تعني نفس السياسة وتهدف لهدف واضح وهو تقليل (إزالة) الفاقد Waste Elimination ويبدو لي أن هذه هي التسمية الشائعة بالعربية وهي أفضل من غيرها لأنها توضح حقيقة هذه السياسة. بل إن تسمية Just in Time تجعل الكثيرين يظنون أن هذه السياسة تعني -فقط -ألا يكون هناك مخزون على الإطلاق وهذا خطأ كبير. فهذه السياسة لاتهدف فقط إلى تقليل المخزون ولكنها تهدف إلى تقليل الفاقد ومنه المخزون الذي يمكن الاستغناء عنه. وهي كذلك لا تجعل المخزون صفرا ولكنها تجعل المخزون قليلاً جدا مقارنة بالشركات التي لا تطبق هذه السياسة. </p>
<p align="right" dir="rtl">وقد تجد أن البعض يتعامل مع JIT على أنها جزء من TPS وهذه بدورها على أنها جزء من Lean Manufacturing. وهذا أمر لا يعنينا كثيرا في مناقشتنا لسياسة تقليل الفاقد فنحن نريد أن نتعرف على كل تفاصيل هذه السياسة سواء سميت TPS أو JIT أو Lean.</p>
<p align="right" dir="rtl">سياسة تقليل الفاقد هي نظام يتكون من عدة أنظمة (عناصر) تهدف كلها لتقليل الفاقد. هذه الأنظمة تتفاعل مع بعضها لتعطينا التأثير الناجح لسياسة تقليل الفاقد. فسياسة تقليل الفاقد أو JIT ليست مجرد أسلوب لإدارة المخزون أو تخطيط الإنتاج <strong>بل هي ثقافة وفلسلفة ومجموعة من الأنظمة التي تساند بعضها بعضا</strong>.</p>
<p align="right" dir="rtl"><font color="#ff0000">سفينة تقليل الفاقد</font></p>
<p align="right" dir="rtl"><font color="#000000">سياسة تقليل الفاقد لم يتم تطبيقها وتطويرها في لحظة محددة وإنما تم تطويرها في اليابان فيما بعد الحرب العالمية الثانية في حوالي عشرين عاما وترجع جذورها إلى ما قبل الحرب العالمية الثانية. وخلال تطوير هذه السياسة ظهرت الحاجة لهذه الأنظمة المختلفة لتكمل بعضها البعض. فمثلا لا يمكنك تقليل المخزون بدون تقليل نسبة المنتجات المعيبة ولا يمكنك تطبيق سياسة سحب الإنتاج بدون تقليل وقت تضبيط المعدات وأعطال المعدات. </font></p>
<p align="right" dir="rtl">يتصور البعض أن سياسة تقليل الفاقد أو JIT تهدف إلى تقليل المخزون لمجرد أن المخزون يمثل قيمة مالية غير مستثمرة بل ويكلفنا تكلفة تخزينية. الأمر أعمق من ذلك بكثير. سياسة تقليل الفاقد تنظر إلى المخزون على أنه سبب أساسي في وجود فواقد كثيرة فالمخزون الكبير يجعلنا نتغاضى عن (أو لا نرى) كثير من المشاكل بينما قلة المخزون تجعلنا حريصين على حل هذه المشاكل وبالتالي التخلص من الفواقد. وهناك مثال شهير جدا يشرح هذه الفكرة.</p>
<p align="left" dir="rtl"><a href="http://samehar.wordpress.com/files/2008/01/jit.jpg" title="jit.jpg"></a><a href="http://samehar.wordpress.com/files/2008/01/jit-1.jpg" title="jit-1.jpg"><img width="484" src="http://samehar.wordpress.com/files/2008/01/jit-1.jpg" alt="jit-1.jpg" height="232" style="width:481px;height:231px;" /></a></p>
<p align="right" dir="rtl">تخيل عندما تجري سفينة في مجرى مائي به الكثير من العوائق مثل الصخور الكبيرة. هل تستطيع هذه السفينة أن تسير خلال هذا المجرى؟ نعم، إذا كانت هذه العوائق والصخور في القاع بحيث لا تصل إلى السفينة، أي أن السفينة يمكنها أن تسير بأمان إذا كانت المياه عميقة بما يكفي لأن تكون هذه الصخور والعوائق في القاع غير ظاهرة وغير مؤثرة في سير السفينة. هل الصخور موجودة؟ نعم. هل نراها؟ لا. هل سنحاول إزالتها؟ بالطبع لا فنحن لا نراها أصلا.</p>
<p align="right" dir="rtl">هذا هو مربط الفرس. المياه تغطي الصخور والعوائق وتجعلنا لا نراها كما أن المخزون الكبير يجعل الإنتاج يُبحر بسلام مع وجود فواقد كثيرة وكبيرة (الصخور) ولكننا لا نراها فالمخزون يُغطيها ويجعلنا لا نشعر بوجودها كما يغطي الماء الصخور. عندما يكون لدينا مخزون هائل بين مراحل الإنتاج فإننا لا نُبالي عندما تتوقف مرحلة من مراحل الإنتاج لأن باقي المراحل ستستمر في العمل أثناء إصلاح المرحلة المتوقفة وبالتالي فإن شعورنا بوجود المشكلة يكون ضعيفا فنحن قد "غطينا المشكلة بالمخزون الكبير" فلا شَعَرنا بالمشكلة و لا حاولنا دراستها ومنع تكرارها.</p>
<p align="right" dir="rtl"> كذلك عندما يكون لديك مخزون كبير من المنتجات النهائية ومن المواد غير تامة الصنع فإن مشاكل الجودة تكون أمرا مقبولا جدا مثل شروق الشمس وغروبها....منتجات معيبة يتم التخلص منها أو إعادة تصنيعها... أمر عادي. المخزون الكبير جعلنا لا نبالي بتكلفة المنتجات المعيبة وجعلنا لا نبحث عن وسيلة لمنع هذه الأخطاء. ماذا يحدث في أي مكان إنتاجي أو خدمي عندما تحدث مشكلة تتسبب في إيقاف الإنتاج كليا؟ إن المؤسسة كلها تتحرك لحل المشكلة ولبحث أسبابها واتخاذ الإجراءات التي تمنع تكرارها. المخزون الكبير يجعل الكثير من المشاكل والفواقد لاتؤدي إلى توقف الإنتاج كليا أي أنها تمثل غطاء لهذه المشكلات والفواقد. هل نريد تغطية المشاكل أم نريد إزالتها؟</p>
<p align="right" dir="rtl">إذن ماذا نفعل؟ هل نقوم بإزالة المياه من المجرى المائي تماما لنجعل الصخور توقف السفينة؟ إذن ستتكسر السفينة ولن نخرج من هذه الصخور أبدا. ماذا لوقمنا بتقليل مستوى المياه قليلا بحيث نرى بعض أجزاء الصخور ونتخلص منها؟ ثم نقوم بعد ذلك بتقليل مستوى المياه أكثر لنرى أجزاء أخرى من الصخور ونتخلص منها وهكذا حتى نتخلص من كل الصخور ونستطيع الإبحار بمستوً قليل من الماء. هذه هي رحلة سياسة تقليل الفاقد. سنقوم بتقليل مستوى المخزون تدريجيا في جميع المراحل بداية من المواد الخام ومرورا بالمنتجات غير تامة التصنيع وانتهاء بالمنتجات النهائية وسنحاول رؤية المشاكل والفواقد وإزالتها. بعد ذلك نقوم بتقليل المخزون بقدر أكبر فنرى مشاكل وفواقد أخرى ونقوم بحلها وإزالتها. بعد ذلك نقلل المخزون أكثر وهكذا حتى نصل لأدنى مستوى من المخزون ونكون قد تخلصنا من كل الوفاقد وتصبح أي مشكلة صغيرة ظاهرة واضحة ويتم التخلص منه فورا.</p>
<p align="left" dir="rtl"><a href="http://samehar.wordpress.com/files/2008/01/jit.jpg" title="jit.jpg"></a><a href="http://samehar.wordpress.com/files/2008/01/jit-1.jpg" title="jit-1.jpg"></a><a href="http://samehar.wordpress.com/files/2008/01/jit-2.jpg" title="jit-2.jpg"><img width="493" src="http://samehar.wordpress.com/files/2008/01/jit-2.jpg" alt="jit-2.jpg" height="187" style="width:473px;height:188px;" /></a></p>
<p align="right" dir="rtl"> لاحظ أن بعض العوائق في مجرى الماء قد تكون عبارة عن نباتات لها جذور تحت المجرى المائي فعندما تتخلص من النبات يبقى الجذر تحت الأرض فتنبت النبات مرة أخرى. إذن علينا أن نتخلص من هذه النباتات من "جذورها" أي نقتلعها من جذورها. كذلك فإننا في رحلتنا في سفينة تقليل الفاقد سنتخلص من هذه الفواقد والمشاكل من جذورها. لا نبحث عن دراسات سطحية وحلول تسمح بتكرار المشاكل....لن نتعايش مع الفواقد....سنقتلعها من جذورها.</p>
<p align="right" dir="rtl">الكثير من العوائق في مجرى الماء قد تكون معروفة للجميع بحيث تمر السفن من حولها. الجميع يتقبل هذه العوائق على أنها جزء من الحياة ماعدا سفينة تقليل الفاقد. إننا لن ندور حول العائق لأنه عائق طبيعي ولن نقبل بحدوث اختناقات وأوقات انتظار طويلة نتيجة لهذا العائق. سنتخلص من "كل" الصخور حتى يكون المجرى بلا عوائق. سياسة تقليل الفاقد لا تتقبل الفواقد التي اعتاد الجميع على تقبلها مثل الوقت الكبير الذي نستهلكه لبداية الإنتاج أو للتغيير من منتج لآخر والأوقات الكبيرة التي تضيع في نقل المنتج من مكان لآخر وأوقات الانتظار الطويلة من مرحلة إنتاج لأخرى. سياسة تقليل الفاقد تعني التخلص من كل الفواقد.</p>
<p align="right" dir="rtl">إذن فسفينة تقليل الفاقد تحتاج لأنظمة للتخلص من هذه الصخور والنباتات والعوائق. هل يستطيع القبطان ومساعديه أن يفعلوا ذلك؟ هل يرى القبطان ومساعديه كل العوائق؟ هل يروا جذورها؟ هل يفهم القبطان كيف يقتلع كل هذه النباتات من جذورها؟ لعله يفهم جيدا كيف يقود سفينة ولكنه لا يعرف الصخور وكيفية تحريكها ولا يعرف النباتات وكيفية اقتلاعها. إذن فلابد من تضافر جهود القبطان ومساعديه مع البحارين من العمالة البسيطة التي سترى الصخور وتستطيع تحريكها وتستطيع اقتلاع النباتات من جذورها.  فجميع المستويات الإدارية تتعاون لحل المشاكل بما في ذلك أدنى المستويات الإدارية من مشغلين وميكانيكيين. وجميع الأقسام تتعاون فلابد من تعاون المشغلين والمسئولين عن الصيانة والمسئولين عن عملية الإمداد والمسئولين عن البيع لحل المشاكل.  </p>
<p align="right" dir="rtl">كذلك فإنه لا يمكن تكليف كل بحار بإزالة أي صخرة وحده ولكن لابد من تعاون كل البحارين عند إزالة أي صخرة. سياسة تقليل الفاقد تعتمد على روح الفريق العالية جدا. بل إن المُشغل المسئول عن مرحلة إنتاج سيتعاون لحل أي مشكلة في أي مرحلة إنتاج أخرى يحدث بها مشكلة. فالسفينة إن تعرضت للانهيار في جزء منها فإن كل البحارين سيتجهون لإصلاح هذا الجزء وإلا غرقوا جميعا. كذلك فإنه عند تطبيق سياسة تقليل الفاقد فإن توقف مرحلة إنتاج يُهدد بإيقاف كل المراحل لأن المخزون من المنتجات نصف المصنعة بين مراحل الإنتاج هو مخزون محدود جدا سينفد سريعا.</p>
<p align="right" dir="rtl">ولكن ماذا لو تم التخلص من هذه الصخور ثم قام المقيمون حول المجرى المائي بإلقاء مخلفات فيه؟ إذن فلابد من تعاون السفينة مع المسؤولين عن المجرى المائي والمقيمين حوله لمنع تراكم المخلفات والصخور. سياسة تقليل الفاقد ترتكز على التعاون بين المؤسسة ومورديها تعاونا متميزا جدا. فالموردون يلبون طلبات المؤسسة من مواد خام ومستلزمات إنتاج بسرعة فائقة بحيث لا تحتاج المؤسسة للاحتفاظ بمخزون كبير من هذه لامواد. والموردون يتعاونون مع المؤسسة في حل مشاكل التصنيع وذلك بتوريد مواد أكثر مناسبة وأعلى جودة. ولا يتوقف الأمر عند ذلك بل الموردون يشتركون مع المؤسسة في تطوير منتجاتها. والمؤسسة كذلك تساعد الموردين في تطوير أنفسهم وتطالبهم بأنظمة جيدة في العمل لكي تضمن حصولها المستمر على مستويات عالية من الجودة.</p>
<p align="left" dir="rtl"><a href="http://samehar.wordpress.com/files/2008/01/jit.jpg" title="jit.jpg"></a><a href="http://samehar.wordpress.com/files/2008/01/jit-1.jpg" title="jit-1.jpg"></a><a href="http://samehar.wordpress.com/files/2008/01/jit-2.jpg" title="jit-2.jpg"></a><a href="http://samehar.wordpress.com/files/2008/01/jit-3.jpg" title="jit-3.jpg"><img src="http://samehar.wordpress.com/files/2008/01/jit-3.jpg" alt="jit-3.jpg" /></a></p>
<p align="right" dir="rtl">في النهاية فإن الماء سيجري بسرعة وتسير سفينة تقليل الفاقد بسلام بلا عوائق. سياسة تقليل الفاقد تهدف لأن يسير الإنتاج بمثل سلاسة سريان الماء في هذا المجرى النظيف وأن تبحر المواد من مرحلة إنتاج إلى أخرى كما تبحر هذه السفينة بلا توقف. سفينة تقليل الفاقد ستصبح سريعة وقادرة على تلبية احتياجات الركاب بسرعة وقادرة على مسارها بسرعة. سياسة تقليل الفاقد ستجعلنا قادرين على تلبية احتياجات العملاء بسرعة فلن نرغمهم على شراء مخزوننا ولكننا سننتج ما يحتاجونه وبسرعة.</p>
<p align="right" dir="rtl">هذه هي فلسلفة سياسة تقليل الفاقد بشكل مبسط. هذه الفلسفة تحتاج لأنظمة عديدة للتخلص من الفواقد المختلفة. لذلك فإن سياسة تقليل الفاقد تتكون من عدة أنظمة نتناولها  في المقالات التالية إن شاء الله.</p>
<p align="right" dir="rtl">يمكنك الاطلاع على شرح شركة تويوتا نفسها لهذا النظام:<br />
<a href="http://www.toyota.co.jp/en/vision/production_system/index.html">Toyota Production System</a></p>
<p align="right" dir="rtl">موضوعات ذات صلة:<br />
<a href="http://samehar.wordpress.com/2008/01/19/f030108/">ثقافة نظام تقليل الفاقد....Culture of Toyota Production system</a></p>
<p align="right" dir="rtl"><a href="http://samehar.wordpress.com/2008/03/20/a150308/">أدوات دراسة المشاكل</a></p>
<p align="right" dir="rtl"><a href="http://samehar.wordpress.com/2008/03/15/a10032008/">حل المشاكل من جذورها</a></p>
<p></font></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[The Funkateers]]></title>
<link>http://citinite.wordpress.com/2007/12/27/the-funkateers/</link>
<pubDate>Thu, 27 Dec 2007 22:30:04 +0000</pubDate>
<dc:creator>Manny Z</dc:creator>
<guid>http://citinite.wordpress.com/2007/12/27/the-funkateers/</guid>
<description><![CDATA[All you Detroiters will know all about this legendary dance group. NYC may have had The Rock Steady ]]></description>
<content:encoded><![CDATA[<p>All you Detroiters will know all about this legendary dance group. NYC may have had The Rock Steady Crew and The New York City Breakers, but these guys are just too cool. The clip is from The Scene, the track is Tom Tom Club's, 'Wordy Rappinghood'. If anyone has more clips of The Funkateers, post them up! </p>
<p>If you go to the original url on YouTube, the related seven minute news item on The Scene is also worth catching for the clip of footworking Fast Freddie (at the 3:30 mark).</p>
<p>Hope everyone's enjoying the holidays. See you in 2008.</p>
<p><span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/Qq6k9gSsRXI'></param><param name='wmode' value='transparent'></param><embed src='http://www.youtube.com/v/Qq6k9gSsRXI&rel=0' type='application/x-shockwave-flash' wmode='transparent' width='425' height='350'></embed></object></span></p>
<p>Posted by Manny Z </p>
<div class="navigation">
<div class="left"><a href="/2007/12/18/john-jellybean-benitez/">&#171; Previous Entry</a></div>
<div class="right"><a href="/2007/12/28/robert-abel-associates/">Next Entry &#187;</a></div>
</p></div>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Il CLR (Common Language Runtime)]]></title>
<link>http://fgargiulo.wordpress.com/2007/11/15/il-clr-common-language-runtime/</link>
<pubDate>Thu, 15 Nov 2007 09:18:56 +0000</pubDate>
<dc:creator>fgargiulo</dc:creator>
<guid>http://fgargiulo.wordpress.com/2007/11/15/il-clr-common-language-runtime/</guid>
<description><![CDATA[Il Common Language Runtime è il motore d&#8217;esecuzione della piattaforma .NET esegue cioè codic]]></description>
<content:encoded><![CDATA[<p>Il Common Language Runtime è il motore d'esecuzione della piattaforma .NET esegue cioè codice IL (Intermediate Language) compilato con compilatori che possono avere come target il CLR. Tale componente si occupa di compilare al volo (Just-In-Time) il codice IL in linguaggio comprensibile alla CPU(linguaggio Macchina). Qui vediamo i principali servizi che il CLR ha il compito di fornire :</p>
<li>Gestione del codice (caricamento ed esecuzione)</li>
<li>Isolamento della memoria dell'applicazione</li>
<li>Verifica dell'indipendenza dai tipi</li>
<li>Conversione di IL in codice nativo</li>
<li>Accesso ai metadati (informazioni dettagliate sui tipi)</li>
<li>Gestione della memoria per gli oggetti gestiti</li>
<li>Applicazione della protezione di accesso al codice</li>
<li>Gestione delle eccezioni, compresa la gestione delle eccezioni tra linguaggi diversi</li>
<li>Interazione tra codice gestito, oggetti COM e DLL preesistenti (codice e dati non gestiti)</li>
<li>Automazione del layout degli oggetti</li>
<li>Supporto di servizi per gli sviluppatori (profili, debug e così via)</li>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Cos'è il Framework .Net?]]></title>
<link>http://fgargiulo.wordpress.com/2007/11/15/cose/</link>
<pubDate>Thu, 15 Nov 2007 09:13:07 +0000</pubDate>
<dc:creator>fgargiulo</dc:creator>
<guid>http://fgargiulo.wordpress.com/2007/11/15/cose/</guid>
<description><![CDATA[Microsoft .NET Framework è una piattaforma per la creazione, la distribuzione e l&#8217;esecuzione ]]></description>
<content:encoded><![CDATA[<p>Microsoft .NET Framework è una piattaforma per la creazione, la distribuzione e l'esecuzione di applicazioni e servizi Web. Questa è la definizione che Microsoft da alla piattaforma da loro sviluppata, ma vediamola nel dettaglio. Il Framework è costituito da un <strong>CLR</strong> (<em>Common Language Runtime</em>), il quale ha il compito di caricare ed eseguire codice intermedio (IL), un particolare tipo di codice macchina che non è specifico verso alcun sistema operativo ma viene compilato "al volo" (Just-In-Time) dal suddetto CLR, che si occupa inoltre di verificare tutti i criteri di sicurezza, la validità del codice, di caricare le classi richieste e di verificarne la provenienza... in sostanza, svolge una nutrita serie di servizi che normalmente non sono disponibili nativamente in Win32, ad esempio (come la gestione automatica della memoria attraverso un Garbage Collector).</p>
<p><img border="0" width="128" src="http://fgargiulo.wordpress.com/files/2007/11/framework.thumbnail.gif" alt="Framework .NET" height="74" /></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Kisah Para Pendekar Dinasti Ming - Bab 2]]></title>
<link>http://tembuyun.wordpress.com/2007/11/12/kisah-para-pendekar-dinasti-ming-bab-2/</link>
<pubDate>Mon, 12 Nov 2007 05:59:22 +0000</pubDate>
<dc:creator>tembuyun</dc:creator>
<guid>http://tembuyun.wordpress.com/2007/11/12/kisah-para-pendekar-dinasti-ming-bab-2/</guid>
<description><![CDATA[Kisah Para Pendekar Dinasti Ming
Kisah Para Pendekar Dinasti Beng
Da Ming Xia Ji
Tay Beng Hiap Gi
]]></description>
<content:encoded><![CDATA[<p class="MsoNormal"><strong><span style="font-size:16pt;">Kisah Para Pendekar Dinasti Ming</span></strong></p>
<p class="MsoNormal"><strong><span style="font-size:12pt;">Kisah Para Pendekar Dinasti Beng</span></strong></p>
<p class="MsoNormal"><strong><span style="font-size:12pt;">Da Ming Xia Ji</span></strong></p>
<p class="MsoNormal"><strong><span style="font-size:12pt;">Tay</span></strong><strong><span style="font-size:12pt;"> Beng Hiap Gi</span></strong></p>
<p class="MsoNormal"><strong><span style="font-size:12pt;font-family:'ＭＳ 明朝';">大</span></strong><strong><span style="font-size:12pt;font-family:'ＭＳ 明朝';">明</span></strong><strong><span style="font-size:12pt;font-family:'ＭＳ 明朝';">俠記</span></strong><strong><span style="font-size:12pt;"></span></strong></p>
<p class="MsoNormal"><strong><span style="font-size:12pt;">Heroes of Ming Dynasty’s Chronicles</span></strong></p>
<p class="MsoNormal"><strong><span style="font-size:10pt;"> </span></strong></p>
<p class="MsoNormal"><strong><span style="font-size:10pt;"> </span></strong></p>
<p class="MsoNormal"><strong><span style="font-size:10pt;">Bab 2. Nona Muda Berkunjung ke Sarang Naga.</span></strong></p>
<p class="MsoNormal"><span style="font-size:10pt;">Ibu kota kekaisaran dinasti Beng dibawah pemerintahan kaisar Yong Le adalah Beiping.</span><span style="font-size:10pt;font-family:'ＭＳ 明朝';">　</span><span style="font-size:10pt;">Sebagai sebuah kotaraja dan pusat pemerintahan, Kota Beiping ramai dikunjungi oleh para pedagang maupun pelancong dari berbagai daerah, sehingga disekitar kota banyak didirikan berbagai macam jenis rumah makan dan penginapan untuk didiami para pendatang. Suasana ramai Beiping sama sekali tidak menunjukkan adanya pengaruh persaingan didalam istana antara putra mahkota Chu Kaoshi dengan adiknya panglima perang Chu Kaoshu. Padahal dikota Beiping banyak sekali tersebar mata-mata Kim Ih Wi dan Tung Tiang dari istana dengan tujuan memperoleh informasi dan memberangus lawannya secara tersembunyi.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Kim Ih Wi merupakan organisasi mata-mata dan pengawal kaisar dibawah pimpinan Cia tayjin yang mendukung pangeran Chu Kaoshu untuk menggantikan kaisar Yong Le menduduki tahta. Sedangkan Tung Tiang merupakan organisasi mata-mata yang didirikan oleh para taykam istana dibawah pimpinan Liang taykam yang mendukung putra mahkota Chu Kaoshi. Kedua organisasi mata-mata istana ini saling bersaing berebut pengaruh dan berusaha saling menjatuhkan satu sama lain secara diam-diam.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Walaupun sejak kaisar Yong Le naik tahta telah ditetapkan putra pertama Chu Kaoshi sebagai putra mahkota, akhir-akhir ini kaisar Yong Le melihat betapa pangeran Chu Kaoshu sangat berbakat dibidang kemiliteran dan kepandaian silat, suatu hal yang disukai oleh kaisar Yong Le. Setelah beberapa kali kaisar Yong Le mengutus pangeran Chu Kaoshu dalam beberapa ekspedisi pertempuran, Chu Kaoshu selalu pulang dengan membawa kemenangan sehingga kaisar mengangkat pangeran Chu Kaoshu sebagai panglima perang dan mulai mencetuskan keinginannya mengganti kedudukan putra mahkota secara tidak langsung. Hal ini menyebabkan ketegangan antar para pendukung dua pangeran termasuk Kim Ih  Wi dan Tung Tiang. Hanya saja pangeran Chu Kaoshu pernah sekali tidak mentaati perintah kaisar dalam tugas militernya sehingga pangeran Chu Kaoshu diasingkan ke daerah San-tung untuk merenungkan dosanya. Berkat bujukan Cia tayjin agar pangeran Chu Kaoshu menyesali perbuatannya menentang perintah dan ampunan yang diberikan kaisar Yong Le, pangeran Chu Kaoshu dapat kembali ke kotaraja dan memperoleh kembali seluruh hak dan posisi sebelumnya di kotaraja. </span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Siang itu terlihat seorang gadis muda berwajah manis memasuki sebuah penginapan besar merangkap restoran. Gadis itu sebetulnya tidaklah terlalu menarik perhatian, mengingat di kotaraja masih banyak berkeliaran wanita yang lebih cantik. Akan tetapi karena gadis itu membawa sebilah pedang, tentu saja hal ini menarik perhatian para pengunjung yang lain. Biasanya para lelaki yang membawa-bawa pedang sambil petantang petenteng kesana kemari bagaikan pendekar silat jagoan nomor satu di dunia kangouw.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Setelah memesan makanan gadis itu duduk diatas sebuah kursi menunggu pesanan datang. </span><span style="font-size:10pt;">Tiba-tiba terdengar suara keributan dari ruang restoran. Terlihat seorang pemuda berpenampilan halus bagai wanita sedang di bentak oleh 2 orang berbadan tegap sambil berkacak pinggang.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">“Hey banci goblok, kalau jalan lihat ke depan! </span><span style="font-size:10pt;">Memangnya matamu kau taruh dimana? Apa mentang-mentang engkau seorang kasim istana, sampai berlagak jalan ini engkau yang punya?” teriak si badan besar bermuka brewok.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">“Ma’af, aku benar-benar tak sengaja,” sahut si kasim muda gemetar ketakutan.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">“Wah, mungkin karena dibelakangmu ada Tung Tiang yang mendukung sehingga kau jadi banyak lagak,” sambung teman si brewok yang bermuka bopeng.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Mendengar ini si kasim jadi makin gemetar ketakutan, malah para tamu restoran juga jeri mendengar nama Tung Tiang sehingga perlahan mereka mulai menyingkir.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Plak.....plak.......bengap pipi si kasim digaplok oleh si brewok.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">“Sudahlah twako, hajar saja dan jangan dikasih ampun,” kata si bopeng memanas-manasi.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Wuuuttt......menderu pukulan si brewok mengarah ke muka si kasim yang sudah pasrah. Tiba-tiba saja pukulan si brewok berhenti ditengah jalan. Si brewok merasa sikunya diketuk perlahan sehingga tangannya lemas seketika. Sebutir biji kacang jatuh kelantai restoran sambil dipandang melongo oleh si brewok. Si brewok sadar ada orang pandai yang melempar biji kacang. Dilihatnya sekeliling restoran telah sepi ditinggal pengunjung, hanya seorang gadis muda yang masih duduk tak jauh dari tempatnya berada dengan pedang diletakkan di atas mejanya.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">“Ada apa twako? Ada yang tidak beres?” tanya si bopeng tidak sadar kalau memang ada yang tidak beres.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Si brewok menggeleng kepalanya lalu berkata ketus kepada si kasim,” Kali ini kulepaskan kau. Awas kalau lain kali berurusan denganku. Pergi sana!”</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Si kasim membungkuk-bungkuk mengucapkan terima kasih sambil berlalu dengan memegangi pipinya yang matang biru. Setelah kasim muda itu telah berlalu, si brewok berjalan mendekati gadis muda yang berlagak tak tahu apa-apa.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">“Lihiap (pendekar wanita) sungguh lihay, hanya dengan sebutir kacang dapat menotok tangan orang dengan sempurna. Sungguh aku merasa kagum bukan kepalang,” kata si brewok sambil mengangkat tangannya memberi hormat.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">“Siapa yang kau maksud? Aku tidak mengerti kenapa engkau harus memberi hormat kepadaku?” jengek si gadis muda.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Si bopeng yang tak tahu urusan malah mendekati si gadis muda dengan sikap kurang ajar.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;">“Hai manis, bagaimana kalau kita makan siang bersama. Setelah itu akan kuantar engkau berpesiar keliling kota,” kata si bopeng sambil tangannya bergerak untuk mengelus pipi sang nona.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">“Kraaakkk….Ahhhh” terdengar suara tulang patah dan si bopeng menjerit kesakitan karena mendadak sumpit si nona menjepit jari telunjuk sibopeng dan memuntirnya hingga jari telunjuknya patah.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Melihat hal itu semakin ciut nyali si brewok. Bukan hal gampang menjepit jari dengan sumpit sambil memuntirnya hingga patah.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">“Ma’af nona, temanku ini memang bersikap kurang sopan. Harap mengampuninya,” si brewok memintakan ma’af bagi temannya sambil membungkuk lebih dalam. Sedangkan si bopeng cuma bisa mengaduh saja.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Huh, kalian beraninya hanya dengan orang lemah saja. Kalau aku tidak mengampuninya sejak tadi temanmu itu sudah tidak bernyawa.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">“Ah lihiap sungguh pendekar yang lihay. Sekiranya lihiap sudi, maukah lihiap berkunjung ke rumah tuan kami untuk dijamu makan ala kadarnya? Tuan kami sekarang sedang mencari orang pandai yang ingin berbakti bagi nusa dan bangsa untuk direkrut,” kata si brewok.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">“Aku tak tertarik menjadi anak buah tuanmu itu, namun aku tertarik untuk mengetahui siapakah tuanmu itu?” kata si nona muda.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">“Tuanku itu bernama Cia tayjin, kepala pasukan pengawal kaisar Kim Ih Wi yang terhormat,” jawab si brewok.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">“Hmmmm, aku sudah mendengar namanya sejak masuk gerbang kota Beiping. Apakah benar Cia tayjin tidak pandai ilmu silat? </span><span style="font-size:10pt;">Bagaimana bisa dia menjadi seorang pimpinan pengawal kaisar?” tanya si gadis acuh tak acuh.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">“Cia tayjin adalah seorang ahli strategi perang yang hebat dalam peristiwa Jinnan sehingga kaisar Yong Le sendiri menaruh kepercayaan penuh pada Cia tayjin untuk memegang posisi kepala Kim Ih Wi walaupun beliau tidak mengerti ilmu silat. Akan tetapi wakil beliau di Kim Ih Wi adalah seorang ahli silat Kunlun pay yang tangguh,” jelas si brewok sambil membusungkan dada memuji tuannya.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">“Menarik juga, baiklah aku akan berkunjung kerumah tuanmu. Tapi bukan berarti aku akan mandah saja menjadi anak buah tuanmu itu. Aku hanya ingin melihat nama besar Kim Ih Wi seperti apa,” kata si nona muda.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">“Baiklah, silahkan!” kata si brewok mempersilahkan si nona muda berjalan mengikutinya. Si brewok membentak si bopeng yang masih mengaduh kesakitan untuk berlari secepatnya ke rumah Cia tayjin untuk menberitahukan ada tamu yang berkunjung.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">----------------------------ooOoo------------------------</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Gedung megah tempat tinggal Cia tayjin tidak terlalu jauh letaknya dari istana kaisar, sehingga memudahkan Cia tayjin menghadap kaisar tanpa membuang waktu. Sepanjang jalan sibrewok yang bernama A Liok bercerita penuh kebanggaan tentang Cia tayjin. Betapa besarnya jasa Cia tayjin hingga pangeran Chu Kaoshu mengangkat beliau sebagai ayah angkat. Ekspedisi militer yang diperintahkan kaisar kepada pangeran Chu Kaoshu sering kali didampingi oleh Cia tayjin, sehingga kemenangan gemilang pangeran Chu Kaoshu tak terlepas dari andil Cia tayjin. Mungkin hal ini yang menyebabkan Chu Kaoshu mengangkat Cia tayjin sebagai ayah angkat. Dengan posisi sebagai Gihu dari pangeran Chu Kaoshu, Cia tayjin beserta Kim Ih Wi tentunya berada dibelakang pangeran dalam hal apapun, termasuk persaingan dengan putra mahkota</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Sesampai digerbang gedung milik Cia tayjin, A Liok mempersilahkan gadis muda itu masuk sambil berkata,” Silahkan lihiap masuk kedalam gedung, aku sendiri bukan anggota Kim Ih Wi tidak diperbolehkan masuk ke halaman gedung, apalagi masuk ruangan didalam.”</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Gadis itu masuk kedalam dengan tanpa takut. Maklumlah, dia sudah memperhitungkan betapa besarnya nama Cia tayjin sehingga tak akan berani dirinya diperlakukan tak pantas sehingga mencoreng kebesaran nama kepala Kim Ih Wi.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Setelah masuk kedalam gedung, gadis itu melihat betapa pengawalan ketat didalam gedung tak kalah dengan pengawalan diluar gedung. Seluruh pengawal memakai seragam baju brokat (hiasan bersulam timbul) yang khas. Agaknya tiap tingkatan memiliki bentuk sulaman dan warna yang sedikit berbeda. Tentunya Kim Ih Wi yang menjaga kaisar di istana mempunyai tingkatan yang lebih tinggi daripada pengawal dirumah Cia tayjin. Betapa banyak anggota Kim Ih Wi berkeliaran di kotaraja dan kota besar lainnya tanpa menggunakan seragam alias bertindak sebagai mata-mata sehingga bisa dibayangkan pengaruh Kim Ih Wi dalam pemerintahan dinasti Beng. Gadis itu tak tahu kalau A Liok bukanlah siapa-siapa hanya seorang keroco yang suka berlagak kalau dirinya didukung oleh Kim Ih Wi. Dia tidak melihat kalau A Liok terangguk-angguk menunduk pada seorang anggota Kim Ih Wi tingkat rendahan sambil menerima upah beberapa potong perak karena berhasil membujuk seorang jago silat untuk berkunjung ke rumah Cia tayjin.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Diruang tamu dilihatnya masih ada dua tamu yang sedang duduk menanti sambil menikmati arak sungguhan yang diletakkan disamping meja dan seorang lagi seorang pemuda berwajah tampan duduk dengan mata tertutup tak acuh dengan keadaan sekitarnya. Gadis itu dipersilahkan duduk disamping pemuda diam tak acuh itu dan ditanya ingin minum apa. Si gadis meminta teh hangat sambil mengucapkan terima kasih.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Tak lama kemudian muncul seorang pemuda matang berusia sekitar 30 tahunan dengan pakaian mewah tetapi cukup ringkas. Gadis itu dan tamu yang lain berdiri untuk menghormati tuan rumah, tetapi pemuda berpakaian mewah itu malah menyuruh mereka bersikap biasa saja.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">“Cuwi sekalian, aku bukanlah Cia Tayjin melainkan wakilnya di Kim Ih Wi yang biasa dipanggil Toan kongcu. Aku menyambut cuwi sekalian atas nama Cia tayjin dan menyampaikan terima kasih atas kunjungan cuwi sekalian. Kalau boleh kita berkenalan lebih jauh, sudikah cuwi sekalian menyebutkan asal dan nama cuwi yang mulia,” Toan kongcu mengucapkan kata-katanya dengan halus dan sopan mencerminkan sikap bangsawan yang berpendidikan tinggi.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Tamu yang duduk didepan si nona berdiri memberi hormat sambil berkata,” Cayhe Kang Sun-hong yang berjuluk Sin-jiu Bu-tek (kepalan sakti tanpa tanding) dari daerah Kanglam.”</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Setelah Kang Sun-hong duduk, tamu yang duduk disebelahnya kemudian bangkit juga sambil memperkenalkan diri,” Cayhe Gak Liat yang berjuluk Hong-lui Kiam-ong (raja pedang angin dan kilat) dari Lam-hai (pantai timur).</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Si gadis mengerenyitkan keningnya mendengar julukan kedua orang itu yang begitu mentereng. Julukan Bu-tek dan Kiam-ong terlalu sombong untuk disandang seseorang, biasanya semakin mentereng nama julukan seseorang semakin kosong isinya. Apalagi kalau julukan itu dipakai dan di perkenalkan pada orang lain oleh diri sendiri. </span><span style="font-size:10pt;">Karena pemuda disebelahnya masih diam saja, terpaksa si nona muda berdiri dan memperkenalkan diri.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">“Namaku Siok-lan. Tidak dari mana-mana dan tidak punya nama julukan. Tujuanku ke kotaraja untuk mengunjungi bibi-ku bukan untuk unjuk nama besar,”kata si gadis yang bernama Siok-lan sambil melirik dua orang didepannya dan menjengek.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Merah muka Kang Sun-hong dan Gak Liat mendengar kata-kata Siok-lan, tapi tak berlangsung lama karena pemuda pendiam itu berdiri dengan sikap tak acuh yang sama seperti sebelumnya dan memperkenalkan diri,” Julukanku It Liong-ci (Jari naga tunggal), tak punya nama dan tak punya tempat tinggal tetap.” Cuma itu yang diucapkannya, setelah itu dia langsung duduk.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Walaupun sikapnya sepertinya kurang sopan, tetapi bagi orang-orang kangouw hal itu sudah seperti tabiat orang-orang kangouw yang sehari-harinya memang aneh, dan memang sepertinya Toan kongcu juga tidak mau ambil pusing. Hanya saja Toan kongcu merasa pernah bertemu dengan pemuda ini entah dimana walaupun tidak ingat. Karena It Liong-ci sendiri tidak menunjukkan tanda-tanda mengenalnya, Toan kongcu tidak memperhatikannya lagi.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Toan kongcu kemudian menutup acara perkenalan itu dengan berkata,” Sebagai orang kangouw cayhe tidak akan berbasa basi lagi, kami pada saat ini sedang merekrut orang-orang pandai unutk bekerja dan mengabdi pada kerajaan. </span><span style="font-size:10pt;">Tingkatan, pangkat dan gaji yang diperoleh ditentukan lewat kepandaian dan tugas yang diberikan. Oleh karena itu harap cuwi sekalian sudi memperlihatkan kepandaian yang dimiliki.”</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Sin-jiu Bu-tek Kang Sun-hong berdiri sambil memberi hormat,” Aku akan mencoba memperlihatkan kepandaianku yang tak seberapa ini.”</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Seluruh orang itu pergi mengikuti Toan kongcu menuju Lian-bu-thia. Setelah semuanya berdiri di tepi Lian-bu-thia, Kang Sun-hong menghormat pada Toan kongcu, setelah itu dia mulai bersilat dengan kepalan dan tendangannya. </span><span style="font-size:10pt;">Sebenarnya ilmu silatnya cukup hebat karena merupakan pecahan dari cabang ilmu silat tangan kosong Kongtong pay yang telah cukup banyak mengalami perubahan. Setelah bersilat hingga 20 jurus, tiba-tiba Siok-lan berkata perlahan tetapi cukup jelas untuk didengar oleh telinga Kang Sun-hong dan yang lainnya,”Huh, Kepalan dan tendangan yang sakti sekalipun tidak berguna kalau melawan angin karena angin tidak melawan kalau dipukul.”</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Kang Sun-hong berhenti bersilat mendengar ucapan Siok-lan sambil memandang kepada Toan kongcu. Toan kongcu sendiri kaget mendengar kata-kata Siok-lan yang jelas menghina Sin-jiu Bu-tek. Untuk menghindari perselisihan, Toan kongcu menepuk tangannya memanggil pengawal lalu berkata pada pengawal yang datang,” Panggil Ciok Lojin berdua kemari!”</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Tak lama kemudian muncul dua orang kakek yang berumur sekitar 50 tahunan, yang seorang membawa pedang dan yang lain bertangan kosong.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">“Supaya uji kepandaian ini lebih menarik, silahkan Ciok Kun Locianpwe menguji Kang Sun-hong Tayhiap hingga 50 jurus. Kalau Kang Tayhiap bisa bertahan berarti Kang Tayhiap lulus ujian untuk menjadi anggota Kim Ih Wi,” kata Toan kongcu.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Ciok Kun yang bertangan kosong maju menghormat kepada Toan kongcu dan Kang Sun-hong lalu mempersilahkan Kang Sun-hong untuk menyerangnya.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Kang Sun-hong mengetahui kalau Ciok Kun dihadapannya ini adalah jagoan tingkat atas Kim Ih Wi sehingga tidak main-main lagi dan segera mengeluarkan jurus-jurus pilihan. Dalam sekejap kedua orang itu bertempur, berkelit dan mengadu pukulan hingga 50 jurus.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">“Cukup 50 jurus!” bentak Ciok Kun sambil melompat mundur. Terlihat wajah Ciok Kun biasa saja, akan tetapi wajah Kang Sun-hong agak merah dengan napas agak sedikit tersegal.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Kakek Ciok Kun menghormat kepada Toan kongcu sambil berkata memuji,” Kang Tayhiap memiliki kepandaian cukup hebat untuk masuk kedalam anggota tingkat tiga Kim Ih Wi.”</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">“Hahahaha….. baiklah, silahkan Kang Tayhiap masuk kedalam untuk melengkapi dan mengisi dokumen resmi anggota Kim Ih Wi,” Toan kongcu mempersilahkan Kang Sun-hong masuk ruang bagian dalam.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Giliran Ciok Boan yang menguji Gak Liat dengan ilmu pedang. Gak Liat juga memperlihatkan pecahan ilmu pedang Toamjong pay yang cukup lumayan sehingga masuk kedalam ruangan yang telah dimasuki oleh Kang Sun-hong dengan mendapatkan kedudukan tingkat 3 Kim Ih Wi.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Ciok Boan masih tetap berdiri ditempatnya karena sedang menunggu giliran Siok-lan untuk maju memperlihatkan kepandaiannya, tapi gadis itu masih tetap saja duduk hingga terpaksa Toan kongcu menegurnya.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">“Lihiap, apakah tidak sudi memperlihatkan kepandaian yang dimiliki? Ataukah It Liong-ci enghiong yang ingin maju duluan?” tanya Toan kongcu heran.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Kembali pemuda disampingnya itu tetap diam dan masih memejamkan matanya, sehingga terpaksalah Siok-lan yang menjawab pertanyaan Toan kongcu.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">“Aku kemari bukan untuk mencari kedudukan ataupun mencari nama besar. Aku hanya tertarik mendengar nama besar Cia tayjin sejak tadi pagi aku masuk ke kotaraja. Lagipula untuk uji kepandaian tidak perlu Ciok Locianpwe menungguku, lebih baik Toan kongcu sendiri yang maju untuk bermain-main pedang sebentar. Apalagi tentu Ciok locianpwe masih merasa lelah setelah bertanding dengan si Raja Pedang itu,” jawab Siok-lan.</span></p>
<p class="MsoNormal"><span style="font-size:10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size:10pt;">Kaget Ciok Boan mendengar kata-kata Siok-lan. Sungguh